# Find Initial Balance from the first two 30 minute bars

#### shakib3585

##### Active member
VIP
Hello All,

Could someone please help me in creating a script to calculate the initial balance, defined as the difference between the highest high and lowest low, based on the first two candles within a 30-minute interval throughout an entire trading session? This trading session should encompass pre-market, regular trading hours, and post-market. I've applied a code using a previous script by @Tiredoflosing (attached below), but I'm unable to track the initial two bars within a 30-minute aggregation based of an entire trading session. Your help is greatly appreciated.

Thanks
Code:
``````input opentime = 0930;
input ORend = 1030;
input opacity = 1;
def na = Double.NaN;
#
# Check if the opening range time is now
#
def ORActive = if GetLastDay() == GetDay() and SecondsFromTime(opentime) >= 0 and SecondsFromTime(ORend) <
0 then 1 else 0;
#
# Track the OR high and low
#
def ORHigh = if ORActive then high else na;
def ORLow = if ORActive then low else na;
#
# Plot the OR high and low
#
plot ORAH = if GetLastDay() != GetDay() or !ORActive then na else HighestAll(ORHigh);
plot ORAL = if GetLastDay() != GetDay() or !ORActive then na else LowestAll(ORLow);
plot ORH = if GetLastDay() != GetDay() or SecondsFromTime(ORend) < 0 then na else HighestAll(ORHigh);
plot ORL = if GetLastDay() != GetDay() or SecondsFromTime(ORend) < 0 then na else LowestAll(ORLow);
#
# Formatting
#
ORAH.SetStyle(Curve.SHORT_DASH);
ORAL.SetStyle(Curve.SHORT_DASH);
ORAH.SetDefaultColor(Color.GREEN);
ORAL.SetDefaultColor(Color.RED);
ORH.SetStyle(Curve.SHORT_DASH);
ORL.SetStyle(Curve.SHORT_DASH);
ORH.SetDefaultColor(Color.GREEN);
ORL.SetDefaultColor(Color.RED);``````

UPDATE:
found a code online and solved it by slight tweaking. Any feedback is appreciated
Code:
``````def firstBarNumber = if GetDay() == GetLastDay() and SecondsFromTime(0400) >= 0 and SecondsTillTime(0500) >= 1 then BarNumber() else firstBarNumber[1];

#First Bar Info

def high1 = if BarNumber() == firstBarNumber then high(period = aggregationPeriod.HOUR) else high1[1];

def low1 = if BarNumber() == firstBarNumber then low(period = aggregationPeriod.HOUR) else low1[1];

def rangeBar1 = (high1 - low1);

plot a=rangeBar1;``````

Last edited by a moderator:

### Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
228 Online

## The Market Trading Game Changer

Join 2,500+ subscribers inside the useThinkScript VIP Membership Club
• Exclusive indicators
• Proven strategies & setups
• Private Discord community
• Exclusive members-only content
• Add-ons and resources
• 1 full year of unlimited support

### Frequently Asked Questions

What is useThinkScript?

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.

How do I get started?

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.

What are the benefits of VIP Membership?