NexusFi: Find Your Edge


Home Menu

 





Vertical Line


Discussion in ThinkOrSwim

Updated
    1. trending_up 1,253 views
    2. thumb_up 1 thanks given
    3. group 4 followers
    1. forum 2 posts
    2. attach_file 0 attachments




 
Search this Thread
  #1 (permalink)
 elgaza 
Toronto Canada
 
Experience: Master
Platform: NinjaTrader 7
Trading: ES
Posts: 109 since Jul 2011
Thanks Given: 16
Thanks Received: 18

Hi
I have this one line code that draws vertical lines every hour
can anyone add the needed code to allow this only on 1M and 5M charts?

thank you so much

AddVerticalLine(GetTime() % AggregationPeriod.HOUR == 0, color = Color.ORANGE, stroke = Curve.LONG_DASH);


Started this thread Reply With Quote

Can you help answer these questions
from other members on NexusFi?
Tradeify 3.0 Overhauls Futures Prop Firm Model -- One-Ti …
Funded Trading Evaluation Firms
Cboe Launches BITVX Bitcoin Volatility Index and Unveils …
Prediction Markets & Event Contracts
Election Sunday Resolves: Peru Heads to Runoff at 42pct, …
Prediction Markets & Event Contracts
February NFP Preview -- Why This Mornings Jobs Number Co …
Traders Hideout
Al Arabiya: US-Iran Draft Deal Within Hours Contains Hor …
Prediction Markets & Event Contracts
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Sober Journey With S&P
23 thanks
2026 Jlab journal
10 thanks
Trying to learn Volume and price action correlation
8 thanks
Algo automated / semi-automated trading anyone?
6 thanks
Lady Vols Primer: Trading Volatility Journal
6 thanks
  #2 (permalink)
ColoradoCliff
Parker CO/USA
 
Posts: 22 since Jun 2017
Thanks Given: 0
Thanks Received: 5

Here's some code that should give you what you're looking for. It's not quite as simple as you would have thought. Note that this code is specifically for the 1M & 5M TimeFrame only. It would not be difficult to modify it to support any timeframe up to 1Hour. Right now, it doesn't draw the vertical lines overnight from midnight to market open (ET).

#***********

Def validChartTime = GetAggregationPeriod() == AggregationPeriod.MIN or GetAggregationPeriod() == AggregationPeriod.FIVE_Min;
# Modify this line to support other/additional timeframe charts

Def sessionStartTime = RegularTradingStart(GetYYYYMMDD());
## Expected session start time is 0930 ET

Def secondsFromStart = (GetTime() - sessionStartTime)/1000;
## Need to know what the start time of the candle is and whether or not it's at the top of the hour

Def onHour = secondsFromStart % 1800 < 1 and secondsFromStart % 3600 > 1;
## There are 3600 seconds per hour.
## For it to be on the top of the hour, the number must be divisible by 1800 (30 mins) but not by 3600

AddVerticalLine(validChartTime and onHour, color = Color.ORANGE, stroke = Curve.LONG_DASH);

#***********



elgaza View Post
Hi
I have this one line code that draws vertical lines every hour
can anyone add the needed code to allow this only on 1M and 5M charts?

thank you so much

AddVerticalLine(GetTime() % AggregationPeriod.HOUR == 0, color = Color.ORANGE, stroke = Curve.LONG_DASH);


Reply With Quote
Thanked by:
  #3 (permalink)
badiboy
BIRMINGHAM
 
Posts: 7 since Oct 2020
Thanks Given: 4
Thanks Received: 2


Playing with this code for fun, it doesn't;t have all checks balances, inputs will allow for flexibility

input vertLinePeriod = AggregationPeriod.HOUR;
input allowedPeriod_1 = AggregationPeriod.MIN;
input allowedPeriod_2 = AggregationPeriod.FIVE_MIN;


def canDrawVertLine = GetAggregationPeriod() == allowedPeriod_1 OR GetAggregationPeriod() == allowedPeriod_2;
AddVerticalLine(canDrawVertLine and GetTime() % vertLinePeriod == 0, color = Color.ORANGE, stroke = Curve.LONG_DASH);








ColoradoCliff View Post
Here's some code that should give you what you're looking for. It's not quite as simple as you would have thought. Note that this code is specifically for the 1M & 5M TimeFrame only. It would not be difficult to modify it to support any timeframe up to 1Hour. Right now, it doesn't draw the vertical lines overnight from midnight to market open (ET).

#***********

Def validChartTime = GetAggregationPeriod() == AggregationPeriod.MIN or GetAggregationPeriod() == AggregationPeriod.FIVE_Min;
# Modify this line to support other/additional timeframe charts

Def sessionStartTime = RegularTradingStart(GetYYYYMMDD());
## Expected session start time is 0930 ET

Def secondsFromStart = (GetTime() - sessionStartTime)/1000;
## Need to know what the start time of the candle is and whether or not it's at the top of the hour

Def onHour = secondsFromStart % 1800 < 1 and secondsFromStart % 3600 > 1;
## There are 3600 seconds per hour.
## For it to be on the top of the hour, the number must be divisible by 1800 (30 mins) but not by 3600

AddVerticalLine(validChartTime and onHour, color = Color.ORANGE, stroke = Curve.LONG_DASH);

#***********


Reply With Quote




Last Updated on October 21, 2023


© 2026 NexusFi®, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Downloads - Top
no new posts