Volume Forecast (VF) Indicator for ThinkorSwim

Status
Not open for further replies.

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

testing the code for "forecasting" the vol at regular trading hours closing bell

sKQu40y.png


NV5xGTy.png
 
@zeek how does the strategy work on this?
you're using the forecast as a confirmation of thesis and to score the play before you ever get into it. if a low float runner forecasts its goin to trade a billion shares on the day you know not to step in front of the train short. or it helps with long conviction
 
@XeoNoX microcaps<50m float that gap up in premarket >25% have a high probability it will close in the red by end of day from its high in premarket. the reason these microcaps gap and fade is because they have poor fundamentals meaning they don't have income. so why do they gap up in premarket in the first place? it is because these companies don't have money so they hire a underwriter to help them raise money by selling their shares in a public offering. but in order to create a market to sell the shares at a higher price the company will release some positive news to create demand on the market for the stock while the underwriter will pump up the price in the premarket. since we know their plan is to sell their shares from the offering onto the market, our edge is to borrow shares and short them from high and cover buy at low. now because more and more people know about this edge underwriters started manipulating prices during the morning open to pump the stock price even higher which ends up with the short sellers cover buying their shares at a higher price instead of a lower price. it is very frustrating as a short seller to have to constantly cover a short squeeze instead of being able to short at the high and then watch the stock price fade all day. so in order to find stocks that are likely to fade all day and not have a short squeeze, short sellers have started statistically tracking volume for every stock that gets pumped and fades. with their statistics they can create a formula that takes a stocks historical volume and predict the gap days volume. that morning if the Volume is greater than the VF then it is likely the stock will be squeezed and not fade all day. with a VF if you know the other characteristics of a microcap gap and crap such as biotech, price under 25, float under 50m, low cash burn rate, then you know which stock to short that morning.
there is a problem with VF that most users don't account for is tail dependency. if the user doesn't continually track data and update the VF then it will have less and less probability of working in the future. and taht's the catch22 because people that are looking for the VF to buy and use as a money printing tool don't want to put in the work to track the data in the first place.
 
Last edited:
@XeoNoX I mainly use it as a way to find out how strong the demand is when I short smallcap runners/gappers. Around 10AM is the time of day i pay most attention to VF if I am short a stock from premarket or the open. Many times, the % of VF can be very high at this time of day and that’s a good indication to stay away from shorting or to cover position because if the VF is that high early in the day, usually what happens is buyers trap shorts and then you will see a squeeze midday or late day.

But if VF is low between 10-11AM, there is higher chance the stock will continue to fade all day.
 
@zeek you said... "I mainly use it as a way to find out how "... can you share the code to the one you are using?
 
Unfortunately I can't share the code. A friend of mine was kind enough to share the VF with me on the promise I don't share it further and I will respect that wish. It appears the calculation used in my VF differs from yours based on those tickers you posted yesterday when I compared them.
 
@jngy2k I think this is a key factor, what you just mentioned here. Most people think that it is just a formula and that is it. besides constantly updating data, this formula can not apply to the every stock. It will strictly be an indicator for the market subset that you have data for. therefore, you will need to have volume forecast for each different market which you are tracking...small caps, large caps..etc
 
Unfortunately i can't share the code. A friend of mine was kind enough to share the VF with me on the promise i don't share it further and i will respect that wish. It appears the calculation used in my VF differs from yours based on those tickers you posted yesterday when i compared them.
Almost seems like you were trying to hype a product from the way you sounded like you had it but didn't have it.. aside from that point ..
since the title of this is "volume forecast" here is my version of it, obviously it wont be the same as yours since the formula is different. As others in the thread have stated, it seems more like hype that anything else, but here goes the code for whoever can find it useful.

Note: Every timeframe will be different as it "forecasts" by the closest volume bars. If you want it relative to the Daily then use the day, if you want it relative to the minute then use the minute, if you want it relative to 30 mins, then use 30 mins and so on. It "Forecasts" till the closing bell, will not factor in afterhours.

sKQu40y.png


Code:
#Volume ForeCast v1.0 by XeoNoX via usethinkscript.com
#Note: Every timeframe will be different as it "forecasts" by the closest volume.
# If you want it relative to the Daily then use the day, if you want it relative to the minute then use the minute, if you want it relative to 30 mins, then use 30 mins and so on.
# It "Forecasts" till the closing bell, will not factor in afterhours.

def Daily_Total_Vol = volume(period = AggregationPeriod.DAY);
def Current_Vol = volume;
def VolAvg = Average(volume, 10);
def VolAvg2 = Average(volume, 20);
def VolAvg3 = Average(volume, 50);


def mid_vol = (
if VolAvg > VolAvg2 and VolAvg < VolAvg3 then VolAvg else
if VolAvg < VolAvg2 and VolAvg > VolAvg3 then VolAvg else

if VolAvg2 > VolAvg3 and VolAvg2 < VolAvg then VolAvg2 else
if VolAvg2 < VolAvg3 and VolAvg2 > VolAvg then VolAvg2 else

if VolAvg3 > VolAvg2 and VolAvg3 < VolAvg then VolAvg3 else
if VolAvg3 < VolAvg2 and VolAvg3 > VolAvg then VolAvg3 else volavg2 );

def vf = (mid_vol * (RegularTradingEnd(GetYYYYMMDD()) - GetTime()) / GetAggregationPeriod()) + Daily_Total_Vol;

def percent = (Daily_Total_Vol)/vf;

AddLabel (yes, "VF: " +  vf  , Color.YELLOW);

AddLabel (yes, "Volume So Far: " + Daily_Total_Vol , Color.GREEN);

AddLabel (yes, "% of VF: " + round(percent*100,0) , Color.GRAY);
 
Last edited:
Almost seems like you were trying to hype a product from the way you sounded like you had it but didn't have it.. aside from that point ..
since the title of this is "volume forecast" here is my version of it, obviously it wont be the same as yours since the formula is different. As others in the thread have stated, it seems more like hype that anything else, but here goes the code for whoever can find it useful.

Note: Every timeframe will be different as it "forecasts" by the closest volume bars. If you want it relative to the Daily then use the day, if you want it relative to the minute then use the minute, if you want it relative to 30 mins, then use 30 mins and so on. It "Forecasts" till the closing bell, will not factor in afterhours.

sKQu40y.png


Code:
#Volume ForeCast v1.0 by XeoNoX via usethinkscript.com
#Note: Every timeframe will be different as it "forecasts" by the closest volume.
# If you want it relative to the Daily then use the day, if you want it relative to the minute then use the minute, if you want it relative to 30 mins, then use 30 mins and so on.
# It "Forecasts" till the closing bell, will not factor in afterhours.

def Daily_Total_Vol = volume(period = AggregationPeriod.DAY);
def Current_Vol = volume;
def VolAvg = Average(volume, 10);
def VolAvg2 = Average(volume, 20);
def VolAvg3 = Average(volume, 50);


def mid_vol = (
if VolAvg > VolAvg2 and VolAvg < VolAvg3 then VolAvg else
if VolAvg < VolAvg2 and VolAvg > VolAvg3 then VolAvg else

if VolAvg2 > VolAvg3 and VolAvg2 < VolAvg then VolAvg2 else
if VolAvg2 < VolAvg3 and VolAvg2 > VolAvg then VolAvg2 else

if VolAvg3 > VolAvg2 and VolAvg3 < VolAvg then VolAvg3 else
if VolAvg3 < VolAvg2 and VolAvg3 > VolAvg then VolAvg3 else volavg2 );

def vf = (mid_vol * (RegularTradingEnd(GetYYYYMMDD()) - GetTime()) / GetAggregationPeriod()) + Daily_Total_Vol;

def percent = (Daily_Total_Vol)/vf;

AddLabel (yes, "VF: " +  vf  , Color.YELLOW);

AddLabel (yes, "Volume So Far: " + Daily_Total_Vol , Color.GREEN);

AddLabel (yes, "% of VF: " + round(percent*100,0) , Color.GRAY);
I have found the 1 minute to be the most accurate after using this indicator for quite some time. Can you agree with this?
 
I have found the 1 minute to be the most accurate after using this indicator for quite some time. Can you agree with this?
how do you change aggregation to 1 minute? Thanks

def Daily_Total_Vol = volume(period = AggregationPeriod.DAY);
 
how do you change aggregation to 1 minute? Thanks

def Daily_Total_Vol = volume(period = AggregationPeriod.DAY);

def Daily_Total_Vol = volume(period = AggregationPeriod.1MIN);

The only problem is that it then is not Daily_Total_Vol and also introduces other aggregation related problems... 💡
 
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
462 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