Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //@version=5
- indicator("fxOpens", "fxOpens ", overlay=true)
- //Inputs
- midnightToggle = input.bool(true,"Enabled", inline="nymid", group="New York Midnight")
- midnight_time = input.session('0000-0001:1234567', "NY Midnight", group="New York Midnight")
- midnight_color = input.color(#ff8000, "", inline="nymid", group="New York Midnight")
- midnight_linestyle = input.string("Solid", "", options=["Solid", "Dotted", "Dashed"], inline="nymid", group="New York Midnight")
- nyToggle = input.bool(true,"Enabled","", inline="ny", group="New York Open")
- ny_time = input.session('0800-0801:1234567', "NY open", group="New York Open")
- ny_color = input.color(#ff8000, "", inline="ny", group="New York Open")
- ny_linestyle = input.string("Solid", "", options=["Solid", "Dotted", "Dashed"], inline="ny", group="New York Open")
- londonToggle = input.bool(true,"Enabled", inline="lnd", group="London Open")
- london_time = input.session('0300-0301:1234567', "London Open", group="London Open")
- london_color = input.color(#0000FF, "", inline="lnd", group="London Open")
- london_linestyle = input.string("Solid", "", options=["Solid", "Dotted", "Dashed"], inline="lnd", group="London Open")
- tokyoToggle = input.bool(true,"Enabled","", inline="tko", group="Tokyo Open")
- tokyo_time = input.session('1900-1901:1234567', "Tokyo Open", group="Tokyo Open")
- tokyo_color = input.color(#FF00FF, "", inline="tko", group="Tokyo Open")
- tokyo_linestyle = input.string("Solid", "", options=["Solid", "Dotted", "Dashed"], inline="tko", group="Tokyo Open")
- label_size = input.string("Small", "Size", options=["Small", "Normal", "Huge"], group="Labels")
- labelOffset = (input.int(5,"Label Offset", group="Labels") * timeframe.multiplier*600000)
- nymid = time("1", midnight_time)
- nyopen = time("1", ny_time)
- londonopen = time("1", london_time)
- tokyoopen = time("1", tokyo_time)
- linestyle_mid = midnight_linestyle == "Solid" ? line.style_solid : midnight_linestyle == "Dotted" ? line.style_dotted : line.style_dashed
- linestyle_ny = ny_linestyle == "Solid" ? line.style_solid : ny_linestyle == "Dotted" ? line.style_dotted : line.style_dashed
- linestyle_london = london_linestyle == "Solid" ? line.style_solid : london_linestyle == "Dotted" ? line.style_dotted : line.style_dashed
- linestyle_tokyo = tokyo_linestyle == "Solid" ? line.style_solid : tokyo_linestyle == "Dotted" ? line.style_dotted : line.style_dashed
- labelSize = label_size == "Small" ? size.small : label_size == "Normal" ? size.normal : size.huge
- //Midnight
- var opmid = 0.0
- if nymid
- if not nymid[1]
- opmid := open
- else
- opmid := math.max(open, opmid)
- //NY
- var opny = 0.0
- if nyopen
- if not nyopen[1]
- opny := open
- else
- opny := math.max(open, opny)
- //London
- var oplondon = 0.0
- if londonopen
- if not londonopen[1]
- oplondon := open
- else
- oplondon := math.max(open, oplondon)
- //Tokyo
- var optokyo = 0.0
- if tokyoopen
- if not tokyoopen[1]
- optokyo := open
- else
- optokyo := math.max(open, optokyo)
- //Midnight
- var label lb = na
- var line lne = na
- if midnightToggle
- if opmid != opmid[1]
- if barstate.isconfirmed
- line.set_x2(lne, nymid)
- lne := line.new(nymid, opmid, last_bar_time, opmid, xloc.bar_time, extend.right, midnight_color, linestyle_mid, 1)
- lb := label.new(last_bar_time + labelOffset, opmid, "NY Midnight", xloc.bar_time, yloc.price, na, label.style_none, midnight_color, labelSize, text.align_right)
- label.delete(lb[1])
- line.delete(lne[1])
- //NY
- var label la = na
- var line lna = na
- if nyToggle
- if opny != opny[1]
- if barstate.isconfirmed
- line.set_x2(lna, nyopen)
- lna := line.new(nyopen, opny, last_bar_time, opny, xloc.bar_time, extend.right, ny_color, linestyle_ny, 1)
- la := label.new(last_bar_time + labelOffset, opny, "NY Open", xloc.bar_time, yloc.price, na, label.style_none, ny_color, labelSize, text.align_right)
- label.delete(la[1])
- line.delete(lna[1])
- //London
- var label la_lnd = na
- var line lna_lnd = na
- if londonToggle
- if oplondon != oplondon[1]
- if barstate.isconfirmed
- line.set_x2(lna_lnd, londonopen)
- lna_lnd := line.new(londonopen, oplondon, last_bar_time, oplondon, xloc.bar_time, extend.right, london_color, linestyle_london, 1)
- la_lnd := label.new(last_bar_time + labelOffset , oplondon, "London Open", xloc.bar_time, yloc.price, na, label.style_none, london_color, labelSize, text.align_right)
- label.delete(la_lnd[1])
- line.delete(lna_lnd[1])
- //Tokyo
- var label la_tko = na
- var line lna_tko = na
- if tokyoToggle
- if optokyo != optokyo[1]
- if barstate.isconfirmed
- line.set_x2(lna_tko, tokyoopen)
- lna_tko := line.new(tokyoopen, optokyo, last_bar_time, optokyo, xloc.bar_time, extend.right, tokyo_color, linestyle_tokyo, 1)
- la_tko := label.new(last_bar_time + labelOffset , optokyo, "Tokyo Open", xloc.bar_time, yloc.price, na, label.style_none, tokyo_color, labelSize, text.align_right)
- label.delete(la_tko[1])
- line.delete(lna_tko[1])
- //Alerts
- nymidCross = ta.cross(close, opmid)
- nyCross = ta.cross(close, opny)
- londonCross = ta.cross(close, oplondon)
- tokyoCross = ta.cross(close, optokyo)
- alertcondition(condition=nymidCross, title="Crossing New York Midnight", message="Crossing New York Midnight Price")
- alertcondition(condition=nyCross, title="Crossing New York Open", message="Crossing New York Open Price")
- alertcondition(condition=londonCross, title="Crossing London Open", message="Crossing London Open Price")
- alertcondition(condition=tokyoCross, title="Crossing Tokyo Open", message="Crossing Tokyo Open Price")
Advertisement
Add Comment
Please, Sign In to add comment