{ Downloaded From https://www.WiseStockTrader.com }
=============================
{ Indicator}
=============================

{% Variable Step}


PctVlt:=(ATR(14)/C)*100; {PercentVolatility }

PeakVar:=If(PctVlt<0.5,Peak( 1, C ,0.5),
If( PctVlt>=0.5 AND PctVlt< 1.0 ,Peak( 1, C ,0.70),
If( PctVlt>=1.0 AND PctVlt< 1.5 ,Peak( 1, C ,0.90),
If( PctVlt>=1.5 AND PctVlt< 2.0 ,Peak( 1, C ,1.10),
If( PctVlt>=2.0 AND PctVlt< 2.5 ,Peak( 1, C ,1.30),
If( PctVlt>=2.5 AND PctVlt< 3.0 ,Peak( 1, C ,1.50),
If( PctVlt>=3.0 AND PctVlt< 3.5 ,Peak( 1, C ,1.70),
If( PctVlt>=3.5 AND PctVlt< 4.0 ,Peak( 1, C ,2.00),
Peak( 1, C ,2.20 )
))))))));


TroughVar:=If(PctVlt<0.5,Trough( 1, C ,0.5),
If( PctVlt>=0.5 AND PctVlt< 1.0 ,Trough( 1, C ,0.75),
If( PctVlt>=1.0 AND PctVlt< 1.5 ,Trough( 1, C ,1.00),
If( PctVlt>=1.5 AND PctVlt< 2.0 ,Trough( 1, C ,1.25),
If( PctVlt>=2.0 AND PctVlt< 2.5 ,Trough( 1, C ,1.50),
If( PctVlt>=2.5 AND PctVlt< 3.0 ,Trough( 1, C ,1.75),
If( PctVlt>=3.0 AND PctVlt< 3.5 ,Trough( 1, C ,2.00),
If( PctVlt>=3.5 AND PctVlt< 4.0 ,Trough( 1, C ,2.25),
Trough( 1, C ,2.50 )
))))))));

Sens:=If(PctVlt<0.5,0.5,
If( PctVlt>=0.5 AND PctVlt< 1.0 ,0.75,
If( PctVlt>=1.0 AND PctVlt< 1.5 ,1.00,
If( PctVlt>=1.5 AND PctVlt< 2.0 ,1.25,
If( PctVlt>=2.0 AND PctVlt< 2.5 ,1.50,
If( PctVlt>=2.5 AND PctVlt< 3.0 ,1.75,
If( PctVlt>=3.0 AND PctVlt< 3.5 ,2.00,
If( PctVlt>=3.5 AND PctVlt< 4.0 ,2.25,
2.50 ))))))));



=============================

{ ATR Trailing Stop}
Sens := FmlVar( "% Variable Step", "Sens" );

Period := 5;

If(Cum(1)<16,C,
If(C>HHV(H - Sens *ATR(Period),10),
If(C>Ref(C,-1),HHV(H - Sens *ATR( Period),10),
PREV),
PREV))
;


=============================
{ Trend & Highlight}
=============================

{ Bullish % Step Variable *trend Peak&trough for Expert Advisor Trends n Symbols = Green }


PeakVar := FmlVar( "% Variable Step", "PeakVar" );
TroughVar := FmlVar( "% Variable Step", "TroughVar" );

BarsSince(Cross(ValueWhen(1, TroughVar <>Ref( TroughVar ,-1),L),C))>BarsSince( Cross(C, ValueWhen(1, PeakVar <> Ref( PeakVar ,-1),H)));


=============================

{ Bearish % Step Variable *trend Peak&trough for Expert Advisor Trends n Symbols = Red }

PeakVar := FmlVar( "% Variable Step", "PeakVar" );
TroughVar := FmlVar( "% Variable Step", "TroughVar" );


BarsSince(Cross(ValueWhen(1,TroughVar <>Ref(TroughVar ,-1),L),C))<BarsSince(Cross(C,ValueWhen(1, PeakVar <>Ref( PeakVar ,-1),H)));



=============================
{ Symbol }
=============================

{Buy }



PeakVar := FmlVar( "% Variable Step", "PeakVar" );
TroughVar := FmlVar( "% Variable Step", "TroughVar" );

Cross(ValueWhen(1, TroughVar <>Ref( TroughVar ,-1),L),C) < Cross(C, ValueWhen(1, PeakVar <> Ref( PeakVar ,-1),H));


{Sell }
Advisor Trends n Symbols = Red }

PeakVar := FmlVar( "% Variable Step", "PeakVar" );
TroughVar := FmlVar( "% Variable Step", "TroughVar" );


Cross(ValueWhen(1,TroughVar <>Ref(TroughVar ,-1),L),C) >
Cross(C,ValueWhen(1, PeakVar <>Ref( PeakVar ,-1),H));