Hi,
many people ask for waves of wolfe code in prorealtime, someone is able to translate the code from easy language to PRT languege?
Thanks in advance
Ale
//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;