//@version=5
indicator("Auto Fibonachi Levels", overlay=true)
isFirstCandle = [Link](time("D")) != 0
showFibLong = [Link](true,title = "Show Long Fibonachi")
showFibShort = [Link](true,title = "Show Short Fibonachi")
amount = [Link](defval = 10000,title = "Amount You Have ?")
leverage = [Link](defval = 10,title = "Leverage")
tp = [Link](defval = 5000,title = "TakeProfit")
sl = [Link](defval = 1000,title = "StopLoss")
tp := leverage * tp
sl := leverage * sl
profit = amount * ((tp)/100)
loss = amount * ((sl)/100)
var table perfTable = [Link](position.top_right,columns = 10, rows = 10,
border_width = 2)
color1 = [Link](0, 255, 0)
color2 = [Link](0, 225, 255)
var float highest = na
var int highest_index = na
var float lowest = na
var int lowest_index = na
var int firstCandleIndex = na
if (isFirstCandle == 1)
highest := high
lowest := low
firstCandleIndex := bar_index
if (highest < high)
highest := high
highest_index := bar_index
if (lowest > low)
lowest := low
lowest_index := bar_index
// Calculate Fibonacci levels
var float fib0 = highest
var float fib23_6 = highest - ((highest - lowest) * 0.236)
var float fib38_2 = highest - ((highest - lowest) * 0.382)
var float fib50 = highest - ((highest - lowest) * 0.5)
var float fib61_8 = highest - ((highest - lowest) * 0.618)
var float fib76_4 = highest - ((highest - lowest) * 0.786)
var float fib100 = lowest
fib0 := highest
fib23_6 := highest - ((highest - lowest) * 0.236)
fib38_2 := highest - ((highest - lowest) * 0.382)
fib50 := highest - ((highest - lowest) * 0.5)
fib61_8 := highest - ((highest - lowest) * 0.618)
fib76_4 := highest - ((highest - lowest) * 0.786)
fib100 := lowest
var line x = na
var line y = na
var line a = na
var line b = na
[Link](a)
[Link](b)
[Link](x)
[Link](y)
var int candles = na
candles := bar_index - firstCandleIndex
x := [Link](bar_index[candles],showFibLong ? fib50 : na , bar_index,
showFibLong ? fib50 : na , extend=[Link], color=[Link](0, 255, 8))
y := [Link](bar_index[candles],showFibLong? fib61_8 : na , bar_index,
showFibLong? fib61_8 : na , extend=[Link], color=[Link](0, 255, 8))
a := [Link](bar_index[candles],highest,bar_index,highest,extend =
[Link],color = [Link](255, 255, 255),width = 2)
b := [Link](bar_index[candles],lowest,bar_index,lowest,extend = [Link],color
= [Link](255, 255, 255),width = 2)
var float shortFib50 = na
var float shortFib618 = na
var line c = na
var line d = na
[Link](c)
[Link](d)
shortFib50 := lowest - ((lowest - highest) * 0.5)
shortFib618 := lowest - ((lowest - highest) * 0.618)
d := [Link](bar_index[candles], showFibShort ? shortFib618:
na ,bar_index,showFibShort ? shortFib618: na,extend = [Link],color =
[Link](255, 0, 0),width = 2)
c := [Link](bar_index[candles],showFibShort ? shortFib50:
na ,bar_index,showFibShort ? shortFib50: na,extend = [Link],color =
[Link](255, 230, 0),width = 2)