Indicateur pour stratégie Donchian complexifiée
Forums › ProRealTime forum Français › Support ProBuilder › Indicateur pour stratégie Donchian complexifiée
- This topic has 4 replies, 2 voices, and was last updated 4 years ago by Nicolas.
-
-
04/20/2020 at 11:26 PM #127144
Bonjour Nicolas.
Je cherche à comparer – d’abord visuellement – plusieurs stratégies d’entrée en position Longue (en l’occurrence, actuellement, sur le Future Dax en 5 minutes, mais ça peut servir plus largement)
(Hichimoku Kijun/Tenkan, Trend Impulse Filter, Ehler’s MAMA & FAMA, et Donchian complexifié…)
pour voir lesquelles sont les plus prometteuses, leurs points faibles, et pourquoi pas, les combiner.
Pour ce faire, je crée des indicateurs 1 / 0, pour indiquer les périodes on l’on est en position avec ces différentes stratégies.J’ai réussi sans problème pour les 3 premières, mais je bute sur la 4è (Donchian complexifié)
Il y aurait 2 conditions possibles pour entrer Long, et une seule pour sortir.
Je bute sur la programmation des 2 conditions pour entrer Long :- Donchian typique : on définit un canal haut et un canal bas
CanalHi = Highest[PeriodHi](high) et CanalLo = Lowest[PeriodLo](low) - Entrée en position sur Condition 1 OU sur Condition 2 validée.
- Condition 1 :
Clôture au-dessus de CanalHi[1]
Cela devrait donner quelque chose comme :
close crosses over CanalHi[1] - Condition 2 :
– 2 moyennes mobiles comme filtres : MMcourte = exponentialaverage[3](close) et MMlongue = exponentialaverage[20](close)
(les périodes seraient à ajuster, mais on verra plus tard)
– Sous-condition 2/1 : MMCourte croise à la hausse MMLongue.
On garde alors en mémoire le plus-haut de la barre pour laquelle se produit ce croisement.
– Sous-condition 2/2 : une fois la sous-condition 2/1 validée, on attend qu’une nouvelle bougie clôture au-dessus de ce plus-haut enregistré.
Si c’est validé, on entre long
Si on fait un nouveau plus-haut sans clôturer au-dessus du plus-haut enregistré (= mèche), c’est le plus haut des 2 plus hauts qui sert de nouvelle référence, et on entre long sur clôture plus haute que le plus-haut de référence
(je pense qu’on devrait mettre à ce niveau une boucle… mais je ne sais pas pour combien de barres – sans doute pour une durée maximale = PeriodHi) - Mais ce qui complique les choses, c’est qu’entre temps, la Condition 1 peut se trouver validée => entrée en position
… ce qui entraine l’abandon de la surveillance de la Condition 2 - Sortie de position : Donchian classique
Close crosses under CanalLo[1]
Je cherche pour le moment à créer un indicateur qui prenne la valeur 1 quand on est en position, et qui repasse à 0 quand on sort.
Pourrais-tu m’aider à programmer cela ?
Merci par avance pour ton aide.09/24/2020 at 1:57 PM #14521709/24/2020 at 10:18 PM #145284Bonsoir Nicolas. Merci pour ta réponse… tardive !
A vrai dire, ça m’intéresserait bien. ne serait-ce que pour me pencher sur le code et apprendre comment faire les choses proprement !
Si tu as le temps de regarder ça, merci par avance…09/25/2020 at 8:11 AM #14530909/25/2020 at 8:25 AM #145310voilà un premier jet en stratégie de trading automatique :
123456789101112131415161718192021222324252627282930313233343536373839404142DEFPARAM CumulateOrders = FalsePeriodhi=50periodlo=50CanalHi = Highest[PeriodHi](high)CanalLo = Lowest[PeriodLo](low)MMcourte = exponentialaverage[3](close)MMlongue = exponentialaverage[20](close)//Condition 1 ://Clôture au-dessus de CanalHi[1]if not longonmarket and close crosses over CanalHi[1] thenbuy at marketcrossbar=0crosshigh=0endif//Condition 2 ://- Sous-condition 2/1 : MMCourte croise à la hausse MMLongue.//On garde alors en mémoire le plus-haut de la barre pour laquelle se produit ce croisement.if not longonmarket and mmcourte crosses over mmlongue thencrossbar=barindexcrosshigh=highendif//- Sous-condition 2/2 : une fois la sous-condition 2/1 validée, on attend qu’une nouvelle bougie clôture au-dessus de ce plus-haut enregistré.//Si c’est validé, on entre longif not longonmarket and barindex>crossbar and crossbar>0 then//Si on fait un nouveau plus-haut sans clôturer au-dessus du plus-haut enregistré (= mèche), c’est le plus haut des 2 plus hauts qui sert de nouvelle référence, et on entre long sur clôture plus haute que le plus-haut de référenceif close<crosshigh thencrosshigh=max(crosshigh,high)endifif close crosses over crosshigh thenbuy at marketendifendifif longonmarket and close crosses under canallo[1] thensell at marketendifgraphonprice crosshigh coloured(200,200,0) - Donchian typique : on définit un canal haut et un canal bas
-
AuthorPosts
Find exclusive trading pro-tools on