Day Trading /ES Futures (POC, VWAP, HOD, LOD, MID, ONH, ONL, ONMID and same for prior day & Week)

Started learning and trading micro ES futures on the TOS platform. Got some information for the levels mentioned in the title after a search. Any help in creating or providing a reference or direction to create the levels on the chart is very highly appreciated (POC = Point of Control, VWAP = Volume Weighted Average Price, HOD = High of the Day, LOD = Low of the Day, MID = Mid of the Day, ONH = Over Night High, ONL = Over Night Low, ONMID = OverNight Mid and same for prior day and prior week).
 
Solution
VWAP is a great indicator because its used by every big institution. One thing I personally use is the built in VWAP with 3 standard deviations. 1STD 2STD 3STD. VWAP would then be treated as an area of balance. The standard deviations can be used as support and resistance. And if you introduce market profile concepts you can have a very good system.

In other words instead of POC it becomes the VWAP. The Value area in the market profile is 2 STD away from VWAP. If you are trading a sideways day you take a mean reversion trade when price is outside of 2STD exit at VWAP. If price gets into balance, where it trades at VWAP for a period of time, when it breaks balance and breaks out of the 1STD, you have a breakout trade. Or in Volume...
VWAP is a great indicator because its used by every big institution. One thing I personally use is the built in VWAP with 3 standard deviations. 1STD 2STD 3STD. VWAP would then be treated as an area of balance. The standard deviations can be used as support and resistance. And if you introduce market profile concepts you can have a very good system.

In other words instead of POC it becomes the VWAP. The Value area in the market profile is 2 STD away from VWAP. If you are trading a sideways day you take a mean reversion trade when price is outside of 2STD exit at VWAP. If price gets into balance, where it trades at VWAP for a period of time, when it breaks balance and breaks out of the 1STD, you have a breakout trade. Or in Volume profile it would be called a range expansion.

I see A LOT of people treat VWAP as another moving average. It isn't, it needs to be treated more like a POC in volume profile. A place of lots of liquidity and "value" for the day.

Play with it. I think an explanation would take a while. But thats what I use for intraday.

For longer term levels, outside of the current day. Globex High and lows are good points of reference. And if you do a weekly volume/tpo profile aggregation in the expansion area. Spots of support and resistance are areas where there is big nodes, and minimal nodes. Big nodes you will usually see slowing as entering into the areas. And areas where its skinny and minimal activity you will see aggressive resistance or support.

Id throw in the book Mind over Markets power trading with market generated information by Dalton. You can download a free PDF somewhere
 
Last edited:
Solution
#https://usethinkscript.com/threads/pre-market-after-market-for-thinkorswim.75/page-11#post-105276
# Globex, RTH and prior RTH High and Low
# Request for JQ 11.8.18
# v0.02 11.12.18 will plot prior RTH during current RTH
# Nube

# inputs
input bubbles = yes;

# univerals
def na = Double.NaN;
def bn = BarNumber();
def h = high;
def l = low;


script prior {
# subscript for getting prior value of a BarNumber() defined variable
input prior = close;
def priorOf = if prior != prior[1] then prior[1] else priorOf[1];
plot priorBar = priorOf;
}

# variables
def cb = HighestAll(if !IsNaN(h) then bn else na);
def time = GetTime();
def rts = RegularTradingStart(GetYYYYMMDD());
def rte = RegularTradingEnd(GetYYYYMMDD());

def RTH = if time crosses above rts
then bn else RTH[1];
def globex = if time crosses below rte
then bn else globex[1];
# If you want to include the extended session in Globex, then use globex def below
#def globex = if time crosses above rte
# then bn else globex[1];

def priorRTH = prior(RTH);
def priorGlobex = prior(globex);
def hRTH = HighestAll(RTH);
def hGX = HighestAll(globex);
def hPRTH = HighestAll(priorRTH);
def hPGX = HighestAll(priorGlobex);

def gXhigh = HighestAll(if bn >= hGX && bn < hRTH
then h else if hRTH < hGX && bn >= hGX
then h else na);
def gXlow = LowestAll(if bn >= hGX && bn < hRTH
then l else if hRTH < hGX && bn >= hGX
then l else na);
def RTHhigh = HighestAll(if bn >= hRTH && bn < hGX
then h else if hGX < hRTH && bn >= hRTH
then h else na);
def RTHlow = LowestAll(if bn >= hRTH && bn < hGX
then l else if hGX < hRTH && bn >= hRTH
then l else na);

def priorRTHhigh = HighestAll(if bn >= hPRTH
&& bn < if hGX < hRTH
then hGX
else hPGX
then h else na);
def priorRTHlow = LowestAll(if bn >= hPRTH
&& bn < if hGX < hRTH
then hGX
else hPGX
then l else na);

plot
GlobexHigh = gXhigh;
GlobexHigh.SetDefaultColor(Color.LIGHT_GREEN);
plot
GlobexLow = gXlow;
GlobexLow.SetDefaultColor(Color.PINK);

plot
HighRTH = RTHhigh;
HighRTH.SetDefaultColor(Color.GREEN);
plot
LowRTH = RTHlow;
LowRTH.SetDefaultColor(Color.RED);

plot
PreviousHighRTH = priorRTHhigh;
PreviousHighRTH.SetDefaultColor(Color.DARK_GREEN);
plot
PreviousLowRTH = priorRTHlow;
PreviousLowRTH.SetDefaultColor(Color.DARK_RED);

plot ONMid = (gXhigh + gXlow) / 2 ;
plot RTHMid = (RTHhigh + RTHlow) / 2 ;
plot PreviousMid = (PreviousHighRTH + PreviousLowRTH) / 2 ;


AddChartBubble(bubbles && bn == cb, gXhigh, "ONH", Color.LIGHT_GREEN);
AddChartBubble(bubbles && bn == cb, RTHhigh, "HOD", Color.GREEN);
AddChartBubble(bubbles && bn == cb, priorRTHhigh, "YHI", Color.GREEN);
AddChartBubble(bubbles && bn == cb, gXlow, "ONL", Color.RED, 0);
AddChartBubble(bubbles && bn == cb, RTHlow, "LOD", Color.RED, 0);
AddChartBubble(bubbles && bn == cb, priorRTHlow, "YLO", Color.DARK_ORANGE, 0);
AddChartBubble(bubbles && bn == cb, PreviousMid, "YMID", Color.YELLOW, 0);
AddChartBubble(bubbles && bn == cb, RTHMid, "MID", Color.YELLOW, 0);
AddChartBubble(bubbles && bn == cb, ONMid, "ONM", Color.YELLOW, 0);



# f/ Globex, RTH and prior RTH High and Low
 
Last edited:
Last edited:
#https://usethinkscript.com/threads/previous-day-high-low-close-for-thinkorswim.3494/
##[email protected]

def NA = Double.NaN;

input agg = AggregationPeriod.DAY;
input showOnlyLastPeriod = no;
input showBubbles = yes;
input showValuesInBubbles = yes;
input spaceBetween = 1;
plot currentOpen;
plot prevDayClose;

def exp = IsNaN(close[spaceBetween]);

currentOpen = if exp then open("period"=agg) else NA;
prevDayClose = if exp then close("period"=agg)[1] else NA;


AddChartBubble(showBubbles, if IsNaN(currentOpen[1]) and !IsNaN(currentOpen) then currentOpen else NA, if showValuesInBubbles then "Open $"+currentOpen else "Open", Color.WHITE, yes);
AddChartBubble(showBubbles, if IsNaN(prevDayClose[1]) and !IsNaN(prevDayClose) then prevDayClose else NA, if showValuesInBubbles then "YCL $"+prevDayClose else "PrevClose", Color.YELLOW, yes);


currentOpen.SetDefaultColor(Color.WHITE);

prevDayClose.SetDefaultColor(Color.YELLOW);
currentOpen.SetPaintingStrategy(PaintingStrategy.HORIZONTAL);

prevDayClose.SetPaintingStrategy(PaintingStrategy.HORIZONTAL);


prevDayClose.SetDefaultColor(Color.RED);

prevDayClose.SetDefaultColor (Color.GRAY);
prevDayClose.SetPaintingStrategy(PaintingStrategy.DASHES);
 
The above script is for the Previous close and RTH open. I wish I could get the bubbles on the chart aligned with the first script. But, my brain is tired after trying to get it to my likings.

Refer to the link at the top of the script.

I normally add the link as reference because I seem to always mess up the scripts during modification.

Good Luck.
 

Join useThinkScript to post your question to a community of 21,000+ developers and traders.

Similar threads

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
434 Online
Create Post

Similar threads

Similar threads

The Market Trading Game Changer

Join 2,500+ subscribers inside the useThinkScript VIP Membership Club
  • Exclusive indicators
  • Proven strategies & setups
  • Private Discord community
  • ‘Buy The Dip’ signal alerts
  • 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?
VIP members get exclusive access to these proven and tested premium indicators: Buy the Dip, Advanced Market Moves 2.0, Take Profit, and Volatility Trading Range. In addition, VIP members get access to over 50 VIP-only custom indicators, add-ons, and strategies, private VIP-only forums, private Discord channel to discuss trades and strategies in real-time, customer support, trade alerts, and much more. Learn all about VIP membership here.
How can I access the premium indicators?
To access the premium indicators, which are plug and play ready, sign up for VIP membership here.
Back
Top