Question sur StrategyProfit

Forums ProRealTime forum Français Support ProOrder Question sur StrategyProfit

Viewing 7 posts - 1 through 7 (of 7 total)
  • #10054

    Bonjour,

    En trading intraday, j’utilise la fonction StrategyProfit pour stopper le programme, en perte ou en gain.

    J’essaye de faire évoluer mon STOP à la hausse avec le résultat.

    ( exemple :

    once STOP = -200

    …..

    if StrategyProfit > 400 then STOP = 400

    if StrategyProfit > 500 then STOP = 500

    etc …

    if StrategyProfit < STOP then quit)

    Cela fonctionne lorsque le premier niveau est atteint (fin de barre, dernière position clôturée, 400 < StrategyProfit < 500 : STOP = 400

    Cependant le STOP n’évolue plus même si le résultat dépasse 500 (fin de barre, dernière position clôturée) et reste donc coincé à 400 au lieu de passer à 500.

    Une idée pour résoudre ce problème ? Faut-il réinitialiser STOP ? Si oui, comment ?

    Merci d’avance

    Raygeek

     

    #10060

    L’instruction QUIT désactive complètement la stratégie, le problème vient probablement de son utilisation?

    #10062

    Non, ce n’est pas le problème : dans le cas évoqué, l’instruction quit n’est pas enclenchée avant que StrategyProfit ne repasse sous 400.

    Avant cela, StrategyProfit est passé au dessus de 500 mais n’a pas modifié le STOP de 400 à 500.

    J’ai également essayé

    if StrategyProfit > 400 and StrategyProfit < 500 then

    STOP = 400

    if StrategyProfit > 500 and StrategyProfit < 600 then

    STOP = 500

    mais le résultat est le même.

    #10070

    Strategyprofit ne considère que les trades déjà clôturés, est-ce que cela est bien intégré dans ton raisonnement ?

    Avec la fonction GRAPH, tu peux débugger visuellement, sans cela difficile de comprendre où se situe le problème:

    J’ai remplacé “STOP” par stopstrategy car le mot STOP est réservé au langage, on ne peut l’utiliser en variable.

     

    #10079

    Merci Nicolas, c’est bien intégré.

    J’ai une routine qui clôture toute position restante lorsque la condition sur StrategyProfit est déclenchée.
    L’instruction QUIT ne s’exécutera ensuite que lorsqu’il n’y a plus de position.
    (Pour info, lorsque l’instruction QUIT est exécutée alors qu’il y a encore une position ouverte, elle arrête le programme mais laisse cette dernière position ouverte)
    J’ai utilisé STOP pour l’exemple mais je l’ai nommé PLSTOP dans ma routine.
    J’utilise la courbe gains&pertes en ProBacktest pour suivre le StrategyProfit, c’est kif.

    Suite à ton conseil, j’ai graphé le PLSTOP : Surprise ! Le programme l’a bien fixé plus haut mais l’a ramené plus bas au StrategyProfit suivant AVANT de le tester et aurait sans doute continué à fixer plus bas si il y avait eu une valeur inférieure programmée. (300 par exemple)

    Je dois donc trouver un moyen de “locker” le niveau le plus haut atteint.

    Si tu as une idée pour le faire, elle sera bienvenue !!

    Merci pour ton aide.

    Raygeek

    #10081

    J’ai ajouté une condition comme suit et ça a l’air d’être bon :

    if StrategyProfit > 400 and StrategyProfit > StrategyProfit[1] then

    PLSTOP = 400

    f StrategyProfit > 500 and StrategyProfit > StrategyProfit[1] then

    PLSTOP = 500

     

    Tu valides ?

    Merci et bonne journée.

    #10086

    Tous les chemins mènent à Rome (et au rhum.. 🙂 ) . Si ça fonctionne désormais comme tu le souhaitais au départ, c’est super 🙂

    En effet, les informations de strategyprofit sont bien stockés dans un tableau de données et on peut faire appel aux données du passé avec un offset comme tu le fais. Well done.

     

     

     

     

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

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