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

Wolfe Wave - Tradestation



PureBytes Links

Trading Reference Links


The following is claimed to be the Wolfe wave formula 
for Tradestation, if anyone wants to convert it to 
Metastock:
 
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 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);{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 = 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;