Code stop trailing corrigé

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #17752 quote
    arcane
    Participant
    Average

    Bonjour,

    J’ai changé le code de Nicolas pour le stop trailing manuel afin d’éviter que l’ordre stop soit mis trop près du cours et refusé par le système.

    (sur les CFD, on doit respecter une distance pour mettre son ordre stop)

    La valeur a est l’évolution du prix qui déclenche le 1er stop.

    La valeur b  permet de mettre l’ordre stop à la distance de la dernière clotûre.

    La valeur b représente le minimum de distance pour poser l’ordre stop.

    Exemple :

    Sur le dax, on met a = 10 et b=7

    Achat 5000 points

    Cours arrive à 5012. progression > à 10.

    Déclenche le stop à 5012 – 7 = 5005.

    Cours progresse encore à 5025, remonte le stop à 5025-7 = 5018.

    Merci à Nicolas de confirmer si le code est correct.

    Bonne journée à tous.

     

    //trailing stop function
    trailingstart = a //trailing will start @trailinstart points profit
    trailingstep = b //trailing step to move the "stoploss"
    
    //reset the stoploss value
    IF NOT ONMARKET THEN
    newSL=0
    ENDIF
    
    //manage long positions
    IF LONGONMARKET THEN
    //first move (breakeven)
    IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THEN
    newSL = close - trailingstep*pipsize
    ENDIF
    //next moves
    IF newSL>0 AND close-newSL>=trailingstep*pipsize then
    newSL = close - trailingstep*pipsize
    
    
    ENDIF
    endif
    
    //manage short positions
    IF SHORTONMARKET THEN
    //first move (breakeven)
    IF newSL=0 AND tradeprice(1)-close>=trailingstart*pipsize THEN
    newSL = close + trailingstep*pipsize
    ENDIF
    //next moves
    IF newSL>0 AND newSL-close>=trailingstep*pipsize THEN
    newSL = close + trailingstep*pipsize
    
    endif
    ENDIF
    
    
    //stop order to exit the positions
    IF newSL>0 THEN
    SELL AT newSL STOP
    EXITSHORT AT newSL STOP
    ENDIF
    #17840 quote
    arcane
    Participant
    Average

    Bonsoir,

    J’ai essayé le code en réel.

    Le 1er  stop se déclenche après la première barre.

    IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THEN
    newSL = close - trailingstep*pipsize
    ENDIF

    Par contre, dès la 2 eme barre, le stop trailingstart disparait et même si la 2 eme condition existe, le trailingstep ne se déclenche pas.

    Cela est logique puisqu’on envoie un ordre stop au marché qui n’est valable qu’une barre.

    IF newSL>0 AND newSL-close>=trailingstep*pipsize THEN
    newSL = close - trailingstep*pipsize

    Existe-il un moyen pour laisser le premier newsl en place si le deuxième newsl n’est pas mis.

    Comment cela marche dans votre code Nicolas ?

    Je pense que cela est la même chose.

    Merci de votre aide.

    #17845 quote
    arcane
    Participant
    Average

    J’ai retesté le code sur l’ut 1 mn au lieu de le faire sur le 10 s.

    Cela semble parfaitement fonctionné finalement.

    Je valide donc mon propre code.

    On n’est jamais mieux servi que par soi même.

    #17851 quote
    Nicolas
    Keymaster
    Master

    Désolé arcane, je n’ai pas été assez rapide cette fois. Si la valeur du NEWSL a été au moins une fois renseigné, le stoploss trailing se placera tout seul à chaque nouvelle barre, cela afin d’éviter qu’il ne disparaisse puisque les ordres conditionnels ne sont valables qu’une seule barre sous PRT.

    Si il n’y a plus d’ordre au marché, alors le NEWSL sera remis à zéro pour la prochaine série de trades.

    #17885 quote
    arcane
    Participant
    Average

    OK. Merci Nicolas.

    #18375 quote
    arcane
    Participant
    Senior

    Bonsoir Nicolas,

     

    Le code stop trailing programmé ne semble pas fonctionner avec le set code trailing de PRT.

    J’ai un ordre annulé. (un autre ordre peut être en cours sur la même position)

    Avez vous cumulé les deux dans vos programmes.

    Chez moi, cela semble fonctionner pour le down jones et pas le dax. (ce n’est pas un problème de distance de stop)

    Je commence à désespérer.

    Le résultat du backtest est toujours différent de la réalité.

    Merci

    #18416 quote
    arcane
    Participant
    Senior

    le set code trailing de PRT n’est pas utilisable avec le code trailing programmé.

    Si quelqu’un peut confirmer sur ses programmes.

    Merci.

    #18420 quote
    Nicolas
    Keymaster
    Master

    Pourquoi vouloir cumuler 2 trailing stop? Vu d’ici ça semble normal qu’il y est certaines interférences dans le placement des stoploss.. Ou alors j’ai pas compris ce que tu souhaites faire ?

    #18453 quote
    arcane
    Participant
    Average

    C’est vrai. Mais combiner 2 stop training permet plus de combinaisons dans le programme. Cela ne fonctionne pas dans le réel.

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

Code stop trailing corrigé


Support ProOrder

New Reply
Author
author-avatar
arcane @arcane_jerome Participant
Summary

This topic contains 8 replies,
has 3 voices, and was last updated by arcane
9 years, 1 month ago.

Topic Details
Forum: Support ProOrder
Language: French
Started: 12/03/2016
Status: Active
Attachments: No files
Logo Logo
Loading...