Subject: [amibroker] Re: Wolf Wave.
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
>
>
>