ZigZag + condizione
Forums › ProRealTime forum Italiano › Supporto ProBuilder › ZigZag + condizione
- This topic has 2 replies, 3 voices, and was last updated 2 days ago by
Iván.
Viewing 3 posts - 1 through 3 (of 3 total)
-
-
10/29/2025 at 6:38 PM #253131
Salve a tutti sto utilizzando lo script ZigZag di Iván González che allego. Avrei la necessità di evidenziare con un simbolo quando si verifica una sequenza specifica di valori, nello specifico: LL → HH → HL.
È possibile implementarlo? Se sì, come potrei fare?Grazie in anticipo per l’aiuto!
ZigZag123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114//------------------------------------////PRC_ZigZag and SR//version = 0//03.12.2024//Iván González @ www.prorealcode.com//Sharing ProRealTime knowledge//------------------------------------//// Inputs//------------------------------------////prd=5//showSR=1 //Show Support and Resistance//Boolean// 0 means false 1 means True//showLabels=1 //Boolean// 0 means false 1 means True//showZZ=0 //Boolean// 0 means false 1 means Trueatr=averagetruerange[14](close)//------------------------------------//// Calculate Pivot High and Low//------------------------------------//ph = high=highest[prd](high)pl = low=lowest[prd](low)//------------------------------------//// Calculate Direction//------------------------------------//if ph and pl=0 thendir=1elsif pl and ph=0 thendir=-1elsedir=direndifdirchanged=dir<>dir[1]//------------------------------------//// Calculate ZizZag levels and x//------------------------------------//if ph or pl thenif dirchanged thenif dir=1 then$zigzag[t+1]=highest[prd](high)$zigzagidx[t+1]=barindex$dir[t+1]=1t=t+1elsif dir=-1 then$zigzag[t+1]=lowest[prd](low)$zigzagidx[t+1]=barindex$dir[t+1]=-1t=t+1endifelseif dir=1 and highest[prd](high)> $zigzag[t] then$zigzag[t]=highest[prd](high)$zigzagidx[t]=barindexelsif dir=-1 and lowest[prd](low)< $zigzag[t] then$zigzag[t]=lowest[prd](low)$zigzagidx[t]=barindexendifendifendif//------------------------------------//// Draw ZigZag and Levels//------------------------------------//$zigzag[0]=undefined$zigzagidx[0]=undefinedif islastbarupdate thenif showZZ then//Last ZigZagdrawsegment($zigzagidx[max(0,t-1)],$zigzag[max(0,t-1)],$zigzagidx[t],$zigzag[t])endifif showSR and $dir[t]=1 thendrawsegment($zigzagidx[t],$zigzag[t],barindex,$zigzag[t])style(dottedline,3)coloured("green")drawsegment($zigzagidx[max(0,t-1)],$zigzag[max(0,t-1)],barindex,$zigzag[max(0,t-1)])style(dottedline,3)coloured("red")if $zigzag[t]<$zigzag[t-2] thendrawtext("HL",$zigzagidx[t],$zigzag[t]+0.5*atr)coloured("green")elsedrawtext("HH",$zigzagidx[t],$zigzag[t]+0.5*atr)coloured("green")endifelsif showSR and $dir[t]=-1 thendrawsegment($zigzagidx[t],$zigzag[t],barindex,$zigzag[t])style(dottedline,3)coloured("red")drawsegment($zigzagidx[max(0,t-1)],$zigzag[max(0,t-1)],barindex,$zigzag[max(0,t-1)])style(dottedline,3)coloured("green")if $zigzag[t]<$zigzag[t-2] thendrawtext("LL",$zigzagidx[t],$zigzag[t]-0.5*atr)coloured("red")elsedrawtext("LH",$zigzagidx[t],$zigzag[t]-0.5*atr)coloured("red")endifendifif showLabels thendrawpoint($zigzagidx[max(0,t-1)],$zigzag[max(0,t-1)],2)coloured("blue",100)drawpoint($zigzagidx[t],$zigzag[t],2)coloured("blue",100)endif//Draw all ZigZagfor i=t-1 downto 3 doif showZZ thendrawsegment($zigzagidx[max(0,i-1)],$zigzag[max(0,i-1)],$zigzagidx[i],$zigzag[i])endifif showSR and $dir[i]=1 thendrawsegment($zigzagidx[i],$zigzag[i],$zigzagidx[i+1],$zigzag[i])style(dottedline,3)coloured("green")drawsegment($zigzagidx[max(0,i-1)],$zigzag[max(0,i-1)],$zigzagidx[i],$zigzag[max(0,i-1)])style(dottedline,3)coloured("red")elsif showSR and $dir[i]=-1 thendrawsegment($zigzagidx[i],$zigzag[i],$zigzagidx[i+1],$zigzag[i])style(dottedline,3)coloured("red")drawsegment($zigzagidx[max(0,i-1)],$zigzag[max(0,i-1)],$zigzagidx[i],$zigzag[max(0,i-1)])style(dottedline,3)coloured("green")endifif showLabels and $dir[i]=-1 and $zigzag[i]>$zigzag[i-2] thendrawtext("LH",$zigzagidx[i],$zigzag[i]-0.5*atr)coloured("red")elsif showLabels and $dir[i]=-1 and $zigzag[i]<=$zigzag[i-2] thendrawtext("LL",$zigzagidx[i],$zigzag[i]-0.5*atr)coloured("red")elsif showLabels and $dir[i]=1 and $zigzag[i]>$zigzag[i-2] thendrawtext("HH",$zigzagidx[i],$zigzag[i]+0.5*atr)coloured("green")elsif showLabels and $dir[i]=1 and $zigzag[i]<=$zigzag[i-2] thendrawtext("HL",$zigzagidx[i],$zigzag[i]+0.5*atr)coloured("green")endifnextendif//------------------------------------//return10/30/2025 at 11:37 AM #25313610/30/2025 at 11:39 AM #253137Ciao. Aggiungi questo all’interno del ciclo finale:
123456789IF i >= 5 THENisLH = ($dir[i] = -1 AND $zigzag[i] > $zigzag[i-2])isHH = ($dir[i-1] = 1 AND $zigzag[i-1] > $zigzag[i-3])isLL = ($dir[i-2] = -1 AND $zigzag[i-2] <= $zigzag[i-4])IF isLH AND isHH AND isLL THENDRAWTEXT("LL-HH-LH", $zigzagidx[i], $zigzag[i] - 1.5 * atr) COLOURED(0, 0, 255)ENDIFENDIF1 user thanked author for this post.
-
AuthorPosts
Viewing 3 posts - 1 through 3 (of 3 total)
Find exclusive trading pro-tools on 
Similar topics: