Average Effective Volume Indicator

germanburrito

Active member
In case anyone is interested, I made a rough estimate of Pascal Willain's Effective Volume function (from this book). you can download the book and how it works here its https://b-ok.cc/book/720566/248b4b page 32. The book starts by outlining the formula, then it explains that not all volume is useful, only about 25 percent of volume could be used to gauged the overall sentiment of where the stock might go. The issue with this indicator is that is a rough estimate of where the big players and the small payers could lie within the formula, I have the small players turned off, I only have the average turned on, I found that on the 20 day 4 hour it outlines where there might be a turn in the stock or where the sentiment according to volume might change. I don't think the indicator is done, if anyone has a better way to average the small players and large players it would be of great help. The way I use this is sometimes there's is divergences in volume and direction of price. Mind you the way I am using this indicator is my take on it so you are subject to my ideas unless you read the book, or if you have some ideas to make this indicator better, I am still backtesting it. In case you're wondering the indicator ignores the first bar of trading, the book outlines why this is the case. No where in the book does the indicator say that you should average effective volume.

zCiSLaP.png
, but this is what im doing so there that....

f2alNaL.png


Code:
declare lower;

def h = Max(high, close[1]);
def l = Min(low, close[1]);
input priceIncrement = 0.01;
def ev = volume * (close - close[1] + priceIncrement) / (h - l + priceIncrement);
# version without opening noise
def ev2 = if(secondsFromTime(930)>600,ev,0);
def EffectiveVolume = ev2;
#plot elapsedtime = secondsFromTime(930);

def ev_mag_avg = Average(data = AbsValue(ev2), length = 144);
#def small_ev = if(AbsValue(ev2) < ev_mag_avg, ev2, 0);
def large_ev = if(AbsValue(ev2) >= ev_mag_avg, ev2, 0);
#plot SmallEffectiveVolume = small_ev;
plot LargeEffectiveVolume = large_ev;
#plot SmallEffectiveVolumeAvg = Average(data = small_ev, length = 33);
#plot LargeEffectiveVolumeAvg = Average(data = large_ev, length = 33);
plot average = average(largeEffectiveVolume);

plot zeroline = 0;

largeEffectiveVolume.hide();


average.SetDefaultColor(GetColor(5));
average.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);
average.SetLineWeight(3);
average.DefineColor("Positive and Up", Color.GREEN);
average.DefineColor("Positive and Down", Color.yellow);
average.DefineColor("Negative and Down", Color.RED);
average.DefineColor("Negative and Up", Color.yellow);
average.AssignValueColor(if average >= 0 then if average > average[1] then average.color("Positive and Up") else average.color("Positive and Down") else if average < average[1] then average.color("Negative and Down") else average.color("Negative and Up"));
 

Adeodatus

Member
VIP
Interesting method, great visual effect. it seems (in my viewer) to be more readable with candle stick, instead of straight lines for LargeEffective (LE) and an Orange negative up, Yellow positive down. Note that an LE buyer won't "lead the trading", but as conditions indicate buyers going into a stock, LE will do a big buy, perhaps more, and then wait. Also noted, as the price is hitting a -2 deviation, LE's may start in, helping support PPS, thereby moving SE trader buys. To be able to separate perhaps institutional and retail, its a great indicator. But trading is still like an auction, where getting the right entry is as important as market direction
 

germanburrito

Active member
Interesting method, great visual effect. it seems (in my viewer) to be more readable with candle stick, instead of straight lines for LargeEffective (LE) and an Orange negative up, Yellow positive down. Note that an LE buyer won't "lead the trading", but as conditions indicate buyers going into a stock, LE will do a big buy, perhaps more, and then wait. Also noted, as the price is hitting a -2 deviation, LE's may start in, helping support PPS, thereby moving SE trader buys. To be able to separate perhaps institutional and retail, its a great indicator. But trading is still like an auction, where getting the right entry is as important as market direction
-2 tsandard deviation from what? what is the average that you use.
 

Adeodatus

Member
VIP
Using "StandardDevChannel" indicator from TOS, placed 3 or 4 times on the top chart, each varied at "Input Devation" ~ @ 0.5, the next @ 1.0, the next @ 2.0, and if placing a 4th, then @ 3.0. Changed "input fullRange" to No, and also changed "input length" ~ 480 on all, results are placed along side the price, then its compared to Average Effect Volume Indicator in a lower field. Relative to where the price vs deviation lines, sometimes it amplifies where Institutional buys effect price movement.

Code:
# TD Ameritrade IP Company, Inc. (c) 2009-2021
#

input price = close;
input deviations = 2.0;
input fullRange = Yes;
input length = 21;

def regression;
def stdDeviation;
if (fullRange) {
    regression = InertiaAll(price);
    stdDeviation = stdevAll(price);
} else {
    regression = InertiaAll(price, length);
    stdDeviation = stdevAll(price, length);
}

plot UpperLine = regression + deviations * stdDeviation;
plot MiddleLine = regression;
plot LowerLine = regression - deviations * stdDeviation;

UpperLine.SetDefaultColor(GetColor(8));
MiddleLine.SetDefaultColor(GetColor(8));
LowerLine.SetDefaultColor(GetColor(8));
 

Similar threads

Top