Création d’un Screener GMMA
Forums › ProRealTime forum Français › Support ProScreener › Création d’un Screener GMMA
- This topic has 6 replies, 4 voices, and was last updated 3 years ago by phyxius.
-
-
03/24/2021 at 6:22 PM #165209
Bonjour à tous,
J’aimerai créer deux screeners (j’espère être clair dans ma demande)
Un screener sur base de l’indicateur GMMA de Daryl Guppy qui détecte le rapprochement ( la compression ) des moyens mobiles exponentiels courtes 3,5,8,10,12,15 et Moyens mobiles exponentiels longues 30,35,40,45,50,60. Ceci sur quelques jours.
Un autre screener sur les croissements de ces des moyens mobiles exponentiels courtes 3,5,8,10,12,15 et Moyens mobiles exponentiels longues 30,35,40,45,50,60. ( Les moyens mobiles courtes croissent les moyens mobiles longues )
N’étant pas très doué en programmation ou plutôt débutant, j’en appel à votre aide.
Merci pour vos réponses.
Bien à vous
Phyxius
03/24/2021 at 7:51 PM #165225Bonsoir, le moteur de recherche du site retourne ce sujet parmi d’autres: https://www.prorealcode.com/topic/screener-avec-lindicateur-guppy/
qui semble être une base de départ sous forme d’indicateur. Resterait à définir exactement les compressions et/ou les croisements pour créer les conditions des screeners, et remplacer la dernière ligne “return” par une ligne screener sur les conditions exactes.
03/24/2021 at 8:25 PM #165230On me souffle dans l’oreillette: “Pour le croisement on prend la plus longue des courtes et la plus longue des longues“, à tester:
123456789101112131415161718a = close//c1 = ExponentialAverage[3](a)//c2 = ExponentialAverage[5](a)//c3 = ExponentialAverage[8](a)//c4 = ExponentialAverage[10](a)//c5 = ExponentialAverage[12](a)c6 = ExponentialAverage[15](a)//c7 = ExponentialAverage[30](a)//c8 = ExponentialAverage[35](a)//c9 = ExponentialAverage[40](a)//c10 = ExponentialAverage[45](a)//c11 = ExponentialAverage[50](a)c12 = ExponentialAverage[60](a)croisement = (c6 crosses over c12) or (c6 crosses under c12)screener[croisement]03/25/2021 at 8:26 AM #165271Bonjour
Merci pour ta réponse Noobywan super, j’ai regardé, super pour l’indicateur et le croissement des moyens mobiles, je vais faire des tests avec ce screener.
Pour la compression, le rapprochement des moyens mobiles exponentiels courtes 3,5,8,10,12,15 et Moyens mobiles exponentiels longues 30,35,40,45,50,60 sur quelques jours, sur quoi dois-je partir ?
Pour détecter quand les moyens mobiles exponentiels courtes 3,5,8,10,12,15 sont très très proche les une des autres, et la même chose pour les Moyens mobiles exponentiels longues 30,35,40,45,50,60.
Merci pour vos réponses.
Bien à vous
Phyxius
03/25/2021 at 9:04 AM #165273J’ ai écrit celui ci qui donne un bon backtest sur le DAX en Daily mais le code plus lourd et je suis pas sur que tout s’exécute correctement
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758// Définition des paramètres du code //DEFPARAM CumulateOrders = False// Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiésdaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0// Moyennes Mobiles Court Terme //Indic1 = ExponentialAverage[3]Indic2 = ExponentialAverage[5]Indic3= ExponentialAverage[8]Indic4 = ExponentialAverage[10]Indic5 = ExponentialAverage[12]Indic6 = ExponentialAverage[15]// Moyennes Mobiles Long Terme //Indic8 = ExponentialAverage[30]Indic9 = ExponentialAverage[35]Indic10 = ExponentialAverage[40]Indic11 = ExponentialAverage[45]Indic12 = ExponentialAverage[50]Indic14 = ExponentialAverage[60]// Conditions pour ouvrir une position acheteuseindicator15 = Stochastic[21,3](close)indicator16 = Average[3](Stochastic[21,3](close))indicator17 = Stochastic[5,3](close)indicator18 = Average[2](Stochastic[5,3](close))c1 = (indicator15 > indicator16)c3 = (indicator17 > indicator18)c5 = Indic1> Indic2 and Indic2> Indic3 and Indic3> Indic4 and Indic4> Indic5 and Indic5> Indic6c7 = Indic8> Indic9 and Indic9> Indic10 and Indic10> Indic11 and Indic11> Indic12 and Indic12> Indic14//c9 = Indic6 crosses over Indic14// Conditions d'Achat //IF c1 and c3 and c5 and not daysForbiddenEntry THENBUY 1 CONTRACT AT MARKET// Stops et objectifsSET TARGET PPROFIT 481SET STOP PTRAILING 41ENDIF// Conditions pour ouvrir une position vendeuse //c2 = (indicator15 < indicator16)c4 = (indicator17 < indicator18)c6 = Indic1< Indic2 and Indic2< Indic3 and Indic3< Indic4 and Indic4< Indic5 and Indic5< Indic6c8 = Indic8< Indic9 and Indic9< Indic10 and Indic10< Indic11 and Indic11< Indic12 and Indic12< Indic14c10 = Indic6 crosses under Indic14// Conditions de Vente //IF c2 and c4 and c6 and not daysForbiddenEntry THENSELLSHORT 1 CONTRACT AT MARKET// Stop et objectifs //SET TARGET PPROFIT 311SET STOP pTRAILING 30ENDIF03/25/2021 at 9:46 AM #165282L’indicateur type guppy n’est rien de plus qu’un ensemble de plusieurs EMA comme vous le constatez, donc pourquoi devoir utiliser toutes ces EMA alors que les conditions recherchées ne sont basées que sur les deux plus proches ou éloignées.
Pour le resserrement de 2 EMA, tu peux tester ce code, on règle la quantité de période au début de celui-ci pour tester le rapprochement en pourcentage :
123456789101112//reserrement de MA en pourcentage sur x périodesperiod = 5percentage = 0.25a = exponentialaverage[15]c = exponentialaverage[60]upper = max(a,c)lower = min(a,c)d = ((upper - lower) / close) *100e = summation[period](d <= percentage)=periodSCREENER[e]03/25/2021 at 10:05 AM #165285 -
AuthorPosts
Find exclusive trading pro-tools on