PHP Code:
//@version=5
indicator(title='*', shorttitle='*', overlay=true, format=format.price, precision=0)
Uzunluk = input.int(50,minval=1,title='Length',group='INDICATOR SETTINGS')
otomatikgoster = input(true,title = 'Enable Auto Show mode ?',tooltip = 'As prices touch each extension level, the next level is automatically displayed.',group = 'INDICATOR SETTINGS')
DDAlangoster = input(false,title = 'Paint between 0.618 and 0.786',group = 'INDICATOR SETTINGS')
DDAlan_Direnc_Renk = input.color(color.new(color.red,85),'Resistance Zone Color :',group='INDICATOR SETTINGS')
DDAlan_Destek_Renk =input.color(color.new(color.green,85),'Support Zone Color :',group='INDICATOR SETTINGS')
etiketgoster = input(true,title = 'Tags to be shown ?',group='INDICATOR SETTINGS')
etiketbuyukluk = input.string('Small', title='Label Size',
options=['Tiny', 'Small', 'Normal', 'Large', 'Huge'],group='INDICATOR SETTINGS')
etiketbuyuklukSecenek = switch etiketbuyukluk
'Tiny' => size.tiny
'Small' => size.small
'Normal' => size.normal
'Large' => size.large
'Huge' => size.huge
BitisCizgisigoster = input(false,title = 'Show the recalculation line ?',group = 'INDICATOR SETTINGS')
BitisCizgisiRenk = input.color(color.blue,'Recalculation Line Color :',group = 'INDICATOR SETTINGS')
tablogoster = input(true,title = 'Should the table of levels be shown ?',group='INDICATOR SETTINGS')
tabloBorderColor = input.color(color.black,'Table Borders Color :',group='INDICATOR SETTINGS')
tabloBorderWidth = input.int(1,title='Table Limits Thickness :',options = [1,2],group='INDICATOR SETTINGS')
tabloFrameColor = input.color(color.black,'Table Frame Borders Color :',group='INDICATOR SETTINGS')
tabloFrameWidth = input.int(2,title='Thickness of Table Frame Limits :',options = [1,2],group='INDICATOR SETTINGS')
tabloBGColor = input.color(color.orange,'Table - Title Background Color :',group='INDICATOR SETTINGS')
tabloTxtColor = input.color(color.black,'Table - Title Font Color :',group='INDICATOR SETTINGS')
EY = input(false,title = 'Highest Line',group='LEVEL SETTINGS')
EYRenk = input.color(color.green,'Line / Label / Table Color :',group='LEVEL SETTINGS')
EYYaziRenk = input.color(color.black,'Text Color :',group='LEVEL SETTINGS')
ED = input(false,title = 'Lowest Line',group='LEVEL SETTINGS')
EDRenk = input.color(color.red,'Line / Label / Table Color :',group='LEVEL SETTINGS')
EDYaziRenk = input.color(color.black,'Text Color :',group='LEVEL SETTINGS')
F618 = input(false,title='0.618 Lines',group='LEVEL SETTINGS')
F618RenkED = input.color(color.orange,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F618RenkEY = input.color(color.orange,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F618YaziRenkED = input.color(color.black,'Upper Text Color :',group='LEVEL SETTINGS')
F618YaziRenkEY = input.color(color.black,'Lower Text Color :',group='LEVEL SETTINGS')
F786 = input(false,title='0.786 Lines',group='LEVEL SETTINGS')
F786RenkED = input.color(color.orange,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F786RenkEY = input.color(color.orange,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F786YaziRenkED = input.color(color.black,'Upper Text Color :',group='LEVEL SETTINGS')
F786YaziRenkEY = input.color(color.black,'Lower Text Color :',group='LEVEL SETTINGS')
F1272 = input(false,title='1.272 Lines',group='LEVEL SETTINGS')
F1272RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F1272RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F1272YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F1272YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
F1618 = input(false,title='1.618 Lines',group='LEVEL SETTINGS')
F1618RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F1618RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F1618YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F1618YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
F2 = input(false,title='2.0 Lines',group='LEVEL SETTINGS')
F2RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F2RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F2YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F2YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
F2618 = input(false,title='2.618 Lines',group='LEVEL SETTINGS')
F2618RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F2618RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F2618YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F2618YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
F314 = input(false,title='3.14 Lines',group='LEVEL SETTINGS')
F314RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F314RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F314YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F314YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
F3618 = input(false,title='3.618 Lines',group='LEVEL SETTINGS')
F3618RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F3618RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F3618YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F3618YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
F4236 = input(false,title='4.236 Lines',group='LEVEL SETTINGS')
F4236RenkED = input.color(color.blue,'Upper Line / Label / Table Color :',group='LEVEL SETTINGS')
F4236RenkEY = input.color(color.blue,'Lower Line / Label / Table Color :',group='LEVEL SETTINGS')
F4236YaziRenkED = input.color(color.white,'Upper Text Color :',group='LEVEL SETTINGS')
F4236YaziRenkEY = input.color(color.white,'Lower Text Color :',group='LEVEL SETTINGS')
var float enyuksek = na
var float endusuk = na
var bool F1272ED_Kontrol = na
var bool F1272EY_Kontrol = na
var bool F1618ED_Kontrol = na
var bool F1618EY_Kontrol = na
var bool F2ED_Kontrol = na
var bool F2EY_Kontrol = na
var bool F2618ED_Kontrol = na
var bool F2618EY_Kontrol = na
var bool F314ED_Kontrol = na
var bool F314EY_Kontrol = na
var bool F3618ED_Kontrol = na
var bool F3618EY_Kontrol = na
var bool F4236ED_Kontrol = na
var bool F4236EY_Kontrol = na
var sayac = 0
enyuksek_temp = ta.highest(Uzunluk)
endusuk_temp = ta.lowest(Uzunluk)
sayac := sayac + 1
if sayac == Uzunluk
sayac := 0
enyuksek := enyuksek_temp
endusuk := endusuk_temp
F1272ED_Kontrol := false
F1272EY_Kontrol := false
F1618ED_Kontrol := false
F1618EY_Kontrol := false
F2ED_Kontrol := false
F2EY_Kontrol := false
F2618ED_Kontrol := false
F2618EY_Kontrol := false
F314ED_Kontrol := false
F314EY_Kontrol := false
F3618ED_Kontrol := false
F3618EY_Kontrol := false
F4236ED_Kontrol := false
F4236EY_Kontrol := false
mesafe = enyuksek-endusuk
F618EY = enyuksek - (mesafe * 0.618)
F618ED = endusuk + (mesafe * 0.618)
F786EY = enyuksek - (mesafe * 0.786)
F786ED = endusuk + (mesafe * 0.786)
F1272EY = enyuksek - (mesafe * 1.272)
F1272ED = endusuk + (mesafe * 1.272)
F1618EY = enyuksek - (mesafe * 1.618)
F1618ED = endusuk + (mesafe * 1.618)
F2EY = enyuksek - (mesafe * 2)
F2ED = endusuk + (mesafe * 2)
F2618EY = enyuksek - (mesafe * 2.618)
F2618ED = endusuk + (mesafe * 2.618)
F314EY = enyuksek - (mesafe * 3.14)
F314ED = endusuk + (mesafe * 3.14)
F3618EY = enyuksek - (mesafe * 3.618)
F3618ED = endusuk + (mesafe * 3.618)
F4236EY = enyuksek - (mesafe * 4.236)
F4236ED = endusuk + (mesafe * 4.236)
if high >= enyuksek
F1272ED_Kontrol := true
if low <= endusuk
F1272EY_Kontrol := true
if high >= F1272ED
F1618ED_Kontrol := true
if low <= F1272EY
F1618EY_Kontrol := true
if high >= F1618ED
F2ED_Kontrol := true
if low <= F1618EY
F2EY_Kontrol := true
if high >= F2ED
F2618ED_Kontrol := true
if low <= F2EY
F2618EY_Kontrol := true
if high >= F2618ED
F314ED_Kontrol := true
if low <= F2618EY
F314EY_Kontrol := true
if high >= F314ED
F3618ED_Kontrol := true
if low <= F314EY
F3618EY_Kontrol := true
if high >= F3618ED
F4236ED_Kontrol := true
if low <= F3618EY
F4236EY_Kontrol := true
//plot(EY ? enyuksek : na , title = 'Highest Line', color = EYRenk)
//plot(ED ? endusuk : na , title = 'Lowest Line', color = EDRenk)
//F786EDCizgi = plot(F786 ? F786ED : na, title ='Upper F.786 Line', color = F786RenkED)
// = plot(F786 ? F786EY : na, title ='Lower F.786 Line', color = F786RenkEY)
//F618EDCizgi = plot(F618 ? F618ED : na, title ='Upper F.618 Line', color = F618RenkED)
//F618EYCizgi = plot(F618 ? F618EY : na, title ='Lower F.618 Line', color = F618RenkEY)
//plot(F1272 ? F1272ED : otomatikgoster ? F1272ED_Kontrol ? F1272ED : na : na, title ='Upper F.1272 Line', color = F1272RenkED,style = plot.style_linebr)
//plot(F1272 ? F1272EY : otomatikgoster ? F1272EY_Kontrol ? F1272EY : na : na, title ='Lower F.1272 Line', color= F1272RenkEY,style = plot.style_linebr)
//plot(F1618 ? F1618ED : otomatikgoster ? F1618ED_Kontrol ? F1618ED : na : na, title ='Upper F.1618 Line', color = F1618RenkED,style = plot.style_linebr)
//plot(F1618 ? F1618EY : otomatikgoster ? F1618EY_Kontrol ? F1618EY : na : na, title ='Lower F.1618 Line', color = F1618RenkEY,style = plot.style_linebr)
//plot(F2 ? F2ED : otomatikgoster ? F2ED_Kontrol ? F2ED : na : na, title ='Upper F.2 Line', color = F2RenkED,style = plot.style_linebr)
//plot(F2 ? F2EY : otomatikgoster ? F2EY_Kontrol ? F2EY : na : na, title ='Lower F.2 Line', color = F2RenkEY,style = plot.style_linebr)
//plot(F2618 ? F2618ED : otomatikgoster ? F2618ED_Kontrol ? F2618ED : na : na, title ='Upper F.2618 Line', color = F2618RenkED,style = plot.style_linebr)
//plot(F2618 ? F2618EY : otomatikgoster ? F2618EY_Kontrol ? F2618EY : na : na, title ='Lower F.2618 Line', color = F2618RenkEY,style = plot.style_linebr)
//plot(F314 ? F314ED : otomatikgoster ? F314ED_Kontrol ? F314ED : na : na, title ='Upper F.314 Line', color = F314RenkED,style = plot.style_linebr)
//plot(F314 ? F314EY : otomatikgoster ? F314EY_Kontrol ? F314EY : na : na, title ='Lower F.314 Line', color = F314RenkEY,style = plot.style_linebr)
//plot(F3618 ? F3618ED : otomatikgoster ? F3618ED_Kontrol ? F3618ED : na : na, title ='Upper F.3618 Line', color = F3618RenkED,style = plot.style_linebr)
//plot(F3618 ? F3618EY : otomatikgoster ? F3618EY_Kontrol ? F3618EY : na : na, title ='Lower F.3618 Line', color = F3618RenkEY,style = plot.style_linebr)
//plot(F4236 ? F4236ED : otomatikgoster ? F4236ED_Kontrol ? F4236ED : na : na, title ='Upper F.4236 Line', color = F4236RenkED,style = plot.style_linebr)
//plot(F4236 ? F4236EY : otomatikgoster ? F4236EY_Kontrol ? F4236EY : na : na, title ='Lower F.4236 Line', color = F4236RenkEY,style = plot.style_linebr)
//fill(F786EDCizgi,F618EDCizgi,color = DDAlangoster ? DDAlan_Direnc_Renk : na,title = 'Resistance Zone color')
//fill(F618EYCizgi,F786EYCizgi,color = DDAlangoster ? DDAlan_Destek_Renk : na,title = 'Support Zone color')
if tablogoster
var SeviyelerTB = table.new(position = position.middle_left, columns = 2, rows = 21, bgcolor = tabloBGColor,border_width = tabloBorderWidth, border_color = tabloBorderColor,frame_color = tabloFrameColor,frame_width = tabloFrameWidth)
if barstate.islast
table.cell(table_id = SeviyelerTB, column = 0, row = 0, text = "Levels",text_halign = text.align_center,text_size = size.small,text_color = tabloTxtColor)
table.merge_cells(SeviyelerTB,0,0,1,0)
table.cell(table_id = SeviyelerTB, column = 0, row = 1, text = "Highest :",text_halign = text.align_right,text_size = size.small,bgcolor = EYRenk,text_color = EYYaziRenk)
table.cell(table_id = SeviyelerTB, column = 1, row = 1, text = str.tostring(enyuksek,format.mintick),text_size = size.small,bgcolor = EYRenk,text_color = EYYaziRenk)
table.cell(table_id = SeviyelerTB, column = 0, row = 2, text = "Lowest :",text_halign = text.align_right,text_size = size.small,bgcolor = EDRenk,text_color = EDYaziRenk)
table.cell(table_id = SeviyelerTB, column = 1, row = 2, text = str.tostring(endusuk,format.mintick),text_size = size.small,bgcolor = EDRenk,text_color = EDYaziRenk)
table.cell(table_id = SeviyelerTB, column = 0, row = 3, text = "Upper 0.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F618RenkED,text_color = F618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 3, text = str.tostring(F618ED,format.mintick),text_size = size.small,bgcolor = F618RenkED,text_color = F618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 4, text = "Lower 0.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F618RenkEY,text_color = F618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 4, text = str.tostring(F618EY,format.mintick),text_size = size.small,bgcolor = F618RenkEY,text_color = F618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 5, text = "Upper 0.786 :",text_halign = text.align_right,text_size = size.small,bgcolor = F786RenkED,text_color = F786YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 5, text = str.tostring(F786ED,format.mintick),text_size = size.small,bgcolor = F786RenkED,text_color = F786YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 6, text = "Lower 0.786 :",text_halign = text.align_right,text_size = size.small,bgcolor = F786RenkEY,text_color = F786YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 6, text = str.tostring(F786EY,format.mintick),text_size = size.small,bgcolor = F786RenkEY,text_color = F786YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 7, text = "Upper 1.272 :",text_halign = text.align_right,text_size = size.small,bgcolor = F1272RenkED,text_color = F1272YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 7, text = str.tostring(F1272ED,format.mintick),text_size = size.small,bgcolor = F1272RenkED,text_color = F1272YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 8, text = "Lower 1.272 :",text_halign = text.align_right,text_size = size.small,bgcolor = F1272RenkEY,text_color = F1272YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 8, text = str.tostring(F1272EY,format.mintick),text_size = size.small,bgcolor = F1272RenkEY,text_color = F1272YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 9, text = "Upper 1.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F1618RenkED,text_color = F1618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 9, text = str.tostring(F1618ED,format.mintick),text_size = size.small,bgcolor = F1618RenkED,text_color = F1618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 10, text = "Lower 1.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F1618RenkEY,text_color = F1618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 10, text = str.tostring(F1618EY,format.mintick),text_size = size.small,bgcolor = F1618RenkEY,text_color = F1618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 11, text = "Upper 2.0 :",text_halign = text.align_right,text_size = size.small,bgcolor = F2RenkED,text_color = F2YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 11, text = str.tostring(F2ED,format.mintick),text_size = size.small,bgcolor = F2RenkED,text_color = F2YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 12, text = "Lower 2.0 :",text_halign = text.align_right,text_size = size.small,bgcolor = F2RenkEY,text_color = F2YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 12, text = str.tostring(F2EY,format.mintick),text_size = size.small,bgcolor = F2RenkEY,text_color = F2YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 13, text = "Upper 2.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F2618RenkED,text_color = F2618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 13, text = str.tostring(F2618ED,format.mintick),text_size = size.small,bgcolor = F2618RenkED,text_color = F2618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 14, text = "Lower 2.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F2618RenkEY,text_color = F2618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 14, text = str.tostring(F2618EY,format.mintick),text_size = size.small,bgcolor = F2618RenkEY,text_color = F2618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 15, text = "Upper 3.14 :",text_halign = text.align_right,text_size = size.small,bgcolor = F314RenkED,text_color = F314YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 15, text = str.tostring(F314ED,format.mintick),text_size = size.small,bgcolor = F314RenkED,text_color = F314YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 16, text = "Lower 3.14 :",text_halign = text.align_right,text_size = size.small,bgcolor = F314RenkEY,text_color = F314YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 16, text = str.tostring(F314EY,format.mintick),text_size = size.small,bgcolor = F314RenkEY,text_color = F314YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 17, text = "Upper 3.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F3618RenkED,text_color = F3618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 17, text = str.tostring(F3618ED,format.mintick),text_size = size.small,bgcolor = F3618RenkED,text_color = F3618YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 18, text = "Lower 3.618 :",text_halign = text.align_right,text_size = size.small,bgcolor = F3618RenkEY,text_color = F3618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 18, text = str.tostring(F3618EY,format.mintick),text_size = size.small,bgcolor = F3618RenkEY,text_color = F3618YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 0, row = 19, text = "Upper 4.236 :",text_halign = text.align_right,text_size = size.small,bgcolor = F4236RenkED,text_color = F4236YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 1, row = 19, text = str.tostring(F4236ED,format.mintick),text_size = size.small,bgcolor = F4236RenkED,text_color = F4236YaziRenkED)
table.cell(table_id = SeviyelerTB, column = 0, row = 20, text = "Lower 4.236 :",text_halign = text.align_right,text_size = size.small,bgcolor = F4236RenkEY,text_color = F4236YaziRenkEY)
table.cell(table_id = SeviyelerTB, column = 1, row = 20, text = str.tostring(F4236EY,format.mintick),text_size = size.small,bgcolor = F4236RenkEY,text_color = F4236YaziRenkEY)
var etiket_EY = etiketgoster ? EY ? label.new(x = na,y = na,color=EYRenk,textcolor = EYYaziRenk,style = label.style_label_left,size=etiketbuyuklukSecenek) : na : na
var etiket_ED = etiketgoster ? ED ? label.new(x = na,y = na,color=EDRenk,textcolor = EDYaziRenk,style = label.style_label_left,size=etiketbuyuklukSecenek) : na : na
label.set_text(etiket_EY,text = "Highest : " + str.tostring(enyuksek,format.mintick))
label.set_xy(etiket_EY,x = bar_index+1,y = enyuksek)
label.set_text(etiket_ED,text = "Lowest : " + str.tostring(endusuk,format.mintick))
label.set_xy(etiket_ED,x = bar_index+1,y = endusuk)
var etiket_F618ED = etiketgoster ? F618 ? label.new(x = na,y = na,color=F618RenkED,textcolor=F618YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na : na
var etiket_F618EY = etiketgoster ? F618 ? label.new(x = na,y = na,color=F618RenkEY,textcolor=F618YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na : na
label.set_text(etiket_F618ED,text = "Upper 0.618 : " + str.tostring(F618ED,format.mintick) )
label.set_xy(etiket_F618ED,x = bar_index+1,y = F618ED)
label.set_text(etiket_F618EY,text = "Lower 0.618 : "+ str.tostring(F618EY,format.mintick))
label.set_xy(etiket_F618EY,x = bar_index+1,y = F618EY)
var etiket_F786ED = etiketgoster ? F786 ? label.new(x = na,y = na,color=F786RenkED,textcolor=F786YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na : na
var etiket_F786EY = etiketgoster ? F786 ? label.new(x = na,y = na,color=F786RenkEY,textcolor=F786YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na : na
label.set_text(etiket_F786ED,text = "Upper 0.786 : " + str.tostring(F786ED,format.mintick))
label.set_xy(etiket_F786ED,x = bar_index+1,y = F786ED)
label.set_text(etiket_F786EY,text = "Lower 0.786 : " + str.tostring(F786EY,format.mintick))
label.set_xy(etiket_F786EY,x = bar_index+1,y = F786EY)
var etiket_F1272ED = etiketgoster ? label.new(x = na,y = na,color=F1272RenkED,textcolor=F1272YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F1272EY = etiketgoster ? label.new(x = na,y = na,color=F1272RenkEY,textcolor=F1272YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F1272 == true or (otomatikgoster == true and (F1272ED_Kontrol == true or F1272EY_Kontrol == true))
if F1272ED_Kontrol or F1272
label.set_text(etiket_F1272ED,text = "Upper 1.272 : " + str.tostring(F1272ED,format.mintick) )
label.set_xy(etiket_F1272ED,x = bar_index+1,y = F1272ED)
if F1272EY_Kontrol or F1272
label.set_text(etiket_F1272EY,text = "Lower 1.272 : "+ str.tostring(F1272EY,format.mintick))
label.set_xy(etiket_F1272EY,x = bar_index+1,y = F1272EY)
else
label.set_text(etiket_F1272ED,na)
label.set_x(etiket_F1272ED,na)
label.set_y(etiket_F1272ED,na)
label.set_text(etiket_F1272EY,na)
label.set_x(etiket_F1272EY,na)
label.set_y(etiket_F1272EY,na)
var etiket_F1618ED = etiketgoster ? label.new(x = na,y = na,color=F1618RenkED,textcolor=F1618YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F1618EY = etiketgoster ? label.new(x = na,y = na,color=F1618RenkEY,textcolor=F1618YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F1618 == true or (otomatikgoster == true and (F1618ED_Kontrol == true or F1618EY_Kontrol == true))
if F1618ED_Kontrol or F1618
label.set_text(etiket_F1618ED,text = "Upper 1.618 : " + str.tostring(F1618ED,format.mintick) )
label.set_xy(etiket_F1618ED,x = bar_index+1,y = F1618ED)
if F1618EY_Kontrol or F1618
label.set_text(etiket_F1618EY,text = "Lower 1.618 : "+ str.tostring(F1618EY,format.mintick))
label.set_xy(etiket_F1618EY,x = bar_index+1,y = F1618EY)
else
label.set_text(etiket_F1618ED,na)
label.set_x(etiket_F1618ED,na)
label.set_y(etiket_F1618ED,na)
label.set_text(etiket_F1618EY,na)
label.set_x(etiket_F1618EY,na)
label.set_y(etiket_F1618EY,na)
var etiket_F2ED = etiketgoster ? label.new(x = na,y = na,color=F2RenkED,textcolor=F2YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F2EY = etiketgoster ? label.new(x = na,y = na,color=F2RenkEY,textcolor=F2YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F2 == true or (otomatikgoster == true and (F2ED_Kontrol == true or F2EY_Kontrol == true))
if F2ED_Kontrol or F2
label.set_text(etiket_F2ED,text = "Upper 2.0 : " + str.tostring(F2ED,format.mintick) )
label.set_xy(etiket_F2ED,x = bar_index+1,y = F2ED)
if F2EY_Kontrol or F2
label.set_text(etiket_F2EY,text = "Lower 2.0 : "+ str.tostring(F2EY,format.mintick))
label.set_xy(etiket_F2EY,x = bar_index+1,y = F2EY)
else
label.set_text(etiket_F2ED,na)
label.set_x(etiket_F2ED,na)
label.set_y(etiket_F2ED,na)
label.set_text(etiket_F2EY,na)
label.set_x(etiket_F2EY,na)
label.set_y(etiket_F2EY,na)
var etiket_F2618ED = etiketgoster ? label.new(x = na,y = na,color=F2618RenkED,textcolor=F2618YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F2618EY = etiketgoster ? label.new(x = na,y = na,color=F2618RenkEY,textcolor=F2618YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F2618 == true or (otomatikgoster == true and (F2618ED_Kontrol == true or F2618EY_Kontrol == true))
if F2618ED_Kontrol or F2618
label.set_text(etiket_F2618ED,text = "Upper 2.618 : " + str.tostring(F2618ED,format.mintick) )
label.set_xy(etiket_F2618ED,x = bar_index+1,y = F2618ED)
if F2618EY_Kontrol or F2618
label.set_text(etiket_F2618EY,text = "Lower 2.618 : "+ str.tostring(F2618EY,format.mintick))
label.set_xy(etiket_F2618EY,x = bar_index+1,y = F2618EY)
else
label.set_text(etiket_F2618ED,na)
label.set_x(etiket_F2618ED,na)
label.set_y(etiket_F2618ED,na)
label.set_text(etiket_F2618EY,na)
label.set_x(etiket_F2618EY,na)
label.set_y(etiket_F2618EY,na)
var etiket_F314ED = etiketgoster ? label.new(x = na,y = na,color=F314RenkED,textcolor=F314YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F314EY = etiketgoster ? label.new(x = na,y = na,color=F314RenkEY,textcolor=F314YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F314 == true or (otomatikgoster == true and (F314ED_Kontrol == true or F314EY_Kontrol == true))
if F314ED_Kontrol or F314
label.set_text(etiket_F314ED,text = "Upper 3.14 : " + str.tostring(F314ED,format.mintick) )
label.set_xy(etiket_F314ED,x = bar_index+1,y = F314ED)
if F314EY_Kontrol or F314
label.set_text(etiket_F314EY,text = "Lower 3.14 : "+ str.tostring(F314EY,format.mintick))
label.set_xy(etiket_F314EY,x = bar_index+1,y = F314EY)
else
label.set_text(etiket_F314ED,na)
label.set_x(etiket_F314ED,na)
label.set_y(etiket_F314ED,na)
label.set_text(etiket_F314EY,na)
label.set_x(etiket_F314EY,na)
label.set_y(etiket_F314EY,na)
var etiket_F3618ED = etiketgoster ? label.new(x = na,y = na,color=F3618RenkED,textcolor=F3618YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F3618EY = etiketgoster ? label.new(x = na,y = na,color=F3618RenkEY,textcolor=F3618YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F3618 == true or (otomatikgoster == true and (F3618ED_Kontrol == true or F3618EY_Kontrol == true))
if F3618ED_Kontrol or F3618
label.set_text(etiket_F3618ED,text = "Upper 3.618 : " + str.tostring(F3618ED,format.mintick) )
label.set_xy(etiket_F3618ED,x = bar_index+1,y = F3618ED)
if F3618EY_Kontrol or F3618
label.set_text(etiket_F3618EY,text = "Lower 3.618 : "+ str.tostring(F3618EY,format.mintick))
label.set_xy(etiket_F3618EY,x = bar_index+1,y = F3618EY)
else
label.set_text(etiket_F3618ED,na)
label.set_x(etiket_F3618ED,na)
label.set_y(etiket_F3618ED,na)
label.set_text(etiket_F3618EY,na)
label.set_x(etiket_F3618EY,na)
label.set_y(etiket_F3618EY,na)
var etiket_F4236ED = etiketgoster ? label.new(x = na,y = na,color=F4236RenkED,textcolor=F4236YaziRenkED,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
var etiket_F4236EY = etiketgoster ? label.new(x = na,y = na,color=F4236RenkEY,textcolor=F4236YaziRenkEY,style = label.style_label_left,size=etiketbuyuklukSecenek) : na
if F4236 == true or (otomatikgoster == true and (F4236ED_Kontrol == true or F4236EY_Kontrol == true))
if F4236ED_Kontrol or F4236
label.set_text(etiket_F4236ED,text = "Upper 4.236 : " + str.tostring(F4236ED,format.mintick) )
label.set_xy(etiket_F4236ED,x = bar_index+1,y = F4236ED)
if F4236EY_Kontrol or F4236
label.set_text(etiket_F4236EY,text = "Lower 4.236 : "+ str.tostring(F4236EY,format.mintick))
label.set_xy(etiket_F4236EY,x = bar_index+1,y = F4236EY)
else
label.set_text(etiket_F4236ED,na)
label.set_x(etiket_F4236ED,na)
label.set_y(etiket_F4236ED,na)
label.set_text(etiket_F4236EY,na)
label.set_x(etiket_F4236EY,na)
label.set_y(etiket_F4236EY,na)
var bitiscizgisi = BitisCizgisigoster ? line.new(na,na,na,na,extend = extend.both,color = BitisCizgisiRenk ): na
if BitisCizgisigoster
line.set_xy1(bitiscizgisi,bar_index+(Uzunluk-sayac),close)
line.set_xy2(bitiscizgisi,bar_index+(Uzunluk-sayac),close)
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Electrified (electrifiedtrading)
//@version=5
import Electrified/DataCleaner/7 as DC
import Electrified/Time/7
// Constants
CONFIRM = "Confirmation (Tolerance)", VOLATILITY = "Volatility", DEVIATION = "Deviation Measurement", DISPLAY = "Display", THEME = "Theme"
MINUTES = "Minutes", DAYS = "Days", BARS = "Bars"
UP = +1, DOWN = -1
clearColor = color.new(color.gray, 100)
// Parameters
volLen = math.min(4000, Time.spanToIntLen(
input.float(0.1, "", minval = 0.1, group=VOLATILITY, inline = VOLATILITY),
input.string(MINUTES, "", options=[BARS,MINUTES , DAYS], group=VOLATILITY, inline = VOLATILITY,
tooltip = "The amount of time/bars to measure the range of movement.")))
devMul = input.float(1, "Level", minval = 0.1, step = 0.1, group = DEVIATION,
tooltip = "The maximum deviation before a trend has been broken/reversed.")
devLen = Time.spanToIntLen(
input.float(100, "", minval = 0.1, group=DEVIATION, inline = DEVIATION),
input.string(BARS, "", options=[BARS, MINUTES, DAYS], group=DEVIATION, inline = DEVIATION,
tooltip = "The amount of time/bars to measure the deviation of the range."))
atrMul = input.float(0.5, "ATR Multiple", minval = 0, step = 0.5, group=CONFIRM,
tooltip="The tolerance to give confirmation based upon the weighted average true range.")
confirmBars = input.int(2, "Closed Bars", minval = 0, group=CONFIRM,
tooltip="The number of closed Bars that have to exceed the super-trend value before the trend reversal is confirmed.")
highlighting = input(true, "Show Highlighter ?", group=DISPLAY,
tooltip = "Paints the background depending on whether the trend is up or down.")
showLabels = input(false, title="Show Reversal Labels ?", group=DISPLAY,
tooltip = "Adds labels to identify the point of reversal.")
showMidpoint = input(false, "Show Middle Point ?", group=DISPLAY,
tooltip = "Displays the average of the upper and lower boundary.")
// Theme
upColor = input.color(color.green, "▲", group = THEME, inline = THEME)
dnColor = input.color(color.red, "▼", group = THEME, inline = THEME)
warnColor = input.color(color.yellow, "⚠", group = THEME, inline = THEME)
upPen = color.new(upColor, 25)
dnPen = color.new(dnColor, 25)
warnPen = color.new(warnColor, 25)
// Clamp/adjust lenghts that are too large
if(volLen>devLen)
devLen := volLen * 2
if(devLen > 4000)
devLen := 4000
// Determine the normalized true range (for Bars)
atr = ta.wma(DC.naOutliers(ta.tr, devLen, 2.5), devLen)
// Because the outliers become NA we need to carry over the tolerance from the previous bar
if na(atr)
atr := atr[1]
tolerance = atr * atrMul
calcDev(series float source) =>
ta.wma(source, devLen) + ta.wma(ta.stdev(source, math.min(devLen * 2, 4000)), devLen) * devMul
// Determine the range for the delta length
upDev = calcDev(math.max(high - low[volLen], 0))
dnDev = calcDev(math.max(high[volLen] - low, 0))
// Trend
var trend = 0
var upper = high
var lower = low
var brokenCount = 0
var wasTouched = false
warn = false
reversal = false
upperWarning = close > upper
lowerWarning = close < lower
upperBroken = close[1] - tolerance > upper
lowerBroken = close[1] + tolerance < lower
if trend == UP
// Touching the lower boundary resets the warning condition
if upperWarning
brokenCount := 0
wasTouched := false
if lowerWarning
wasTouched := true
warn := true
else
if lowerBroken
lower := low[1]
if upperBroken
brokenCount += 1
if trend == DOWN
// Touching the upper boundary resets the warning condition
if lowerWarning
brokenCount := 0
wasTouched := false
if upperWarning
wasTouched := true
warn := true
else
if upperBroken
upper := high[1]
if lowerBroken
warn := true
brokenCount += 1
if trend != UP
// If the low exceeds the threshold then confirmation is not required.
if brokenCount > confirmBars or low > upper + tolerance
trend := UP
upper := high[1]
reversal := true
else if trend != DOWN
// If the high exceeds the threshold then confirmation is not required.
if brokenCount > confirmBars or high < lower - tolerance
trend := DOWN
lower := low[1]
reversal := true
if reversal
wasTouched := false
brokenCount := 0
// Range adjustment
if low[1] + tolerance < upper - dnDev
upper := low[1] + dnDev
if high[1] - tolerance > lower + upDev
lower := high[1] - upDev
trendChange = ta.change(trend)
signalUp = trend == UP and trendChange > 0
signalDn = trend == DOWN and trendChange < 0
isTrendUp = trend[1] == UP
isTrendDn = trend[1] == DOWN
// Plots
upperPlot = plot(upper, "Upper ",
isTrendDn ? wasTouched[1] ? warnPen : dnPen : clearColor, 2, plot.style_linebr)
middle = (lower + upper) / 2
plot(middle, "Mid-Point",
isTrendUp ? upPen : isTrendDn ? dnPen : clearColor, 1, plot.style_circles,
display = showMidpoint ? display.all : display.status_line)
lowerPlot = plot(lower, "Lower",
isTrendUp ? wasTouched[1]?warnPen:upPen : clearColor, 2, plot.style_linebr)
// Labels
labelTextColor = showLabels ? color.black : clearColor
//plotshape(signalDn[1] ? upper[1] : na, "▼ Reversal", showLabels?shape.labeldown:shape.circle,
//location.absolute, dnColor, -1, "▼", labelTextColor, size=size.tiny, display = display.pane)
//plotshape(signalUp[1] ? lower[1] : na, "▲ Reversal", showLabels?shape.labelup:shape.circle,
//location.absolute, upColor, -1, "▲", labelTextColor, size=size.tiny, display = display.pane)
// Highlight
highlight = plot(highlighting ? ohlc4 : na, "OHLC4", clearColor, display=display.none)
//fill(highlight, upperPlot, upper, ohlc4, isTrendDn ? color.new(dnColor, 75) : clearColor, isTrendDn ? color.new(dnColor, 90) : clearColor, "▼ Highlight", display = highlighting ? display.all : display.none)
//fill(highlight, lowerPlot, lower, ohlc4, isTrendUp ? color.new(upColor, 75) : clearColor, isTrendUp ? color.new(upColor, 90) : clearColor, "▲ Highlight", display = highlighting ? display.all : display.none)
// Alerts
alertcondition(warn or reversal,
"1) Warning", message="Auto SuperTrend+ Warning ({{ticker}} {{interval}})")
alertcondition(reversal,
"2) Reversal", message="Auto SuperTrend+ Reversal ({{ticker}} {{interval}})")
alertcondition(isTrendUp ? close<middle : isTrendDn ? close>middle : false,
"3) Pullback", message="Auto SuperTrend+ Pullback ({{ticker}} {{interval}})")
alertcondition(signalUp,
"4) Up ▲ (+)", message="Auto SuperTrend+ Up ▲ (+) ({{ticker}} {{interval}})")
alertcondition(signalDn,
"5) Down ▼ (-)", message="Auto SuperTrend+ Down ▼ (-) ({{ticker}} {{interval}})")
/////////////////
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RafaelZioni
//@version=5
src = input(close)
tf = input(100)
len = timeframe.isintraday and timeframe.multiplier >= 1 ? tf / timeframe.multiplier * 7 : timeframe.isintraday and timeframe.multiplier < 60 ? 60 / timeframe.multiplier * 24 * 7 : 7
ma = ta.ema(src * close, len) / ta.ema(close, len)
//
src1 = ma
z(src1, len) =>
n = 0.0
s = 0.0
for i = 0 to len - 1 by 1
wr = (len - i) * len
n += wr
s += src[i] * wr
s
s / n
hm = 2.0 * z(src1, math.floor(len / 2)) - z(src1, len)
zhma = z(hm, math.floor(math.sqrt(len)))
lineColor = zhma > zhma[2] ? color.lime : color.red
plot(zhma, title='ZHMA', color=lineColor, linewidth=2)
hColor = true
vis = true
hu = hColor ? zhma > zhma[2] ? #00ff00 : #ff0000 : #ff9800
vl = zhma[0]
ll = zhma[2]
//m1 = plot(vl, color=hu, linewidth=1, transp=60)
//m2 = plot(vis ? ll : na, color=hu, linewidth=2, transp=80)
//fill(m1, m2, color=hu, transp=70)
c5 = zhma
f1 = 1
f2 = 1000
//
up = c5 - f1 * math.log(f2)
dn = c5 + f1 * math.log(f2)
//
factor = input.float(title='Factor', defval=0.1, minval=0.001, maxval=5, step=0.01)
hb = 0.00
hb := nz(hb[1])
hl = 0.000
hl := nz(hl[1])
lb = 0.00
lb := nz(lb[1])
l1 = 0.000
l1 := nz(l1[1])
c = 0
c := nz(c[1]) + 1
trend22 = 0
trend := nz(trend[1])
n = dn
x = up
if barstate.isfirst
c := 0
lb := n
hb := x
l1 := c5
hl := c5
hl
if c == 1
if x >= hb[1]
hb := x
hl := c5
trend22 := 1
trend22
else
lb := n
l1 := c5
trend22 := -1
trend22
if c > 1
if trend22[1] > 0
hl := math.max(hl[1], c5)
if x >= hb[1]
hb := x
hb
else
if n < hb[1] - hb[1] * factor
lb := n
l1 := c5
trend22 := -1
trend22
else
l1 := math.min(l1[1], c5)
if n <= lb[1]
lb := n
lb
else
if x > lb[1] + lb[1] * factor
hb := x
hl := c5
trend22 := 1
trend22
v = trend22 == 1 ? hb : trend22 == -1 ? lb : na
//plot(v, color=trend == 1 ? color.blue : color.yellow, style=plot.style_circles, linewidth=1, title='trend', ****=true, transp=0)
//
long = trend22 == 1 and trend22[1] == -1
short = trend22 == -1 and trend22[1] == 1
//
last_long = 0.0
last_short = 0.0
last_long := long ? time : nz(last_long[1])
last_short := short ? time : nz(last_short[1])
buy = ta.crossover(last_long, last_short)
sell = ta.crossover(last_short, last_long)
/////////////// Plotting ///////////////
//plotshape(buy, title='buy', text='Buy', color=color.new(color.green, 0), style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.new(color.white, 0)) //plot for buy icon
//plotshape(sell, title='sell', text='Sell', color=color.new(color.red, 0), style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.new(color.white, 0))
/////////////// Alerts ///////////////
alertcondition(buy, title='buy', message='Buy')
alertcondition(sell, title='sell', message='Sell')
////////////////////////
// Swing Bands
// Free for use. Header credits must be included when any form of the code included in this package is used.
// Any indicator built on this indicator needs to attribute the original author's work
// v1.0 - barbaros
//@version=5
pvtLenL = input.int(1, minval=1, title="Pivot Length Left Hand Side")
pvtLenR = input.int(1, minval=1, title="Pivot Length Right Hand Side")
maxcnt = input.int(2, minval=2, title="Max history")
var highs = array.new_float(0)
var lows = array.new_float(0)
pvthi = ta.pivothigh(high, pvtLenL, pvtLenR)
pvtlo = ta.pivotlow(low, pvtLenL, pvtLenR)
if not na(pvthi)
array.push(highs, pvthi)
if array.size(highs) > maxcnt
array.shift(highs)
if not na(pvtlo)
array.push(lows, pvtlo)
if array.size(lows) > maxcnt
array.shift(lows)
avghighs = array.avg(highs)
avglows = array.avg(lows)
midpoint = (avghighs + avglows) / 2
//p1 = plot(avghighs, offset = 0, color=color.green, title="Lead 1")
//p2 = plot(avglows, offset = 0, color=color.red, title="Lead 2")
//mid = plot(midpoint, offset = 0, color=color.white, title="Mid")
//fill(p1, p2, color.new(color.gray, 50))
direction = 0
direction := close > avghighs and close > open ? 1 : close < avglows and close < open ? -1 : direction[1]
barcolor(direction == 1 ? color.white : direction == -1 ? color.red : color.gray)
///////////////////////
//@version=5
// OHLC-Open High Low Close
// v1, 2022.10.06 — Shad Kearns - Twitter==>> @Shadlee26
TimeZone = input('GMT+3')
f_tickFormat() =>
string _s = str.tostring(syminfo.mintick)
_s := str.replace_all(_s, '25', '00')
_s := str.replace_all(_s, '5', '0')
_s := str.replace_all(_s, '1', '0')
_s
var string GP1 = 'viewing'
string i_tab1Ypos = input.string('bottom', 'Panel Pozisyon', inline='11', options=['top', 'middle', 'bottom'], group=GP1)
string i_tab1Xpos = input.string('center', '', inline='11', options=['left', 'center', 'right'], group=GP1)
var table tab1 = table.new(i_tab1Ypos + '_' + i_tab1Xpos, 2, 7, color.rgb(42, 46, 57), color.rgb(204, 204, 204), 1, color.rgb(204, 204, 204), 1)
table.cell(tab1, 0, 1, 'Açılış', text_halign=text.align_left, text_size=size.normal, text_color=color.white)
table.cell(tab1, 0, 2, 'Yüksek', text_halign=text.align_left, text_size=size.normal, text_color=color.white)
table.cell(tab1, 0, 3, 'Düşük', text_halign=text.align_left, text_size=size.normal, text_color=color.white)
table.cell(tab1, 0, 4, 'Kapanış', text_halign=text.align_left, text_size=size.normal, text_color=color.white)
table.cell(tab1, 0, 5, 'Değişim', text_halign=text.align_left, text_size=size.normal, text_color=color.white)
table.cell(tab1, 0, 6, '% Değişim ', text_halign=text.align_left, text_size=size.normal, text_color=color.white)
table.cell(tab1, 0, 0, str.tostring(year(timenow)), text_halign=text.align_center, text_size=size.normal, text_color=color.black, bgcolor=color.rgb(225, 204, 0))
table.cell(tab1, 1, 0, str.tostring(hour(timenow, TimeZone), '00:') + str.tostring(minute(timenow, TimeZone), '00:') + str.tostring(second(timenow, TimeZone), '00'), text_size=size.normal, text_color=color.black, bgcolor=color.rgb(225, 204, 0))
table.cell(tab1, 1, 1, str.tostring(open, f_tickFormat()), text_size=size.normal, text_color=color.white)
table.cell(tab1, 1, 2, str.tostring(high, f_tickFormat()), text_size=size.normal, text_color=color.rgb(9, 255, 0))
table.cell(tab1, 1, 3, str.tostring(low, f_tickFormat()), text_size=size.normal, text_color=color.red)
table.cell(tab1, 1, 4, str.tostring(close, f_tickFormat()), text_size=size.normal, text_color=color.white)
iff_1 = close[0] == close[1] ? color.rgb(42, 46, 57) : color.rgb(42, 46, 57)
iff_2 = close[0] < close[1] ? color.red : iff_1
table.cell(tab1, 1, 5, str.tostring(close[0] - close[1], f_tickFormat()), text_size=size.normal, text_color=color.white, bgcolor=close[0] > close[1] ? color.green : iff_2)
iff_3 = close[0] == close[1] ? color.rgb(42, 46, 57) : color.rgb(42, 46, 57)
iff_4 = close[0] < close[1] ? color.red : iff_3
table.cell(tab1, 1, 6, str.tostring((close[0] - close[1]) / open[0] * 100, '#.##') + ' %', text_size=size.normal, text_color=color.white, bgcolor=close[0] > close[1] ? color.green : iff_4)
/////////////////////////////
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// ©Misu
//@version=5
// import Fontiramisu/fontLib/86 as fontilab
import Fontiramisu/fontilab/11 as fontilab
// ] -------- Input --------------- [
src41 = input.source(close, "Source", group="Trend Settings")
len41 = input.int(5, "Length Atr", group = "Trend Settings")
mult41 = input.float(7.6, "Multiplier Atr", step = 0.1, group = "Trend Settings")
// To Remove.
colorbars = input.bool(true, "Color Bars", group = "UI Settings", inline="1")
showlmidbs = input.bool(true, "Show Label", group = "UI Settings", inline="1")
// Show table.
show_table = input.bool(true, "Show stats", group = "Table Settings")
show5min = input.bool(true, "Show 1m -------", group = "Table Settings", inline="2")
show15min = input.bool(true, "Show 5m", group = "Table Settings", inline="2")
show1h = input.bool(true, "Show 15m --------", group = "Table Settings", inline="3")
show4h = input.bool(true, "Show 1h", group = "Table Settings", inline="3")
show12h = input.bool(true, "Show 2h ------", group = "Table Settings", inline="4")
showD = input.bool(true, "Show 3h", group = "Table Settings", inline="4")
showW = input.bool(true, "Show 4h", group = "Table Settings", inline="5")
// ] -------- Vars --------------- [
// Period.
var string format = "{0,date,yyyy.MM.dd}"
var sTime = str.format(format, time_close)
eTime = str.format(format, time_close)
// Trend.
var utrendSum5m = 0, var dtrendSum5m = 0, var state5m = 99, utrendDom5m = 0.
var utrendSum15m = 0, var dtrendSum15m = 0, var state15m = 99, utrendDom15m = 0.
var utrendSum1h = 0, var dtrendSum1h = 0, var state1h = 99, utrendDom1h = 0.
var utrendSum4h = 0, var dtrendSum4h = 0, var state4h = 99, utrendDom4h = 0.
var utrendSum12h = 0, var dtrendSum12h = 0, var state12h = 99, utrendDom12h = 0.
var utrendSumD = 0, var dtrendSumD = 0, var stateD = 99, utrendDomD = 0.
var utrendSumW = 0, var dtrendSumW = 0, var stateW = 99, utrendDomW = 0.
// ] -------- Function ----------------- [
// @function: get trend dominance.
getTrendDom(midb, utrendSum, dtrendSum, state) =>
trendUp = nz(midb[1]) ? midb > midb[1] : false
trendDown = nz(midb[1]) ? midb < midb[1] : false
stateNew = trendUp ? 1 : trendDown ? -1 : state
utrendSumNew = state == 1 ? utrendSum + 1 : utrendSum
dtrendSumNew = state == -1 ? dtrendSum + 1 : dtrendSum
[utrendSumNew, dtrendSumNew, stateNew, math.round(utrendSum / (utrendSum + dtrendSum) * 100, 1)]
// ] -------- Dominance Trend Logic ----------------- [
// Get multi timeframe trend.
deltaAtr = mult41 * ta.atr(len41)
// Get Trend Doms.
// 5m.
[midb5m, upperb5m, lowerb5m] = request.security(syminfo.tickerid, "1", fontilab.getTrendBands(src41, deltaAtr), lookahead = barmerge.lookahead_on)
[utrendSum5mDup, dtrendSum5mDup, state5mDup, utrendDom5mDup] = getTrendDom(midb5m, utrendSum5m, dtrendSum5m, state5m)
utrendSum5m := utrendSum5mDup
dtrendSum5m := dtrendSum5mDup
state5m := state5mDup
utrendDom5m := utrendDom5mDup
// 15m.
[midb15m, upperb15m, lowerb15m] = request.security(syminfo.tickerid, "5", fontilab.getTrendBands(src41, deltaAtr), lookahead = barmerge.lookahead_on)
[utrendSum15mDup, dtrendSum15mDup, state15mDup, utrendDom15mDup] = getTrendDom(midb15m, utrendSum15m, dtrendSum15m, state15m)
utrendSum15m := utrendSum15mDup
dtrendSum15m := dtrendSum15mDup
state15m := state15mDup
utrendDom15m := utrendDom15mDup
// 1h.
[midb1h, upperb1h, lowerb1h] = request.security(syminfo.tickerid, "15", fontilab.getTrendBands(src41, deltaAtr), lookahead = barmerge.lookahead_on)
[utrendSum1hDup, dtrendSum1hDup, state1hDup, utrendDom1hDup] = getTrendDom(midb1h, utrendSum1h, dtrendSum1h, state1h)
utrendSum1h := utrendSum1hDup
dtrendSum1h := dtrendSum1hDup
state1h := state1hDup
utrendDom1h := utrendDom1hDup
// 4h.
[midb4h, upperb4h, lowerb4h] = request.security(syminfo.tickerid, "60", fontilab.getTrendBands(src41, deltaAtr), lookahead = barmerge.lookahead_on)
[utrendSum4hDup, dtrendSum4hDup, state4hDup, utrendDom4hDup] = getTrendDom(midb4h, utrendSum4h, dtrendSum4h, state4h)
utrendSum4h := utrendSum4hDup
dtrendSum4h := dtrendSum4hDup
state4h := state4hDup
utrendDom4h := utrendDom4hDup
// 12h.
[midb12h, upperb12h, lowerb12h] = request.security(syminfo.tickerid, "120", fontilab.getTrendBands(src41, deltaAtr), lookahead = barmerge.lookahead_on)
[utrendSum12hDup, dtrendSum12hDup, state12hDup, utrendDom12hDup] = getTrendDom(midb12h, utrendSum12h, dtrendSum12h, state12h)
utrendSum12h := utrendSum12hDup
dtrendSum12h := dtrendSum12hDup
state12h := state12hDup
utrendDom12h := utrendDom12hDup
// D.
[midbD, upperbD, lowerbD] = request.security(syminfo.tickerid, "180", fontilab.getTrendBands(src41, deltaAtr), lookahead = barmerge.lookahead_on)
[utrendSumDDup, dtrendSumDDup, stateDDup, utrendDomDDup] = getTrendDom(midbD, utrendSumD, dtrendSumD, stateD)
utrendSumD := utrendSumDDup
dtrendSumD := dtrendSumDDup
stateD := stateDDup
utrendDomD := utrendDomDDup
// W.
[midbW, upperbW, lowerbW] = request.security(syminfo.tickerid, "240", fontilab.getTrendBands(src41, deltaAtr), lookahead = barmerge.lookahead_on)
[utrendSumWDup, dtrendSumWDup, stateWDup, utrendDomWDup] = getTrendDom(midbW, utrendSumW, dtrendSumW, stateW)
utrendSumW := utrendSumWDup
dtrendSumW := dtrendSumWDup
stateW := stateWDup
utrendDomW := utrendDomWDup
// ] -------- Period Logic ----------------- [
// ] -------- Plot Part --------------- [
// var color colorTrend = na
// colorTrend := state == -1 ? color.red : state == 1 ? color.green : state == 99 ? color.gray : nz(colorTrend[1])
// barcolor(colorbars ? colorTrend : na)
// plot(upperb, "Upper Band", color = colorTrend, linewidth = 2)
// plot(lowerb, "Lower Band", color = colorTrend, linewidth = 2)
// ] -------- Alerts ----------------- [
// alertcondition(buyCond, title = "Long", message = "ATR Trend Bands [Misu]: Long\nSymbol: {{ticker}}\nPrice: {{close}}")
// alertcondition(sellCond, title = "Short", message = "ATR Trend Bands [Misu]: Short\nSymbol: {{ticker}}\nPrice: {{close}}")
// ] -------- Show results ----------------- [
// Period color.
pColor5m = not na(utrendDom5m) ? utrendDom5m >= 50 ? color.new(color.green, 20) : color.new(color.red, 20) : color.gray
pColor15m = not na(utrendDom15m) ? utrendDom15m >= 50 ? color.new(color.green, 20) : color.new(color.red, 20) : color.gray
pColor1h = not na(utrendDom1h) ? utrendDom1h >= 50 ? color.new(color.green, 20) : color.new(color.red, 20) : color.gray
pColor4h = not na(utrendDom4h) ? utrendDom4h >= 50 ? color.new(color.green, 20) : color.new(color.red, 20) : color.gray
pColor12h = not na(utrendDom12h) ? utrendDom12h >= 50 ? color.new(color.green, 20) : color.new(color.red, 20) : color.gray
pColorD = not na(utrendDomD) ? utrendDomD >= 50 ? color.new(color.green, 20) : color.new(color.red, 20) : color.gray
pColorW = not na(utrendDomW) ? utrendDomW >= 50 ? color.new(color.green, 20) : color.new(color.red, 20) : color.gray
// Last color.
lColor5m = state5m == 1 ? color.new(color.green, 20) : state5m == -1 ? color.new(color.red, 20) : color.gray
lColor15m = state15m == 1 ? color.new(color.green, 20) : state15m == -1 ? color.new(color.red, 20) : color.gray
lColor1h = state1h == 1 ? color.new(color.green, 20) : state1h == -1 ? color.new(color.red, 20) : color.gray
lColor4h = state4h == 1 ? color.new(color.green, 20) : state4h == -1 ? color.new(color.red, 20) : color.gray
lColor12h = state12h == 1 ? color.new(color.green, 20) : state12h == -1 ? color.new(color.red, 20) : color.gray
lColorD = stateD == 1 ? color.new(color.green, 20) : stateD == -1 ? color.new(color.red, 20) : color.gray
lColorW = stateW == 1 ? color.new(color.green, 20) : stateW == -1 ? color.new(color.red, 20) : color.gray
// // Last Text.
lTxt5m = state5m == 1 ? "▲" : state5m == -1 ? "▼" : "X"
lTxt15m = state15m == 1 ? "▲" : state15m == -1 ? "▼" : "X"
lTxt1h = state1h == 1 ? "▲" : state1h == -1 ? "▼" : "X"
lTxt4h = state4h == 1 ? "▲" : state4h == -1 ? "▼" : "X"
lTxt12h = state12h == 1 ? "▲" : state12h == -1 ? "▼" : "X"
lTxtD = stateD == 1 ? "▲" : stateD == -1 ? "▼" : "X"
lTxtW = stateW == 1 ? "▲" : stateW == -1 ? "▼" : "X"
// ▼
if show_table
var ATHtable = table.new(position.bottom_right, 10, 11, frame_color=#162815, frame_width=1, border_width=2, border_color=color.new(color.white, 100)) //table.new(position.top_right, 6, 41, frame_color=#151715, frame_width=1, border_width=2, border_color=color.new(color.white, 100))
// var table ATHtable = table.new(position.bottom_right, 10, 10, frame_color = color.gray, bgcolor = color.gray, border_width = 1, frame_width = 1, border_color = color.white)
// Header
table.cell(ATHtable, 0, 0, 'Period', bgcolor=color.new(color.gray, 40), text_color=color.white, text_size=size.small)
table.cell(ATHtable, 1, 0, str.tostring(sTime) + " - " + str.tostring(eTime), bgcolor = color.new(color.gray, 40), text_color=color.white, text_size=size.small)
table.cell(ATHtable, 2, 0, "last", bgcolor = color.new(color.gray, 40), text_color=color.white, text_size=size.small)
if show5min
table.cell(ATHtable, 0, 1, "1m", bgcolor=color.new(color.gray, 10), text_color=color.white, text_size=size.small)
table.cell(ATHtable, 1, 1, str.tostring(utrendDom5m) + "% / " + str.tostring(100 - utrendDom5m) + "%", bgcolor=pColor5m, text_color=color.white, text_size=size.small)
table.cell(ATHtable, 2, 1, lTxt5m, bgcolor=lColor5m, text_color=color.white, text_size=size.small)
if show15min
table.cell(ATHtable, 0, 2, '5m', bgcolor=color.new(color.gray, 10), text_color=color.white, text_size=size.small)
table.cell(ATHtable, 1, 2, str.tostring(utrendDom15m) + "% / " + str.tostring(100 - utrendDom15m) + "%", bgcolor=pColor15m, text_color=color.white, text_size=size.small)
table.cell(ATHtable, 2, 2, lTxt15m, bgcolor=lColor15m, text_color=color.white, text_size=size.small)
if show1h
table.cell(ATHtable, 0, 3, '15m', bgcolor=color.new(color.gray, 10), text_color=color.white, text_size=size.small)
table.cell(ATHtable, 1, 3, str.tostring(utrendDom1h) + "% / " + str.tostring(100 - utrendDom1h) + "%", bgcolor=pColor1h, text_color=color.white, text_size=size.small)
table.cell(ATHtable, 2, 3, lTxt1h, bgcolor=lColor1h, text_color=color.white, text_size=size.small)
if show4h
table.cell(ATHtable, 0, 4, '1h', bgcolor=color.new(color.gray, 10), text_color=color.white, text_size=size.small)
table.cell(ATHtable, 1, 4, str.tostring(utrendDom4h) + "% / " + str.tostring(100 - utrendDom4h) + "%", bgcolor=pColor4h, text_color=color.white, text_size=size.small)
table.cell(ATHtable, 2, 4, lTxt4h, bgcolor=lColor4h, text_color=color.white, text_size=size.small)
if show12h
table.cell(ATHtable, 0, 5, '2h', bgcolor=color.new(color.gray, 10), text_color=color.white, text_size=size.small)
table.cell(ATHtable, 1, 5, str.tostring(utrendDom12h) + "% / " + str.tostring(100 - utrendDom12h) + "%", bgcolor=pColor12h, text_color=color.white, text_size=size.small)
table.cell(ATHtable, 2, 5, lTxt12h, bgcolor=lColor12h, text_color=color.white, text_size=size.small)
if showD
table.cell(ATHtable, 0, 6, '3h', bgcolor=color.new(color.gray, 10), text_color=color.white, text_size=size.small)
table.cell(ATHtable, 1, 6, str.tostring(utrendDomD) + "% / " + str.tostring(100 - utrendDomD) + "%", bgcolor=pColorD, text_color=color.white, text_size=size.small)
table.cell(ATHtable, 2, 6, lTxtD, bgcolor=lColorD, text_color=color.white, text_size=size.small)
if showW
table.cell(ATHtable, 0, 7, '4h', bgcolor=color.new(color.gray, 10), text_color=color.white, text_size=size.small)
table.cell(ATHtable, 1, 7, str.tostring(utrendDomW) + "% / " + str.tostring(100 - utrendDomW) + "%", bgcolor=pColorW, text_color=color.white, text_size=size.small)
table.cell(ATHtable, 2, 7, lTxtW, bgcolor=lColorW, text_color=color.white, text_size=size.small)
// ]
Yer İmleri