Programmazione Tradestation code with Chaikin oscillator (1 Viewer)

Registrato
29 Settembre 2015
Messaggi
4
ciao a tutti!!
sono una studentessa universitaria e per il mio elaborato di tesi devo creare un codice con Multicharts. Purtroppo sono veramente alle basi e avrei bisogno che qualcuno mi aiutasse a correggere questo codice!!!!

Lo scopo è quello di creare un sistema con tecnica di gestione di apertura e chiusura delle operazioni, in particolare devo studiare le divergenze e quindi ho bisogno di:
-un array che nel quale, per la posizione ribassista, ci siano 2max e 1 min contornati rispettivamente da due max e due minimi inferiori;
-la condizione che se il max2>max1 e l'indicatore del max2<indicatore del max1
allora entro short se l'ultimo prezzo è sotto il minimo
e ho uno stop loss sopra il max2, una volta aperta la posizione;
-l'indicatore che utilizzo deve essere il Chaikin Oscillator

Vi allego anche quello che sono riuscita a scrivere io. Ringrazio tutti coloro mi potranno dedicare un pò di tempo!!!! :)

//ARRAY
[IntrabarOrderGeneration = true]

variables: m(1), j(0), n(0), dati[m,2] ;

array: int A_MAX[m][n];

// caso ribassista

while m <> number_row(dati) begin

while j = 0
m=m+1;
if (dati[m,2]> dati[(m-1),2] AND dati[(m-1),2)> dati[(m-2),2] AND dati[m,2]> dati[(m+1),2]
AND dati[(m+1),2]> dati[(m+2),2]) then begin
n = n+1;
A_MAX[1][n] = dati[m;2];
j = 1;
end;

while j = 0
m=m+1;
if (dati[m,2]< dati[(m-1),2] AND dati[(m-1),2]< dati[(m-2),2] AND dati[m,2]< dati[(m+1),2]
AND dati[(m+1),2]< dati[(m+2),2]) then begin
n = n+1;
A_MAX[2][n] = dati[m;2];
j = 1;
end;

while j = 0
m=m+1;
if (dati(m,2]> dati[(m-1),2] AND dati[(m-1),2]> dati[(m-2),2] AND dati[m,2]> dati[(m+1),2]
AND dati[(m+1),2]> dati[(m+2),2]) then begin
n = n+1;
A_MAX[3][n] = dati[m;2];
j = 1;
end;
end






//CODICE
INPUTS: MYVOL(VOLUME), FAST(3), SLOW(10);

PLOT1(CHAIKINOSC(MYVOL, FAST, SLOW) , "CHAIKIN" );

PLOT2(0 ,"ZERO");

{ALERT CRITERIA}

IF A_MAX[3][n]>A_MAX[1][n] AND CHAIKINOSC(A_MAX[1][n])>CHAIKINOSC(A_MAX[3][n]) THEN BEGIN

SELLSHORT NEXT BAR AT CLOSE(A_MAX[2][n]);

ALERT("A BEARISH DIVERGENCE HAS BEEN DETECTED");

END;

ELSE

IF A_MIN[3][n]>A_MIN[1][n] AND CHAIKINOSC(A_MIN[1][n])>CHAIKINOSC(A_MIN[3][n]) THEN BEGIN

BUY NEXT BAR AT CLOSE(A_MIN[2][n]);

ALERT("A BULLISH DIVERGENCE HAS BEEN DETECTED");

END


grazie ancora!!
 

Sig. Ernesto

Vivace Impertinenza
Registrato
20 Giugno 2001
Messaggi
3.190
ciao a tutti!!
sono una studentessa universitaria e per il mio elaborato di tesi devo creare un codice con Multicharts. Purtroppo sono veramente alle basi e avrei bisogno che qualcuno mi aiutasse a correggere questo codice!!!!

Lo scopo è quello di creare un sistema con tecnica di gestione di apertura e chiusura delle operazioni, in particolare devo studiare le divergenze e quindi ho bisogno di:
-un array che nel quale, per la posizione ribassista, ci siano 2max e 1 min contornati rispettivamente da due max e due minimi inferiori;
-la condizione che se il max2>max1 e l'indicatore del max2<indicatore del max1
allora entro short se l'ultimo prezzo è sotto il minimo
e ho uno stop loss sopra il max2, una volta aperta la posizione;
-l'indicatore che utilizzo deve essere il Chaikin Oscillator

Vi allego anche quello che sono riuscita a scrivere io. Ringrazio tutti coloro mi potranno dedicare un pò di tempo!!!! :)

//ARRAY
[IntrabarOrderGeneration = true]

variables: m(1), j(0), n(0), dati[m,2] ;

array: int A_MAX[m][n];

// caso ribassista

while m <> number_row(dati) begin

while j = 0
m=m+1;
if (dati[m,2]> dati[(m-1),2] AND dati[(m-1),2)> dati[(m-2),2] AND dati[m,2]> dati[(m+1),2]
AND dati[(m+1),2]> dati[(m+2),2]) then begin
n = n+1;
A_MAX[1][n] = dati[m;2];
j = 1;
end;

while j = 0
m=m+1;
if (dati[m,2]< dati[(m-1),2] AND dati[(m-1),2]< dati[(m-2),2] AND dati[m,2]< dati[(m+1),2]
AND dati[(m+1),2]< dati[(m+2),2]) then begin
n = n+1;
A_MAX[2][n] = dati[m;2];
j = 1;
end;

while j = 0
m=m+1;
if (dati(m,2]> dati[(m-1),2] AND dati[(m-1),2]> dati[(m-2),2] AND dati[m,2]> dati[(m+1),2]
AND dati[(m+1),2]> dati[(m+2),2]) then begin
n = n+1;
A_MAX[3][n] = dati[m;2];
j = 1;
end;
end






//CODICE
INPUTS: MYVOL(VOLUME), FAST(3), SLOW(10);

PLOT1(CHAIKINOSC(MYVOL, FAST, SLOW) , "CHAIKIN" );

PLOT2(0 ,"ZERO");

{ALERT CRITERIA}

IF A_MAX[3][n]>A_MAX[1][n] AND CHAIKINOSC(A_MAX[1][n])>CHAIKINOSC(A_MAX[3][n]) THEN BEGIN

SELLSHORT NEXT BAR AT CLOSE(A_MAX[2][n]);

ALERT("A BEARISH DIVERGENCE HAS BEEN DETECTED");

END;

ELSE

IF A_MIN[3][n]>A_MIN[1][n] AND CHAIKINOSC(A_MIN[1][n])>CHAIKINOSC(A_MIN[3][n]) THEN BEGIN

BUY NEXT BAR AT CLOSE(A_MIN[2][n]);

ALERT("A BULLISH DIVERGENCE HAS BEEN DETECTED");

END


grazie ancora!!

Chi è il relatore, Silvan?

Deprimente
 

Users Who Are Viewing This Discussione (Users: 0, Guests: 1)

Alto