<span class=”crayon-c”>//PRC_Trend Impulse Filter | indicator</span>
<span class=”crayon-c”>//06.04.2020</span>
<span class=”crayon-c”>//Sharing ProRealTime knowledge</span>
<span class=”crayon-c”>//converted from Pinescript code (author:alexgrover)</span>
<span class=”crayon-c”>// — settings </span>
length <span class=”crayon-o”>=</span> <span class=”crayon-cn”>100</span>
center <span class=”crayon-o”>=</span> <span class=”crayon-cn”>1</span>
arrows <span class=”crayon-o”>=</span> <span class=”crayon-cn”>1</span> <span class=”crayon-c”>// Plot Arrows 0=false ; 1=true</span>
<span class=”crayon-c”>// — end of settings </span>
<span class=”crayon-st”>once</span> b <span class=”crayon-o”>=</span> src
<span class=”crayon-st”>if</span> <span class=”crayon-st”>barindex</span><span class=”crayon-o”>></span>length <span class=”crayon-st”>then</span>
src<span class=”crayon-o”>=</span> (<span class=”crayon-r”>highest</span><span class=”crayon-o”>[</span>length<span class=”crayon-o”>]</span>(<span class=”crayon-st”>high</span>)<span class=”crayon-o”>+</span><span class=”crayon-r”>lowest</span><span class=”crayon-o”>[</span>length<span class=”crayon-o”>]</span>(<span class=”crayon-st”>low</span>))<span class=”crayon-o”>/</span><span class=”crayon-cn”>2</span>
rising<span class=”crayon-o”>=</span> src<span class=”crayon-o”>-</span>src<span class=”crayon-o”>[</span>length<span class=”crayon-o”>]</span><span class=”crayon-o”>></span><span class=”crayon-cn”>0</span>
falling<span class=”crayon-o”>=</span> src<span class=”crayon-o”>-</span>src<span class=”crayon-o”>[</span>length<span class=”crayon-o”>]</span><span class=”crayon-o”><</span><span class=”crayon-cn”>0</span>
a<span class=”crayon-o”>=</span> rising <span class=”crayon-st”>or</span> falling
b<span class=”crayon-o”>=</span> <span class=”crayon-r”>exponentialaverage</span><span class=”crayon-o”>[</span>center<span class=”crayon-o”>]</span>(a<span class=”crayon-o”>*</span>src<span class=”crayon-o”>+</span>(<span class=”crayon-cn”>1</span><span class=”crayon-o”>-</span>a)<span class=”crayon-o”>*</span>b<span class=”crayon-o”>[</span><span class=”crayon-cn”>1</span><span class=”crayon-o”>]</span>)
<span class=”crayon-c”>//—-</span>
<span class=”crayon-st”>if</span> b<span class=”crayon-o”>></span>b<span class=”crayon-o”>[</span><span class=”crayon-cn”>1</span><span class=”crayon-o”>]</span> <span class=”crayon-st”>then</span>
<span class=”crayon-h”> </span>os<span class=”crayon-o”>=</span><span class=”crayon-cn”>1</span>
<span class=”crayon-h”> </span>cr<span class=”crayon-o”>=</span><span class=”crayon-cn”>0</span>
<span class=”crayon-h”> </span>cg<span class=”crayon-o”>=</span><span class=”crayon-cn”>128</span>
<span class=”crayon-h”> </span>cb<span class=”crayon-o”>=</span><span class=”crayon-cn”>255</span>
<span class=”crayon-st”>elsif</span> b<span class=”crayon-o”><</span>b<span class=”crayon-o”>[</span><span class=”crayon-cn”>1</span><span class=”crayon-o”>]</span> <span class=”crayon-st”>then</span>
<span class=”crayon-h”> </span>os<span class=”crayon-o”>=</span><span class=”crayon-o”>-</span><span class=”crayon-cn”>1</span>
<span class=”crayon-h”> </span>cr<span class=”crayon-o”>=</span><span class=”crayon-cn”>230</span>
<span class=”crayon-h”> </span>cg<span class=”crayon-o”>=</span><span class=”crayon-cn”>81</span>
<span class=”crayon-h”> </span>cb<span class=”crayon-o”>=</span><span class=”crayon-cn”>0</span>
<span class=”crayon-st”>endif</span>
<span class=”crayon-st”>if</span> os <span class=”crayon-o”><></span> os<span class=”crayon-o”>[</span><span class=”crayon-cn”>1</span><span class=”crayon-o”>]</span> <span class=”crayon-st”>and</span> arrows <span class=”crayon-st”>then</span>
<span class=”crayon-h”> </span><span class=”crayon-st”>if</span> os<span class=”crayon-o”>></span><span class=”crayon-cn”>0</span> <span class=”crayon-st”>then</span>
<span class=”crayon-h”> </span><span class=”crayon-r”>drawarrowup</span>(<span class=”crayon-st”>barindex</span>,b<span class=”crayon-o”>[</span><span class=”crayon-cn”>1</span><span class=”crayon-o”>]</span>) <span class=”crayon-st”>coloured</span>(cr,cg,cb)
<span class=”crayon-h”> </span><span class=”crayon-st”>else</span>
<span class=”crayon-h”> </span><span class=”crayon-r”>drawarrowdown</span>(<span class=”crayon-st”>barindex</span>,b<span class=”crayon-o”>[</span><span class=”crayon-cn”>1</span><span class=”crayon-o”>]</span>) <span class=”crayon-st”>coloured</span>(cr,cg,cb)
<span class=”crayon-h”> </span><span class=”crayon-st”>endif</span>
<span class=”crayon-st”>endif</span>
<span class=”crayon-st”>endif</span>
<span class=”crayon-st”>return</span> b <span class=”crayon-st”>coloured</span>(cr,cg,cb) <span class=”crayon-st”>style</span>(<span class=”crayon-r”>line</span>,<span class=”crayon-cn”>3</span>) <span class=”crayon-st”>as</span> <span class=”crayon-s”>”Trend Impulse Filter”</span>