Perte incompréhensible sur un BACKTESTE

Forums ProRealTime forum Français Support ProBuilder Perte incompréhensible sur un BACKTESTE

Viewing 11 posts - 1 through 11 (of 11 total)
  • #199492

    Bonjour à tous,

    j’ai coder une stratégie très simple avec le MACD avec la prise de bénéfice très rapide, ce code je vous l’affiche et vous l’explique en dessous :

    • a=Average[200](close)
    • b= MACDline[12,26,9](close)
    • c=MACDSignal[12,26,9](close)
    • ACHAT1= b CROSSES OVER c and close >a
    • VENTE1= b CROSSES UNDER c and close <a
    • IF ACHAT1 then
    • buy 1000000LOTS AT MARKET
    • SET STOP PLOSS MYSTOP
    • SET TARGET PPROFIT MYPROFIT
    • MYSTOP= -0.01
    • MYPROFIT = +0.01
    • IF VENTE1 then
    • SELLSHORT 1000000LOTS AT MARKET
    • SET STOP PLOSS MYSTOP
    • SET TARGET PPROFIT MYPROFIT
    • MYSTOP= -0.01
    • MYPROFIT = +0.01
    • ENDIF

    pour décrire il y a une prise de position à l’achat quand le MACD croise à la hausse et que le prix est au dessus de la moyenne mobile 200, et une prise de de position vendeuse quand le MACD croise à la baisse et que le prix et en dessous de la moyenne mobile 200, les prise de bénéfice et les stop sont très rapide, c’est a dire par exemple quand il y a un achat au marché est que le prix est a 1.19455 est que le prix monte à 1.19456 le take profit est atteint très rapidement, à l’inverse le stop fait en sorte de ne pas perde plus de 0.00001

    j’ai donc tester ce code sur l’année est tout les Trade ont été gagnant, à l’exception de quelque un qui m’on fait perde beaucoup d’agent ( heureusement que s’était un backteste) mais je ne comprend pas du tout l’exécution de ces trades,

    pour un achat il a été exécuté en dessous de la moyenne mobile 200 alors que les condition d’achat indiquer au dessus de la moyenne mobile 200 et le stop a été exécuter 100 fois plus loin que ce que j’avais indiquer dans le code, comme exemple l’achat s’est exécuté à 1.19455 et le stoploss à stoper la perte à 1.19155 donc bien plus loin que ce que j’avais coder

    quelqu’un peut t il m’expliquer si cela est du à un beug et comment peut on corriger cela pour améliorer le backteste

    merci beaucoup de votre aide =)

     

     

    #199730

    ENDIF manque après la ligne 11, juste avant ceci :

    Avec ce correctif, il me semble que tout fonctionne bien.

     

    #199897

    merci beaucoup =)

    #200327

    re bonjour a tous ,

    bin écouter le problème persiste encore, mais cette fois se sont des positions acheteuse ou vendeuse qui dure longtemps , exemple une position  se déclenche le 30 aout a 4h29 et se referme a 06h11 cela engendre donc un perte énorme et fais foirer tout les autre Trade gagnant, je ne comprend pas pourquoi les Trade dure aussi longtemps car le stop loss et le take profit sont petit,

    pouvez vous m’aider car je ne sais plus quoi faire ……………………………………..

    pour information lors du bacteste j’ai mis le spread a 0.8 et le capital initial a 1500 euros

    si vous voulais avoir un petit aperçus voici le code que vous pouvez bactester du 29 aout 2022 a 9h00 jusqu’au 31 aout 2022 jusqu’a 17h30

     

    #200328

    bonsoir,

    quel indice ou forex ?

    #200344

    Au premier achat (ou vente) ligne 10, il n’y a aucune valeur de MYSTOP ou MYPROFIT de connu, donc c’est 0.

    Puis tu renseignes la valeur avec des distances en prix alors que tu utilises des instructions qui attendent une valeur en points (PLOSS, PPROFIT)

    Au deuxième trade, ces valeurs seront utilisés, mais elles ne sont pas correctes, puisque par ailleurs tu donnes une valeur négative à une distance pour le stoploss et avec des +/- devant !? 🙂

    Bref, cela devrait plutôt se coder pour suit:

    Pour mémoire le code est lu de haut en bas, donc si tu veux initialiser des valeurs statiques dans tes variables, place les en tête de code.

    #200379

    Bonsoir,

    le forex sur EUR/USD en 1min

    merci beaucoup

    #200384

    juste pour te donner encore un autre exemple, tu prend la journée du 29 aout de 09h00 à 17h59, tu verra que il y a deux Trade perdant, un trade a 16h17 et un autre a 17h28 , tu teste le code suivant en 1 min avec un spread a 0.8 pip et tu verra les deux trade sont perdant et dur longtemps,

    c’est ce que j’essaye de comprendre mais je n’arrive pas a trouver la solution

    voici le code :

    a=Average[200](close)
    b= MACDline[12,26,9](close)
    c=MACDSignal[12,26,9](close)

    ACHAT1= b CROSSES OVER c and close>a
    VENTE1= b CROSSES UNDER c and close<a

    IF ACHAT1 then
    BUY 10000LOTS AT MARKET
    SET STOP PLOSS MYSTOP
    SET TARGET PPROFIT MYPROFIT
    MYSTOP= -0.01
    MYPROFIT = +0.01
    ENDIF

    IF VENTE1 then
    SELLSHORT 10000LOTS AT MARKET
    SET STOP PLOSS MYSTOP
    SET TARGET PPROFIT MYPROFIT
    MYSTOP= -0.01
    MYPROFIT = +0.01
    ENDIF

    #200387

    le code doit etre ecrit comme ceci

     

    #200388

    bien respecter ceci
    Distance minimum du stop 3
    Distance minimum du stop garanti 5
    et mettre en spread 2

    #200406

    Voir mon message ci-dessus où le code a été corrigé: https://www.prorealcode.com/topic/perte-incomprehensible-sur-un-backteste/#post-200344

    Merci d’utiliser cette version pout les tests 🙂

    1 user thanked author for this post.
Viewing 11 posts - 1 through 11 (of 11 total)

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