Formula Onde di Wolfe

Wolfe Wave Pattern--------------------------- 
Pa:=Trough(4,LOW,5);Pb:=Peak(3,HIGH,5);P1:=Trough(3,LOW,5);P2:=Peak(2,HIGH,5);P3:=Trough(2,LOW,5);P4:=Peak(1,HIGH,5);P5:=Trough(1,LOW,5);tb:=TroughBars(1,LOW,5);eki1:=If(tb<=4 AND p1 > pa AND pb < p2 AND p1 < p4 ANDp1 > p3 AND p3 > p5 AND p4 < p2,1,0);p1:=Trough(3,LOW,5);p3:=Trough(2,LOW,5);p5:=Trough(1,LOW,5);o1:=p1-p3;o2:=p1-p5;a1:=TroughBars(3,LOW,5)-TroughBars(2,LOW,5);a2:=TroughBars(3,LOW,5)-TroughBars(1,LOW,5);tan1:=o1/a1;tan2:=o2/a2;eki2:=Abs(tan1-tan2);If(eki1 AND eki2 <= .2 ,2,0 
Codice Easy language==============HEADER============== 
Study based on Connors & Raschke's "Wolfe Waves" 
====== ====== DECLARATIONS ==== ======
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 BEGINP[50] = H;PBAR[50] = 0;END; 
IF LOWSEEK = TRUE AND P[50] >= L THEN BEGINP[50] = L;PBAR[50] = 0;END; 
IF (LOWSEEK = FALSE AND PBAR[50] <> 0) THEN BEGINIF (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 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 = 0 AND 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 = LASTCALCTIME AND DATE = LASTCALCDATE AND P[48 - PP] <> 0 THEN BEGINPP = -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);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 THENBEGINVALUE92 = 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 BEGINJA_SLOPE3 = (P[50] - P[49]) / (PBAR[49] - PBAR[50]);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;
== Vedi anche: ==
*Indice sequenziale Formule 
*Onde di Wolfe
Category:Formule