Professional Documents
Culture Documents
FVG Fibo
FVG Fibo
FVG Fibo
getLineStyle(lineOption) =>
lineOption == "?" ? line.style_dotted : lineOption == "?" ? line.style_dashed :
line.style_solid
get_structure_highest_bar(lookback) =>
for i = 0 to lookback - 1 by 1
if high[i+1] > high[i+2] and high[i] <= high[i+1] and ((i+1) * -1) >=
maxBar
idx := (i+1) * -1
//break
get_structure_lowest_bar(lookback) =>
for i = 0 to lookback - 1 by 1
if low[i+1] < low[i+2] and low[i] >= low[i+1] and ((i+1) * -1) >=
minBar
idx := (i+1) * -1
//break
is_structure_high_broken(_highStructBreakPrice, _structureHigh,
_structureHighStartIndex, _structureDirection) =>
var bool res = false
res
// Structures
isStructBodyCandleBreak = input(true, title='Break with candle\'s body',
group="Structures")
isCurrentStructToShow = input(true, title='Display current structure',
group="Structures")
bullishBosColor = input(color.silver, 'Bullish BOS Color', group="Structures")
bearishBosColor = input(color.silver, 'Bearish BOS Color', group="Structures")
bosLineStyleOption = input.string("-", title="BOS Style", group="Structures",
options=["-", "�", "�"])
bosLineStyle = getLineStyle(bosLineStyleOption)
bosLineWidth = input.int(1, title="BOS Width", group="Structures", minval=1,
maxval=5)
bullishChochColor = input(color.silver, 'Bullish CHoCH Color', group="Structures")
bearishChochColor = input(color.silver, 'Bearish CHoCH Color', group="Structures")
chochLineStyleOption = input.string("-", title="CHoCH Style", group="Structures",
options=["-", "�", "�"])
chochLineStyle = getLineStyle(chochLineStyleOption)
chochLineWidth = input.int(1, title="MSB Width", group="Structures", minval=1,
maxval=5)
currentStructColor = input(color.rgb(255, 4, 0), 'Current structure Color',
group="Structures")
currentStructLineStyleOption = input.string("-", title="Current structure Style",
group="Structures", options=["-", "�", "�"])
currentStructLineStyle = getLineStyle(currentStructLineStyleOption)
currentStructLineWidth = input.int(1, title="Current structure Width",
group="Structures", minval=1, maxval=5)
structHistoryNbr = input.int(10, 'Number of break to show', minval=1, maxval=50)
// Fibonacci 1
isFibo1ToShow = input(true, title = "", group="Structure Fibonacci", inline =
"Fibo1")
fibo1Value = input.float(0.786, title = "", group="Structure Fibonacci", inline =
"Fibo1")
fibo1Color = input(#9598a1, title = "", group="Structure Fibonacci", inline =
"Fibo1")
fibo1StyleOption = input.string("-", title = "", group="Structure Fibonacci",
options=["-", "�", "�"], inline = "Fibo1")
fibo1Style = getLineStyle(fibo1StyleOption)
fibo1LineWidth = input.int(1, title = "", group="Structure Fibonacci", minval=1,
maxval=5, inline = "Fibo1")
// Fibonacci 2
isFibo2ToShow = input(true, title = "", group="Structure Fibonacci", inline =
"Fibo2")
fibo2Value = input.float(0.705, title = "", group="Structure Fibonacci", inline =
"Fibo2")
fibo2Color = input(#9598a1, title = "", group="Structure Fibonacci", inline =
"Fibo2")
fibo2StyleOption = input.string("-", title = "", group="Structure Fibonacci",
options=["-", "�", "�"], inline = "Fibo2")
fibo2Style = getLineStyle(fibo2StyleOption)
fibo2LineWidth = input.int(1, title = "", group="Structure Fibonacci", minval=1,
maxval=5, inline = "Fibo2")
// Fibonacci 3
isFibo3ToShow = input(true, title = "", group="Structure Fibonacci", inline =
"Fibo3")
fibo3Value = input.float(0.618, title = "", group="Structure Fibonacci", inline =
"Fibo3")
fibo3Color = input(#9598a1, title = "", group="Structure Fibonacci", inline =
"Fibo3")
fibo3StyleOption = input.string("-", title = "", group="Structure Fibonacci",
options=["-", "�", "�"], inline = "Fibo3")
fibo3Style = getLineStyle(fibo3StyleOption)
fibo3LineWidth = input.int(1, title = "", group="Structure Fibonacci", minval=1,
maxval=5, inline = "Fibo3")
// Fibonacci 3
isFibo4ToShow = input(true, title = "", group="Structure Fibonacci", inline =
"Fibo4")
fibo4Value = input.float(0.5, title = "", group="Structure Fibonacci", inline =
"Fibo4")
fibo4Color = input(#9598a1, title = "", group="Structure Fibonacci", inline =
"Fibo4")
fibo4StyleOption = input.string("-", title = "", group="Structure Fibonacci",
options=["-", "�", "�"], inline = "Fibo4")
fibo4Style = getLineStyle(fibo4StyleOption)
fibo4LineWidth = input.int(1, title = "", group="Structure Fibonacci", minval=1,
maxval=5, inline = "Fibo4")
// Fibonacci 5
isFibo5ToShow = input(true, title = "", group="Structure Fibonacci", inline =
"Fibo5")
fibo5Value = input.float(0.382, title = "", group="Structure Fibonacci", inline =
"Fibo5")
fibo5Color = input(#9598a1, title = "", group="Structure Fibonacci", inline =
"Fibo5")
fibo5StyleOption = input.string("-", title = "", group="Structure Fibonacci",
options=["-", "�", "�"], inline = "Fibo5")
fibo5Style = getLineStyle(fibo5StyleOption)
fibo5LineWidth = input.int(1, title = "", group="Structure Fibonacci", minval=1,
maxval=5, inline = "Fibo5")
box.set_right(value, bar_index)
box.set_right(value, bar_index)
// Arrays variable
var array<line> structureLines = array.new_line(0)
var array<label> structureLabels = array.new_label(0)
var array<box> fvgBoxes = array.new_box(0)
var array<bool> fvgTypes = array.new_bool(0)
var array<bool> isFvgMitigated = array.new_bool(0)
// Price variables
var float structureHigh = 0.0
var float structureLow = 0.0
var float fibo1Price = 0.0
var float fibo2Price = 0.0
var float fibo3Price = 0.0
var float fibo4Price = 0.0
var float fibo5Price = 0.0
// Index variable
var int structureHighStartIndex = 0
var int structureLowStartIndex = 0
var int structureDirection = 0
var int fibo1StartIndex = 0
var int fibo2StartIndex = 0
var int fibo3StartIndex = 0
var int fibo4StartIndex = 0
var int fibo5StartIndex = 0
// Line variable
var line structureHighLine = na
var line structureLowLine = na
var line fibo1Line = na
var line fibo2Line = na
var line fibo3Line = na
var line fibo4Line = na
var line fibo5Line = na
// Label variable
var label fibo1Label = na
var label fibo2Label = na
var label fibo3Label = na
var label fibo4Label = na
var label fibo5Label = na
// Draw FVG
FVGDraw(fvgBoxes, fvgTypes, isFvgMitigated)
if(isStuctureLowBroken)
// Check if structures to show is upper than user parameter
if(array.size(structureLines) >= structHistoryNbr)
plot(na)
barcolor((high <= high[1] and low >= low[1] and close >= open) ? #04fd11: na)
barcolor((high <= high[1] and low >= low[1] and open >= close) ? #f70303: na)
//-----------------------------------------------------------------------------//
var float pl = 0
if isPivLow[x]
if spikyL[x]
pl:=pivLow[x]
label.new(bar_index-(lb+x), low[lb+x], text ="Low", style =
label.style_label_up, color = #feffff)