Déplacer un stop loss en cours de trade suivant l'évolution des prix

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #93345 quote
    lannoogeoffrey
    Participant
    Average

    Bonjour,

    J’ai chercher un peu dans les anciens post mais je n’ai pas trouvé (après comme dirait ma femme, tu vas à la mer tu trouves pas l’eau toi) :-).

    J’aimerais, lorsqu’une position est prise et que le stop loss de départ est placé, pouvoir faire évoluer ce stoploss en stopwin en fonction de l’évolution des prix de l’actif.

    Exemple : j’achète le dow à 25.000 avec SL initial à 24800. Lorsque les prix passent à 25100, je met le SL à Break Even. Lorsque les prix grimpent à 25.200, le stop à BE passe en stop win à 25100.

    Merci d’avance pour votre aide.

    #93346 quote
    Nicolas
    Keymaster
    Master

    Trailing stop et breakeven, c’est pourtant pas ce qui manque dans les forums 🙂

    Une liste non exhaustive : https://docs.google.com/spreadsheets/d/1rgboqj7sVwsP9ZRhOduOefye48QMWC07jWVXCl-KJPU/edit#gid=0

    Quelques topics taggés breakeven: https://www.prorealcode.com/topics-tag/breakeven

    #93348 quote
    lannoogeoffrey
    Participant
    Average

    Est ce que ce code (code de mise à BE modifiée) est correcte ?

    IF LONGONMARKET AND high-tradeprice(1)>=startSWA*pipsize and close > tradeprice(1)+3*pipsize THEN
    //On calcul le nouveau niveau du stop BE
    SWAlv = tradeprice(1)+SWA*pipsize
    ENDIF
    //On place le nouvel ordre stop au niveau du stop BE
    IF SWAlv>0 THEN
    SELL AT SWAlv STOP
    ENDIF

    Petite question au passage …. Pourquoi met on close > tradeprice(1) + 3 * pipsize ? Est-ce pour éviter que si le niveau de prix devant déclencher la remontée du stop ait été touché mais qu’en clôture de bougie les prix sont revenus sous le niveau de prix d’entrée, le robot ne mette quand même le SL au nouveau niveau ?

    Car j’ai ça parfois. Le robot veut mettre le trade à BE car le prix de mise à BE a été touché en cours de bougie, mais en clôture il est inférieur au prix d’entrée et le robot met quand même le stop à be, ce qui a pour effet de clôturer ma position en négatif.

    #93356 quote
    Nicolas
    Keymaster
    Master

    Je ne sais pas d’où provient cette portion de code, je ne peux pas répondre à ta question.

    Ce que je peux dire de ce que je vois dans ce code, c’est qu’il est logique que l’ordre ferme à cause du pending STOP, si SWAlv est supérieure au Close lors de la lecture du code. Dans ce cas là, il faut utiliser un ordre LIMIT plutôt qu’un STOP.

    #93359 quote
    lannoogeoffrey
    Participant
    Average

    J’ai une autre question suite à la lecture sur le Multitime frame dont je viens de faire la demande chez PRT.

    Pour la mise à BE, celle-ci se fait classiquement à la clôture de la bougie de l’unité de temps sur laquelle le robot travail. Est-il possible avec le MTF d’appliquer un robt sur l’UT horaire et de faire en sorte que la mise à BE se fasse sur le 5 minutes ou le 1 minute ?

    Le bout de code que j’ai mis avant venait de celui-ci que javais modifié.

    //On remet le niveau de mise à BE à 0 losque l'on n'est pas en position
    IF NOT ONMARKET THEN
    BELv=0
    ENDIF
    
    IF LONGONMARKET AND high-tradeprice(1)>=startBEA*pipsize and close > tradeprice(1)+3*pipsize THEN
    //On calcul le nouveau niveau du stop BE
    BELv = tradeprice(1)+PointsToKeepA*pipsize
    ENDIF
    //On place le nouvel ordre stop au niveau du stop BE
    IF BELv>0 THEN
    SELL AT BELv STOP
    ENDIF
    #93420 quote
    Nicolas
    Keymaster
    Master

    Est-il possible avec le MTF d’appliquer un robt sur l’UT horaire et de faire en sorte que la mise à BE se fasse sur le 5 minutes ou le 1 minute ?

    Oui et c’est bien un des arguments de poids dans l’utilisation du MTF.

    Exemple dans ce sujet : https://www.prorealcode.com/topic/move-sl-during-current-candle/#post-79130

    (déplacement du stoploss à breakeven en timeframe 1 minute d’une stratégie basée sur des indicateurs en H1).

    Pour l’utilisation du MTF, il y a quantité de sujets taggés “MTF” : https://www.prorealcode.com/topics-tag/mtf/

    ou “multitimeframe” : https://www.prorealcode.com/topics-tag/multitimeframe/

    ou cet article que j’ai rédigé en français lors de l’introduction des nouvelles instructions pour le MTF: Première approche sur le multi timeframe avec ProRealTime

    #93658 quote
    lannoogeoffrey
    Participant
    Average

    Bonjour Nicolas,

    Je reviens avec ma demande pour le déplacement d’un stoploss qui a été placé à Breakeven en stopwin. Est ce que je le code joint te semble correcte ?

    //On remet le niveau de mise à BE à 0 losque l'on n'est pas en position
    IF NOT ONMARKET THEN
    BELv=0
    ENDIF
    
    IF LONGONMARKET AND high-tradeprice(1)>=startBEA*pipsize and close > tradeprice(1)+3*pipsize THEN
    //On calcul le nouveau niveau du stop BE
    BELv = tradeprice(1)+PointsToKeepA*pipsize
    ENDIF
    //On place le nouvel ordre stop au niveau du stop BE
    IF BELv>0 THEN
    SELL AT BELv STOP
    ENDIF
    
    
    IF LONGONMARKET AND high-tradeprice(1)>=tradeprice(1)+200*pipsize and close > tradeprice(1)+3*pipsize THEN
    //On calcul le nouveau niveau du stop win
    SWLv = tradeprice(1)+100*pipsize
    ENDIF
    //On place le nouvel ordre stop au niveau du stop BE
    IF SWLv>0 THEN
    // je pense qu'il manque une ligne pour la suppression de stop qui est placé à BELv - Comment l'écrire ?
    SELL AT SWLv STOP
    ENDIF
    #93669 quote
    Nicolas
    Keymaster
    Master

    Je ne vois rien de choquant dans l’approche. On ne peut pas supprimer un ordre conditionnel, il expire à chaque nouveau chandelier. Si tu veux ne plus placer le premier ordre STOP (celui de la ligne 12), alors tu devrais tester à la ligne 11 si SWLv est supérieure à 0.

    #93671 quote
    lannoogeoffrey
    Participant
    Average

    Merci mais je ne suis pas certain de bien comprendre.

    Dans l’état actuel du code, il me placera à chaque fin de chandelier 2 stops ? un à BELv et un SWLv ?

    En fait j’aimerais simplement que dans un premier temps, lorsque un premier niveau de prix est atteint, il mette le stop à BE et lorsqu’un second niveau de prix, le stop qui était placé à BE soit relevé à un certains nombre de points (par exemple 100).

    #93676 quote
    Nicolas
    Keymaster
    Master

    Dans l’état actuel du code, il me placera à chaque fin de chandelier 2 stops ? un à BELv et un SWLv ?

    Oui c’est ce que tu demandes avec ton code.

    n fait j’aimerais simplement que dans un premier temps, lorsque un premier niveau de prix est atteint, il mette le stop à BE et lorsqu’un second niveau de prix, le stop qui était placé à BE soit relevé à un certains nombre de points (par exemple 100).

    Voir ma réponse du dessus. Pour éviter de placer 2 ordres stop, on va interdire la pose du premier avec la condition que j’ai indiqué. J’ai donné plein d’exemples dans les liens du dessus également, pourquoi vouloir réinventez la poudre ? 🙂

Viewing 10 posts - 1 through 10 (of 10 total)
  • You must be logged in to reply to this topic.

Déplacer un stop loss en cours de trade suivant l'évolution des prix


ProOrder : Trading Automatique & Backtests

New Reply
Author
Summary

This topic contains 9 replies,
has 2 voices, and was last updated by Nicolas
7 years ago.

Topic Details
Forum: ProOrder : Trading Automatique & Backtests
Language: French
Started: 03/11/2019
Status: Active
Attachments: No files
Logo Logo
Loading...