BREAKOUT 10MN en HEIKIN ASHI
Forums › ProRealTime forum Français › Support ProBuilder › BREAKOUT 10MN en HEIKIN ASHI
- This topic has 13 replies, 4 voices, and was last updated 7 years ago by Nicolas.
-
-
12/29/2016 at 8:16 PM #19378
Bonjour tout le monde,
Voilà ci-joint un autotrading intéressant…un breakout 10MN en heinki ASHI.
Testé sur 150.000 unités il donne 90,43 % de positions gagnantes sur 2 ans.
Nbre de positions : 867
Gagnantes : 784
neutres : 1
perdantes : 82 et pourtant il ne gagne que 456 euros………la faute à une boulette sur le stoploss que je n”arrive pas à trouver.
Le PRINCIPE est assez clair.
En TIMEFRAME 5MN
A 08h10 le systême défini le plus haut-plusbas(donc 2 bars)
A partir de 08h10 si une clôture en HEINKI ASHI se produit au delà des plus haut-plus bas, une position de 1 lot est prise avec target 7 pips. STOPLOSS : plushaut-plusbas
1/Si le target est atteint sur la même bar,une autre position est prise a la suivante et ainsi de suite
2/Si le target est atteint sur une autre bar, le systême s’arrête si c’est un achat mais continue pour la vente OU VICE-VERSA
Le problême se situe lorsque le target est pris sur la même bar,lorsque la dernière n’atteint pas son objectif ,le stoploss ne fonctionne plus et ruine totalement la stratégie(possibilité de 283 pips de chute) d’ou le rendement en euros…….
Si quelqu’un a une idée pour diminuer les pertes c’est avec plaisir
j’ai joint un fichier qui montre la stratégie sur la même journée.
merci
12345678910111213141516171819202122232425262728293031323334353637383940414243444546DEFPARAM FLATBEFORE = 080000DEFPARAM FLATAFTER = 171500Position= 1//heinki Ashi clôtureXclose = (open+close+high+low)/4IF Time = 081000 THENstoplossbuy = bas-(1*pipsize)stoplosssell = haut+(1*pipsize)haut = highest[2](high)bas = lowest[2](low)amplitude = haut - basachat = 0vente = 0ENDIFIF TIME > 081000 AND TIME <= 170000 THEN//Conditions pour ouvrir une position acheteuseIF achat = 0 AND (amplitude<25*pipsize) AND( Xclose>haut)THENBUY Position contracts at haut stopENDIF//Conditions pour ouvrir une position vendeuseIF vente = 0 AND (amplitude<25*pipsize) AND (Xclose<bas) THENSELLSHORT Position contracts at bas stopENDIFENDIFIf longonmarket THENachat = 1ENDIFIF shortonmarket THENvente = 1ENDIF//stops et ObjectifsIF LONGONMARKET THENset stop ploss stoplossbuyENDIFIF SHORTONMARKET THENset stop loss stoplosssellENDIFSET TARGET PPROFIT 712/29/2016 at 8:29 PM #19385Un petit rajout : peut-être qu’il faudrait changer le stoploss losque la dernière prise de position est éloignée du plushaut-plusbas (stoploss du départ).
12/29/2016 at 8:32 PM #19386A la lecture du code, j’aurais plutôt inversé la paire de lignes 11-12 avec la paire de lignes 13-14, pour que haut et bas soient calculés en premier, puis ensuite stoplossbuy et stoplosssell avec ces nouveaux haut et bas, stops qui j’imagine veulent utiliser haut et bas tout frais de 8h10 du jour et non haut et bas de la veille?
12/30/2016 at 12:11 PM #1941712/30/2016 at 2:17 PM #19437Merci Noobywan,mais cela ne change rien.
12/30/2016 at 3:49 PM #1944412/30/2016 at 7:18 PM #19461123456789101112131415161718192021222324252627282930313233343536373839404142434445464748DEFPARAM CUMULATEORDERS = falseDEFPARAM FLATBEFORE = 080000DEFPARAM FLATAFTER = 171500Position= 1//heinki Ashi clôtureXclose = (open+close+high+low)/4IF Time = 081000 THENhaut = highest[2](high)bas = lowest[2](low)stoplossbuy = bas-(1*pipsize)stoplosssell = haut+(1*pipsize)amplitude = haut - basachat = 0vente = 0ENDIFIF TIME > 081000 AND TIME <= 170000 THEN//Conditions pour ouvrir une position acheteuseIF achat = 0 AND (amplitude<25*pipsize) AND( Xclose>haut)THENBUY Position contracts at haut stopENDIF//Conditions pour ouvrir une position vendeuseIF vente = 0 AND (amplitude<25*pipsize) AND (Xclose<bas) THENSELLSHORT Position contracts at bas stopENDIFENDIFIf longonmarket THENachat = 1ENDIFIF shortonmarket THENvente = 1ENDIF//stops et ObjectifsIF LONGONMARKET THENset stop ploss stoplossbuyENDIFIF SHORTONMARKET THENset stop loss stoplosssellENDIFSET TARGET PPROFIT 7Salut Nicolas,
Bon j’ai changé les lignes de stoploss mais rien ni fait.En fait dans la mesure ou il y a IF=081000 il ne peut que prendre la journée en compte…je me retrouve toujours avec des stoploss qui ne fonctionne pas.(cf fichier)et avec les mêmes résultats de bactests.
12/30/2016 at 8:12 PM #19470Ok, maintenant que tes “hauts” et “bas” sont réévalués en premier avant de déterminer stoplossbuy et stoplosssell, ces derniers sont calculés à 8h10 avec les valeurs du jour et non de la veille.
Tu peux maintenant faire des stops à partir d’eux. Mais attention, car en utilisant “set stop ploss X”, tu dois donner une distance de X points, pas un niveau de prix (exemple tu entres long à 9840, tu veux un stop qui déclenche à 9830, il faut écrire “set stop ploss 10”, et non pas “set stop ploss 9830”), donc ton “set stop ploss stoplossbuy” ne va pas marcher, il te faut un “set stop ploss (prix d’entrée du long – stoplossbuy)”.
Même principe pour le stoplosssell dans l’autre sens.
Ensuite, quand c’est débuggué, là tu peux faire tourner un backtest qui mesurera la performance en tenant compte du bon niveau de stops. Et bien entendu à partir de là, penser à faire attention au problème classique du backtest si en version v10.2, soit inclure dans le code des if qui savent éviter le problème du zérobar du backtest de la v10.2 (compliqué, pas pour débutant), soit utiliser le tick by tick de la v10.3 comme le faisait remarquer Arcane, qui est maintenant dispo en demo beta pour la France qu’on soit chez IG (on a tous un compte démo possible à côté du compte réel, qui permet d’avoir la v10.3) ou chez PRT CFD.
12/30/2016 at 8:55 PM #19475OK Noobywan, bien compris pour le stooploss… je vais regarder a nouveau
Concernant le tick by tick ,je vais le tester également.mais je doute du résultat..
En effet,en cas de prise de position en dehors du canal, le soptloss est à plus de 15 a 25 pips !!!! visible a l’oeil sur le graphe.n’y a t il pas confusion entre TIMEFRAME 5 mn et TICK BY TICK ou le codage serait différent pour le canal.
Pour info je viens de le tester sur 200000 unités en 10 secondes j”ai toujours 80 % de réponse positives….
a voir
12/30/2016 at 9:30 PM #19477OK Noobywann,
Je viens de le tester sur 150 000 unités autrement dit 2 ans en TIMEFRAME 5MN mode tick by tick .
Le résultat est édifiant………..
Nbr Positions : 872
Gagnantes : 789
Neutres : 0
Perdantes : 83
Taux de Positions Gagnantes : 90.48 %
Gain : 1319.00 euros pour 1 contrat 1 euros avec target 7 pips
alors que je n’avais que 456 euros avec la version v 10.2….
T’en pense quoi ?????
il faut retravailler le stoploss qui me mange 4203.00 euros avec 83 positions…………….
12/30/2016 at 9:37 PM #19478ci-joint fichier
12/30/2016 at 11:16 PM #19483Je n’ai pas testé la stratégie moi même mais la conclusion la plus rapide c’est en effet le ratio risque /rendement qui est plutôt très bas.
Statistiquement, les open breakout donne la bonne direction pour la journée dans 30% des cas. Le fait de ne prendre que 7 points augmente bien entendu significativement cette statistique. Donc une idée serait de laisser courir les gains pour augmenter le rendement et diminuer le risque, tu pourras ainsi te permettre de perdre plus souvent tout en augmentant la robustesse de la stratégie.
A l’instar de la stratégie breakout sur le cac40, un reverse en cas de perte pourrait peut-être ajouter de l’efficacité à ta méthode.
12/31/2016 at 6:05 PM #19525salut Nicolas,
Dans la mesure ou PRT ne prend pas en compte le multi-position,sinon on aurait pu faire courir la dernière position.la technique serait de rouvrir un code avec une position qui coure….
effectivement
12/31/2016 at 6:42 PM #19526Lancer 2 stratégies en parallèle est une possibilité, c’est une solution couramment utilisé à cause de la non possibilité de gérer les positions de façon indépendante. C’est comme cela que je règle le problème des “fermetures partielles” de mon côté.
-
AuthorPosts