Breakeven problème, le niveau de prix n'est pas respecté ?
Forums › ProRealTime forum Français › Support ProOrder › Breakeven problème, le niveau de prix n'est pas respecté ?
- This topic has 4 replies, 2 voices, and was last updated 4 years ago by Zefte.
-
-
04/07/2020 at 11:00 AM #124998
Bonjour,
J’essaie de coder un breakeven tout simple mais on voit bien sur la capture d’écran que le SL ne se place pas sur mon niveau d’entrée alors qu’il devrait s’y placer dès qu’on dépasse 30 points. Et dans cet exemple on en fait plus de 90..
Sur le second trade on voit que ca marche bien. Je ne comprends pas. Une idée ?version : 11
instrument : FCEXXXX
TF : 5 minutes04/07/2020 at 2:33 PM #125061Deux choses qui me viennent à la lecture de ton problème avec ton code de breakeven :
- utilise toujours une taille adaptée à l’instrument courant en faisant une conversion avec l’instruction pointsize, soit modifie la ligne avec: 30*pointsize
- le code est lu à fin de bougie, si à la clôture ta condition d’éloignement de 30 points n’est pas respectée, alors il ne se passera rien. Dans le présent, tu devrais peut être tester le High plutôt que le Close: High-tradeprice(1)>=30*pointsize
Merci de poster le code la prochaine fois, plutôt qu’une image, c’est plus simple et rapide pour te répondre.
04/07/2020 at 3:13 PM #125074Merci pour ta réponse. J’ai fait la modification en conséquence mais mon breakeven ne fonctionne toujours pas. J’ai essayé sur CFD également avec la v10.3 et même en ayant un écart de 150 pts mon SL ne remonte pas au BE.
12345678910111213141516171819202122232425262728DEFPARAM CUMULATEORDERS = FalseDEFPARAM FLATBEFORE = 060000DEFPARAM FLATAFTER = 210000// INDICATEURSMM20 = Average[20](close)MM100 = WilderAverage[100](close)// CONDITIONSC1 = MM20 CROSSES OVER MM100C2 = MM20 CROSSES UNDER MM100// ACHATIF C1 AND NOT ONMARKET THENBUY 1 SHARES AT MARKETENDIF// BREAKEVENIF LONGONMARKET THENIF HIGH-TRADEPRICE(1) > 30*POINTSIZE THENSELL AT TRADEPRICE(1) STOPENDIFENDIF// REVENTEIF C2 THENSELL AT MARKETENDIF04/07/2020 at 4:10 PM #125090Un order conditionnel ne dure qu’une seule période, il faut donc le replacer en permanence, et c’est là où se situe ton problème, tu le places uniquement pour 1 seule période quand ta condition de la ligne 20 est vrai.
Je te conseille d’utiliser l’un des codes de breakeven que tu pourras trouver dans ces sujets :
https://www.prorealcode.com/topics-tag/breakeven/
https://www.prorealcode.com/topics-tag/break-even/
1 user thanked author for this post.
04/07/2020 at 5:04 PM #125110Ok je viens de comprendre mon erreur. Merci beaucoup ! Voici le code corrigé.
Modifications : ligne 16, ligne 22, lignes 26 à 28123456789101112131415161718192021222324252627282930313233DEFPARAM CUMULATEORDERS = FalseDEFPARAM FLATBEFORE = 060000DEFPARAM FLATAFTER = 210000// INDICATEURSMM20 = Average[20](close)MM100 = WilderAverage[100](close)// CONDITIONSC1 = MM20 CROSSES OVER MM100C2 = MM20 CROSSES UNDER MM100// ACHATIF C1 THENBUY 1 SHARES AT MARKETSET STOP PLOSS 50ENDIF// BREAKEVENIF LONGONMARKET THENIF HIGH-TRADEPRICE(1) > 30*POINTSIZE THENnewSL = tradeprice(1)ENDIFENDIFIF newSL > 0 THENSELL AT newSL STOPENDIF// REVENTEIF C2 THENSELL AT MARKETENDIF1 user thanked author for this post.
-
AuthorPosts