Check your return codes and you would know why.
Check your return codes for errors and report them.
What are Function return
values ? How do I use them ? - MQL4 and MetaTrader 4 -
MQL4 programming forum
Common Errors in MQL4
Programs and How to Avoid Them - MQL4 Articles
Only those functions that return a value (e.g. iClose,
MarketInfo, etc.) must you call ResetLastError before in
order to check after.
Check your return codes and you would know why.
Check your return codes for errors and report them.
What are Function return
values ? How do I use them ? - MQL4 and MetaTrader 4 -
MQL4 programming forum
Common Errors in MQL4
Programs and How to Avoid Them - MQL4 Articles
Only those functions that return a value (e.g. iClose,
MarketInfo, etc.) must you call ResetLastError before in
order to check after.
I solved the first point by Handling the error, but when it opens a position does not set TP and STOP.
Check your return codes and you would know why.
Check your return codes for errors and report them.
What are Function return
values ? How do I use them ? - MQL4 and MetaTrader 4 -
MQL4 programming forum
Common Errors in MQL4
Programs and How to Avoid Them - MQL4 Articles
Only those functions that return a value (e.g. iClose,
MarketInfo, etc.) must you call ResetLastError before in
order to check after.
Hi Guys, I've arranged the functions in the following way:
int OpenSell() { double SL, TP; int Ticket; SL=Ask + (StopLoss*Point); // Calculating SL of opened TP=Ask - (TakeProfit*Point); // Calculating TP of opened Ticket = OrderSend(Symbol(),OP_SELL,lotti,Bid,2,SL,TP,0,0,0,clrGreen); if (Ticket > 0) // Success :) { Print("Opened order sell ",Ticket); return(0); // Exit start() } if (Fun_Error(GetLastError())==1) // Processing errors return(-1); // Exit start() } int OpenBuy() { double SL, TP; int Ticket; SL=Bid - (StopLoss*Point); // Calculating SL of opened TP=Bid + (TakeProfit*Point); // Calculating TP of opened Ticket = OrderSend(Symbol(), OP_BUY,lotti,Ask,2,SL,TP,0,0,0,clrGreen); if (Ticket > 0) // Success :) { Print("Opened order Buy ",Ticket); return(0); // Exit start() } if (Fun_Error(GetLastError())==1) // Processing errors return(-1); // Exit start()
and just for proof I created this "start":.......................................
double ImaVeloceSignalOld=iMA(NULL,timeframe,mediaVelocePeriod,0,TipoMediaVeloce,PRICE_CLOSE,1); double ImaLentaSignalOld=iMA(NULL,timeframe,mediaLentaPeriod,0,TipoMediaLenta,PRICE_CLOSE,1); double ImaVeloceSignalCurr=iMA(NULL,timeframe,mediaVelocePeriod,0,TipoMediaVeloce,PRICE_CLOSE,0); double ImaLentaSignalCurr=iMA(NULL,timeframe,mediaLentaPeriod,0,TipoMediaLenta,PRICE_CLOSE,0); if (ImaLentaSignalOld<ImaVeloceSignalOld) { if (ImaLentaSignalCurr>ImaVeloceSignalCurr) { OpenBuy(); } } if (ImaVeloceSignalOld<ImaLentaSignalOld) { if (ImaVeloceSignalCurr>ImaLentaSignalCurr) { OpenSell(); } }
I no longer have the problem "return error message:" Return value of ' OrderSend ' should be checked "Int OpenSell ()";
When I try to do a "back test" I can't open any position and if I try to execute in the diary I've this message "Expert crossing medium 1 ′ is not expert and cannot be executed";
When I run the backtest in the diary it gives me the following error:
2018.01.24 15:16:09.389 TestGenerator: unmatched data error (volume limit 162 at 2018.01.24 14:15 exceeded)
![MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal](https://c.mql5.com/i/registerlandings/logo-2.png)
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
I made these 2 small methods:
I've these problems:
1) Return error message : "return value of 'OrderSend' should be checked"
2) When I open an order, I can not set "Stop" and "TakeProfit"