[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [amibroker] Re: Wolf Wave.



PureBytes Links

Trading Reference Links

Hi, that's not my problem with this code. It's rather obvious to me that the part between the /* */ is text and not code. So that's a small fix. The real problem is the following :
 
 
Something goes wrong with the bars. The code is trying to read out of range subcripts ...
Probably to do with the ValidDif variable ...
 
Regards, Ton.
 
 
 
----- Original Message -----
Sent: Thursday, May 15, 2008 8:46 PM
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@xxxxxxxxxps.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("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@xxxxxxxxxps.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
> >
>

__._,_.___

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




Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___