2022 Start working on a new website
BBS Trading Expert
Watch the Youtube BBS video and here is a crude oil trading example
Want to know more about:
AXIOM business books awards, bronze medal! Thank You!
No longer available!
Favorite articles in 2010, 11, 12, 14 and 2015 S&C Readers' Choice Awards.
AXIOM Business Books Awards, bronze medal.
HOME Back to MetaStock Formulas Overview
SVAPO or "Short term Volume And Price Oscillator", is my oscillator based on price and volume, looking at the relationship between these two components in an up trending and a down trending market. I like the name SVAPO, because it also starts with my initials!
To construct a short term oscillator based on price and volume, we have to look at the relationship between these two components in an up trending and a down trending market. Table 1 and 2 show their normal relationship.
Up trending market 
Price 
Volume 



Uptrend 
Up 
Up 
Correction 
Down 
Down 
Reversal 
Down 
Up 
Table 1: Up trending market
Down trending market 
Price 
Volume 



Downtrend 
Down 
Up 
Correction 
Up 
Down 
Reversal 
Up 
Up 
Table 2: Down trending market
Combining these two tables in a market direction, leaves us with 3 possible conditions (table 3):
 In an up trending market, price and volume are moving up. We will sum the volume when calculating the oscillator.
 In a down trending market, price goes down while volume is up. We will subtract the volume when calculating the oscillator.
 When volume is moving down, price is in a consolidation phase in either direction. There will be no volume taken into consideration when calculating the oscillator.
Market direction 
Price 
Volume 
Calculation 




Uptrend 
Up 
Up 
+ Volume 
Downtrend 
Down 
Up 
 Volume 
Corrections 
Up/Down 
Down 
0 
Table 3: volume calculation rules
A raw combination of price and volume will result in a much too choppy oscillator. Using conventional smoothing techniques, like moving averages, will create an unacceptable delay for a short term oscillator. So, I am applying a number of specific techniques for the final SVAPO creation.
This is the formula:
SVAPO:
haOpen:=(Ref((O+H+L+C)/4,1) + PREV)/2;
haCl:=((O+H+L+C)/4+haOpen+Max(H,haOpen)+Min(L,haOpen))/4;
period:= Input("SVAPO period :", 2, 20, 8);
cutoff:= Input("Minimum %o price change :",0.0,10,1);
devH:= Input("Standard Deviation High :", 0.1, 5, 1.5);
devL:= Input("Standard Deviation Low :", 0.1, 5, 1.3);
stdevper:= Input("Standard Deviation Period :", 1, 200, 100);
haC:=Tema(haCl,period/1.6);
vave:=Ref(Mov(V,period*5,S),1);
vmax:=vave*2;
vc:=If(V<vmax,V,vmax);
vtr:=Tema(LinRegSlope(V,period),period);
SVAPO:=Tema(Sum(If(haC>(Ref(haC,1)*(1+cutoff/1000)) AND Alert(vtr>=Ref(vtr,1),2), vc, If(haC<(Ref(haC,1)*(1cutoff/1000)) AND Alert(vtr>Ref(vtr,1),2),vc,0)),period)/(vave+1),period);
devH*Stdev(SVAPO,stdevper);
devL*Stdev(SVAPO,stdevper);
zeroref:=0;
zeroref;
SVAPO
The start of a short term up move is signaled by SVAPO when it turns up from below the lower standard deviation boundary. The same is valid for a short term down move when SVAPO turns down from above the upper standard deviation boundary.
Medium term turning points in an up or downtrend are mostly announced with a divergence between price and SVAPO.
In a medium term uptrend, SVAPO will generally continue to move above the 0reference line.
For short term scalping or for finding additional medium term entry points SVAPO can be used with a period of only 3 bars and a zero per thousand minimum price change.
For data series that do not have volume, I developed a SVAPO price only oscillator.
SVAPO_PriceOnly:
{calculate heikinashi closing average haCl and get the input variables}
haOpen:=(Ref((O+H+L+C)/4,1) + PREV)/2;
haCl:=((O+H+L+C)/4+haOpen+Max(H,haOpen)+Min(L,haOpen))/4;
{input SVAPO period}
period:= Input("SVAPO period :", 2, 20, 8);
{input minimum per thousand price change}
cutoff:= Input("Minimum %o price change :",0.0,10,1);
{Inputs for standard deviation bands}
devH:= Input("Standard Deviation High :", 0.1, 5, 1.5);
devL:= Input("Standard Deviation Low :", 0.1, 5, 1.3);
stdevper:= Input("Standard Deviation Period :", 1, 200, 100);
{Smooth HaCl closing price}
haC:=Tema(haCl,period/1.6);
{MA of Volume to limit extremes}
vave:=Ref(Mov(C,period*5,S),1);
vmax:=vave*2;
vc:=If(C<vmax,C,vmax);
{Basic volume trend}
vtr:=Tema(LinRegSlope(C,period),period);
{SVAPO result of price and volume}
SVAPO:=Tema(Sum(If(haC>(Ref(haC,1)*(1+cutoff/1000)) AND Alert(vtr>=Ref(vtr,1),2), vc, If(haC<(Ref(haC,1)*(1cutoff/1000)) AND Alert(vtr>Ref(vtr,1),2),vc,0)),period)/(vave+1),period);
devH*Stdev(SVAPO,stdevper);
devL*Stdev(SVAPO,stdevper);
zeroref:=0;
zeroref;
SVAPO
HOME Back to MetaStock Formulas Overview
Find a Stock ticker symbol, enter the ticker and find a chart, news, fundamentals and historical quotes.
Risk Disclosure: Futures and forex trading contains substantial risk and is not for every investor. An investor could potentially lose all or more than the initial investment. Risk capital is money that can be lost without jeopardizing onesâ€™ financial security or life style. Only risk capital should be used for trading and only those with sufficient risk capital should consider trading. Past performance is not necessarily indicative of future results.
Hypothetical Performance Disclosure: Hypothetical performance results have many inherent limitations, some of which are described below. no representation is being made that any account will or is likely to achieve profits or losses similar to those shown; in fact, there are frequently sharp differences between hypothetical performance results and the actual results subsequently achieved by any particular trading program. One of the limitations of hypothetical performance results is that they are generally prepared with the benefit of hindsight. In addition, hypothetical trading does not involve financial risk, and no hypothetical trading record can completely account for the impact of financial risk of actual trading. for example, the ability to withstand losses or to adhere to a particular trading program in spite of trading losses are material points which can also adversely affect actual trading results. There are numerous other factors related to the markets in general or to the implementation of any specific trading program which cannot be fully accounted for in the preparation of hypothetical performance results and all which can adversely affect trading results.
See more 'Legal Disclosures' in the bottom menu bar!