[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 66
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Infatti, in questi casi di solito cerco di usare GetLastError() più ampiamente. Naturalmente, non sono un professionista.
Capisco che GetLastError() dovrebbe dire perché qualcosa non viene fatto, per esempio se un thread è occupato, ma non ho niente da fare!
Immagino che tu abbia bisogno di 3 ordini da aprire per strumenti diversi? Perché non fare una variabile bandiera per esempio
Nelle variabili globali creare
int flag=0;
string Symb;
///////////////
poi
int start()
{
if (условие открытия)
{flag=1;}
if (flag==1)
{
Symb="EURUSD";
OrderSend(Symb,...)///Открываем, переносим флаг во 2 состояние для открытия след ордера и
flag=2; ///выходим тк больше мы ни чего не можем сделать
return(0);
}
if (flag==2)
{
Symb="AUDUSD";
OrderSend(Symb,...)
flag=3;
return(0);
}
if (flag==3)
{
Symb="USDJPY";
OrderSend(Symb,...)
flag=0;//Возвращаем флаг в начальное состояние..
return(0);
}
return(0);}
Inoltre sarebbe bene aggiungere il controllo dell'apertura e solo dopo che il controllo ha avuto successo spostare la bandiera.
Grazie mille, farò una prova!
}
else Print ("Error opening long position:",GetLastError());
restituisce un errore se OrderSelect() fallisce.
if(OrderSend(Symbol(), OP_SELLSTOP, getLots, Bid, 0, 0, 0, 0, WindowExpertName(),Magic, 0, Red) < 0)
Print("Error Open Sellstop = ",GetLastError());
Restituisce un errore se OrderSend() fallisce.c'è una versione che è OrderSend() che non funziona
Qualche idea sul perché funzioni sul tester?
Qualche idea sul perché funzioni sul tester?
No. Ma quello che sto dicendo è che usando la funzione Print più estesamente (anche se senza il successivo GetLastError),
si può vedere molto meglio come l'EA sta facendo trading.
per esempio in questo modo:
if(MA1>MA2 && StochPrev<StohCur && StochPrev<SignPrev )
{
print(" La condizione per un ordine di acquisto è soddisfatta");
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,",16895,0,DeepSkyBlue);se(biglietto>0)
}