PureBytes Links
Trading Reference Links
|
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@xxxxxxxxxxxxxxx, "booker_1324" <booker_1324@xxx>
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("lastvisiblebarindex") - 3;
> 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);
>
> 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|styleNoLabel);
>
> PlotXB = LineArray(T2Idx[Bar], T2[Bar], T1Idx[Bar], T1
> [Bar],extendBull);
> Plot(PlotXB, "", BullTColor, styleLine|styleNoLabel);
>
> PlotXC = LineArray(T2Idx[Bar], T2[Bar], P1Idx[Bar], P1
> [Bar],extendBull);
> Plot(PlotXC, "", BullTColor, styleLine|styleNoLabel);
> }
> }
> } // 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|styleNoLabel);
>
> PlotXB = LineArray(P2Idx[Bar], P2[Bar], P1Idx[Bar], P1
> [Bar],extendBear);
> Plot(PlotXB, "", BearTColor, styleLine|styleNoLabel);
>
> PlotXC = LineArray(P2Idx[Bar], P2[Bar], T1Idx[Bar], T1
> [Bar],extendBear);
> Plot(PlotXC, "", BearTColor, styleLine|styleNoLabel);
> }
> }
> } // fi if(BearPlot)
> } // fi for(Bar =
> _N(Title="");
>
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, 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
> >
>
------------------------------------
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
For other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/amibroker/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:amibroker-digest@xxxxxxxxxxxxxxx
mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|