Problème compréhension stratégies de trading en Multi Time Frame
Forums › ProRealTime forum Français › Support ProOrder › Problème compréhension stratégies de trading en Multi Time Frame
- This topic has 33 replies, 3 voices, and was last updated 4 years ago by Nicolas.
-
-
07/03/2020 at 7:49 PM #138340
Bein alors non.
C’est bien cette partie:
1234567if strategyprofit <> strategyprofit[1] thenif positionperf(1) >= 0 then //si dernière position perdantenblot = nblot + 0.2 //alors on incrémente la quantité de perteelse //si elle est positivenblot = 1.2 //alors le compte est remis à zéroendifendifQuand je commente j’ai le même résultat peu importe le TF.
Si je décommente, les résultats sont différents. Pourquoi ?07/03/2020 at 8:02 PM #13834407/06/2020 at 7:39 AM #138522Tout simplement parce que tu recalcules ta taille de position à chaque lecture de code et peu importe si tu entres en position ou pas ! D’où un incrément qui continue sans cesse si ton profit a augmenté. Ce genre de calcul de taille de lot devrait être placé juste avant l’entrée en position, dans le bloc conditionnel qui va déclencher celle-ci.
07/06/2020 at 1:59 PM #13855007/06/2020 at 5:28 PM #138573Comme ça ?
123456789101112131415161718192021222324252627282930313233defparam cumulateorders=falsetimeframe(15 minutes,updateonclose)TimeTrade = TIME > 090000 AND TIME < 171500indicator1 = Average[7](close)indicator2 = Average[15](close)ONCE nblot = 1.2CA1 = indicator1 CROSSES OVER indicator2if TimeTrade AND CA1 then// Modifier quantite en fonction des gainsif strategyprofit <> strategyprofit[1] thenif positionperf(1) >= 0 then //si dernière position perdantenblot = nblot + 0.2 //alors on incrémente la quantité de perteelse //si elle est positivenblot = 1.2 //alors le compte est remis à zéroendifendifBUY nblot SHARES AT MARKETendiftimeframe(5 minutes,updateonclose)CA2 = indicator1 CROSSES UNDER indicator2IF CA2 THENSELL AT MARKETENDIFtimeframe(15 minutes,updateonclose)set stop ploss 15Je crois pas parce que ça ne fonctionne pas…
07/08/2020 at 10:51 AM #13872507/08/2020 at 3:23 PM #13875707/08/2020 at 4:03 PM #13876507/08/2020 at 7:28 PM #138779Merci de la réponse Nicolas, mais ça ne fonctionne toujours pas:
123456789101112131415161718192021222324252627282930313233defparam cumulateorders=falsetimeframe(15 minutes,updateonclose)TimeTrade = TIME > 090000 AND TIME < 171500indicator1 = Average[7](close)indicator2 = Average[15](close)ONCE nblot = 1.2CA1 = indicator1 CROSSES OVER indicator2if TimeTrade AND CA1 AND NOT ONMARKET then//Modifier quantite en fonction des gainsif strategyprofit <> strategyprofit[1] thenif positionperf(1) >= 0 then //si dernière position perdantenblot = nblot + 0.2 //alors on incrémente la quantité de perteelse //si elle est positivenblot = 1.2 //alors le compte est remis à zéroendifendifBUY nblot SHARES AT MARKETendiftimeframe(5 minutes,updateonclose)CA2 = indicator1 CROSSES UNDER indicator2IF CA2 THENSELL AT MARKETENDIFtimeframe(15 minutes,updateonclose)set stop ploss 15En 5 min les gains sont négatifs et en 1 min ils sont positifs. Or le résultat devrait être identique…
Une autre idée svp ?
07/09/2020 at 9:21 AM #13881707/09/2020 at 4:37 PM #138861Bonjour Nicolas,
Oui le début est exactement à la même date sur les graphiques.
Et en changeant d’ordinateur je reproduit exactement la même erreur.
Je ne comprends pas cette erreur et ça me bloque pour la suite de mes tests.J’ai cherché d’autres code multi frame avec des stratégies pour comparer mais j’ai pas trouvé.
As-tu la même chose si tu lances mon code chez toi ?
07/09/2020 at 5:03 PM #138865Changer d’ordinateur ne changera rien aux résultats des backtests, ceux-ci sont exécutés côté serveur.
J’ai exactement les mêmes résultats si je spécifie bien la même date et heure de début en 1-minute ou en UT 5-minutes, en v11.
07/09/2020 at 5:19 PM #13886907/09/2020 at 5:19 PM #13887007/09/2020 at 7:14 PM #138882Encore un autre test de réalisé… les 2 résultats n’ont absolument rien à voir…
Même date de début et même date de fin. Revoici mon code:
123456789101112131415161718192021222324252627282930313233defparam cumulateorders=falsetimeframe(15 minutes,updateonclose)TimeTrade = TIME > 090000 AND TIME < 171500indicator1 = Average[7](close)indicator2 = Average[15](close)ONCE nblot = 1.2CA1 = indicator1 CROSSES OVER indicator2if TimeTrade AND CA1 AND NOT ONMARKET then// Modifier quantite en fonction des gainsif strategyprofit <> strategyprofit[1] thenif positionperf(1) >= 0 then //si dernière position perdantenblot = nblot + 0.2 //alors on incrémente la quantité de perteelse //si elle est positivenblot = 1.2 //alors le compte est remis à zéroendifendifBUY nblot SHARES AT MARKETendiftimeframe(5 minutes,updateonclose)CA2 = indicator1 CROSSES UNDER indicator2IF CA2 THENSELL AT MARKETENDIFtimeframe(15 minutes,updateonclose)set stop ploss 15Je comprends pas pourquoi… Les résultats n’ont absolument rien à voir y a qu’à voir les graphiques.
-
AuthorPosts
Find exclusive trading pro-tools on