It seems that the spaces were removed between /* and */ from my post.
It had a nice diagram of the waves in the file but I suppose one
could lookup wolf wave and figure it out.
--- In amibroker@xxxxxxxxx ps.com,
"booker_1324" <booker_1324@ ...>
wrote:
>
> Here is a
version I ran into some time back. It runs very slow
> and probably
needs to be rewritten.
>
> // 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("lastvisible
barindex" ) - 3;
> startBar = Status("firstvisibl ebarindex"
);
>
> // Some visual choices ...
> BullPlot=ParamToggl
e("Plot bull signals", "No,Yes");
> BullGuide=ParamTogg le("Plot bull
guides","No, Yes");
> ExtendBull=ParamTog gle("Extend bull plot",
"No,Yes");
> BullWColor=ParamCol or("Bullish wave colour",
colorBrightGreen) ;
> BullTColor=ParamCol or("Bullish trend colour",
colorDarkGreen) ;
>
> BearPlot=ParamToggl e("Plot bear
signals", "No,Yes");
> BearGuide=ParamTogg le("Plot bear guides",
"No,Yes");
> ExtendBear=ParamTog gle("Extend bear plot",
"No,Yes");
> BearWColor=ParamCol or("Bearish wave colour",
colorRed);
> BearTColor=ParamCol or("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);
>
>
PlotAB = LineArray(P2Idx[ Bar], P2[Bar], T1Idx[Bar], T1[Bar]);
>
Plot(PlotAB, "", BullWColor, styleLine );
>
> PlotBC =
LineArray(T1Idx[ Bar], T1[Bar], P1Idx[Bar], P1[Bar]);
> Plot(PlotBC,
"", BullWColor, styleLine);
>
> if(BullGuide) {
> PlotAC
= LineArray(P2Idx[ Bar], P2[Bar], P1Idx[Bar], P1
> [Bar],extendBull)
;
> Plot(PlotAC, "", BullTColor, styleLine|styleNoLa bel);
>
> PlotXB = LineArray(T2Idx[ Bar], T2[Bar], T1Idx[Bar], T1
>
[Bar],extendBull) ;
> Plot(PlotXB, "", BullTColor, styleLine|styleNoLa
bel);
>
> PlotXC = LineArray(T2Idx[ Bar], T2[Bar], P1Idx[Bar],
P1
> [Bar],extendBull) ;
> Plot(PlotXC, "", BullTColor,
styleLine|styleNoLa bel);
> }
> }
> } // 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);
>
>
PlotAB = LineArray(T2Idx[ Bar], T2[Bar], P1Idx[Bar], P1[Bar]);
>
Plot(PlotAB, "", BearWColor, styleLine );
>
> PlotBC =
LineArray(P1Idx[ Bar], P1[Bar], T1Idx[Bar], T1[Bar]);
> Plot(PlotBC,
"", BearWColor, styleLine);
>
> if(BearGuide) {
> PlotAC
= LineArray(T2Idx[ Bar], T2[Bar], T1Idx[Bar], T1
> [Bar],extendBear)
;
> Plot(PlotAC, "", BearTColor, styleLine|styleNoLa bel);
>
> PlotXB = LineArray(P2Idx[ Bar], P2[Bar], P1Idx[Bar], P1
>
[Bar],extendBear) ;
> Plot(PlotXB, "", BearTColor, styleLine|styleNoLa
bel);
>
> PlotXC = LineArray(P2Idx[ Bar], P2[Bar], T1Idx[Bar],
T1
> [Bar],extendBear) ;
> Plot(PlotXC, "", BearTColor,
styleLine|styleNoLa bel);
> }
> }
> } // fi
if(BearPlot)
> } // fi for(Bar =
> _N(Title="") ;
>
>
>
> --- In amibroker@xxxxxxxxx ps.com,
kailash pareek <johnnypareek@ >
> wrote:
> >
>
> Hi,
> > I wonder if any one have coded "Wolf Wave" in
afl.
> > If yes, Please share.
> > Kailash Pareek
>
> www.moneybulls. blogspot. com
>
>
>