Differenze tra le pagine "File:Wolfewave 2.jpg" e "Formula Onde di Wolfe"
imported>Stefano Fanton |
imported>Stefano Fanton |
||
Riga 1: | Riga 1: | ||
+ | Wolfe Wave Pattern<br>--------------------------- | ||
+ | Pa:=Trough(4,LOW,5);<br>Pb:=Peak(3,HIGH,5);<br>P1:=Trough(3,LOW,5);<br>P2:=Peak(2,HIGH,5);<br>P3:=Trough(2,LOW,5);<br>P4:=Peak(1,HIGH,5);<br>P5:=Trough(1,LOW,5);<br>tb:=TroughBars(1,LOW,5);<br>eki1:=If(tb<=4 AND p1 > pa AND pb < p2 AND p1 < p4 AND<br>p1 > p3 AND p3 > p5 AND p4 < p2,1,0);<br>p1:=Trough(3,LOW,5);<br>p3:=Trough(2,LOW,5);<br>p5:=Trough(1,LOW,5);<br>o1:=p1-p3;<br>o2:=p1-p5;<br>a1:=TroughBars(3,LOW,5)-TroughBars(2,LOW,5);<br>a2:=TroughBars(3,LOW,5)-TroughBars(1,LOW,5);<br>tan1:=o1/a1;<br>tan2:=o2/a2;<br>eki2:=Abs(tan1-tan2);<br>If(eki1 AND eki2 <= .2 ,2,0 | ||
+ | |||
+ | Codice Easy language<br>==============HEADER============== | ||
+ | |||
+ | Study based on Connors & Raschke's "Wolfe Waves" | ||
+ | |||
+ | ====== ====== DECLARATIONS ==== ====== | ||
+ | |||
+ | INPUTS:<br>TICKCHG(10), {Change (number of ticks) required to set up a new swing high/low.}<br>PCTCHG(.2), {Percent change in price to set up a new swing high/low}<br>OCCUR(1),<br>PLOTBARS(40),<br>ETALINE(TRUE),<br>ZIGZAG(TRUE); | ||
+ | |||
+ | <br>ARRAY: <br>PBAR[50](0),<br>P[50](0); | ||
+ | |||
+ | VARS:<br>X(0),<br>PP(1),<br>JA_SLOPE1(0),<br>JLA_CTR(0),<br>JLA_LINE(0),<br>JAIRHBAR(0), { LAST SWING HIGH BAR}<br>JAIRLBAR(0), {LAST SWING LOW BAR}<br>LOWSEEK(FALSE), {LOOKING FOR A LOW OR A HIGH?}<br>W(0), {COUNTER}<br>JLA_IRH(0), {LAST SWING HIGH VALUE}<br>JLA_IRL(99999), {LAST SWING LOW VALUE}<br>JA_SLOPE2(0),<br>JA_SLOPE3(0),<br>JLA_PT1(0),<br>WOLFE(0); | ||
+ | |||
+ | <br>{===========MAIN PROGRAM============} | ||
+ | |||
+ | IF CURRENTBAR = 1 THEN P[50] = C; | ||
+ | |||
+ | IF LOWSEEK = FALSE AND P[50] <= H THEN <br>BEGIN<br>P[50] = H;<br>PBAR[50] = 0;<br>END; | ||
+ | |||
+ | <br>IF LOWSEEK = TRUE AND P[50] >= L THEN <br>BEGIN<br>P[50] = L;<br>PBAR[50] = 0;<br>END; | ||
+ | |||
+ | IF (LOWSEEK = FALSE AND PBAR[50] <> 0) THEN <br>BEGIN<br>IF (TICKCHG = 0 <br>AND L < P[50] * ( 1 - PCTCHG / 100) )<br>OR (TICKCHG <> 0 <br>AND L < ( P[50] - tickchg * minmove points)) THEN <br>BEGIN <br>IF ZIGZAG = TRUE THEN PLOT4[PBAR[50]](P[50],"SWINGS"); | ||
+ | |||
+ | LOWSEEK = TRUE; | ||
+ | |||
+ | FOR W = 1 TO 49<br>BEGIN<br>PBAR[W] = PBAR[W+1];<br>P[W] = P[W+1];<br>END; | ||
+ | |||
+ | P[50] = L;<br>PBAR[50] = 0;<br>END;<br>END; | ||
+ | |||
+ | IF (LOWSEEK = TRUE AND PBAR[50] <> 0) THEN<br>BEGIN<br>IF (TICKCHG = 0 <br>AND H> P[50] * ( 1 + PCTCHG / 100)) <br>OR (TICKCHG <> 0<br>AND H > (P[50] + tickchg * minmove points )) THEN<br>BEGIN<br>IF ZIGZAG = TRUE THEN PLOT4[PBAR[50]](P[50],"SWINGS");<br>LOWSEEK = FALSE; | ||
+ | |||
+ | FOR W = 1 TO 49<br>BEGIN<br>PBAR[W] = PBAR[W+1];<br>P[W] = P[W+1];<br>END; | ||
+ | |||
+ | P[50] = H;<br>PBAR[50] = 0;<br>END;<br>END; | ||
+ | |||
+ | <br>IF TIME = LASTCALCTIME <br>AND DATE = LASTCALCDATE <br>AND P[48 - PP] <> 0 THEN <br>BEGIN<br>PP = -1;<br>WOLFE = 0;<br>WHILE WOLFE < OCCUR AND PP < 46<br>BEGIN<br>PP = PP + 1;<br>VALUE1 = P[47-PP];<br>VALUE2 = P[48-PP];<br>VALUE3 = P[49-PP];<br>VALUE4 = P[50-PP]; | ||
+ | |||
+ | CONDITION1 = <br>VALUE2 > VALUE1<br>AND VALUE4 > VALUE3<br>AND VALUE4 < VALUE2<br>AND VALUE3 < VALUE1<br>AND VALUE4 > VALUE1; | ||
+ | |||
+ | CONDITION2 = <br>VALUE2 < VALUE1<br>AND VALUE4 < VALUE3<br>AND VALUE4 > VALUE2<br>AND VALUE3 > VALUE1<br>AND VALUE4 < VALUE1; | ||
+ | |||
+ | IF CONDITION1 OR CONDITION2 THEN WOLFE = WOLFE + 1;<br>END; | ||
+ | |||
+ | <br>JA_SLOPE1 = (P[49-PP] - P[47-PP]) / (PBAR[47-PP] - PBAR[49-PP]); <br>JA_SLOPE2 = (P[50-PP] - P[47-PP]) / (PBAR[47-PP] - PBAR[50-PP]); | ||
+ | |||
+ | <br>{LINE 1-3}<br>VALUE90 = TL_New(DATE[PBAR[47-PP]],TIME[PBAR[47-PP]],P[47-PP], <br>DATE[PBAR[49-PP]], TIME[PBAR[49-PP]],P[49-PP]);<br>Value14=TL_SetColor(VALUE90, 5);<br>{VALUE93 = TL_SetExtRight(VALUE90,TRUE);}<br>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}<br>VALUE91 = TL_NEW(DATE[PBAR[47-PP]],TIME[PBAR[47-PP]],P[47-PP],<br>DATE[PBAR[50-PP]], TIME[PBAR[50-PP]],P[50-PP]);<br>Value14=TL_SetColor(VALUE91, 16);<br>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<br>BEGIN<br>VALUE92 = TL_NEW(DATE[PBAR[48-PP]],TIME[PBAR[48-PP]],P[48-PP],<br>DATE[PBAR[50-PP]], TIME[PBAR[50-PP]],P[50-PP]);<br>Value14=TL_SetColor(VALUE92, 4);<br>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;<br>END; | ||
+ | |||
+ | IF DATE = LASTCALCDATE <br>AND TIME = LASTCALCTIME <br>AND ZIGZAG = TRUE THEN <br>BEGIN<br>JA_SLOPE3 = (P[50] - P[49]) / (PBAR[49] - PBAR[50]);<br>FOR JLA_CTR = PBAR[49] DOWNTO PBAR[50]<br>BEGIN<br>PLOT4[JLA_CTR](P[49] + (PBAR[49] - JLA_CTR) * JA_SLOPE3,"Swings");<br>END;<br>END; | ||
+ | |||
+ | FOR W = 1 TO 50<br>BEGIN<br>PBAR[W] = PBAR[W]+1;<br>END;<br> | ||
+ | |||
+ | == Vedi anche: == | ||
+ | *[[Indice sequenziale Formule|Indice sequenziale Formule]] | ||
+ | *[[Onde di Wolfe|Onde di Wolfe]] | ||
+ | |||
+ | [[Category:Formule]] |
Versione attuale delle 16:50, 5 gen 2012
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 AND
p1 > 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
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);
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] - 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;
Vedi anche:
Cronologia del file
Fare clic su un gruppo data/ora per vedere il file come si presentava nel momento indicato.
Data/Ora | Miniatura | Dimensioni | Utente | Commento | |
---|---|---|---|---|---|
attuale | 10:49, 19 apr 2021 | 621 × 379 (37 KB) | Maintenance script (discussione | contributi) | == Dettagli == Importing file |
Impossibile sovrascrivere questo file.
Utilizzo del file
La seguente pagina usa questo file: