Actualisation KO de Stop loss lors de pyramidage

Forums ProRealTime forum Français Support ProOrder Actualisation KO de Stop loss lors de pyramidage

Viewing 13 posts - 1 through 13 (of 13 total)
  • #103836

    Bonjour,

    Je ne comprends pas l’exécution en PJ de Backtest.

    On y voit un premier achat, puis 2 pyramidage.
    Lors du premier achat, un stoploss est mis à 2*ATR.
    Puis lors de chaque pyramidage, un stoploss est remis au min. entre le précédent 2*ATR et nouvel 2*ATR (vu que l’ATR évolue entre chaque achat).
    Dans mon exemple, la distance de mon stoploss ne change pas (car l’ATR augmente).

    Sauf que, on voit qu’à la vente, ce n’est pas le stoploss qui est touché, mais un ordre de vente que j’ai codé, basé sur d’autres conditions.
    Hors, le stoploss était sensé être plus haut…
    C’est comme si le prix correspondant à ma distance de stop loss souhaitée n’était pas recalculé par Prorealtime.
    Sauf que moi, je veux qu’il me recalcule mon prix de stop par rapport à mon dernier achat ! 🙁

    Voyez-vous une erreur dans l’extrait de code suivant qui expliquerait le phénomène ?

    Merci d’avance.

     

    #103881

    GRAPHONPRICE stopDist

    À la fin de ton code,  lors d’un backtest pour vérifier le niveau calculé par ton code directement sur le graphique.  Ça devrait t’aider à trouver le problème.

    #103888

    Bonjour,

    En effet, c’est plus visuel.
    Mais le SL est bien où je pensais (nouvelle image en PJ). Donc il aurait dû être touché.
    Je ne vois vraiment pas ce qui peut clocher 🙁

    PS : j’ai mis “GRAPHONPRICE (tradeprice(1)-stopDist)” pour avoir le SL affiché au bon endroit.

    #103890

    J’ai essayé de remplacer, à l’endroit de mon pyramidage, mon SL par un ordre de vente STOP.
    Et ça ne change rien…

    Du coup, j’ai essayé de supprimer mes conditions de vente, pour voir où le STOP est réellement touché.
    En PJ ce que cela donne (STOP loss touché, vente au prix de 12.806).

    Mais je n’y compris toujours rien … on dirait que le stop est déplacé plus bas, mais je ne vois pas par quoi !

    #103894

    Cette fois, c’est sûr, il y a un bug.
    J’ai mis en commentaire toutes les lignes “SET STOP LOSS” de tout le code, sauf celle qui est dans le IF de pyramidage, et le résultat reste le même qu’initialement.
    Si je laisse ma condition d’Exit Long, le stop loss n’est pas touché.
    Si je supprime ma condition d’Exit Long, le stop loss est touché, mais vendu à 12.806. Ce qui veut dire mon stop loss qui n’a été mis que 2 fois durant tout le backtest :

    • 1 première fois lors du 1er pyramidage à 12.89
    • 1 deuxième fois lors du 2ème pyramidage à 13.466

    Vu la vente à 12.806, c’est le premier stop loss qui a été touché.

    Dit autrement, le second SET STOP LOSS n’est pas pris en compte par Prorealtime…

    @Nicolas, de ton expérience, tu confirmes le phénomène ?

    #103897

    J’aimerai tester de mon côté, ça n’est pas clair pour moi pour le moment. Il semble que le code utilise pas mal de variables qui sont dans l’optimiseur, merci de me partager le fichier .itf pour être plus efficace.

    #103898

    A chaque pyramidage, tu pourrais calculer ton nouveau niveau de stop et placer directement un ordre conditionnel de type stop également, comme ceci:

    Cet ordre conditionnel devrait être aussi placé en continu par la suite si tu es au marché. De cette façon tous les ordres se fermeront à monSL simultanément.

    1 user thanked author for this post.
    #103903

    J’ai réussi à avoir les SL là où je voulais en codant avec des ordres de vente type Stop comme tu le mentionnes pour la technique de breakeven, c’est à dire en rajoutant en début de script :

    et en fin de script :

    Et dans mon IF de pyramidage, je calcule le stopPrice = close – stopDist (ou close + stopDist pour le Short)

    Enfin, c’est quand même pas top que Prorealtime ne prenne pas en compte correctement les STOP LOSS 🙁
    ça serait plus simple que de bidouiller avec des ordres de vente à replacer à chaque bougie…

    En tout cas, merci beaucoup Nicolas !

    #103934

    Prorealtime prend en compte correctement les SL. Les solutions proposées sont les plus rapides que j’ai pu te trouver sans tester le code. Il doit y avoir une autre explication au problème que tu as exposé.

     

    #103962

    Bonjour,

    Je serais intéressé par ton analyse dans ce cas.

    Ci-joint le fichier ITF, que j’ai un peu allégé pour faciliter ton analyse.
    J’ai gardé une seule strategy Long sur 2, et supprimer la Short.

    le point qui me pose question est sur l’exécution du stop loss suite à pyramidage (premier ordre début décembre 2017, vente mi-janvier 2018)

    Merci d’avance pour ton oeil expert.

    #103972

    Timeframe et instrument svp?

    #103981

    Pardon

    AF (AirFrance KLM) en daily

    #103985

    Avec le code suivant, j’utilise donc un SET STOP LOSS stopDist et je graph sur le prix un Close-stopDist que j’update à chaque nouvelle ordre, la clôture du panier se fait correctement au bon niveau (plus ou moins compte tenu que je ne connais pas le prix d’ouverture réel à l’open suivant).

    La ligne rouge semble bonne, qu’est ce qui te choque ?

Viewing 13 posts - 1 through 13 (of 13 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login