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

WOLF WAVE for Amibroker (AFL)

Rating:
3 / 5 (Votes 2)
Tags:
amibroker, pattern

Nice indicator afl for bullish and bearish wolf pattern. Plotting of wolf waves needs to be enabled via parameters.

Screenshots

Similar Indicators / Formulas

Wolf Wave AFL
Submitted by shekhar373 about 13 years ago
Head & Shoulders Pattern
Submitted by anandnst over 13 years ago
Volume Trade with Candle reader
Submitted by Divyesh over 11 years ago
Modified Head & Shoulder Pattern
Submitted by huynhbao2 over 13 years ago
Cup Formation
Submitted by vargasc1 over 13 years ago
Andrews Pitchfork v3.3
Submitted by kaiji almost 15 years ago

Indicator / Formula

Copy & Paste Friendly
// WolfeWave-V1.01.afl
// Author: Mac Johnson
// Date: 28aug2005

Version(4.70); // works from this version onwards

SetChartBkColor(ParamColor("Background colour",colorBlack));

Plot(C, "", colorGrey40, styleCandle );

// Only interested in the visible bars
lastbar = Status("lastvisiblebarindex") - 10;
startBar = Status("firstvisiblebarindex");

// Some visual choices ...
BullPlot=ParamToggle("Plot bull signals", "No,Yes");
BullGuide=ParamToggle("Plot bull guides","No,Yes");
ExtendBull=ParamToggle("Extend bull plot", "No,Yes");
BullWColor=ParamColor("Bullish wave colour", colorBrightGreen);
BullTColor=ParamColor("Bullish trend colour", colorDarkGreen);

BearPlot=ParamToggle("Plot bear signals", "No,Yes");
BearGuide=ParamToggle("Plot bear guides", "No,Yes");
ExtendBear=ParamToggle("Extend bear plot", "No,Yes");
BearWColor=ParamColor("Bearish wave colour", colorRed);
BearTColor=ParamColor("Bearish trend colour", colorBrown);

// set AB's Peak/Trough percentage selection ratio
ValidDiff=1/Param("Peak ratio", 65, 0,500,5);

for(Bar = startbar; Bar < lastbar; Bar++)
{
// Build Peak and Trough arrays
P1 = Peak(H, validdiff, 1);
P1Idx = Bar - PeakBars(H, ValidDiff, 1);

P2 = Peak(H, validdiff, 2);
P2Idx = Bar - PeakBars(H, ValidDiff, 2);

T1 = Trough(L, validdiff, 1);
T1Idx = Bar - TroughBars(L, ValidDiff, 1);

T2 = Trough(Low, validdiff, 2);
T2Idx = Bar - TroughBars(L, ValidDiff, 2);

/* Test for a WolfeWave Bullish setup
*
* \ 2 + EPA
* \ Peak A is P2 / |
* \ /\ 4 / |
* \ / \ Peak C is P1 / |
* \ / \ /\ / |
* \ / \ / \ / |
* \/ \ / \ / |
* Trough X is T2 \ / \ / |
* 1 \ / \ / |
* \/ \ / |
* Trough B is T1 \/ |
* 3 5-D ETA
* Lines
* 1 - 4 = EPA
* 2 - 4 +
* 1 - 3 = ETA convergence
*/
if(BullPlot)
{
// are the peaks and troughs in the correct timewise order?
PTValid = (P1Idx[Bar] > T1Idx[Bar]) AND (T1Idx[Bar] > P2Idx[Bar]) AND (P2Idx[Bar] > T2Idx[Bar]);

// are the peaks and troughs hi's and lo's correct relatively?
HLValid = (P1[Bar] < P2[Bar]) AND (T1[Bar] < T2[Bar]) AND (P1[Bar] > T1[Bar]);

if(PTValid AND HLValid){
// Bareish Wolfewave found. Draw pattern.
PlotXA = LineArray(T2Idx[Bar], T2[Bar], P2Idx[Bar], P2[Bar]);
Plot(PlotXA, "", BullWColor, styleLine|styleThick);

PlotAB = LineArray(P2Idx[Bar], P2[Bar], T1Idx[Bar], T1[Bar]);
Plot(PlotAB, "", BullWColor, styleLine|styleThick );

PlotBC = LineArray(T1Idx[Bar], T1[Bar], P1Idx[Bar], P1[Bar]);
Plot(PlotBC, "", BullWColor, styleLine|styleThick);

if(BullGuide){
PlotAC = LineArray(P2Idx[Bar], P2[Bar], P1Idx[Bar], P1[Bar],extendBull);
Plot(PlotAC, "", BullTColor, styleLine|styleThick);

PlotXB = LineArray(T2Idx[Bar], T2[Bar], T1Idx[Bar], T1[Bar],extendBull);
Plot(PlotXB, "", BullTColor, styleLine|styleThick);

PlotXC = LineArray(T2Idx[Bar], T2[Bar], P1Idx[Bar], P1[Bar],extendBull);
Plot(PlotXC, "", BullTColor, styleLine|styleThick);
}
}
} // fi if(BullPlot)


/* Test for a WolfeWave Bearish setup
*
* 3 5-D ETA
* Peak B is P1 /\ |
* /\ / \ |
* 1 / \ / \ |
* Peak X is P2 / \ / \ |
* /\ / \ / \ |
* / \ / \ / \ |
* / \ / \/ \ |
* / \ / Trough C is T1 \ |
* / \/ 4 \ |
* / Trough A is T2 \ |
* / 2 + EPA
*
*
* Lines
* 1 - 4 = EPA
* 2 - 4 +
* 1 - 3 = ETA convergence
*/
if(BearPlot)
{
// are the peaks and troughs in the correct timewise order?
PTValid = (T1Idx[Bar] > P1Idx[Bar]) AND (P1Idx[Bar] > T2Idx[Bar]) AND (T2Idx[Bar] > P2Idx[Bar]);

// are the peaks and troughs hi's and lo's correct relatively?
HLValid = (P1[Bar] > P2[Bar]) AND (T1[Bar] > T2[Bar]) AND (T1[Bar] < P1[Bar]);

if(PTValid AND HLValid){
// Bullish Wolfewave found. Draw patterns
PlotXA = LineArray(P2Idx[Bar], P2[Bar], T2Idx[Bar], T2[Bar]);
Plot(PlotXA, "", BearWColor, styleLine|styleThick);

PlotAB = LineArray(T2Idx[Bar], T2[Bar], P1Idx[Bar], P1[Bar]);
Plot(PlotAB, "", BearWColor, styleLine|styleThick );

PlotBC = LineArray(P1Idx[Bar], P1[Bar], T1Idx[Bar], T1[Bar]);
Plot(PlotBC, "", BearWColor, styleLine|styleThick);

if(BearGuide){
PlotAC = LineArray(T2Idx[Bar], T2[Bar], T1Idx[Bar], T1[Bar],extendBear);
Plot(PlotAC, "", BearTColor, styleLine|styleThick);

PlotXB = LineArray(P2Idx[Bar], P2[Bar], P1Idx[Bar], P1[Bar],extendBear);
Plot(PlotXB, "", BearTColor, styleLine|styleThick);

PlotXC = LineArray(P2Idx[Bar], P2[Bar], T1Idx[Bar], T1[Bar],extendBear);
Plot(PlotXC, "", BearTColor, styleLine|styleThick);
}
}
} // fi if(BearPlot)
} // fi for(Bar =
_N(Title="Wolfe Wave Patterns"); 

5 comments

1. konidena

Cane we use this for Intra day?. If so how?
kindly elobarate
Regards
Subrahmanyam

2. rajbhagalpur

kindly visit the web site
http://www.wolfewave.com/what_is_the_wolfewave.htm

3. baby.learn.to.trade

runtime error at:

if(BullPlot)
{
// are the peaks and troughs in the correct timewise order?
PTValid = (P1Idx[Bar] > T1Idx[Bar]) AND (T1Idx[Bar] > P2Idx[Bar]) AND (P2Idx[Bar] > T2Idx[Bar]);

may it need include afl or dll file.

please help, thanks

4. rajankamboj

still waiting foe a good wolfe wave identifier

5. handasa

you can find wolfe wave amibroker formula on the video in the youtube link below
https://youtu.be/l1rDkD5U1tY

Leave Comment

Please login here to leave a comment.

Back