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!!
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!!