Coding Forum Thread, WOLFE WAVE Indicator Needed in Trading Resources; My first post here,wonderful forum and wonderful people-compliments!
While googling I found below code for ww but there are some ...  | | | | Re: WOLFE WAVE Indicator Needed

12-06-2007, 01:20 AM
| | | | Join Date: Dec 2007 Location: Mumbai
Posts: 6
Thanks: 0
Thanked 0 Times in 0 Posts
| | 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; | Re: WOLFE WAVE Indicator Needed

12-06-2007, 11:24 AM
| | | | Join Date: Nov 2007 Location: boonies
Posts: 607
Thanks: 194
Thanked 190 Times in 124 Posts
| | Techtrader,
Do you know specifically where it's buggy or not producing correct results?
ie how to replicate the bugs?
zdo | Re: WOLFE WAVE Indicator Needed

12-06-2007, 10:56 PM
| | | | Join Date: Dec 2007 Location: Mumbai
Posts: 6
Thanks: 0
Thanked 0 Times in 0 Posts
| |
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. | Re: WOLFE WAVE Indicator Needed

12-07-2007, 04:20 PM
| | | | Join Date: Feb 2007 Location: US
Posts: 314
Thanks: 86
Thanked 191 Times in 87 Posts
| | 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 //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 //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: [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;
| | | The Following User Says Thank You to thrunner For This Useful Post: | | Re: WOLFE WAVE Indicator Needed

12-07-2007, 11:03 PM
| | | | Join Date: Dec 2007 Location: Mumbai
Posts: 6
Thanks: 0
Thanked 0 Times in 0 Posts
| | 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. | Re: WOLFE WAVE Indicator Needed

12-08-2007, 01:47 AM
| | | | Join Date: Feb 2007 Location: US
Posts: 314
Thanks: 86
Thanked 191 Times in 87 Posts
| |
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 : //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:  | | The Following User Says Thank You to thrunner For This Useful Post: | | Re: WOLFE WAVE Indicator Needed

12-08-2007, 04:39 AM
| | | | Join Date: Dec 2007 Location: Mumbai
Posts: 6
Thanks: 0
Thanked 0 Times in 0 Posts
| | Thanks a tonn for your replies,I have the code which you have posted but strangly I get different chart out of it,check comex gold chart plotted below with ww which looks like a normal zigzag chart and not actural ww.
btw I have used same (corrected) code posted by you in your last message.
If I did anything wrong do correct me,thanks again for taking pain. | Re: WOLFE WAVE Indicator Needed

12-08-2007, 11:03 AM
| | | | Join Date: Feb 2007 Location: US
Posts: 314
Thanks: 86
Thanked 191 Times in 87 Posts
| |
Originally Posted by techtrader looks like a normal zigzag chart and not actural ww | Yes, currently Ww2 and Ww2a do not work with TS 8.1 and above in plotting Ww, only Zz. The chart you see with Ww is Wolfe Wave 1 code from Clyde Lee as explained in the chart caption above.
Import the Swing_Lee function and then create the Lee Ww indicator. The Lee Ww was once freely available as an ELA around 2001. If someone has a copy, please post it. I don't include the ELD because it is missing a function; it is just to show that the code does work. | Re: WOLFE WAVE Indicator Needed

06-08-2008, 11:41 AM
| | | | Join Date: Apr 2008 Location: Los Angeles
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
| |
Originally Posted by ropulos | its interesting, someone named ropulos is selling Wolfe Wave on ebay for $49. :-D http://cgi.ebay.com/WOLFE-WAVES-INDI...QQcmdZViewItem | Re: WOLFE WAVE Indicator Needed

06-09-2008, 04:41 AM
| |
Blu-Ray
is only knowledgable in Easy Language
| | Join Date: Nov 2006 Location: England
Posts: 507
Thanks: 162
Thanked 253 Times in 100 Posts
| |
Originally Posted by montexxx | Yes very interesting, thanks for pointing that out
Cheers
Blu-Ray
__________________
“ Search is the ultimate expression of the power of the individual, using a computer, looking at the world, and finding exactly what they want ” – Eric Schmidt, Google |  | | |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | | | | Thread Tools | | | | Display Modes | Linear Mode |
Posting Rules
| You may not post new threads You may not post replies You may not post attachments You may not edit your posts HTML code is Off | | | | |