VSA or VPA analysis

Formula Editor gave 5 erros for this code.

I am looking more for an Indicator, rather than a scan or exploration. I
can find plenty of Markets that will fit all types of parameters.
I want a piece of code that I can make a personal opinion on whether the
Price Action is telling giving me a confirmation or is it giving me an
anomaly. I like to STARE at the chart

I want to stick to Coulling’s basic principals as close as possible.

volume is the ONLY leading indicator, which when combined with price,
truly reveals the future direction of the market

All we have to do, is follow the insiders, and buy and sell, when they are
buying and selling


Hi Greg,

Since you like to Stare at the charts, then I suggest that you start with a simple Chart consisting of Price Candlesticks, A Volume At Price (which is created in a hidden Tick chart using the PriceVolDistribution function. Then just add a pane below it with the Volume. And then study the chart in order to get a feeling how it works.

ES yesterday was a good example how the Smart Money acts, but also very difficult to code! From Midnight (NY Time) the price went up just over 10 Points with small Volumes, but you can see that the Smart Money is helping to push it up. At 7:24 Am the Price made a new all time high and the Volume was relatively low since the RTH had not started. So for most Retail Traders it’s easy to think that now the Price will go even higher, but this was a Trap! At 7:25 Am the Price started on it’s way down. So here we can ask ourselves Why? Looking at a Daily Chart we can easily see that by taking out Stp Loss Sell orders for the last 11 Days will benefit the Smart Money and Insiders. They might want to go even lower and as low as to the 2,625 to 2,640 range before the Price will go up to a new all time high. But I wouldn’t be surprised if the price will turn around the 2,660 - 2,665 levels… But that the charts will reveal next week when the market opens again. This can be seen with some training, but to code it is not easy since Volume is relative and time of the day is also important.


1 Like

looking for a god afl programmer to write for wyckof most important sopts in chart ( spring-upthrust-jum acroos creek and fallong thru ice) plus shortening of thrust in both direction for all time frames.
is there any god names?


Let me ask a question. In YOUR Opinion ONLY. On ANY Volume bar on Any Time Frame, How much of that Individual Bar, is made up of "Smart Money or Insider Money? I have heard as much as 80 to 90 percent, no matter the Market.
If that is the case, there are woefully VERY FEW indicators available to measure this type of activity and this is probably by design…
If I were in the Very Early Stages of development on a VSA or VPA system,again, in Your opinion Only. What indicators would I incorporate or base this system on.
On Balance Volume
Chaikin’s Money Flow
Negative Volume Index
I am trying to organize My thoughts on this project, to see if it is worth the time and/or Money.


1 Like

Good Read

Trading In The Shadow of the Smart Money


Greg @Greg9042 Your questions were not adressed to me, but let me show you my point of view. In general, I agree with Jorgen @BJW that volume is one of the key elements.

You cannot make any generalisations. Smart Money are not market maker of liquidity provider. They step in only when they want to or need to. So at any given moment their participation in the current bar’s volume ranges from 0 to almost 100%.

The thing is that VSA is not about indicators but about being able to put everything that you see on a chart in proper context. VSA approaches and analysis each bar individually. Every single bar matters - It is bar by bar analysis. For this reason you cannot base your VSA system on indicators. You can make use of some if you really want to, but not as a core element.

In my opinion, if you want to develop any VSA or VPA system, you should start from learning its principles really well. Gain some knowledge first. Read books, watch webinars, take a closer look at (try out) some existing VSA software - analyse its pros and cons. Then you might be ready to develop your own system.

Some books which I recommend:

  • Master the Markets - Tom Williams - the inventor of VSA methodology (of course it all started from Richard Wyckoff’s work). This book can be officially downloaded for free, here: https://www.tradeguider.com/mtm_251058.pdf

  • “Trades About To Happen” - A Modern Adaptation of the Wyckoff Method
    By David H. Weis

  • Trading in the shadow of the Smart Money” by Gavin Holmes

Some other books about using volume in trading which I find interesting:

  • The trader’s book of volume” by Mark Leibovit

  • Value in time - better trading through effective volume” - by Pascal Willain

  • Volume and open interest” by Kenneth Shaleen

  • Float Analysis” by Steve Woods

  • “The secret science of Price and Volume” - by Timothy Ord

I had a chance to work with and learn from Mieczysław Siudek (member of Bryce Gilmore trading room) who implemented his own modified version of VSA and Geometry in his “SmartInwestor” for AmiBroker. But it’s not free and it’s available only in Polish.



You are absolutely correct. VSA is bar by bar Analysis. Indicators should
only be a compliment rather than a core.

I just started "Trading in the shadow of the Smart Money” by Gavin Holmes.

Hi Greg,
That’s a good question! I am using the actual Buy and Sell Volumes and I have studied the Order Sizes for Filled orders for S&P 500 E-Mini Future (ES), which is one of the most traded instruments in the world. Here you find the whole spectrum of traders from retail traders to Professionals to “Smart Money” and of course algo trading. So my feedback is mainly based on ES.

Then all we know about the so called “Smart Money” (SM) is that they have huge resources and therefore can temporally manipulate the market. But can we directly identify them by looking at filled order sizes? No, we can’t- so we have to assume. I have seen filled order sizes that goes from 500 to 2,000+ contracts and they for sure get the SM label. But in ES there is no darkpools or other advantages for the big players, so the SM often hide their true intention by placing a long series of smaller orders. Then the SM are most active during US RTH and the ES is trading 23 hours a day. But big players can be seen any time during those 23 hours! Just to give you an idea- a filled order of 500 contracts in ES gives a profit of $25,000 (minus commission) for each 1 point (tick size = 0.25 points).

Then what complicates the hunt for the SM even more is that the majority of the SM is actually not that smart! I have seen huge buy orders at top of a price reversal and huge sell orders at the bottom just before the price reverses! :slight_smile:

Then we have the “Insiders” which basically is the exchange people making sure that traders trade and are happy, but not too happy and take too much of their profits! They want to make sure their “Store Room” can supply the traders with what they want. So they do their best to keep a balance between Supply and Demand and that’s one reason why the price moves as it does.

As a result, when you see a price reversal, it’s actually most of the time a Minority Volume which is leading the market! This is totally against the popular believe that at a price reversal suddenly the Bears or Bulls are taking over and reverse the price. What is actually happening most of the time is that the few smart SM is taking advantage of a buying or selling frenzy and when the majority of traders are buying, they are absorbing it and going short and vice versa. So if you study for example a short trend in 5 minute TF in ES, you can see that the price reversed AFTER heavy Volume and WITH low Volume. Then the volume will slowly increase and since the majority of the traders are fearful, they looking for confirmations and will only jump into the market at about half way of the trend and at the end of the trend. Then when the trend comes to an end, about the same thing will happen again. By the way, the way you manipulate the price direction with a “minority volume” is to place a series of market orders.

So what we can conclude now is that during a Buying and Selling frenzy- the SM is very active preparing to go in the opposite direction. And the SM is not doing all the preparation work unless there is money to make. So in ES you can very often see that they try to target moves in multiples of 5 points.

Once that trend is established the SM is just watching it. But you can often see that suddenly you can have more than normal Volume with the price going in the direction of the trend. This is SM just making sure the trend will continue by pushing the price in the “right direction”.

That was a long message to basically say No way there are 80 to 90% SM Volume in any period in any TF. There will be periods with no SM or Insiders at all. But if we look at a whole day, then I have a feeling that 20% of the Volume is from real big SM players and 50 -60% of the Volume is from other SM/big players. The remaining Volume is from Retail Traders and Pro Traders.

So how to follow the SM then? I would say that it’s a good start to focus on when and where they are active and create an indicator which will alert you when the Volume is higher than normal under a few 5 minutes periods and compare the Volume to the price range and direction. Not sure exact how since I spend most of my time study the chart- not coding. But this could maybe get you started:

PriceMove = IIf( Close > Ref( Close, -1 ), Close - Low, IIf( Close < Ref( Close, -1 ), Close - High, 0 ) );
AD= PriceMove * Volume;
WAD = AD + Ref( AD, -1 );
Plot( 0,"", colorYellow, styleNoLabel );
Plot( WAD,"", colorBlue );

An additional tool is to learn to think like SM! And learn how they Trap other traders. Then these Traps can be used as your trade alerts. Start to study Price Action.

I also would like to add that in my personal opinion, using Volume and Price is one of the few ways for us Retail Traders to consistently take our cut of the market. The great thing with Volume and Price is that they are leading indicators which gives the trained eye the best possible information! But discretionary trading using Volume and Price is where the possibility to make real good profits comes. BUT the most difficult part is the mental part of the it. To actually follow a plan 100% without fear and greed! That’s not easy at all and requires lots of training, such as Paper Trading, before going live.


1 Like

Hellow every body

Very ritch discussion and i did like it but still no some afl ideas about the back bone of wyckoff market structure strategies , is ther any samples for springs or up thrusts or jump or fall plus swings shortening of thrust or bars shortening of thrust. Is there a chance that we co-operate to build a good afl code?

Best req.

It would be take a much better coder than me to take on such a project. I
approached Alvarez Quant Trading about the possibility of coding this
project. However, he was completely booked.
I would be willing to contribute money to a pool, so that everyone would
benefit in the effort.
I am still of the firm belief that such a project would need to have a
Neural Network Core


@wciszak What makes you think these are the 3 most reliable? Do you have some statistics, backtest results, proof that these are profitable? If you do would you please share it?

IMHO it would be impossible to attach any meaningful proof to VSA or VPA analysis using conventional methods. By all accounts, the combination of Price + Volume Analysis is more Art than Science. "In The Eye of the Beholder"
I am convinced that a Neural Network must be at the core of ANY meaningful prediction of the NEXT BAR with any market and any timeframe.
I can Guarantee that the Insiders who Manipulate the Majority of the Open Markets around the world, Use the latest Technology to keep their money. As an example,High Frequency Trading raked in billions in years past. HFT took on Wall Street and was winning until the Insiders figured out a way to combat these traders. Small Retail Traders Can Not win against these guys.
Once again, all I want is a Very Small piece of a Very Large pie, consistently. The only way is to know where the smart money is going NEXT and Neural Network Tech is the way to go.

Good question! “The most reliable” was bad wording because it does not necessarily mean profitable. I don’t use these signals in my trading and the testing I did some years ago was not encouraging.

Does anyone use the Negative Volume Index Indicator (NVI)?

If so, What is Your Opinion?

i have been working with wyckoff method for almost 8 years and i am doing fine.what i am trying to do is explorer for specific conditions and individually like spring , upthrust,breakout,retest,topping and bottoming …
i have seen some afl codes that do channels or trends and if we can time the breakout of the channel with bottoming or topping conditions we can start from there.
if there is a good programmer i think we have a good chance to make it.

I would be interested to know some of the techniques you are using to implement Wyckoff.
Also are you using channel lines to implement a breakout strategy of Support and Resistance? Also any of the afl codes you would like to share.
Finding a programmer is not a problem, there are several Freelance Marketplaces that can offer good cheap programming services by Hungry smart people.
What I do not want to do is submit a project that is not well defined. If you do costs will soar, because You are relying on the Programmer to make decisions on parameters. All I want the Programmer to do is code.
I don’t think I am any where near that step. There are so many more fundamental aspects That I need to understand first. Wyckoff was only one of the five Core chartists. Maybe he was the Best.

Hellow Gerg9042
I do not know your background abut Wyckoff methods and stratigies but I can sys that it imphasize on 2 major areas:
1-market structure (accumulation-markup-distribution-and markdown) and concentrates on the behavior of the movement during those stages.
2-bars reaction with volume during the move inside each stage and how to react with it.
building on that,
I would advise you to do your best to learn how to decide the bottom or top and the end of that move then the trending move and how make your decisions in up and down moves.
the heart of Wyckoff is the change of behavior at the end or start in each stage and this will lead to learning some combinations of bars interactions in specific times like(spring-up thrust- jump across the creek - falling thru the ice - or absorption ). once you master these you will feel the joy of profits.
note : It will take some time to learn depending on your effort and insist on doing it.
I do not have afl code because mostly I trade 3-6 months swings but now I feel to switch to weekly or daily trader and this needs a tool for help on decision making and this is why I am looking for a programmer even though I fear they get your ideas and make the code and then sell it.( it did happen with me ).

best req.

best req.

Compared to You, I am a complete Newb. I have only been actively trading for about three years now and by actively trading, I mean for cash increase only. I have a trade horizon of about 2 weeks, sometimes a little bit more if the stock runs… So, I am actively swinging… Working for Hewlett Packard for 23 years in their Server division will help me to develop a Computerized Trading Strategy.
The breakout of stocks using resistance lines, seems to be the easiest for me to learn right now. The terms ( spring-up-thrust, jump across the creek etc. ) are completely foreign to me. However, learning all this stuff is the exciting part.
The service I use gives me Pivot points, breakout volumes, a relative strength figure and fundamental info. Plus it is cheap.
The Wyckoff methods are the next logical step. Analyzing the breakout volume, along with comparison of the indicators available is time consuming and let me say there are a bunch of good codes and there is a BUNCH of crap.
You are absolutely correct, The more I study Wyckoff, the more I am convinced the core is exactly as You said. Knowing the behavior of of each stage of Accumulation and Distribution and knowing when those stages begin and end. Trend is Everything.
How to quantify those stages and implement them into a piece of code is what I am working toward.

1 Like

Thanks for all the references. I have coded some AFL that looks at spread and price relating to volume and posted it here: VSA and VPA AFL Code



The following AFL plots VPA from left side.
Can you anybody seniors do help me plotting the same from rightside.
Many thanks in advance

Author: Anderson Wilson
based on PriceVolDistribution demo written by Tomasz Janeczko

Volume-by-Price is an indicator that shows the amount of volume for a particular
price range,
The Volume-by-Price bars are horizontal and shown on the left side of the chart
to correspond
with these price ranges. Bar colors indicate bear/bull volume

Use F12 and SHIFT+F12 to define range

bi = BarIndex();
fvb = BeginValue(bi);
lvb = EndValue(bi);
if( fvb == 0 && lvb == LastValue(bi) ) {
fvb = FirstVisibleValue( bi );
lvb = LastVisibleValue( bi );
fvb = Max( 0, fvb );
lvb = Max( 0, lvb );

bins = Param("Bins", 100, 3, 100, 1); // no of line of volume bars
pRecHeight = Param("Rectangle Height", 0.90, 0.10, 1, 0.05);

BullBearZone = (High - Low) / 3;
bullbar = C > (High - BullBearZone);
bearbar = C < (Low + BullBearZone);

mx = PriceVolDistribution( H, L, V, bins, True, fvb, lvb );
mx1 = PriceVolDistribution( H, L, IIf( bullbar, V, 0 ), bins, True, fvb, lvb );
mx2 = PriceVolDistribution( H, L, IIf( bearbar, V, 0 ), bins, True, fvb, lvb );

bins = MxGetSize( mx, 0 );
bins1 = MxGetSize( mx1, 0 );
bins2 = MxGetSize( mx2, 0 );

GfxSetOverlayMode( 1 );
GfxSetCoordsMode( 1 );

if( bins > 1 && bins == bins1 && bins == bins2 ) {

MaxVolume = mx[ 0 ][ 1 ];

// find max volume
for( i = 1; i < bins; i++ )
	if( mx[ i ][ 1 ] > MaxVolume )
		MaxVolume = mx[ i ][ 1 ];

// rectangle height
RecHeight = (mx[ 1 ][ 0 ] - mx[ 0 ][ 0 ]) / 2 * pRecHeight;

for( i = 0; i < bins; i++ )
	price = mx1[ i ][ 0 ]; // price level
	absVolume = mx1[ i ][ 1 ];
	VolAcum = absVolume;
	relvolume = absVolume / MaxVolume;
	relbar = relvolume * (lvb-fvb+1);
	// upper left corner of the rectangle.	
	x1 = fvb;
	y1 = price + RecHeight;
	// lower right corner of the rectangle.	
	x2 = fvb + relbar;
	y2 = price - RecHeight; 

	GfxFillSolidRect( x1, y1, x2, y2, colorGreen );
	absVolume = mx2[ i ][ 1 ];
	VolAcum += absVolume;
	relvolume = absVolume / MaxVolume;
	relbar2 = relvolume * (lvb-fvb+1);

	x1 = x2;
	x2 = x1 + relbar2;
	GfxFillSolidRect( x1, y1, x2, y2, colorPink );

	absVolume = mx[ i ][ 1 ]; 
	relvolume = (absVolume - VolAcum) / MaxVolume;
	relbar3 = relvolume * (lvb-fvb+1);

	x1 = x2;
	x2 = x1 + relbar3;
	GfxFillSolidRect( x1, y1, x2, y2, colorLightBlue );

Plot( C, "Price", colorDefault, styleCandle );