Verniman strategy for /ES Futures Entry signals For ThinkOrSwim

Status
Not open for further replies.
pNImJk2.png


Pre market marking charts for levels, etc.
 

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

@perdurecapital This is great.. can you share the chart type used here, please? Monkey bars don't quite match your setup. I prefer the clarity in your chart. How does one get the indicators on your chart? I am not sure I want to use all, but if it helps, I am game.
The monkey bars chart is just a market profile set up, 30 minute chart, 10 days, the chart next to it is a regular candle chart 30 minutes also with a volume profile. Those are just for reference points and roadmapping key higher time frame levels.

The intraday chart I use is a regular bar chart 2 minute time frame with the following...
All the indicators are either stock TOS, from either this website or futures.io and modified some to fit my style.
I use the following
TPO profile
Opening Range indicator set to 10 am
Opening Range indicator set to 10:30
VWAP breakout indicator (by BEN at this site...) modified to make it green or red based on slope
Gap indicator (cloud above or below previous days close)
30 period hull moving avg (for short term momentum)
Tick indicator ($TICK index with 5 pd moving average and std dev bands)
Weis Waves for Volume

The second chart is advance decline of the S&P with a linear regression study and quotes of other indexes breadth, VIX, TRIN.
Below that is Cumulative Ticks for the day.

I also watch cumulative delta and DOM on another platform.
 
Hi Perdue - Do you manually draw those hve and lve levels ?

Yes, every morning I update levels that I want to watch based on market profile on the higher time frame charts. Intraday I'll define levels for springs and upthrusts and other set ups as well, but usually these things are already going to be defined by the initial balance areas or some other level that is already on the radar.
 
2MFRE6t.png


Post Mortem yesterdays trades, each was based off of breaking the 30 minute and one hour balance areas (Green Lines). Breakouts and failures back into the range. 4 winners one small loser. typically wouldn't take the last trade short back into value, but the tape went red against long bias and there was a lot of air between price and VWAP. Being on the right side of a trading range, looked like a good upthrust opportunity to fade. Being able to read the tape is as important as the indicators themselves.
 
JYzZiS6.png


Pretty similar to yesterday, Open in prev days range, on the edge of Value. Bullish imbalance in the morning, broke through the OSR and initial balances.... tested VWAP, couple of springs. Ignored the short VWAP break signal at 3:10 as bias was long. Play the close for the Overnight Stat.
 
I have not been able to duplicate his exact trades but I have something close. If anyone would like to add to it and share that would be great. I still can not figure out how he gets his entries to signal intrabar :unsure:.
Also this has only been tested on today's trading range so take caution as it is a work in progress.

FEQ0WwP.jpg


Code:
###### TIME ######

input zoneStartAM = 930;
input zoneEndAM = 1200;
input zoneStartPM = 1330;
input zoneEndPM = 1600;
input zoneEndclose = 1609;
input type = {default NOTRADE, REVERSAL};
def highBar;
def lowBar;
def highBar2;
def lowBar2;

switch (type){
case NOTRADE:
    highBar = if SecondsTillTime(zoneStartAM) <= 0 and SecondsTillTime(zoneEndAM) >= 0 then HighestAll(open) else Double.NaN;
    lowBar = if SecondsTillTime(zoneStartAM) <= 0 and SecondsTillTime(zoneEndAM) >= 0 then LowestAll(close) else Double.NaN;
case REVERSAL:
    lowBar = if SecondsTillTime(zoneStartAM) <= 0 and SecondsTillTime(zoneEndAM) >= 0 then HighestAll(open) else Double.NaN;
    highBar = if SecondsTillTime(zoneStartAM) <= 0 and SecondsTillTime(zoneEndAM) >= 0 then LowestAll(close) else Double.NaN;
}

switch (type){
case NOTRADE:
    highBar2 = if SecondsTillTime(zoneStartPM) <= 0 and SecondsTillTime(zoneEndPM) >= 0 then HighestAll(open) else Double.NaN;
    lowBar2 = if SecondsTillTime(zoneStartPM) <= 0 and SecondsTillTime(zoneEndPM) >= 0 then LowestAll(close) else Double.NaN;
case REVERSAL:
    lowBar2 = if SecondsTillTime(zoneStartPM) <= 0 and SecondsTillTime(zoneEndPM) >= 0 then HighestAll(open) else Double.NaN;
    highBar2 = if SecondsTillTime(zoneStartPM) <= 0 and SecondsTillTime(zoneEndPM) >= 0 then LowestAll(close) else Double.NaN;
}



###### TIME END #####

def adspdl = low("$adspd");
def adspdh = high("$adspd");
def adspdc = close("$adspd");
def volspd = close("$volspd");

def HMA = MovingAverage(AverageType.HULL, close, 21);

input numDevDn = -2.0;
input numDevUp = 2.0;
input timeFrame = {default DAY, WEEK, MONTH};

def cap = getAggregationPeriod();
def errorInAggregation =
    timeFrame == timeFrame.DAY and cap >= AggregationPeriod.WEEK or
    timeFrame == timeFrame.WEEK and cap >= AggregationPeriod.MONTH;
assert(!errorInAggregation, "timeFrame should be not less than current chart aggregation period");

def yyyyMmDd = getYyyyMmDd();
def periodIndx;
switch (timeFrame) {
case DAY:
    periodIndx = yyyyMmDd;
case WEEK:
    periodIndx = Floor((daysFromDate(first(yyyyMmDd)) + getDayOfWeek(first(yyyyMmDd))) / 7);
case MONTH:
    periodIndx = roundDown(yyyyMmDd / 100, 0);
}
def isPeriodRolled = compoundValue(1, periodIndx != periodIndx[1], yes);

def volumeSum;
def volumeVwapSum;
def volumeVwap2Sum;

if (isPeriodRolled) {
    volumeSum = volume;
    volumeVwapSum = volume * vwap;
    volumeVwap2Sum = volume * Sqr(vwap);
} else {
    volumeSum = compoundValue(1, volumeSum[1] + volume, volume);
    volumeVwapSum = compoundValue(1, volumeVwapSum[1] + volume * vwap, volume * vwap);
    volumeVwap2Sum = compoundValue(1, volumeVwap2Sum[1] + volume * Sqr(vwap), volume * Sqr(vwap));
}
def price = volumeVwapSum / volumeSum;
def deviation = Sqrt(Max(volumeVwap2Sum / volumeSum - Sqr(price), 0));

def VWAP = price;



AssignPriceColor(if adspdl < adspdl[1] && close < vwap && close< hma && volume > volume[1] then Color.RED else if adspdh > adspdh[1] && close > vwap && close > hma && volume>volume[1] then Color.GREEN else Color.GRAY);


####LONGS####

AddOrder(OrderType.BUY_TO_OPEN,secondsTillTime(zoneStartAM) <= 0 && secondsTillTime(zoneEndAM) >= 0 and adspdh > adspdh[1] && close > vwap && vwap>vwap[1]&&  volume>volume[1] ,  name = "Buy open AM @"+open[-1], 1, Color.ORANGE, Color.green);

AddOrder(OrderType.BUY_TO_OPEN,secondsTillTime(zoneStartpM) <= 0 && secondsTillTime(zoneEndpM) >= 0 and adspdh > adspdh[1] && close > vwap && vwap>vwap[1]&&  volume>volume[1] ,  name = "Buy open AM @"+open[-1], 1, Color.ORANGE, Color.green);



##SHORTS###

AddOrder(OrderType.sell_TO_OPEN,secondsTillTime(zoneStartAM) <= 0 && secondsTillTime(zoneEndAM) >= 0 and adspdl < adspdl[1] && close < vwap && vwap<vwap[1]&& volume>volume[1] ,  name = "Sell open AM @"+open[-1], 1, Color.ORANGE, Color.RED);

AddOrder(OrderType.sell_TO_OPEN,secondsTillTime(zoneStartpM) <= 0 && secondsTillTime(zoneEndpM) >= 0 and adspdl < adspdl[1] && close < vwap  && volume>volume[1] , name = "Sell open PM @"+open[-1], 1, Color.ORANGE, Color.RED);

####Close orders######

addorder(orderType.SELL_TO_CLOSE,  adspdh < adspdh[1], name = "Sell close @"+open[-1],1,color.orange, color.red);

addorder(orderType.buy_TO_CLOSE,  adspdl > adspdl[1],name = "Buy close @"+open[-1],1,color.orange, color.red);

###Market close orders####

addorder(orderType.buy_TO_CLOSE,  secondsTillTime(zoneEndclose) <= 0 , name = "Buy Market Close @"+open[-1],1,color.orange, color.red);

addorder(orderType.sell_TO_CLOSE,  secondsTillTime(zoneEndclose) <= 0 ,  name = "Sell Market Close @"+open[-1],1,color.orange, color.red);
How do you intend to use the No-Trade vs Reversal ?
 
That is just a study that will highlight certain time frames during the day with a colored cloud. No trade makes the cloud red, reversal yellow.
reGZLej.jpg
 
Hi @perdurecapital,

I’m going thru the market profile concepts and I couldn’t find how to “ If you take the point of control level to the low of the profile you can project a "balance target" in other words where would price have to go to balance the profile and create "D" shape with the point of control in the middle of the D or balanced distribution.” . If you could explain in detail that would be helpful . Verniman also points the same with bullish imbalance In his tweet . Not sure how the projection target imbalance price is reached
 
If the profile is "b" shaped or "p" shaped that means the point of control "POC" is either in the lower portion in the case of the "b" shape or higher portion in the case of the"p" shape. ( this is called "skew". "b" is bearish, "p" is bullish). If you take the price at the POC and subtract the price from the low in the case of a "p" or take the high price and subtract the price at POC in the case of a "b" shape you will get the distance of the pontential bull or bear target. Take that number and add or subtract it to the "POC" to get your target level... Think about what it would take the to turn the p or b shaped profile into a balanced D shape.
 
I’ve paid for and have messaged with him on multiple occasions. In the end he more than likely doesn’t share bc it probably really obvi/easy. ie not all that complex. 100% all trades are taken above/below vwap. From there, there are a host of options that have yet to be replicated. I’ve looked at MA’s, POC’s, VA’s. Volume while mentioned on his blog don’t always start a trade. Also, with some entires/exits showing on midbar. He my get his signal on a 1min chart but show everyone on the 3m.
All the best
The entries are pretty simple, he trades breakouts of Value Area Highs and lows aided by internals/tape reading. When the market is in an established trend (outside of value/transitioning) he uses price action techniques. (breaks of congestion patterns or hooks). Occasionally I’ve seen him take VWAP tests, but mostly when they line up with a High Volume Edge or other significant level.
The reason it is hard to tell from his tweets what exactly his entry criteria was at the time is that the Profile is continuously developing throughout the day. The Value Area High at 10am may or may not be located at the same location later on in the day as the auction progresses. (This also makes studying difficult as the only way to see the entries is to watch it live or record it and watch it. Looking at a chart end of day tells you nothing about the intraday value area breaks.)
I also can tell you he trades the 3 minute chart, his targets are projected manually, and his entries and exits are discretionary and not automated. He is a master at his craft and patient. Many of his entries are second or third time through levels. Many times I have been whipsawed several times prior to getting the same entries he takes. I suspect he uses an initial stop, then moves to breakeven but doesn’t trail it. It seems he uses a mental stop a tick or two above the previous price bar, but uses discretion, targets, projections, time and sales, and internals to exit. I have watched him for many years and seen him tweak things here and there, but the primary method has been the same for close to a decade since I heard about him through Don Miller (also a great Emini trader, but it seems he’s retired or no longer does much mentoring or posting). Best of Luck.
 
I appreciate the response. As a student of market/volume profile, I realize that the profiles are constantly changing throughout the day. That isn't the source of my confusion. And thank you for confirming that his method is discretionary. His stop management is the thing I'm having the most difficulty reverse engineering. For example, I've seen him enter on a break from a congestion area following a VA breakout/breakdown, then when strong responsive/buying selling comes in fast, he somehow gets out at breakeven even when market internals didn't indicate to me that there was anything amiss. He may also be basing this on order flow from the DOM, though he never posts references to the DOM, so I don't know how much that figures into his process. His blog contains a section on entries via the DOM, so I assume it is or used to be a component. (I currently use the Jigsaw DOM and reconstructed tape.) Obviously, I'm missing something, but that's what I'm trying to refine. He also sometimes enters on wide-bodied bars that give poor R:R unless you're catching a massive runner or using a tighter stop than the 3M thrust bar would allow. Also curious to me is that he doesn't ever seem to take trades based on a convincing reclaim of the VA or IB even though they have a high probability of running to the opposite side of the VA, especially when the A/D ratio gives you the impression it's a rotational day (<2:1 in either direction generally). What I do see is a disciplined trader, though, who takes very little risk to get the gains he does with little or no drawdown and very low commissions (few entries with better R:R). And he is patient. Very patient. Lots of lessons for me to learn from him still.
 
Also, Verniman uses volume profile per his blog, but your initial post in this thread indicates you use TPO. I generally mark levels from both market profile and volume profile as they tend to be slightly different, giving me key "zones" instead of discrete levels. If you have thoughts on one vs the other, it would be greatly appreciated. I generally use market profile to mark areas of excess, poor highs/lows, vPOCs, and single print zones as magnets, then keep an eye on LVNs/HVNs from volume profile intraday for confluence with VA breakouts and failed breakouts that are likely to rotate back through the VA. I generally only long above VWAP and short below, but will make exceptions if we get a clear divergence from cumulative $TICK and a price action confirmation like a double bottom with a key profile level holding or a volatility contraction pattern compressing up into VWAP that allows for a low risk entry. My Achilles heel, though, is getting out without taking a full stop when things go against me. I'm trying to get to the point where I'm able to intuitively get out when I know I'm not right as opposed to waiting to get out when I know I'm wrong. Easy concept to grasp, difficult to execute.
 
Also, Verniman uses volume profile per his blog, but your initial post in this thread indicates you use TPO. I generally mark levels from both market profile and volume profile as they tend to be slightly different, giving me key "zones" instead of discrete levels. If you have thoughts on one vs the other, it would be greatly appreciated. I generally use market profile to mark areas of excess, poor highs/lows, vPOCs, and single print zones as magnets, then keep an eye on LVNs/HVNs from volume profile intraday for confluence with VA breakouts and failed breakouts that are likely to rotate back through the VA. I generally only long above VWAP and short below, but will make exceptions if we get a clear divergence from cumulative $TICK and a price action confirmation like a double bottom with a key profile level holding or a volatility contraction pattern compressing up into VWAP that allows for a low risk entry. My Achilles heel, though, is getting out without taking a full stop when things go against me. I'm trying to get to the point where I'm able to intuitively get out when I know I'm not right as opposed to waiting to get out when I know I'm wrong. Easy concept to grasp, difficult to execute.
I tend to mark levels off volume profile, base intraday trades off TPO. As far as trading against trend bias, I think it’s just a matter of discipline, a rule is a rule, breaking it opens you up to indecisiveness and a host of other problems. Typically the bottoming or topping process is choppy with multiple tests in prior direction, the edges combined with stats and skew give you compound edge in a particular direction trading breakouts from Value area. Regarding R/R, it’s very personal and subjective, depends on how you place your initial stop. I tend to use a tick or two below previous candle, which is what I assume you also tend to do based on your comment on large candles. I personally also lean on $TICK pretty heavily. I’ve found it to be a good filter at times and a misleading indicator others. Lots of nuances with $TICK, I use a 5pd EMA of 2min $TICK as a directional bias filter for counter trend trading (against VWAP as you mentioned, entries based off of price action exactly as you described, using Wyckoff principles, Spring or double bottom type moves on lower supply (volume) and lower $TICK, look to enter on break above the reversal candle, stop below it let market prove right or wrong. I’ve found over time that trade works out if you can tolerate the choppiness and volatilty. For me I like to take a smaller risk by trading a few micro contracts there vs a mini. Lean on higher timeframe bias or levels also on countertrend moves. I have same problem with stops, it’s so easy to justify holding on when you’ve got the set up and R/R, you think “give it some wiggle room”, then boom, big program slams it and now you’re stuck. Tough.
 
Also, Verniman uses volume profile per his blog, but your initial post in this thread indicates you use TPO. I generally mark levels from both market profile and volume profile as they tend to be slightly different, giving me key "zones" instead of discrete levels. If you have thoughts on one vs the other, it would be greatly appreciated. I generally use market profile to mark areas of excess, poor highs/lows, vPOCs, and single print zones as magnets, then keep an eye on LVNs/HVNs from volume profile intraday for confluence with VA breakouts and failed breakouts that are likely to rotate back through the VA. I generally only long above VWAP and short below, but will make exceptions if we get a clear divergence from cumulative $TICK and a price action confirmation like a double bottom with a key profile level holding or a volatility contraction pattern compressing up into VWAP that allows for a low risk entry. My Achilles heel, though, is getting out without taking a full stop when things go against me. I'm trying to get to the point where I'm able to intuitively get out when I know I'm not right as opposed to waiting to get out when I know I'm wrong. Easy concept to grasp, difficult to execute.
Early in the session today there was some chop I took some stops in before I was able to catch the move through previous days VAH, Identified day as ORR, had the opening range break set up, internals everything looking good and the breaks just kept getting rejected... till it didn’t. Targeted ONL, nailed it, bounced there, broke through it on climactic selling. Then the reversal trade at the bottom that trended all afternoon back to open. Sounds so easy post mortem, not so easy when you’re in the drivers seat during the day.
 
Status
Not open for further replies.

Similar threads

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
345 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