Changement couleur EMA sur 2 timeframe
Forums › ProRealTime forum Français › Support ProBuilder › Changement couleur EMA sur 2 timeframe
- This topic has 4 replies, 2 voices, and was last updated 10 months ago by imencity.
-
-
02/06/2024 at 5:29 PM #227478
Bonjour,
Je me suis inspiré de la base du code situé ici:
https://www.prorealcode.com/topic/changement-couleur-de-remplissage-entre-ema/1234567891011121314151617181920212223242526272829// base 21 ticksvalMMmin = 40valMMMax = 110MAH=average[5]//timeframe(100 ticks)valMMmin100 = valMMmin * 4.762valMMMax100 = valMMMax * 4.762//timeframe(21 ticks)ma1 = ExponentialAverage[valMMmin](close)ma2 = ExponentialAverage[valMMmax](close)ma3 = ExponentialAverage[valMMmin100](close)ma4 = ExponentialAverage[valMMmax100](close)if ma1>ma2 AND ma3>ma4 thenred=0green=255elsif ma1<ma2 AND ma3<ma4 thenred=255green=0elsered=155green=155endifcolorbetween(ma1,ma2,red,green,0,50)returnMais je rencontre un problème: pas de couleur.
Objectif:
Avoir un ruban de couleur verte (par ex) si le cours monte et qu’il y a concordance entre 21 ticks et 100 ticks (les 2 haussières).
Avoir un ruban de couleur rouge (par ex) si le cours descends, et qu’il y a concordance des EMA entre 21 et 100 ticks (les 2 baissières).Si haussier en 21 ticks et baissiers en 100 ticks alors le mieux, on affiche rien.
Je simule le 100 ticks en multipliant les valeurs des EMA 21 ticks par 4.762
Une idée svp ?
Merci.02/06/2024 at 5:36 PM #227480En fait après redémarrage (ça devait planter) cela fonctionne… presque.
J’ai l’impression que j’ai une grosse erreur sur les couleurs.
1234567valMMmin = 40valMMMax = 110MAH=average[5]//timeframe(100 ticks)valMMmin100 = valMMmin * 4.762valMMMax100 = valMMMax * 4.762On dirait que le fait de multiplier les valeurs par 4.762 ne fonctionne pas en effet, je n’ai pas du tout les croisements au même endroit quand j’affiche une fenêtre 100 ticks avec ces mêmes EMA. Les horaires des croisements ne correspondent absolument pas.
02/06/2024 at 9:21 PM #227493Bon finalement ça marche pas trop mal.
J’en suis à cela:12345678910111213141516171819202122232425262728293031323334353637383940414243valMMmin = 40valMMMax = 110//timeframe(100 ticks)valMMmin100 = valMMmin * 4.2valMMMax100 = valMMMax * 4.2STO100 = Stochasticd[35,15,9](close)//timeframe(21 ticks)ma1 = ExponentialAverage[valMMmin](close)ma2 = ExponentialAverage[valMMmax](close)ma3 = ExponentialAverage[valMMmin100](close)ma4 = ExponentialAverage[valMMmax100](close)if ma1>ma2 AND ma3>ma4 thenred = 0green = 255alpha = 20elsif ma1<ma2 AND ma3<ma4 thenred = 255green = 0alpha = 40elsif ma1<ma2 AND ma3>ma4 thenred = 100green = 255alpha = 20elsered = 0green = 0alpha = 0endifcolorbetween(ma1,ma2,red,green,0,alpha)IF STO100 >= 80 THENDRAWTEXT ("-",barindex, highest[7](high)+4) coloured(255,0,0)ENDIFIF STO100 <= 20 THENDRAWTEXT ("-",barindex, highest[7](high)-4) coloured(10,105,100, 255)ENDIFreturn ma1 coloured(0,0,255,40) style(line,1)Mais je rencontre un problème.
En effet je voudrais utiliser le stochastique 11 5 3 du MTF 100 ticks sur le 10 ticks… mais pas possible ?
J’en suis à des approximations mais c’est pas terrible.Une idée svp pour le MTF en ticks ?
02/12/2024 at 1:37 PM #227998Salut
J’ai introduit un stochastique calculé “manuellement” dans votre code.
Vous pouvez paramétrer le nombre de périodes et le lissage de K et D.Estocastic123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657valMMmin = 40valMMMax = 110///Transformation tickst1 = 100t2 = 10trans = t1/t2//timeframe(100 ticks)valMMmin100 = valMMmin*transvalMMmax100 = valMMMax*trans//STOCASTICOP=11K=5D=3REM First calculate highest and lowest P barsmaximo = highest[round(P*trans)](high)minimo = lowest[round(P*trans)](low)REM Second. calculate oscilatoroscilador = (close - minimo) / (maximo - minimo) * 100REM get the %K y %DlineaK = average[round(k*trans)](oscilador)lineaD = average[round(d*trans)](lineaK)//timeframe(xx ticks)ma1 = ExponentialAverage[valMMmin](close)ma2 = ExponentialAverage[valMMmax](close)ma3 = ExponentialAverage[valMMmin100](close)ma4 = ExponentialAverage[valMMmax100](close)if ma1>ma2 AND ma3>ma4 thenred = 0green = 255alpha = 20elsif ma1<ma2 AND ma3<ma4 thenred = 255green = 0alpha = 40elsif ma1<ma2 AND ma3>ma4 thenred = 100green = 255alpha = 20elsered = 0green = 0alpha = 0endifcolorbetween(ma1,ma2,red,green,0,alpha)IF lineaK >= 80 THENDRAWTEXT ("-",barindex, highest[7](high)+4) coloured(255,0,0)ENDIFIF lineaK <= 20 THENDRAWTEXT ("-",barindex, highest[7](high)-4) coloured(10,105,100, 255)ENDIFreturn ma1 coloured(0,0,255,40) style(line,1)02/15/2024 at 3:22 PM #228225 -
AuthorPosts
Find exclusive trading pro-tools on