Necesito arreglar el error 131 en mi EA

 

Hola a todos!


Tengo un gran problema, estoy intentando publicar un EA en el Market, sin embargo me dice que tengo el error 131, sin embargo a mi me funciona muy bien al compilar (no me da ningún error), en mi cuenta real y en el Strategy Tester.


//+------------------------------------------------------------------+
//+   Función para calcular los lotes a invertir                     +
//+------------------------------------------------------------------+
double GetLots()
{
   double lots=0;
   double lotmax=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX);
   double lotmin=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);

   if(MM) {
      lots=NormalizeDouble(AccountFreeMargin()*Risk/100/1000.0,2);   
      if (lots<lotmin) {
          lots=lotmin;
         }
      if (lots>lotmax) {
          lots=lotmax;
         }
      }
   else lots=NormalizeDouble(lot,Digits);
   return(lots);
}

Esta es la función que estoy utilizando, pero no sé por qué razón no la aceptan.


¿Me pueden ayudar por favor?

 
Angel Antonio Martinez Velasquez:

Hola a todos!


Tengo un gran problema, estoy intentando publicar un EA en el Market, sin embargo me dice que tengo el error 131, sin embargo a mi me funciona muy bien al compilar (no me da ningún error), en mi cuenta real y en el Strategy Tester.


Esta es la función que estoy utilizando, pero no sé por qué razón no la aceptan.


¿Me pueden ayudar por favor?

Ayudate comprobando el lotaje con la funcion "MarketInfo" y "Mode_minLot"

Saludos!!!

 
Miguel Antonio Rojas Martinez:

Ayudate comprobando el lotaje con la funcion "MarketInfo" y "Mode_minLot"

Saludos!!!

Muchas gracias por tu respuesta, ya he comprobado con esa función y todo bien, no entiendo qué pasa 😔
 
Angel Antonio Martinez Velasquez:

Si después del chequeo este muestra que no hay fondos suficientes para realizar una operación comercial, es necesario enviar un mensaje de error al registro en lugar de llamar a la función OrderSend().

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
  • 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:

Si después del chequeo este muestra que no hay fondos suficientes para realizar una operación comercial, es necesario enviar un mensaje de error al registro en lugar de llamar a la función OrderSend ().

Probaré eso, muchas gracias. 
 
Miguel Angel Vico Alba:

Si después del chequeo este muestra que no hay fondos suficientes para realizar una operación comercial, es necesario enviar un mensaje de error al registro en lugar de llamar a la función OrderSend().

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

Estoy intentando usar la misma función para comprobar el lotaje, solo que no sé qué valor tengo que indicar donde dice "&description".


bool CheckVolumeValue(GetLots(),string &description)

Ya coloqué el valor del lote a comprobar, pero para la descripción qué coloco?

¿Me puedes ayudar nuevamente por favor?

Razón de la queja: