# Global Market Opens and Closes
# Vertical lines mark all open and closes
# Horizontal lines mark US, AUD opens and closes
# ThinkScript Chat Room Group
# Added Close / Open Lines for US and AUD
declare hide_on_daily;
input Plot_Verticle_Line = yes;
input Show_US = yes;
input Show_London = yes;
input Show_Sydney = yes;
input Show_Asian = yes; #HINT Show_Asian: IMPORTANT, BE SURE to adjust for part of year where USA goes to Daylight Savings but Asia remains on Standard time
input US_Open = 0930;
input US_Close = 1600;
input GBP_Open = 0300;
input GBP_Close = 1130;
input AUD_Open = 1800;
input AUD_Close = 0000;
input JPY_Open = 1900; #HINT JPY_Open: IMPORTANT, BE SURE to adjust for part of year where USA goes to Daylight Savings but Asia remains on Standard time
input JPY_Close = 0100; #HINT JPT_Close: IMPORTANT, BE SURE to adjust for part of year where USA goes to Daylight Savings but Asia remains on Standard time
input US_Bond_Close = 1500;
input Metals_Futures_Close = 1700;
#US
AddVerticalLine(secondsFromTime(US_Open)[1] < 0 && secondsFromTime(US_Open) >= 0 and
Plot_Verticle_Line and
Show_US, concat("US_Open", ""), Color.Green, curve.POINTS);
AddVerticalLine(secondsFromTime(US_Close)[1] < 0 && secondsFromTime(US_Close) >= 0 and
Plot_Verticle_Line and
Show_US, concat("US_Close", ""), Color.Green, curve.POINTS);
#AUD
def AUDopen = if secondsFromTime(AUD_Open)[1] < 0 &&
secondsFromTime(AUD_Open) >= 0
then barnumber()
else AUDopen[1];
def DataAUDopenLine = if barnumber()-1 == AudOpen
then if IsNaN(barnumber())
then HighestAll(open[1])
else open[1]
else DataAUDopenLine[1];
AddVerticalLine(secondsFromTime(AUD_Open)[1] < 0 &&
secondsFromTime(AUD_Open) >= 0 and
Plot_Verticle_Line and
Show_Sydney, concat("AUD_Open", " "), Color.Yellow, curve.POINTS);
def AUDclose = if secondsFromTime(AUD_Close)[1] < 0 &&
secondsFromTime(AUD_Close) >= 0
then barnumber()
else AUDclose[1];
def DataAUDcloseLine = if barnumber()-1 == Audclose
then if IsNaN(barnumber())
then HighestAll(close[1])
else close[1]
else DataAUDcloseLine[1];
AddVerticalLine(secondsFromTime(AUD_Close)[1]<0 && secondsFromTime(AUD_Close) >=0 and
Plot_Verticle_Line and
Show_Sydney, concat("AUD_Close",""),Color.Yellow, curve.POINTS);
# JPY
AddVerticalLine(secondsFromTime(JPY_Open)[1] < 0 &&
secondsFromTime(JPY_Open) >= 0 and
Plot_Verticle_Line and
Show_Asian, concat("JPY_Open", ""), Color.Red, curve.POINTS);
AddVerticalLine(secondsFromTime(JPY_Close)[1] < 0 &&
secondsFromTime(JPY_Close) >= 0 and
Plot_Verticle_Line and
Show_Asian, concat("JPY_Close", ""), Color.Red, curve.POINTS);
# GBP
AddVerticalLine(secondsFromTime(GBP_Open)[1] < 0 &&
secondsFromTime(GBP_Open) >= 0 and
Plot_Verticle_Line and
Show_London, concat("GBP_Open", ""), Color.Blue, curve.POINTS);
AddVerticalLine(secondsFromTime(GBP_Close)[1] < 0 &&
secondsFromTime(GBP_Close) >= 0 and
Plot_Verticle_Line and
Show_London, concat("GBP_Close", ""), Color.Blue, curve.POINTS);
# US Bond Close
AddVerticalLine(secondsFromTime(US_Bond_Close)[1] < 0 &&
secondsFromTime(US_Bond_Close) >= 0 and
Plot_Verticle_Line and
Show_London, concat("US_Bond_Close", ""), Color.Plum, curve.POINTS);
# Metals Futures Close
AddVerticalLine(secondsFromTime(Metals_Futures_Close)[1] < 0 &&
secondsFromTime(Metals_Futures_Close) >= 0 and
Plot_Verticle_Line and
Show_London, concat("Metal_Futs_Close", ""), Color.Orange, curve.POINTS);
# End Code
Join useThinkScript to post your question to a community of 21,000+ developers and traders.
# Time Reminders
AddVerticalLine(secondsTillTime(0930) == 0, "RTH", color.cyan, Curve.Short_Dash);
AddVerticalLine(secondsTillTime(1030) == 0, "End EU", color.cyan, Curve.Short_Dash);
AddVerticalLine(secondsTillTime(1200) == 0, "Lunch", color.cyan, Curve.Short_Dash);
AddVerticalLine(secondsTillTime(1500) == 0, "Lst Hr", color.cyan, Curve.Short_Dash);
AddVerticalLine(secondsTillTime(1615) == 0, "RTH End", color.cyan, Curve.Short_Dash);
declare upper;
def t_bars = highestAll(barNumber());
addVerticalLine(barNumber() == t_bars - 10, "-10", color.lime);
Here is some example code to help you along... For more information, check out the AddVerticalLine() function in the Learning Center...Thanx for the reply...but what about a singular vertical line just for purposes of marking reference period on the chart?
input Start = 0930;
input End = 1600;
def StartTime = SecondsFromTime(Start) == 0;
def EndTime = SecondsFromTime(End) == 0;
AddVerticalLine(StartTime, "Start", Color.GREEN, Curve.SHORT_DASH);
AddVerticalLine(EndTime, "End", Color.GREEN, Curve.SHORT_DASH);
Thread starter | Similar threads | Forum | Replies | Date |
---|---|---|---|---|
W | Vertical Lines and times | Questions | 4 | |
Intra Day Trend Potential Vertical Lines & Shading | Questions | 2 | ||
vertical signal lines full chart | Questions | 3 | ||
B | Vertical Lines Peaks Alerts | Questions | 3 | |
C | Vertical Lines Indicator Needed | Questions | 1 |
Start a new thread and receive assistance from our community.
useThinkScript is the #1 community of stock market investors using indicators and other tools to power their trading strategies. Traders of all skill levels use our forums to learn about scripting and indicators, help each other, and discover new ways to gain an edge in the markets.
We get it. Our forum can be intimidating, if not overwhelming. With thousands of topics, tens of thousands of posts, our community has created an incredibly deep knowledge base for stock traders. No one can ever exhaust every resource provided on our site.
If you are new, or just looking for guidance, here are some helpful links to get you started.