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 ----- 
  From: booker_1324 
  To: [email protected] 
  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 [email protected], "booker_1324" <[EMAIL PROTECTED]> 
  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 [email protected], 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
  > >
  >



   

<<WOLVE.JPG>>

Reply via email to