incompréhension sur prog arrêt de fuite

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #139200 quote
    imencity
    Participant
    Senior

    Bonjour à tous,

    Je pense que je vais adopter le foin comme nourriture principale… Je n’arrive pas à comprendre le comportement du code d’arrêt de fuite de Nicolas:
    https://www.prorealcode.com/blog/trading/complete-trailing-stop-code-function/
    Avec les améliorations d’ici:
    https://www.prorealcode.com/topic/modified-nicolas-trailing-stop-code/

    // Air Liquide Pivot H1
    
    // PARAMETRES
    DEFPARAM CUMULATEORDERS = FALSE
    Atrailingstart  = 0.05
    Atrailingstep   = 0.02
    Astoploss       = 0.01
    
    ONCE nblot = 1
    
    IF high[1] = close[1] AND close[1] > open[1] THEN
    BUY nblot SHARES AT MARKET
    SET STOP pLOSS Astoploss
    ENDIF
    
    //trailing stop function
    trailingstart = Atrailingstart //20 //trailing will start @trailinstart points profit
    trailingstep = Atrailingstep //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 high-tradeprice(1)>=trailingstart*pipsize THEN
    newSL = tradeprice(1)+trailingstep*pipsize
    IF newSL > close THEN
    SELL AT MARKET
    ENDIF
    ENDIF
    //next moves
    IF newSL>0 AND high-newSL>=trailingstep*pipsize THEN
    newSL = newSL+trailingstep*pipsize
    IF newSL > close THEN
    SELL AT MARKET
    ENDIF
    ENDIF
    ENDIF
    
    //stop order to exit the positions
    IF newSL>0 THEN
    SELL AT newSL STOP
    ENDIF
    
    GRAPH newSL

    Mais le système ne bloque pas les fuites, preuves sur la capture d’écran.
    Le plus haut est à 123,450 pour un achat à 123,007. Comme à partir de 0,05 de bénéfice je dois bouger le newSL ça voudrais dire qu’à partir de 123,057 le stoploss doit bouger tous les 0,02 mais il n’en ai rein et la vente se fait à 123,009!

    de plus mon ex de condition contient un simple “high[1] = close[1] AND close[1] > open[1] ” et une seconde bougie rouge baissière lance tout de même un achat…!

    J’ai pris là un code très simple sur une action au hasard pour comprendre ce code mais un truc m’échappe.

    Où est mon erreur svp ?

    AIH1test01.jpg AIH1test01.jpg
    #145389 quote
    Nicolas
    Keymaster
    Master

    Je pense que le problème vient de tes paramètres entre les lignes 5 et 7, tu les exprimes en prix, alors qu’ils sont attendus en points.

    Tu utilises pLoss (qui attend une valeur en point), pour un prix il faut utiliser Loss.

    Pour la fonction du trailing stop, elle utilise une conversion en multipliant la valeur de tes paramètres avec PointSize, hors comme tu envois déjà une valeur prix, le calcul devient faux, d’où ton incompréhension.

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

incompréhension sur prog arrêt de fuite


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
imencity @imencity Participant
Summary

This topic contains 1 reply,
has 2 voices, and was last updated by Nicolas
5 years, 5 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 07/18/2020
Status: Active
Attachments: 1 files
Logo Logo
Loading...