Welcome to the Traders Laboratory Forums.
Coding Forum Collaborate, receive help, or discuss coding related issues.

Reply
Old 10-23-2007, 02:18 AM   #9

Join Date: Nov 2006
Location: FL
Posts: 901
Ignore this user

Thanks: 0
Thanked 6 Times in 5 Posts



Re: WOLFE WAVE Indicator Needed

Quote:
Originally Posted by waveslider »

anyone interested in this we can start a new thread.
Hey that would be awesome
__________________
Think before you speak...we'll both know more that way
Reaver is offline  
Reply With Quote
Old 10-23-2007, 03:51 AM   #10

Join Date: Oct 2007
Location: Toronto
Posts: 3
Ignore this user

Thanks: 0
Thanked 1 Time in 1 Post



Re: WOLFE WAVE Indicator Needed

would love to hear more.. eventually money matters.
trading_fishes is offline  
Reply With Quote
Old 12-06-2007, 02:20 AM   #11

Join Date: Dec 2007
Location: Mumbai
Posts: 6
Ignore this user

Thanks: 0
Thanked 0 Times in 0 Posts



Re: WOLFE WAVE Indicator Needed

My first post here,wonderful forum and wonderful people-compliments!
While googling I found below code for ww but there are some errors,can anyone post a correct code for wolfe wave out of it?Below is a copy paste of what I found.
---------------------
The following is claimed to be the Wolfe wave
formula for Tradestation,

Inputs:TICKCHG(10),PCTCHG (.2),OCCUR(1),PLOTBARS(40 ),ETALINE(TRUE),ZIGZAG(TR UE);Array:
PBAR[50](0), P[50](0);VARS: X(0),PP(1), JA_SLOPE1(0),
JLA_CTR(0),JLA_LINE(0), JAIRHBAR(0),JAIRLBAR(0), LOWSEEK(FALSE),W(0),
JA_SLOPE2(0), JA_SLOPE3(0), JLA_PT1(0),JLA_IRH(0), JLA_IRL(99999),
WOLFE(0);IF CURRENTBAR =1 THEN P[50] = C;IF LOWSEEK = FALSE AND
P[50] <= H THENBEGINP[50] = H;PBAR[50] = 0;END;IF
LOWSEEK = TRUE AND P[50] >= L THENBEGINP[50] = L;PBAR[50] =
0;END;IF (LOWSEEK = FALSE AND PBAR[50] <> 0)
THENBEGINIF (TICKCHG = 0and L < P[50]*(1-PCTCHG/100))OR
(TICKCHG <> 0AND L < (P[50] - TICKCHG* MINMOVE POINTS))
THENBEGINIF ZIGZAG = TRUE THEN
PLOT4[PBAR[50]](P[50],"SWINGS");LOWSEEK =
TRUE; FOR W = 1 TO
49BEGINPBAR[W] = PBAR[W+1];P[W] =
P[W+1]; END;P[50] =
L;PBAR[50] = 0;END;END;IF (LOWSEEK = TRUE AND PBAR[50]
<> 0) THENBEGINIF (TICKCHG = 0and H >
P[50]*(1+PCTCHG/100))OR (TICKCHG <> 0AND H > (P[50] +
TICKCHG* MINMOVE POINTS)) THENBEGINIF ZIGZAG = TRUE THEN
PLOT4[PBAR[50]](P[50],"SWINGS");LOWSEEK =
FALSE; FOR W = 1 TO
49BEGINPBAR[W] = PBAR[W+1];P[W] =
P[W+1]; END;P[50] =
H;PBAR[50] = 0;END;END;IF TIME = LASTCALCTIMEAND DATE
= LASTCALCDATEAND P[48 - PP] <> 0 THENBEGINPP =-1;WOLFE
= 0;WHILE WOLFE < OCCUR AND PP < 46BEGINPP = PP+1;VALUE1
= P[47-PP];VALUE2 = P[48-PP];VALUE3 = P[49-PP];VALUE4 =
P[50-PP];CONDITION1 =VALUE2 > VALUE1AND VALUE4 >
VALUE3AND VALUE4 < VALUE2AND VALUE3 < VALUE1AND VALUE4 >
VALUE1;CONDITION2 =VALUE2 < VALUE1AND VALUE4 <
VALUE3AND VALUE4 > VALUE2AND VALUE3 > VALUE1AND VALUE4 <
VALUE1;IF CONDITION1 OR CONDITION2 THEN WOLFE = WOLFE
+1;END;JA_SLOPE1 = (P[49-PP] - P[47-PP]) / (PBAR[47-PP]
-PBAR[49-PP]);JA_SLOPE2 = (P[50-PP] - P[47-PP]) / (PBAR[47-PP]
-PBAR[50-PP]);{LINE 1 -
3}VALUE90=TL_New(DATE[PBAR[47-PP]],TIME[PBAR[47-PP]],P[47-PP],DATE[PBAR[49-PP]],TIME[PBAR[49-PP]],P[49-PP]);Value14
= TL_SetColor(VALUE90,5);{V ALUE93 =
TL_SetExtRight(VALUE90,TR UE);}Value94
=TL_SETEND(VALUE90,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49-PP]-PLOTBARS],TL_GETVALUE(VALUE90,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49-PP]-PLOTBARS]));{LINE
1 -
4}VALUE91=TL_NEW(DATE[PBAR[47-PP]],TIME[PBAR[47-PP]],P[47-PP],DATE[PBAR[50-PP]],TIME[PBAR[50-PP]],P[50-PP]);Value14
= TL_SetColor(VALUE91,16);{ VALUE93 =
TL_SetExtRight(VALUE90,TR UE);}TL_SETEND(VALUE91,DA TE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49-PP]-PLOTBARS],TL_GETVALUE(VALUE91,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49-PP]-PLOTBARS]));{ETA
LINE}IF ETALINE THEN BEGIN
VALUE92=TL_New(DATE[PBAR[48-PP]],TIME[PBAR[48-PP]],P[48-PP],DATE[PBAR[50-PP]],TIME[PBAR[50-PP]],P[50-PP]);Value14
=
TL_SetColor(VALUE92,4);TL _SETEND(VALUE92,DATE[PBAR[50-PP]-PLOTBARS],TIME[PBAR[50-PP]-PLOTBARS],TL_GETVALUE(VALUE92,DATE[PBAR[50-PP]-PLOTBARS],TIME[PBAR[50-PP]-PLOTBARS]));END;END;IF
DATE = LASTCALCDATEAND TIME = LASTCALCTIMEAND ZIGZAG = TRUE
THENBEGINJA_SLOPE3 = (P[50-PP] - P[49-PP]) / (PBAR[49-PP]
-PBAR[50-PP]);FOR JLA_CTR = PBAR[49] DOWNTO
PBAR[50]BEGINPLOT4[JLA_CTR](P[49]+(PBAR[49]-JLA_CTR)
*JA_SLOPE3,"SWINGS");END; END;FOR W = 1 TO
50BEGINPBAR[W] =
PBAR[W]+1;END;
techtrader is offline  
Reply With Quote
Old 12-06-2007, 12:24 PM   #12
zdo

Join Date: Nov 2007
Location: boonies
Posts: 1,169
Ignore this user

Thanks: 297
Thanked 297 Times in 211 Posts
Blog Entries: 104



Re: WOLFE WAVE Indicator Needed

Techtrader,

Do you know specifically where it's buggy or not producing correct results?
ie how to replicate the bugs?

zdo
zdo is offline  
Reply With Quote
Old 12-06-2007, 11:56 PM   #13

Join Date: Dec 2007
Location: Mumbai
Posts: 6
Ignore this user

Thanks: 0
Thanked 0 Times in 0 Posts



Re: WOLFE WAVE Indicator Needed

Quote:
Originally Posted by zdo »
Techtrader,

Do you know specifically where it's buggy or not producing correct results?
ie how to replicate the bugs?

zdo
zdo
When I paste it and e.l window and scan it I get errors so posted here so that some experts may help to correct the coding part of it.
techtrader is offline  
Reply With Quote
Old 12-07-2007, 05:20 PM   #14

Join Date: Feb 2007
Location: US
Posts: 314
Ignore this user

Thanks: 86
Thanked 204 Times in 89 Posts



Re: WOLFE WAVE Indicator Needed

There are two Wolfe Wave TS code from this thread: http://www.amibrokerfan.com/forum/in...ic=405.msg2890
The code listing is more manageable if one uses the '#' icon in the full reply message composer.

This code verifies
Code:
//Tradestation: Wolfe Wave 2
//http://www.purebytes.com/archives/amibroker/2001/msg04494.html

Inputs:
TICKCHG(10),PCTCHG(.2),OCCUR(1),PLOTBARS(40),ETALINE(TRUE),ZIGZAG (TRUE);
Array: PBAR[50](0), P[50](0);
VARS: X(0),PP(1), JA_SLOPE1(0), JLA_CTR(0),
JLA_LINE(0), JAIRHBAR(0),JAIRLBAR(0), LOWSEEK(FALSE),
W(0), JA_SLOPE2(0), JA_SLOPE3(0), JLA_PT1(0),
JLA_IRH(0), JLA_IRL(99999), WOLFE(0);
 
IF CURRENTBAR =1 THEN P[50] = C;
IF LOWSEEK = FALSE AND P[50] <= H THEN
BEGIN
P[50] = H;
PBAR[50] = 0;
END;
 
IF LOWSEEK = TRUE AND P[50] >= L THEN
BEGIN
P[50] = L;
PBAR[50] = 0;
END;
 
IF (LOWSEEK = FALSE AND PBAR[50] <> 0) THEN
BEGIN
IF (TICKCHG = 0
and L < P[50]*(1-PCTCHG/100))
OR (TICKCHG <> 0
AND L < (P[50] - TICKCHG* MINMOVE POINTS)) THEN
BEGIN
IF ZIGZAG = TRUE THEN
PLOT4[PBAR[50]](P[50],"SWINGS");
LOWSEEK = TRUE;
FOR W = 1 TO 49
BEGIN
PBAR[W] = PBAR[W+1];
P[W] = P[W+1];
END;
P[50] = L;
PBAR[50] = 0;
END;
END;
 
IF (LOWSEEK = TRUE AND PBAR[50] <> 0) THEN
BEGIN
IF (TICKCHG = 0
and H > P[50]*(1+PCTCHG/100))
OR (TICKCHG <> 0
AND H > (P[50] + TICKCHG* MINMOVE POINTS)) THEN
BEGIN
IF ZIGZAG = TRUE THEN
PLOT4[PBAR[50]](P[50],"SWINGS");
LOWSEEK = FALSE;
FOR W = 1 TO 49
BEGIN
PBAR[W] = PBAR[W+1];
P[W] = P[W+1];
END;
P[50] = H;
PBAR[50] = 0;
END;
END;
 
IF TIME = LASTCALCTIME
AND DATE = LASTCALCDATE
AND P[48 - PP] <> 0 THEN
BEGIN
PP =-1;
WOLFE = 0;
WHILE WOLFE < OCCUR AND PP < 46
BEGIN
PP = PP+1;
VALUE1 = P[47-PP];
VALUE2 = P[48-PP];
VALUE3 = P[49-PP];
VALUE4 = P[50-PP];
 
CONDITION1 =
VALUE2 > VALUE1
AND VALUE4 > VALUE3
AND VALUE4 < VALUE2
AND VALUE3 < VALUE1
AND VALUE4 > VALUE1;
 
CONDITION2 =
VALUE2 < VALUE1
AND VALUE4 < VALUE3
AND VALUE4 > VALUE2
AND VALUE3 > VALUE1
AND VALUE4 < VALUE1;

IF CONDITION1 OR CONDITION2 THEN WOLFE = WOLFE +1;
END;
 
JA_SLOPE1 = (P[49-PP] - P[47-PP]) / (PBAR[47-PP] -
PBAR[49-PP]);
JA_SLOPE2 = (P[50-PP] - P[47-PP]) / (PBAR[47-PP] -
PBAR[50-PP]);

 
{LINE 1 - 3}
VALUE90=
TL_New(DATE[PBAR[47-PP]],TIME[PBAR[47-PP]],P[47-PP],DATE[PBAR[49-
PP]],TIME[PBAR[49-PP]],P[49-PP]);
Value14 = TL_SetColor(VALUE90,5);
{VALUE93 = TL_SetExtRight(VALUE90,TRUE);}
Value94 =
TL_SETEND(VALUE90,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49-PP]-
PLOTBARS],TL_GETVALUE(VALUE90,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49-
PP]-PLOTBARS]));
 
 
{LINE 1 - 4}
VALUE91=
TL_NEW(DATE[PBAR[47-PP]],TIME[PBAR[47-PP]],P[47-PP],
DATE[PBAR[50-PP]],TIME[PBAR[50-PP]],P[50-PP]);
Value14 = TL_SetColor(VALUE91,16);
{VALUE93 = TL_SetExtRight(VALUE90,TRUE);}
TL_SETEND(VALUE91,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49-PP]-
PLOTBARS],TL_GETVALUE(VALUE91,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49-
PP]-PLOTBARS]));
 
{ETA LINE}
 
IF ETALINE THEN
BEGIN
VALUE92=
TL_New(DATE[PBAR[48-PP]],TIME[PBAR[48-PP]],P[48-PP],
DATE[PBAR[50-PP]],TIME[PBAR[50-PP]],P[50-PP]);
Value14 = TL_SetColor(VALUE92,4);
TL_SETEND(VALUE92,DATE[PBAR[50-PP]-PLOTBARS],TIME[PBAR[50-PP]-
PLOTBARS],TL_GETVALUE(VALUE92,DATE[PBAR[50-PP]-PLOTBARS],TIME[PBAR[50-
PP]-PLOTBARS]));
 
END;
END;
 
IF DATE = LASTCALCDATE
AND TIME = LASTCALCTIME
AND ZIGZAG = TRUE THEN
BEGIN
JA_SLOPE3 = (P[50-PP] - P[49-PP]) / (PBAR[49-PP] -
PBAR[50-PP]);
FOR JLA_CTR = PBAR[49] DOWNTO PBAR[50]
BEGIN
PLOT4[JLA_CTR](P[49]+(PBAR[49]-JLA_CTR) *
JA_SLOPE3,"SWINGS");
END;
END;
 
FOR W = 1 TO 50
BEGIN
PBAR[W] = PBAR[W]+1;
END;
This one requires two functions:

BarsToDate_Time & Swing_Lee_Simple
Swing_Lee_Simple can probably be substituted with Swing_Lee

Code:
//Tradestation: Wolfe Wave 1
//http://finance.groups.yahoo.com/group/amibroker/message/112236

Inputs:  NBars(13),     {Number of bars for Swing_Lee    pivot picking }

     MaxBars(250);  {Maximum number of bars forward to search for  }

                        {Match/Crossing of ETA lines to set end EPA    }

                        {If this is set to a very high number, the time}

            {to compute and plot will become excessive.    }

Vars:    TPCount(0),Direct(0),

        HoldPrice(0),BarsBk(0),

        Slope1(0),Slope2(0),

        ETA1(0),ETA2(0),EPA(0),

       NewDate(0),NewTime(0);

Arrays:  TPDate[4](0),TPTime[4](0),TPBar[4](0),TPPrice[4](0),TPDirect[4](0);

Direct=Swing_Lee(NBars);  //Swing_Lee_Simple(NBars,False);  // something about Zaf's modification ?

If Sign(Direct)<>Sign(Direct[1]) then begin

 BarsBk=AbsValue(Direct);

 {Found a TurningPoing so increase count}

 TPCount=TPCount+1;

 {Save the proper price}

  If Direct<0 then HoldPrice=High[BarsBk]

            else HoldPrice=Low [BarsBk];

  {Push the Stack}

 For Value1=1 to 3 begin

   TPDate[Value1]  =TPDate[Value1+1];

   TPTime[Value1]  =TPTime[Value1+1];

  TPBar[Value1]   =TPBar[Value1+1];

   TPPrice[Value1] =TPPrice[Value1+1];

   TPDirect[Value1]=TPDirect[Value1+1];

  End; 

 {Save Current Data}

 TPDate[4]  =Date[BarsBk];

 TPTime[4]  =Time[BarsBk];

 TPBar[4]   =CurrentBar-BarsBk;

 TPPrice[4] =HoldPrice;

 TPDirect[4]=Sign(Direct);

 Plot1[BarsBk](HoldPrice,"TP");

 If TPCount>3 then begin

   {If we have 4 TP's then we can look for WW}

  Condition1=False;Condition2=False;

  Slope1=(TPPrice[3]-TPPrice[1])/(TPBar[1]-TPBar[3]);

  Slope2=(TPPrice[4]-TPPrice[2])/(TPBar[2]-TPBar[4]);

  If TPDirect[1]>0 then begin

   {Look for Bullish WW}

      Condition1=

          TPPrice[4]>TPPrice[3] and

      TPPrice[4]<TPPrice[2] and

      TPPrice[3]<TPPrice[1] and

      TPPrice[4]>TPPrice[1] and

      Slope1    <Slope2     ;

    End

  Else Begin

   {Look for Bearish WW}

      Condition2=

      TPPrice[4]<TPPrice[3] and

      TPPrice[4]>TPPrice[2] and

      TPPrice[3]>TPPrice[1] and

      TPPrice[4]<TPPrice[1] and

      Slope1    >Slope2     ;

    End;

 {Plot the wave and lines if it exists}

   If Condition1 or Condition2 then begin

   ETA1=TL_NEW(TPDate[1],TPTime[1],TPPrice[1],TPDate[3],TPTime[3],TPPrice[3]);

   ETA2=TL_NEW(TPDate[2],TPTime[2],TPPrice[2],TPDate[4],TPTime[4],TPPrice[4]);

   EPA =TL_NEW(TPDate[1],TPTime[1],TPPrice[1],TPDate[4],TPTime[4],TPPrice[4]);

   Value5=TL_New(Date,Time,TL_GetValue(ETA1,Date,Time),

                Date,Time,TL_GetValue(ETA2,Date,Time));

   Value1=mod(tpcount,6)+2;

   Value1=red;

   TL_SetColor(ETA1,VALUE1);

   TL_SetColor(ETA2,VALUE1);

   TL_SetColor(EPA ,VALUE1);

   TL_SetColor(Value5,Red);

   TL_SetSize(Value5,3);

   Value2=0;

   Value1=0;

     While Value2=0 and Value1< MaxBars begin
	 	
	 	// need function BarsToDate_Time

  //  Value2=BarsToDate_Time(TPBar[4]-TPBar[3], Value1, NewDate, NewTime);

    Value3=TL_GetValue(ETA2, NewDate, NewTime)-TL_GetValue(ETA1, NewDate, NewTime);

    If Condition1 and Value3>0 then Value2=0;

    If Condition2 and Value3<0 then Value2=0;

     Value1=Value1+1;

     End;

   If Value2<>0 or Value1=MaxBars then begin

    TL_SetEnd(ETA1, NewDate, NewTime, TL_GetValue(ETA1, NewDate, NewTime));

    Value7=TL_GetValue(ETA2, NewDate, NewTime);

    TL_SetEnd(ETA2, NewDate, NewTime, Value7);

    Value8=Text_New(NewDate,NewTime,Value7,"ETA");

        Text_SetStyle(Value8, 0, 2);

    Value7=TL_GetValue(EPA , NewDate, NewTime);

    TL_SetEnd(EPA , NewDate, NewTime, Value7);

    Value8=Text_New(NewDate,NewTime,Value7,"EPA");

        Text_SetStyle(Value8, 0, 2);

   End;
  End;
 End;
End;
Swing_Lee function:
Code:
[LegacyColorValue = true]; 

{*******************************************************************
Function		: Swing_Lee
Last Edit	: 6/4/99
Provided By	: Clyde Lee (c) 1997,1998,1999

Notes:	Uses HighestHigh and LowestLow to determine Turning
		Points for Swing Analysis.

		Returns number of bars back to last swing point.
				Negative if low.  Positive if high.

********************************************************************}
Input: 	NDays(NumericSimple);
Vars:		HBar(0),				LBar(0),
				MinInt(IntPortion(NDays/5+1)),
				Direct(0),			Return(0);

If NDays<>0 and CurrentBar>NDays then begin
	Value2=H;HBar=0;
	For Value1=1 to AbsValue(NDays)-1 begin
		If H[Value1]>Value2 then begin
			HBar=Value1;Value2=H[HBar];
		End;
	End;		
	Value2=L;LBar=0;
	For Value1=1 to AbsValue(NDays)-1 begin
		If L[Value1]<Value2 then begin
			LBar=Value1;Value2=L[LBar];
		End;
	End;		

	If Direct=0 then begin
		Direct=HBar-LBar;
	End;

	If Direct>0 then 
		Return=Return+1
	else
		Return=Return-1;

	If LBar<HBar and Direct>0 {and HBar-LBar>MinInt} then	begin
		Direct=-1;
		Return=-HBar;
	End
	Else If HBar<LBar and Direct<0 {and LBar-HBar>MinInt}  then	begin
		Direct=+1;
		Return=LBar;
	End;

End;

Swing_Lee = Return;
thrunner is offline  
Reply With Quote
The Following User Says Thank You to thrunner For This Useful Post:
shrike (06-13-2009)
Old 12-08-2007, 12:03 AM   #15

Join Date: Dec 2007
Location: Mumbai
Posts: 6
Ignore this user

Thanks: 0
Thanked 0 Times in 0 Posts



Re: WOLFE WAVE Indicator Needed

Thx mate for your feedback but the code which verifies is not for ts8xx but for older version I think,if someone can post a code which works for 8X versions it will be a big help.
techtrader is offline  
Reply With Quote
Old 12-08-2007, 02:47 AM   #16

Join Date: Feb 2007
Location: US
Posts: 314
Ignore this user

Thanks: 86
Thanked 204 Times in 89 Posts



Re: WOLFE WAVE Indicator Needed

Quote:
Originally Posted by techtrader »
Thx mate for your feedback but the code which verifies is not for ts8xx but for older version I think,if someone can post a code which works for 8X versions it will be a big help.
They both verified and plotted for TS8xx. These Ww code has been around for many years and some features may be absent because of the one missing function and legacy coding. The complete code should be available somewhere, but this is what I could gather with limited searching. Version 2 posted (the first code box posted above) has runtime error for referencing future data.. it has been corrected in this version below by TradeStation Securities support :
Code:
//Tradestation: Wolfe Wave 2a   modified by Mitch Shack of TradeStation Securities
//https://www.tradestation.com/Discussions/Topic_Archive.aspx?Topic_ID=41125
[LegacyColorValue = True]  
 
INPUTS: 
	TICKCHG(10), {Change (number of ticks) required to set up a new swing 
		high/low.} 
	PCTCHG(.2), {Percent change in price to set up a new swing high/low} 
	OCCUR(1), 
	PLOTBARS(40), 
	ETALINE(true), 
	ZIGZAG(TRUE); 
 
ARRAY: 
	PBAR[50](0), 
	P[50](0); 
 
VARS: 
	X(0), 
	PP(1), 
	JA_SLOPE1(0), 
	JLA_CTR(0), 
	JLA_LINE(0), 
	JAIRHBAR(0), { LAST SWING HIGH BAR} 
	JAIRLBAR(0), {LAST SWING LOW BAR} 
	LOWSEEK(FALSE), {LOOKING FOR A LOW OR A HIGH?} 
	W(0), {COUNTER} 
	JLA_IRH(0), {LAST SWING HIGH VALUE} 
	JLA_IRL(99999), {LAST SWING LOW VALUE} 
	JA_SLOPE2(0), 
	JA_SLOPE3(0), 
	JLA_PT1(0), 
	WOLFE(0); 
{==================MAIN  
 
 
PROGRAM=========================} 
 
 
IF CURRENTBAR = 1 THEN P[50] = C; 
IF LOWSEEK = FALSE AND P[50] <= H THEN 
	BEGIN 
	P[50] = H; 
	PBAR[50] = 0; 
	END; 
 
IF LOWSEEK = TRUE AND P[50] >= L THEN 
	BEGIN 
	P[50] = L; 
	PBAR[50] = 0; 
	END; 
 
IF (LOWSEEK = FALSE AND PBAR[50] <> 0) THEN 
	BEGIN 
	IF (TICKCHG = 0 
		AND L < P[50] * ( 1 - PCTCHG / 100) ) 
		OR (TICKCHG <> 0 
		AND L < ( P[50] - tickchg * minmove points)) THEN 
		BEGIN  
			IF ZIGZAG = TRUE THEN  
				PLOT4[PBAR[50]](P[50],"SWINGS"); 
		LOWSEEK = TRUE; 
		FOR W = 1 TO 49 
			BEGIN 
			PBAR[W] = PBAR[W+1]; 
			P[W] = P[W+1]; 
			END; 
			P[50] = L; 
		PBAR[50] = 0; 
		END; 
	END;  
 
IF (LOWSEEK = TRUE AND PBAR[50] <> 0) THEN 
	BEGIN 
	IF (TICKCHG = 0 
		AND H> P[50] * ( 1 + PCTCHG / 100)) 
		OR (TICKCHG <> 0 
		AND H > (P[50] + tickchg * minmove points )) THEN 
		BEGIN 
		IF ZIGZAG = TRUE THEN  
			PLOT4[PBAR[50]](P[50],"SWINGS"); 
		LOWSEEK = FALSE; 
		FOR W = 1 TO 49 
			BEGIN 
			PBAR[W] = PBAR[W+1]; 
			P[W] = P[W+1]; 
			END; 
		P[50] = H; 
		PBAR[50] = 0; 
		END; 
	END; 
 
IF TIME = LASTCALCTIME 
		AND DATE = LASTCALCDATE 
		AND P[48 - PP] <> 0 THEN 
		BEGIN 
		PP = -1; 
		WOLFE = 0; 
		WHILE WOLFE < OCCUR AND PP < 46 
			BEGIN 
			PP = PP + 1; 
			VALUE1 = P[47-PP]; 
			VALUE2 = P[48-PP]; 
			VALUE3 = P[49-PP]; 
			VALUE4 = P[50-PP]; 
			 
			CONDITION1 = 
				VALUE2 > VALUE1 
				AND VALUE4 > VALUE3 
				AND VALUE4 < VALUE2 
				AND VALUE3 < VALUE1 
				AND VALUE4 > VALUE1; 
				 
			CONDITION2 = 
				VALUE2 < VALUE1 
				AND VALUE4 < VALUE3 
				AND VALUE4 > VALUE2 
				AND VALUE3 > VALUE1 
				AND VALUE4 < VALUE1; 
	 
			IF CONDITION1 OR CONDITION2 THEN  
				WOLFE = WOLFE + 1; 
 
			END; 
 
		JA_SLOPE1 = (P[49-PP] - P[47-PP]) / (PBAR[47-PP] - PBAR[49-PP]);  
		JA_SLOPE2 = (P[50-PP] - P[47-PP]) / (PBAR[47-PP] - PBAR[50-PP]); 
		 
		{LINE 1-3} 
		if PBAR[47-PP] >=0 and PBAR[49-PP] >= 0 and PBAR[49-PP]-PLOTBARS >=0 then 
			begin 
			VALUE90 = TL_New(DATE[PBAR[47-PP]],TIME[PBAR[47-PP]],P[47-PP ], 
				DATE[PBAR[49-PP]], TIME[PBAR[49-PP]],P[49-PP]); 
			Value14=TL_SetColor(VALUE90, red); 
		{VALUE93 = TL_SetExtRight(VALUE90,TRUE);} 
			VALUE94 = 
				TL_SETEND(VALUE90,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49-PP]-PLOTBARS], 
				TL_GetVALUE(VALUE90,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49-PP]-PLOTBARS])); //
			end ; 
 
		{LINE 1-4} 
		if PBAR[47-PP] >= 0 and PBAR[50-PP] >= 0 and PBAR[49-PP]-PLOTBARS >= 0 then 
			begin 
			VALUE91 = TL_NEW(DATE[PBAR[47-PP]],TIME[PBAR[47-PP]],P[47-PP ], 
				DATE[PBAR[50-PP]], TIME[PBAR[50-PP]],P[50-PP]); 
				Value14=TL_SetColor(VALUE91, green); 
				 
			TL_SETEND(VALUE91,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49-PP]-PLOTBARS], 
			TL_GETVALUE(VALUE91,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49-PP]-PLOTBARS])); 
			end ; 
	 
		if PBAR[48-PP] >=0 and PBAR[50-PP]-PLOTBARS >= 0 then 
	  		begin 
			{ETA LINE} 
			IF ETALINE THEN 
				BEGIN 
				VALUE92 = TL_NEW(DATE[PBAR[48-PP]],TIME[PBAR[48-PP]],P[48-PP ], 
					DATE[PBAR[50-PP]], TIME[PBAR[50-PP]],P[50-PP]); 
				Value14=TL_SetColor(VALUE92, blue); 
				TL_SETEND(VALUE92,DATE[PBAR[50-PP]-PLOTBARS],TIME[PBAR[50-PP]-PLOTBARS], 
				TL_GETVALUE(VALUE92,DATE[PBAR[50-PP]-PLOTBARS],TIME[PBAR[50-PP] -PLOTBARS])); 
				END; 
			end; 
	 
		END; 
 
 
IF DATE = LASTCALCDATE 
	AND TIME = LASTCALCTIME 
	AND ZIGZAG = TRUE THEN 
	BEGIN 
	JA_SLOPE3 = (P[50] - P[49]) / (PBAR[49] - PBAR[50]); 
	FOR JLA_CTR = PBAR[49] DOWNTO PBAR[50]	BEGIN 
		PLOT4[JLA_CTR](P[49] + (PBAR[49] - JLA_CTR) *  
		JA_SLOPE3,"Swings"); 
		END; 
	END; 
 
FOR W = 1 TO 50 
	BEGIN 
	PBAR[W] = PBAR[W]+1; 
	END;
Credit goes to Clyde Lee of theswingmachine for releasing the code for his Ww version show below:
Attached Thumbnails
WOLFE WAVE Indicator Needed-clyde-lee-ww-2007-12-08_010818.png  
thrunner is offline  
Reply With Quote
The Following User Says Thank You to thrunner For This Useful Post:
shrike (06-13-2009)

Reply

Tags
wave, wolfe wave

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
Wolfe waveslider Market Analysis 675 11-03-2011 02:41 PM
At The End Of 5th Elliott Wave. malvado xetra Market Analysis 3 04-26-2007 02:28 PM
Help Needed DAT Files Don4 General Discussion 1 03-26-2007 09:59 PM
YM one minute chart wave analysis starfill Technical Analysis 8 02-05-2007 08:47 PM
Newbie. Some advice needed about brokers Connected Beginners Forum 3 08-26-2006 12:46 AM

All times are GMT -4. The time now is 04:30 AM.
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
CS to VB integration by DeskLancer
©2006-2011 Traders Laboratory, All Rights Reserved.