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;
|