Stock Portfolio Organizer

The ultimate porfolio management solution.

Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
For Portfolio Manager Click Here

WiseTrader Toolbox

#1 Selling Amibroker Plugin featuring:

Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
Find Out More Here

Volume Oscillator for Amibroker (AFL)
kaiji
almost 15 years ago
Amibroker (AFL)

Rating:
5 / 5 (Votes 4)
Tags:
trading system, amibroker, exploration, volume

As volume levels are increasing, shorter-term volume moving averages will rise above longer-term volume moving averages. This is similar to how shorter-term price moving averages rise above longer-term price moving averages when prices are increasing. Thus, the difference between two volume moving averages of varying lengths (i.e., this indicator) can be used to see if overall volume trends are increasing or decreasing. When the Volume Oscillator rises above zero, it signifies that the shorter-term volume moving average has risen above the longer-term volume moving average, or that the short-term volume trend is higher (i.e., more volume) than the longer-term volume trend.

There are many ways to interpret changes in volume trends. One common belief is that rising prices coupled with increased volume, and falling prices coupled with decreased volume, is bullish. Conversely, if volume increases when prices fall, and volume decreases when prices rise, the market is showing signs of underlying weakness. The theory behind this is straight forward. Rising prices coupled with increased volume signifies increased upside participation (more buyers) that should lead to a continued move. Conversely, falling prices coupled with increased volume (more sellers signifies increased downside participation).

The above information is borrowed from the Metastock help files.

Place this indicator on the same chart as the DMI spread, Demand Index, and Cyclotron indicators. These provide some interesting supporting signals. Of couse, always have a price line somewhere.

Similar Indicators / Formulas

OPTIMIZED ICHIMOKU
Submitted by ritesh.bafna88 about 12 years ago
Reaction Trend System
Submitted by ajayjain90 over 14 years ago
Behgozin Strength Finder
Submitted by hotaro3 about 12 years ago
KPL with RSI
Submitted by pdkg_gal over 14 years ago
Intraday Trend Break System
Submitted by nishantndk over 14 years ago
ema crossovers
Submitted by rushee.g1100 over 14 years ago

Indicator / Formula

Copy & Paste Friendly
/* Volume Oscillator */
/* Indicator, system, and exploration */
/* Steve Wiser slwiserr@erols.com */

PlusDM= IIf(High>Ref(High,-1) AND Low>=Ref(Low,-1), High-Ref(High,-1),
                 IIf(High>Ref(High,-1) AND Low<Ref(Low,-1)
                 AND High-Ref(High,-1)>Ref(Low,-1)-Low,
                High-Ref(High,-1),0));

Vm=log(EMA(V,3));
 
Buy= (C-L)*Vm+ (H-O)*Vm + 
         IIf(C>O,(C-O)*Vm,0) + PlusDM*Vm + 
         IIf(Ref(C,-1)<O,(O-Ref(C,-1))*Vm,0);

MinDM = IIf(Low<Ref(Low,-1)   AND  High<=Ref(High,-1), Ref(Low,-1)-Low,
               IIf(High>Ref(High,-1) AND Low<Ref(Low,-1)
               AND High-Ref(High,-1)<Ref(Low,-1)-Low, Ref(Low,-1)-Low, 0));

Sell= (H-C)*Vm + (O-L)*Vm + 
         IIf(C<O,(O-C)*Vm,0) + MinDM*Vm + 
         IIf(Ref(C,-1)>O,(Ref(C,-1)-O)*Vm,0);

Wm=Wilders(Wilders(Buy,3)-Wilders(Sell,3),3);

Buy=Cross(Wm,0);
Sell=Cross(0,Wm);

 
Graph1=Wm;
/*Graph2=Wilders(Wm,30);*/
Graph2=MA(Wm,8);

Graph0=0;
Graph0Style=Graph1Style=Graph2Style=5;
Graph2Color=6;


Filter= (Buy==1)  ;
NumColumns = 6;
Column0 =Ref(C+0.065,-1);
Column0Format = 1.2;
Column0Name = "Trigger Price";WriteVal(C+0.065);
Column1 = C; 
Column1Name = "Close       ";WriteVal(C);
Column1Format = 1.2;
Column2 = MA(V,17); 
Column2Name = "17 Ma Vol   ";WriteVal(MA(V,17) );
Column2Format = 1.0;
Column3 = MA(C,17)/MA(C,50); 
Column3Name = "% 17/50 ";WriteVal(  MA(C,17)/MA(C,50) );
Column3Format = 1.2;
Column3Format = 1.2;
Column4= MA(C,17);
Column4Name="17 C ma"; WriteVal(  MA(C,17) );
Column4Format = 1.2;
Column4= MA(C,50);
Column4Name="50 C ma"; WriteVal( MA(C,50) );
Column4Format = 1.2;
Column5=Wm;
Column5Name="Vol Osc"; WriteVal(Wm);
Column5Format=1.2;  

/*  End of Exploration Code. */

1 comments

1. handasa

excellent …good work

Leave Comment

Please login here to leave a comment.

Back