Plus haut et plus bas autour d’une moyenne mobile
Forums › ProRealTime forum Français › Support ProBuilder › Plus haut et plus bas autour d’une moyenne mobile
- This topic has 8 replies, 2 voices, and was last updated 1 year ago by Armand2020.
-
-
05/11/2023 at 11:50 AM #214522
Bonjour, j aimerai avoir le plus haut quand le prix est haut dessus de la moyenne mobile et le plus plus bas si le prix est plus bas que la moyenne mobile,
j ai commencer un code mais il me met plusieurs plus haut et plusieurs plus bas
code12345678910111213141516HLC3=(HIGH[1]+LOW[1]+CLOSE[1])/3HLC=AVERAGE[5](HLC3)EMA2=EXPONENTIALAVERAGE[2](CLOSE)IF EMA2>HLC THENif(HIGH>Highest[N](CLOSE)) THENbandH = HighDRAWSEGMENT(BARINDEX,BANDH,BARINDEX+5,BANDH)COLOURED(0,200,250)ENDIFENDIFIF EMA2<HLC THENif(LOW<LOWest[N](close)) THENbandL = LOWDRAWSEGMENT(BARINDEX,BANDL,BARINDEX+5,BANDL)COLOURED(250,0,0)ENDIFENDIFRETURN05/11/2023 at 12:28 PM #214532C’est logique selon moi puisque le plus haut et le plus change.
J’ai recodé cette détection pour qu’elle soit bien visible:
1234567891011121314151617181920HLC3=(HIGH[1]+LOW[1]+CLOSE[1])/3HLC=AVERAGE[5](HLC3)EMA2=EXPONENTIALAVERAGE[2](CLOSE)if ema2 crosses over hlc thenhh=highdrawarrowup(barindex,low) coloured("lime")endifif ema2 crosses under hlc thenll=lowdrawarrowdown(barindex,low) coloured("red")endifIF EMA2>HLC THENhh=max(hh,high)elsell=min(ll,low)endifreturn hh,ll05/11/2023 at 12:53 PM #214534En fait j aimerai le plus haut des briques quand elles sont vertes (ema>hlc) et le plus bas des briques quand elles sont rouges (EMA<HLC) et pas quand les moyenne mobile se croise.CAD quand ca passe du vert au rouge on a le highest des briques vertes et vice versa. J espere que c est comprehensible.
05/12/2023 at 9:38 AM #214576j ai ecrit ce code pour recuperer les plus haut quand ema2>hlc et les plus bas quand ema2<hlc avec des tableaux mais ca ne fonctionne pas, je pense qu il faudrait un reset a chaque croisement mais je sais pas comment faire
123456789101112131415161718192021HLC3=(HIGH[1]+LOW[1]+CLOSE[1])/3HLC=AVERAGE[5](HLC3)EMA2=EXPONENTIALAVERAGE[2](CLOSE)GREEN=HLC<EMA2RED=HLC>EMA2IF GREEN THEN$HH[I]=HIGHI=I+1HH=ARRAYMAX($HH)DRAWSEGMENT(BARINDEX,HH,BARINDEX+5,HH)COLOURED(0,200,250)ENDIFIF RED THEN$LL[I]=LOWI=I+1LL=ARRAYMin($LL)DRAWSEGMENT(BARINDEX,LL,BARINDEX+5,LL)COLOURED(0,200,250)ENDIFreturn05/13/2023 at 12:16 PM #214645Au final j ai trouver un code a toi nicolas qui me convient bien.
j aimerai rajouter ce code pour avoir les retournement mais ca ne marche pas. comment recuperer les valeur llminorprice et hhminorprice ?.
123IF llminorprice[1]<LLminorprice[2] AND llminorprice[1]<hhminorprice AND llminorprice <hhminorprice AND close> hhminorpricedrawtext("↑",barindex,LOW-ATR,dialog,BOLD,18) coloured(0,155,250)ENDIF123456789101112131415161718192021222324252627282930hhminorprice=0llminorprice=close*1000for i = 1 to PeriodsInMinorSwing*2 doif high[i]>hhminorprice thenhhminorbar = barindex[i]hhminorprice = high[i]$LL[II]=LLminorpriceII=I+1endifif low[i]<llminorprice thenllminorbar=barindex[i]llminorprice=low[i]$HH[II]=hhminorpriceII=II+1endif$HH[II]=hhminorprice$LL[II]=LLminorpricenextif barindex-hhminorbar=PeriodsInMinorSwing thenDRAWSEGMENT(hhminorbar,hhminorprice,hhminorbar+5,hhminorprice)COLOURED(0,200,250)endifif barindex-llminorbar=PeriodsInMinorSwing thenDRAWSEGMENT(llminorbar,llminorprice,llminorbar+5,llminorprice)COLOURED(250,0,0)endifreturn05/15/2023 at 12:15 PM #214726Si j’a bien compris il faut signaler les breakouts des derniers plus hauts et bas, ci-joint le code:
123456789101112131415161718192021222324252627282930313233343536373839404142PeriodsInMinorSwing=20hhminorprice=0llminorprice=close*1000for i = 1 to PeriodsInMinorSwing*2 doif high[i]>hhminorprice thenhhminorbar = barindex[i]hhminorprice = high[i]$LL[II]=LLminorpriceII=I+1endifif low[i]<llminorprice thenllminorbar=barindex[i]llminorprice=low[i]$HH[II]=hhminorpriceII=II+1endif$HH[II]=hhminorprice$LL[II]=LLminorpricenextif barindex-hhminorbar=PeriodsInMinorSwing thenDRAWSEGMENT(hhminorbar,hhminorprice,barindex,hhminorprice)COLOURED(0,200,250)hh=hhminorpriceendifif barindex-llminorbar=PeriodsInMinorSwing thenDRAWSEGMENT(llminorbar,llminorprice,barindex,llminorprice)COLOURED(250,0,0)ll=llminorpriceendifif close crosses over hh and hh<>lastsig thendrawarrowup(barindex,low) coloured("green")lastsig = hhendifif close crosses under ll and ll<>lastsig thendrawarrowdown(barindex,low) coloured("crimson")lastsig = llendifreturn05/15/2023 at 5:19 PM #214762C est ca mais pour que le breakout soit valide il faut qu il y est un plus haut de plus en plus haut et un plus bas de plus en plus haut et vice versa.
ex: ll[1] <ll and hh[1]<hh and close crosses over hh.
05/16/2023 at 8:10 AM #214777Très bien, dans ce cas la version ci-dessous affiche des signaux uniquement si on casse un plus haut plus haut que le précédent et qu’il existe un plus bas plus haut que le précédent pour les achats et vice versa pour les ventes.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950PeriodsInMinorSwing=20hhminorprice=0llminorprice=close*1000for i = 1 to PeriodsInMinorSwing*2 doif high[i]>hhminorprice thenhhminorbar = barindex[i]hhminorprice = high[i]$LL[II]=LLminorpriceII=I+1endifif low[i]<llminorprice thenllminorbar=barindex[i]llminorprice=low[i]$HH[II]=hhminorpriceII=II+1endif$HH[II]=hhminorprice$LL[II]=LLminorpricenextif barindex-hhminorbar=PeriodsInMinorSwing thenDRAWSEGMENT(hhminorbar,hhminorprice,barindex,hhminorprice)COLOURED(0,200,250)$top[a]=hhminorprice$topbar[a]=hhminorbara=a+1endifif barindex-llminorbar=PeriodsInMinorSwing thenDRAWSEGMENT(llminorbar,llminorprice,barindex,llminorprice)COLOURED(250,0,0)$bot[b]=llminorprice$botbar[b]=llminorbarb=b+1endif//signalsif a>2 and b>2 thenuptrend = $top[a-1]>$top[a-2] and $bot[b-1]>$bot[b-2]dntrend = $top[a-1]<$top[a-2] and $bot[b-1]<$bot[b-2]if uptrend and close>$top[a-1] and close[1]<$top[a-1] and lastsig<>$top[a-1] thendrawarrowup(barindex,low) coloured("green")lastsig =$top[a-1]endifif dntrend and close<$bot[b-1] and close[1]>$bot[b-1] and lastsig<>$bot[b-1] thendrawarrowdown(barindex,high) coloured("crimson")lastsig =$bot[b-1]endifendifreturn1 user thanked author for this post.
05/16/2023 at 9:10 AM #214785C est parfait merci pour ton aide Nicolas!
-
AuthorPosts
Find exclusive trading pro-tools on