Problème de backtest : stratégie des TORTUES
Forums › ProRealTime forum Français › Support ProOrder › Problème de backtest : stratégie des TORTUES
- This topic has 4 replies, 3 voices, and was last updated 8 years ago by JC_Bywan.
Tagged: turtle
-
-
07/18/2016 at 1:51 PM #10558
Bonjour à tous,
Je tente de coder la fameuse “stratégie des tortues”.
Chose bizarre, la sortie ne s’effectue pas au plus bas des X dernières bougies (X = 10 pour le “système 1” et X = 20 pour le “système 2”).
Le stop loss à l’ATR20 semble bien fonctionner.
Sur la capture d’écran (DAX index, juste pour l’essai, alors que les tortues ne tardaient pas directement le Dax), on voit clairement que la dernière position “long” est maintenue bien plus qu’elle ne le devrait. On devrait sortir sur le plus bas des 10 dernières bougies.
De ce fait, mon code n’est pas profitable sur les matières premières entre autres.
Voyez-vous où se trouve l’erreur ?
Merci par avance.
Voici le code :
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758// SYSTEME DE TRADING DES TORTUES// REGLES ORIGINALES// 2 SYSTEMES : valeur 1 ou 2SYSTEME = 1// INDICATEURSATR20 = AverageTrueRange[20](close)HAUT20 = Highest[20](high)BAS20 = Lowest[20](low)HAUT55 = Highest[55](high)BAS55 = Lowest[55](low)HAUT10 = Highest[10](high)BAS10 = Lowest[10](low)// ACHATIF not onmarket THENIF SYSTEME = 1 THENBuy at HAUT20 stopELSIF SYSTEME = 2 THENBuy at HAUT55 stopENDIF// SORTIE ACHATIF SYSTEME = 1 THENsell at BAS10 stopELSIF SYSTEME = 2 THENsell at BAS20 stopENDIFENDIF// VENTEIF not onmarket THENIF SYSTEME = 1 THENSellshort at BAS20 stopELSIF SYSTEME = 2 THENSellshort at BAS55 stopENDIF// SORTIE VENTEIF SYSTEME = 1 THENexitshort at HAUT10 stopELSIF SYSTEME = 2 THENexitshort at HAUT20 stopENDIFENDIF// STOP LOSSSet stop loss ATR2007/18/2016 at 2:58 PM #10562C’est tout à fait normal car le lowest low et le highest high évolue en temps réel, tu dois donc faire référence à leurs valeurs dans le passé pour effectuer des tests.
Je ne vois pas de taille de position dans les instructions de vente et d’achat non plus.
07/18/2016 at 8:04 PM #10572Merci.
Je vais donc définir le lowest[n](low[1]) et faire l’essai.
Si le code fonctionne bien je le mettrai en librairie.Je n’ai pas mis d’instructions de taille de positions exprès, pas besoin : par défaut lorsqu’on ne met rien, PRT met “1 share”.
07/20/2016 at 10:11 PM #10740Bonjour,
Je pense avoir pourtant bien corrigé l’erreur, mais ça ne fonctionne pas mieux.
Voici le code.
Merci pour l’aide !12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758// SYSTEME DE TRADING DES TORTUES// REGLES ORIGINALES// 2 SYSTEMES : valeur 1 ou 2SYSTEME = 1// INDICATEURSATR20 = AverageTrueRange[20](close)HAUT20 = Highest[20](high)BAS20 = Lowest[20](low)HAUT55 = Highest[55](high)BAS55 = Lowest[55](low)HAUT10 = Highest[10](high)BAS10 = Lowest[10](low)// ACHATIF not onmarket THENIF SYSTEME = 1 THENBuy at HAUT20 stopELSIF SYSTEME = 2 THENBuy at HAUT55 stopENDIF// SORTIE ACHATIF SYSTEME = 1 THENsell at BAS10<span style="color: #ff0000;">[1]</span> stopELSIF SYSTEME = 2 THENsell at BAS20<span style="color: #ff0000;">[1]</span> stopENDIFENDIF// VENTEIF not onmarket THENIF SYSTEME = 1 THENSellshort at BAS20 stopELSIF SYSTEME = 2 THENSellshort at BAS55 stopENDIF// SORTIE VENTEIF SYSTEME = 1 THENexitshort at HAUT10<span style="color: #ff0000;">[1]</span> stopELSIF SYSTEME = 2 THENexitshort at HAUT20<span style="color: #ff0000;">[1]</span> stopENDIFENDIF// STOP LOSSSet stop loss ATR2008/07/2016 at 2:38 PM #11322Bonjour, je pense que tes conditions de sorties d’achat et de sorties de vente seraient plus heureuses de vivre leur vie en dehors de tes boucles “if not onmarket” plutôt qu’en dedans, puisque par définition si tu veux sortir des positions, c’est que tu es “on market”. Là du coup tes boucles if de sorties ne sont jamais visitées par le programme.
En déplaçant 2 endif donc, ça donnerait (sans avoir cherché à vérifier si le reste était ok ou pas):
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758// SYSTEME DE TRADING DES TORTUES// REGLES ORIGINALES// 2 SYSTEMES : valeur 1 ou 2SYSTEME = 1// INDICATEURSATR20 = AverageTrueRange[20](close)HAUT20 = Highest[20](high)BAS20 = Lowest[20](low)HAUT55 = Highest[55](high)BAS55 = Lowest[55](low)HAUT10 = Highest[10](high)BAS10 = Lowest[10](low)// ACHATIF not onmarket THENIF SYSTEME = 1 THENBuy at HAUT20 stopELSIF SYSTEME = 2 THENBuy at HAUT55 stopENDIFENDIF// SORTIE ACHATIF SYSTEME = 1 THENsell at BAS10 stopELSIF SYSTEME = 2 THENsell at BAS20 stopENDIF// VENTEIF not onmarket THENIF SYSTEME = 1 THENSellshort at BAS20 stopELSIF SYSTEME = 2 THENSellshort at BAS55 stopENDIFENDIF// SORTIE VENTEIF SYSTEME = 1 THENexitshort at HAUT10 stopELSIF SYSTEME = 2 THENexitshort at HAUT20 stopENDIF// STOP LOSSSet stop loss ATR20 -
AuthorPosts
Find exclusive trading pro-tools on