Automatic Validation: OrderSend error 131

 

Recibo este error cuando intento validar un experto en la plataforma de MQL5, no sé a qué se debe puesto que en MetaTrader corre sin problemas. Agradecería vuestra ayuda.

Éste es el código que utilizo:

// MoneyManagement
double LotSize=NormalizeDouble(AccountFreeMargin()/StartBalance/100,2);
if(LotSize<StartLotSize){LotSize=StartLotSize;}

// OrderSend
if(total<1){
  if(SgnBUY&&TotalTrade(OP_SELL)==0&&MaxTrade()==true){
    ticket=OrderSend(Symbol(),OP_BUY,LotSize,Ask,3,0,0,BOTNAME,MAGIC,0,clrBlue);
    if(ticket<0){Print("Error opening BUY order: ",GetLastError());Sleep(3000);RefreshRates();}
    }
  if(SgnSELL&&TotalTrade(OP_BUY)==0&&MaxTrade()==true){
    ticket=OrderSend(Symbol(),OP_SELL,LotSize,Bid,3,0,0,BOTNAME,MAGIC,0,clrRed);
    if(ticket<0){Print("Error opening SELL order: ",GetLastError());Sleep(3000);RefreshRates();}
    }
  }

Gracias de antemano.

 
David Diez:

Recibo este error cuando intento validar un experto en la plataforma de MQL5, no sé a qué se debe puesto que en MetaTrader corre sin problemas. Agradecería vuestra ayuda.

Éste es el código que utilizo:

Gracias de antemano.

Debes comprobar que hay suficiente dinero en la cuenta (margen libre) antes de lanzar la orden, y no lo estas haciendo.

https://www.mql5.com/es/articles/2555

Qué comprobaciones debe superar un robot comercial antes de ser publicado en el Mercado
Qué comprobaciones debe superar un robot comercial antes de ser publicado en el Mercado
  • 2016.07.28
  • MetaQuotes Software Corp.
  • www.mql5.com
Todos los productos del Mercado deben superar una comprobación preliminar antes de su publicación, ya que un pequeño error en la lógica del asesor o indicador podría causar pérdidas en la cuenta comercial. Precisamente por ello, hemos desarrollado una serie de comprobaciones para garantizar que los productos del Mercado tengan el nivel...
 
Miguel Angel Vico Alba:

Debes comprobar que hay suficiente dinero en la cuenta (margen libre) antes de lanzar la orden, y no lo estas haciendo.

https://www.mql5.com/es/articles/2555

Creo que no es ése el problema, ya que en tal caso estaríamos hablando de error 134.

https://book.mql4.com/appendix/errors

Error Codes - Appendixes - MQL4 Tutorial
Error Codes - Appendixes - MQL4 Tutorial
  • book.mql4.com
GetLastError() - the function that returns codes of error. Code constants of errors are determined in stderror.mqh file. To draw the text messages use the ErrorDescription() function described in the stdlib.mqh file. Error codes returned from a trade server or client...
 
David Diez:

Creo que no es ése el problema, ya que en tal caso estaríamos hablando de error 134.

https://book.mql4.com/appendix/errors

Cierto...pero para el caso es lo mismo. Debes comprobar cual es el lote minimo, el paso (step), etc.

En el enlace que puse ya viene explicado como hay que hacerlo.

https://www.mql5.com/es/articles/2555#invalid_lot
Qué comprobaciones debe superar un robot comercial antes de ser publicado en el Mercado
Qué comprobaciones debe superar un robot comercial antes de ser publicado en el Mercado
  • 2016.07.28
  • MetaQuotes Software Corp.
  • www.mql5.com
Todos los productos del Mercado deben superar una comprobación preliminar antes de su publicación, ya que un pequeño error en la lógica del asesor o indicador podría causar pérdidas en la cuenta comercial. Precisamente por ello, hemos desarrollado una serie de comprobaciones para garantizar que los productos del Mercado tengan el nivel...
 
Miguel Angel Vico Alba:

Cierto...pero para el caso es lo mismo. Debes comprobar cual es el lote minimo, el paso (step), etc.

En el enlace que puse ya viene explicado como hay que hacerlo.

https://www.mql5.com/es/articles/2555#invalid_lot

Me temo que ese código por sí solo no es suficiente.

 
David Diez:

Me temo que ese código por sí solo no es suficiente.

Obviamente. Pero es un primer paso.

Razón de la queja: