Fractal Code
Fractal Code
showPatterns = input(false)
showBarColors = input(false)
// ||--- Fractal Recognition:
filterBW = input(false, title="filter Bill Williams Fractals:")
//
||---------------------------------------------------------------------------
--------------------------||
// ||--- Fractal Recognition Functions:
---------------------------------------------------------------||
isRegularFractal(mode) =>
ret = mode == 1 ? high[4] < high[3] and high[3] < high[2] and high[2] >
high[1] and high[1] > high[0] :
mode == -1 ? low[4] > low[3] and low[3] > low[2] and low[2] < low[1]
and low[1] < low[0] : false
isBWFractal(mode) =>
ret = mode == 1 ? high[4] < high[2] and high[3] <= high[2] and high[2] >=
high[1] and high[2] > high[0] :
mode == -1 ? low[4] > low[2] and low[3] >= low[2] and low[2] <=
low[1] and low[2] < low[0] : false
//
||---------------------------------------------------------------------------
--------------------------||
//
||---------------------------------------------------------------------------
--------------------------||
// ||--- Higher Highs, Lower Highs, Higher Lows, Lower Lows
-------------------------------------------||
ShowHHLL = input(false)
higherhigh = filteredtopf == false ? false : (
valuewhen(filteredtopf == true, high[2], 1) < valuewhen(filteredtopf
== true, high[2], 0) and
valuewhen(filteredtopf == true, high[2], 2) < valuewhen(filteredtopf
== true, high[2], 0)
)
lowerhigh = filteredtopf == false ? false : (
valuewhen(filteredtopf == true, high[2], 1) > valuewhen(filteredtopf
== true, high[2], 0) and
valuewhen(filteredtopf == true, high[2], 2) > valuewhen(filteredtopf
== true, high[2], 0)
)
higherlow = filteredbotf == false ? false : (
valuewhen(filteredbotf == true, low[2], 1) < valuewhen(filteredbotf
== true, low[2], 0) and
valuewhen(filteredbotf == true, low[2], 2) < valuewhen(filteredbotf
== true, low[2], 0)
)
lowerlow = filteredbotf == false ? false : (
valuewhen(filteredbotf == true, low[2], 1) > valuewhen(filteredbotf
== true, low[2], 0) and
valuewhen(filteredbotf == true, low[2], 2) > valuewhen(filteredbotf
== true, low[2], 0)
)
//
||---------------------------------------------------------------------------
--------------------------||
//
||---------------------------------------------------------------------------
--------------------------||
// ||--- Fractals from higher Timeframe:
--------------------------------------------------------------||
ShowTimeFractals1 = input(false)
timeframe1 = input("240")
zigzag = (
istop and topcount[1] > botcount[1] ? high[2] :
isbot and topcount[1] < botcount[1] ? low[2] :
na )
//zigzag = not showZigZag ? na : ( filteredtopf == true ? high[2] :
filteredbotf == true ? low[2] : na )
plot(not showZigZag ? na : zigzag, title= 'ZigZag', color=white, offset=-2)
//
||---------------------------------------------------------------------------
--------------------------||
bc = zigzag and high[2] == zigzag ? red : zigzag and low[2] == zigzag ?
lime : silver
barcolor(showBarColors ? bc : na, offset=-2)
x = valuewhen(zigzag, zigzag, 4)
a = valuewhen(zigzag, zigzag, 3)
b = valuewhen(zigzag, zigzag, 2)
c = valuewhen(zigzag, zigzag, 1)
d = valuewhen(zigzag, zigzag, 0)
xab = (abs(b-a)/abs(x-a))
xad = (abs(a-d)/abs(x-a))
abc = (abs(b-c)/abs(a-b))
bcd = (abs(c-d)/abs(b-c))
// ||--> Functions:
isBat(_mode)=>
_xab = xab >= 0.382 and xab <= 0.5
_abc = abc >= 0.382 and abc <= 0.886
_bcd = bcd >= 1.618 and bcd <= 2.618
_xad = xad <= 0.886
_xab and _abc and _bcd and _xad and (_mode == 1 ? d < c : d > c)
isAltBat(_mode)=>
_xab = xab <= 0.382
_abc = abc >= 0.382 and abc <= 0.886
_bcd = bcd >= 2.0 and bcd <= 3.618
_xad = xad <= 1.13
_xab and _abc and _bcd and _xad and (_mode == 1 ? d < c : d > c)
isButterfly(_mode)=>
_xab = xab <= 0.786
_abc = abc >= 0.382 and abc <= 0.886
_bcd = bcd >= 1.618 and bcd <= 2.618
_xad = xad >= 1.27 and xad <= 1.618
_xab and _abc and _bcd and _xad and (_mode == 1 ? d < c : d > c)
isABCD(_mode)=>
_abc = abc >= 0.382 and abc <= 0.886
_bcd = bcd >= 1.13 and bcd <= 2.618
_abc and _bcd and (_mode == 1 ? d < c : d > c)
isGartley(_mode)=>
_xab = xab >= 0.5 and xab <= 0.618 // 0.618
_abc = abc >= 0.382 and abc <= 0.886
_bcd = bcd >= 1.13 and bcd <= 2.618
_xad = xad >= 0.75 and xad <= 0.875 // 0.786
_xab and _abc and _bcd and _xad and (_mode == 1 ? d < c : d > c)
isCrab(_mode)=>
_xab = xab >= 0.75 and xab <= 0.875 // 0.886
_abc = abc >= 0.382 and abc <= 0.886
_bcd = bcd >= 2.0 and bcd <= 3.618
_xad = xad >= 1.5 and xad <= 1.625 // 1.618
_xab and _abc and _bcd and _xad and (_mode == 1 ? d < c : d > c)
isShark(_mode)=>
_xab = xab >= 0.5 and xab <= 0.875 // 0.886
_abc = abc >= 1.13 and abc <= 1.618
_bcd = bcd >= 1.27 and bcd <= 2.24
_xad = xad >= 0.88 and xad <= 1.13
_xab and _abc and _bcd and _xad and (_mode == 1 ? d < c : d > c)
is5o(_mode)=>
_xab = xab >= 1.13 and xab <= 1.618
_abc = abc >= 1.618 and abc <= 2.24
_bcd = bcd >= 0.5 and bcd <= 0.625 // 0.5
_xad = xad >= 0.0 and xad <= 0.236 // negative?
_xab and _abc and _bcd and _xad and (_mode == 1 ? d < c : d > c)
isWolf(_mode)=>
_xab = xab >= 1.27 and xab <= 1.618
_abc = abc >= 0 and abc <= 5
_bcd = bcd >= 1.27 and bcd <= 1.618
_xad = xad >= 0.0 and xad <= 5
_xab and _abc and _bcd and _xad and (_mode == 1 ? d < c : d > c)
isHnS(_mode)=>
_xab = xab >= 2.0 and xab <= 10
_abc = abc >= 0.90 and abc <= 1.1
_bcd = bcd >= 0.236 and bcd <= 0.88
_xad = xad >= 0.90 and xad <= 1.1
_xab and _abc and _bcd and _xad and (_mode == 1 ? d < c : d > c)
isConTria(_mode)=>
_xab = xab >= 0.382 and xab <= 0.618
_abc = abc >= 0.382 and abc <= 0.618
_bcd = bcd >= 0.382 and bcd <= 0.618
_xad = xad >= 0.236 and xad <= 0.764
_xab and _abc and _bcd and _xad and (_mode == 1 ? d < c : d > c)
isExpTria(_mode)=>
_xab = xab >= 1.236 and xab <= 1.618
_abc = abc >= 1.000 and abc <= 1.618
_bcd = bcd >= 1.236 and bcd <= 2.000
_xad = xad >= 2.000 and xad <= 2.236
_xab and _abc and _bcd and _xad and (_mode == 1 ? d < c : d > c)
plotshape(not showPatterns ? na : isABCD(-1) and not isABCD(-1)[1], text="\
nAB=CD", title='Bear ABCD', style=shape.labeldown, color=maroon,
textcolor=white, location=location.top, transp=0, offset=-2)
plotshape(not showPatterns ? na : isBat(-1) and not isBat(-1)[1], text="Bat",
title='Bear Bat', style=shape.labeldown, color=maroon, textcolor=white,
location=location.top, transp=0, offset=-2)
plotshape(not showPatterns ? na : isAltBat(-1) and not isAltBat(-1)[1],
text="Alt Bat", title='Bear Alt Bat', style=shape.labeldown, color=maroon,
textcolor=white, location=location.top, transp=0)
plotshape(not showPatterns ? na : isButterfly(-1) and not isButterfly(-1)[1],
text="Butterfly", title='Bear Butterfly', style=shape.labeldown,
color=maroon, textcolor=white, location=location.top, transp=0)
plotshape(not showPatterns ? na : isGartley(-1) and not isGartley(-1)[1],
text="Gartley", title='Bear Gartley', style=shape.labeldown, color=maroon,
textcolor=white, location=location.top, transp=0)
plotshape(not showPatterns ? na : isCrab(-1) and not isCrab(-1)[1],
text="Crab", title='Bear Crab', style=shape.labeldown, color=maroon,
textcolor=white, location=location.top, transp=0)
plotshape(not showPatterns ? na : isShark(-1) and not isShark(-1)[1],
text="Shark", title='Bear Shark', style=shape.labeldown, color=maroon,
textcolor=white, location=location.top, transp=0)
plotshape(not showPatterns ? na : is5o(-1) and not is5o(-1)[1], text="5-O",
title='Bear 5-O', style=shape.labeldown, color=maroon, textcolor=white,
location=location.top, transp=0)
plotshape(not showPatterns ? na : isWolf(-1) and not isWolf(-1)[1],
text="Wolf Wave", title='Bear Wolf Wave', style=shape.labeldown,
color=maroon, textcolor=white, location=location.top, transp=0)
plotshape(not showPatterns ? na : isHnS(-1) and not isHnS(-1)[1], text="Head
and Shoulders", title='Bear Head and Shoulders', style=shape.labeldown,
color=maroon, textcolor=white, location=location.top, transp=0)
plotshape(not showPatterns ? na : isConTria(-1) and not isConTria(-1)[1],
text="Contracting Triangle", title='Bear Contracting triangle',
style=shape.labeldown, color=maroon, textcolor=white, location=location.top,
transp=0)
plotshape(not showPatterns ? na : isExpTria(-1) and not isExpTria(-1)[1],
text="Expanding Triangle", title='Bear Expanding Triangle',
style=shape.labeldown, color=maroon, textcolor=white, location=location.top,
transp=0)