MQL4 ERR_OFF_QUOTES
MQL4 error 136 off quotes: restore a valid quote
MQL4 error 136 off quotes maps to ERR_OFF_QUOTES: off quotes. The trade server could not provide or accept a current executable quote for the request. Capture GetLastError immediately after the failed call, correct the cause, and retry only when the condition can change.
OffQuotesDiagnostic.mq4.mq4
#property strict
#property script_show_inputs
input double Lots = 0.10;
input int Slippage = 3;
void OnStart()
{
if(!IsTradeAllowed())
{
Print("Trading is not currently allowed or the trade context is busy.");
return;
}
RefreshRates();
double price = NormalizeDouble(Ask, Digits);
ResetLastError();
int ticket = OrderSend(Symbol(), OP_BUY, Lots, price, Slippage,
0, 0, "diagnostic", 0, 0, clrNONE);
if(ticket >= 0)
{
Print("Order opened. Ticket ", ticket);
return;
}
int error_code = GetLastError();
Print("OrderSend failed. error=", error_code,
" symbol=", Symbol(), " lots=", DoubleToString(Lots, 2),
" ask=", DoubleToString(price, Digits));
}