Programmazione Visual Trader Aiuto traduzione formula

100pezzi

Nuovo forumer
VORREI RICOSTRUIRE LA FORMULA DEL PARABOLIC SAR PER VISUALTRADER - QUALCUNO MI AIUTA?
posto una formula che ho tradotto da prorealtime ma che non funziona come l'originale...
grazie
Codice:
VAR: PARABOLIC,HP,LP,AF,reverse,inizio,TREND;
iNPUT: increment(0.02),LIMITE(0.2);

IF CURRENTBAR < 2 THEN
parabolic = L;
TREND = 1;
af = limite;
hp = H;
lp = L;
ENDIF;

if TREND = 1 then
          parabolic = parabolic + af * (hp - parabolic);
          parabolic = MIN(parabolic, LOW[1]);
          parabolic = MIN(parabolic, LOW[2]);
     ELSE
          parabolic=parabolic + af * (lp - parabolic);
          parabolic=MAX(parabolic, HIGH[1]);
          parabolic=MAX(parabolic, HIGH[2]);
     ENDIF;
     
reverse = 0;

IF TREND = 1 THEN
          IF L < parabolic THEN
               TREND = 0;
               reverse = 1;
               parabolic = hp;
               lp = L;
               af = LIMITE;
          ENDIF;
     ELSE
          IF H > parabolic THEN
               TREND = 1;
               reverse =1;
               parabolic = lp;
               hp = H;
               af = LIMITE;
          ENDIF;
     ENDIF;

     IF reverse=0 THEN
          IF TREND=1 THEN
               IF H > hp THEN
                    hp = H;
                    af = af + increment;
                    af = MIN (af,limite);
               ENDIF;
          ELSE
               IF LOW < lp THEN
                    lp = L;
                    af = af + increment;
                    af = MIN (af,limite);
               ENDIF;
          ENDIF;
     ENDIF;
IF CURRENTBAR>1 THEN
plotchart(parabolic, 0, red, solid,2);ENDIF;
 
Ultima modifica:
X CHI INTERESSATO LA FORMULA GIUSTA TRADOTTA DA AMIBROKER E' LA SEGUENTE:

Codice:
VAR: PSAR,HP,LP,AF,reverse,inizio,long;
Input: MaxAF(0.2),IAF(0.02);

if CURRENTBAR<2 then
PSAR = l;
LONG = 1;
AF = IAF;
HP = H;
LP = L;
ENDIF;

IF CURRENTBAR>2 THEN
if LONG = 1 then
PSAR = PSAR + af * (hp - PSAR);
ELSE
PSAR = PSAR + af * (lp - PSAR);
ENDIF;

reverse = 0;
IF LONG = 1 THEN
IF L < PSAR THEN
LONG = 0;REVERSE = 1;
PSAR = HP;
LP = L;
AF = IAF;
ENDIF;
ELSE
IF H > PSAR THEN
LONG = 1;REVERSE = 1;
PSAR = LP;
HP = H;
AF = IAF;
ENDIF;
ENDIF;

IF reverse=0 THEN
IF LONG=1 THEN
IF H > HP THEN
HP = H;
AF = AF+ IAF;
if af>MaxAF THEN AF = MaxAF;ENDIF;
if (L[1] < psar) then psar = L[1];endif;
if (L[2] < psar) then psar = L[2];endif;
ENDIF;
ELSE
IF L < LP THEN
LP = L;
AF = AF + IAF;
if af>MaxAF THEN AF = MaxAF;ENDIF;
if (H[1] > psar) then psar = H[1];endif;
if (H[2] > psar) then psar = H[2];endif;
ENDIF;
ENDIF;
ENDIF;

plotchart(PSAR, 0, red, solid,2);
ENDIF;
 

Users who are viewing this thread

Back
Alto