In generale, è tutto un po' strano.... Nel primo post ho dato uno screenshot dell'EA, ho iniziato ad aggiornarlo, sono apparsi errori ordersend error 130, ho riportato tutto al suo stato originale, ma gli errori non sono scomparsi!!!!!!! Ma tutto funzionava nel suo stato originale!!!! Che diavolo è questo?
Questo è quello che sto dicendo. Perché uno stop di 10 pip è sbagliato...
Ecco il punto: uno Stop a 10 pips può essere sbagliato perché la distanza minima alla quale si può piazzare uno Stop Loss è più di 10 pips (per esempio: 15 pips). Questo valore è impostato dalla sala da gioco.
Il principio di impostare uno stop loss nella funzione OrderSend() è corretto. Quindi non c'è bisogno di cambiare nulla lì.
Quando la funzione Print() viene eseguita, ZigZag=0, quindi lo stop loss: 0+15*Point, cioè uguale a 0,0015. Ecco perché genera l'errore OrderSend Error 130.
double ZZ_1 = NormalizeDouble(iCustom(NULL,0, "ZigZag",21,5,3,0,1),4);// 21,5,3 sono variabili esterne dell'indicatore, devono essere specificate nell'ordine in cui sono dichiarate nell'indicatore ZigZag.
Cosa sono le virgolette 4 o 5 decimali?
4 cifre... provato anche su 5 cifre. NormalizeDouble non funziona :(
Questo è quello che sto dicendo. Perché uno stop di 10 pip è sbagliato...
Ecco il punto: uno Stop a 10 pips può essere sbagliato perché la distanza minima alla quale si può piazzare uno Stop Loss è più di 10 pips (per esempio: 15 pips). Questo valore è impostato dalla sala da gioco.Ne ho provati anche 200! Ancora lo stesso...
Puoi postare il codice originale EA?
Il principio di impostare uno stop loss nella funzione OrderSend() è corretto. Quindi non c'è bisogno di cambiare nulla lì.
Quando la funzione Print() viene eseguita, ZigZag=0, quindi lo stop loss: 0+15*Point, cioè uguale a 0,0015. Ecco perché genera l'errore OrderSend Error 130.
double ZZ_1 = NormalizeDouble(iCustom(NULL,0, "ZigZag",21,5,3,0,1),4);// 21,5,3 sono variabili esterne dell'indicatore, devono essere specificate nell'ordine in cui sono dichiarate nell'indicatore ZigZag.
Allo stesso modo, double Buffer1 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mx",0,0,1),4);
double Buf1 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mx",0,6,1),4);
double Buffer2 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mn",0,0,1),4);
double Buf2 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mn",0,6,1),4);
Nessuna variabile esterna è specificata qui.
Ma sono opzionali, come scritto nella documentazione di MQL4.
E in
double Buffer1 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mx",0,0,1),4);
double Buf1 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mx",0,6,1),4);
double Buffer2 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mn",0,0,1),4);
double Buf2 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mn",0,6,1),4);
nessuna variabile esterna :)
A proposito, la mia funzione PRINT emette ZigZag normalmente:
Ma sono opzionali, come scritto nella documentazione di MQL4.
E in
double Buffer1 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mx",0,0,1),4);
double Buf1 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mx",0,6,1),4);
double Buffer2 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mn",0,0,1),4);
double Buf2 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mn",0,6,1),4);
nessuna variabile esterna :)
A proposito, la mia funzione PRINT emette ZigZag normalmente:
Se non ci sono variabili esterne in questi indicatori, non c'è nessuna pretesa :). Ma devo ancora pensare alle fermate. Forse avrai un'idea.Se non ci sono variabili esterne in questi indicatori, non c'è nessuna pretesa :). Ma devo ancora pensare alle fermate. Forse avrete un'idea.
Non preoccuparti :) Agli sviluppatori: TESTER/OPTIMIZZATORE DI BASE
Sono sicuro che è lo stesso con stopomi.