<span class=”crayon-c”>//Zero Lag ZigZag Stochastic</span>
<span class=”crayon-c”>//Le 23 octobre 2018</span>
<span class=”crayon-c”>//Sharing ProRealTime knowledge</span>
<span class=”crayon-c”>//Settings</span>
Q <span class=”crayon-o”>=</span> <span class=”crayon-cn”>5</span>
R <span class=”crayon-o”>=</span> <span class=”crayon-cn”>5</span>
Lookback <span class=”crayon-o”>=</span> <span class=”crayon-cn”>120</span>
Periode <span class=”crayon-o”>=</span> <span class=”crayon-cn”>20</span>
PeriodeZZ <span class=”crayon-o”>=</span> <span class=”crayon-cn”>0.02</span>
<span class=”crayon-c”>//Zero Lag ZigZag Stochastic</span>
ZZH <span class=”crayon-o”>=</span> <span class=”crayon-r”>ZigZag</span><span class=”crayon-o”>[</span>PeriodeZZ<span class=”crayon-o”>]</span>(<span class=”crayon-st”>HIGH</span>)
ZZL <span class=”crayon-o”>=</span> <span class=”crayon-r”>ZigZag</span><span class=”crayon-o”>[</span>PeriodeZZ<span class=”crayon-o”>]</span>(<span class=”crayon-st”>LOW</span>)
plusHaut <span class=”crayon-o”>=</span> <span class=”crayon-r”>HIGHEST</span><span class=”crayon-o”>[</span>Periode<span class=”crayon-o”>]</span>(ZZH)
plusBas <span class=”crayon-o”>=</span> <span class=”crayon-r”>LOWEST</span><span class=”crayon-o”>[</span>Periode<span class=”crayon-o”>]</span>(ZZL)
A <span class=”crayon-o”>=</span> (<span class=”crayon-st”>CLOSE</span> <span class=”crayon-o”>-</span> plusBas) <span class=”crayon-o”>/</span> (plusHaut <span class=”crayon-o”>-</span> plusBas) <span class=”crayon-o”>*</span> <span class=”crayon-cn”>100</span>
B <span class=”crayon-o”>=</span> <span class=”crayon-r”>AVERAGE</span><span class=”crayon-o”>[</span>Q<span class=”crayon-o”>]</span>(A)
ligneK <span class=”crayon-o”>=</span> <span class=”crayon-r”>AVERAGE</span><span class=”crayon-o”>[</span>Q<span class=”crayon-o”>]</span>(B)
Difference <span class=”crayon-o”>=</span> (A <span class=”crayon-o”>-</span> ligneK)
C <span class=”crayon-o”>=</span> (B <span class=”crayon-o”>+</span> Difference)
ZeroLagSto <span class=”crayon-o”>=</span> <span class=”crayon-r”>AVERAGE</span><span class=”crayon-o”>[</span><span class=”crayon-cn”>5</span><span class=”crayon-o”>]</span>(C)
ligneD <span class=”crayon-o”>=</span> <span class=”crayon-r”>AVERAGE</span><span class=”crayon-o”>[</span>R<span class=”crayon-o”>]</span>(ZeroLagSto)
<span class=”crayon-c”>///divergence baissière</span>
<span class=”crayon-st”>IF</span> (ZeroLagSto<span class=”crayon-o”>[</span><span class=”crayon-cn”>1</span><span class=”crayon-o”>]</span><span class=”crayon-o”>></span>ZeroLagSto <span class=”crayon-st”>AND</span> ZeroLagSto<span class=”crayon-o”>[</span><span class=”crayon-cn”>1</span><span class=”crayon-o”>]</span><span class=”crayon-o”>></span>ZeroLagSto<span class=”crayon-o”>[</span><span class=”crayon-cn”>2</span><span class=”crayon-o”>]</span>) <span class=”crayon-st”>THEN</span>
ext<span class=”crayon-c”>remum2=ZeroLagSto[1]</span>
ext<span class=”crayon-c”>remum1=highest[Lookback](ZeroLagSto)</span>
preciomax2<span class=”crayon-o”>=</span><span class=”crayon-st”>close</span><span class=”crayon-o”>[</span><span class=”crayon-cn”>1</span><span class=”crayon-o”>]</span>
preciomax<span class=”crayon-o”>=</span><span class=”crayon-r”>Highest</span><span class=”crayon-o”>[</span>Lookback<span class=”crayon-o”>]</span>(<span class=”crayon-st”>close</span>)
<span class=”crayon-st”>IF</span>(ext<span class=”crayon-c”>remum2<extremum1 AND preciomax2>preciomax[1]) THEN</span>
<span class=”crayon-h”> </span><span class=”crayon-st”>for</span> i<span class=”crayon-o”>=</span><span class=”crayon-cn”>1</span> <span class=”crayon-st”>to</span> Lookback
<span class=”crayon-h”> </span><span class=”crayon-st”>if</span> ZeroLagSto<span class=”crayon-o”>[</span>i<span class=”crayon-o”>]</span><span class=”crayon-o”>=</span>ext<span class=”crayon-c”>remum1 then</span>
<span class=”crayon-h”> </span>zz<span class=”crayon-o”>=</span>i
<span class=”crayon-h”> </span><span class=”crayon-r”>drawsegment</span> (<span class=”crayon-st”>barindex</span><span class=”crayon-o”>[</span><span class=”crayon-cn”>1</span><span class=”crayon-o”>]</span>, ZeroLagSto<span class=”crayon-o”>[</span><span class=”crayon-cn”>1</span><span class=”crayon-o”>]</span>, <span class=”crayon-st”>barindex</span><span class=”crayon-o”>[</span>zz<span class=”crayon-o”>]</span>, ZeroLagSto<span class=”crayon-o”>[</span>zz<span class=”crayon-o”>]</span>) <span class=”crayon-st”>coloured</span>(<span class=”crayon-cn”>200</span>,<span class=”crayon-cn”>0</span>,<span class=”crayon-cn”>0</span>)
<span class=”crayon-h”> </span><span class=”crayon-st”>ENDIF</span>
<span class=”crayon-h”> </span><span class=”crayon-st”>next</span>
<span class=”crayon-st”>ENDIF</span>
<span class=”crayon-st”>ENDIF</span>
<span class=”crayon-c”>///divergence haussière</span>
<span class=”crayon-st”>IF</span> (ZeroLagSto<span class=”crayon-o”>[</span><span class=”crayon-cn”>1</span><span class=”crayon-o”>]</span><span class=”crayon-o”><</span>ZeroLagSto <span class=”crayon-st”>AND</span> ZeroLagSto<span class=”crayon-o”>[</span><span class=”crayon-cn”>1</span><span class=”crayon-o”>]</span><span class=”crayon-o”><</span>ZeroLagSto<span class=”crayon-o”>[</span><span class=”crayon-cn”>2</span><span class=”crayon-o”>]</span>) <span class=”crayon-st”>THEN</span>
ext<span class=”crayon-c”>remum22=ZeroLagSto[1]</span>
ext<span class=”crayon-c”>remum11=lowest[Lookback](ZeroLagSto)</span>
preciomin2<span class=”crayon-o”>=</span><span class=”crayon-st”>close</span><span class=”crayon-o”>[</span><span class=”crayon-cn”>1</span><span class=”crayon-o”>]</span>
preciomin<span class=”crayon-o”>=</span><span class=”crayon-r”>lowest</span><span class=”crayon-o”>[</span>Lookback<span class=”crayon-o”>]</span>(<span class=”crayon-st”>close</span>)
<span class=”crayon-st”>IF</span>(ext<span class=”crayon-c”>remum22>extremum11 AND preciomin2<preciomin[1]) THEN</span>
<span class=”crayon-h”> </span><span class=”crayon-st”>for</span> i2<span class=”crayon-o”>=</span><span class=”crayon-cn”>1</span> <span class=”crayon-st”>to</span> Lookback
<span class=”crayon-h”> </span><span class=”crayon-st”>if</span> ZeroLagSto<span class=”crayon-o”>[</span>i2<span class=”crayon-o”>]</span><span class=”crayon-o”>=</span>ext<span class=”crayon-c”>remum11[1] then</span>
<span class=”crayon-h”> </span>zz2<span class=”crayon-o”>=</span>i2
<span class=”crayon-h”> </span><span class=”crayon-r”>drawsegment</span>(<span class=”crayon-st”>barindex</span><span class=”crayon-o”>[</span><span class=”crayon-cn”>1</span><span class=”crayon-o”>]</span>, ZeroLagSto<span class=”crayon-o”>[</span><span class=”crayon-cn”>1</span><span class=”crayon-o”>]</span>, <span class=”crayon-st”>barindex</span><span class=”crayon-o”>[</span>zz2<span class=”crayon-o”>]</span>, ZeroLagSto<span class=”crayon-o”>[</span>zz2<span class=”crayon-o”>]</span>) <span class=”crayon-st”>coloured</span>(<span class=”crayon-cn”>0</span>,<span class=”crayon-cn”>200</span>,<span class=”crayon-cn”>0</span>)
<span class=”crayon-h”> </span><span class=”crayon-st”>ENDIF</span>
<span class=”crayon-h”> </span><span class=”crayon-st”>next</span>
<span class=”crayon-st”>ENDIF</span>
<span class=”crayon-st”>ENDIF</span>
<span class=”crayon-st”>RETURN</span> ZeroLagSto <span class=”crayon-st”>coloured</span>(<span class=”crayon-cn”>0</span>,<span class=”crayon-cn”>0</span>,<span class=”crayon-cn”>200</span>) <span class=”crayon-st”>style</span>(<span class=”crayon-r”>line</span>,<span class=”crayon-cn”>1</span>) <span class=”crayon-st”>AS</span> <span class=”crayon-s”>”ZeroLagSto”</span>, ligneD <span class=”crayon-st”>coloured</span>(<span class=”crayon-cn”>0</span>,<span class=”crayon-cn”>0</span>,<span class=”crayon-cn”>200</span>) <span class=”crayon-st”>style</span>(<span class=”crayon-r”>dottedline</span>,<span class=”crayon-cn”>1</span>) <span class=”crayon-st”>AS</span> <span class=”crayon-s”>”ligneD”</span>, <span class=”crayon-cn”>50</span> <span class=”crayon-st”>style</span>(<span class=”crayon-r”>dottedline</span>,<span class=”crayon-cn”>1</span>) <span class=”crayon-st”>AS</span> <span class=”crayon-s”>”Middle”</span>