// Downloaded From https://www.WiseStockTrader.com

MedianPrice = (H+L)/2;

Jaw     = Wilders(MedianPrice,13);



//Fractal up
//----------
fUp = (Ref(H,-2) > Ref(H, -4)) AND
  (Ref(H,-2) > Ref(H, -3)) AND
  (Ref(H,-2) > Ref(H, -1)) AND
  (Ref(H,-2) > H);
var1=ValueWhen(fUp ,Ref(H,-2) ,1); 
FractalUp=HighestSince(var1 > 0, var1, 1);
Plot(FractalUp, "F+",colorWhite , styleLine | styleDots);

FUpBuyPrice = FractalUp + 0.01;
FUpHit = FUpBuyPrice <= H AND FUpBuyPrice >= L;
FUpSignalOn = Flip(Ref(FractalUp,-1) != FractalUp, FUpHit);



//Fractal Down
//------------
var2= 
	(Ref(L,-2) <= Ref(L, -1)) AND
	(Ref(L,-2) <= Ref(L, 0)) AND
	(Ref(L,-2) <= Ref(L, -3)) AND
	(Ref(L,-2) <= Ref(L, -4));
FractalDown=ValueWhen(var2, Ref(L,-2), 1);

FDownSellPrice= FractalDown+ 0.01;
FDownHit = FDownSellPrice <= H AND FDownSellPrice >= L;
FDownSignalOn = Flip(Ref(FractalDown,-1) != FractalDown, FDownHit );

Plot(FractalDown, "F-", colorWhite, styleLine | styleDots);



f1 = FractalDown < Jaw;
f2 = FractalUp >Jaw;
f3 = Ref(FractalDown,-1) < Jaw AND Ref ( fractalDown ,-1 )<FractalDown ;

Buy = f1 AND f2 AND f3 ;

f4 = FractalUp >Jaw;
f5 =FractalDown<Jaw;
f6 = Ref(FractalUp,-1) > Jaw  AND Ref ( fractalUp ,-1) > FractalUp;

Sell = f4 AND f5 AND f6 ;