Discusión sobre el artículo "Qué comprobaciones debe superar un robot comercial antes de ser publicado en el Mercado" - página 17

 
¡Mi robot falla la validación debido a que no hay suficiente dinero error, he intentado utilizar el lote mínimo permitido todavía está fallando, alguien ayuda!
Archivos adjuntos:
 
dinero insuficiente, he intentado utilizar el lote mínimo permitido y sigue fallando, ¡que alguien me ayude!

Usted no está calculando sus requisitos de margen correctamente. Utilice el OrderCalcMargin para ajustar adecuadamente el volumen de la orden, o incluso no colocar la orden en absoluto, si el requisito de margen es superior al volumen mínimo permitido.

Esto se trata en el segundo punto del artículo ... Fondos insuficientes para realizar la operación

 

Hola,

¿Alguien puede ayudar a solucionar el error de validación? El EA puede trabajar en una cuenta real con operaciones abiertas y cerradas, pero no puede pasar esto. Por favor, aconsejar sobre lo que los códigos que se añade, gracias.


 

Hola a todos, ¿alguna idea de por qué estoy recibiendo los siguientes, "no hay operaciones comerciales" y "probador tarda demasiado tiempo"? Ya he aflojado mi configuración para que las operaciones se activan. Además, en realidad no encuentro problemas cuando estoy usando probador de estrategia, GetLastError() siempre me da "0" de retorno. ¿Es la validación contra precios históricos como en tester o precios generados aleatoriamente?



 
Alexey Viktorov #:

Buscad y encontraréis. Última pista: comprobación de la orden.

¿Te refieres a la función OrderCheck()? La documentación dice que comprueba si hay fondos suficientes para la transacción. También me gustaría una función para comprobar el cierre del mercado, incluso para MT4

 
Ivan Titov #:

¿Se refiere a la función OrderCheck()? La documentación dice que comprueba si hay fondos suficientes para una transacción. También me gustaría una función para comprobar el cierre del mercado, incluso para MT4

No sólo la suficiencia de fondos. Aquí por ejemplo

ENUM_ORDER_TYPE order_type;
double tp = 0.0,
       price = 0.0;
MqlTick mqlTick;
MqlTradeRequest           my_request;               // solicitar datos
MqlTradeResult            my_result;                // datos resultantes
MqlTradeCheckResult       my_check_result;          // datos de comprobación de resultados
long chart_id = ChartID();
/******************** Función de inicio de programa script*******************/
void OnStart()
 {
  ZeroMemory(my_request);
  ZeroMemory(my_check_result);
//--- setting my_request
  int k = order_type%2 == ORDER_TYPE_BUY ? 1 : -1;
  double pr = price != 0.0 ? price : order_type == ORDER_TYPE_BUY ? mqlTick.ask : mqlTick.bid;
  ENUM_TRADE_REQUEST_ACTIONS action = order_type == ORDER_TYPE_BUY || order_type == ORDER_TYPE_SELL ? TRADE_ACTION_DEAL : TRADE_ACTION_PENDING;
  my_request.action     = action;
  my_request.symbol     = _Symbol;
  my_request.volume     = 0.1;
  my_request.type       = order_type;
  my_request.price      = pr;
  my_request.sl         = 0.0;
  my_request.tp         = tp > 0.0 ? pr+tp*k : 0.0;
//my_request.magic = Magia;
  my_request.deviation  = 10;
  bool check = OrderCheck(my_request, my_check_result);
  if(!check)
    Print(my_check_result.retcode);
  DebugBreak();
 }/******************************************************************/

10027

TRADE_RETCODE_CLIENT_DISABLES_AT

Autotrading está prohibido por el terminal de cliente


También precio erróneo en la solicitud,


stops erróneos y muchas cosas más, y en cuanto al error 10018, sí, me apresuré con la respuesta y no lo comprobé. Y resultó ser cualquier cosa menos 10018....

 
Hola, ¿cómo puedo pasar la comprobación si el Exper Advisor es sólo para un simb... pero éste no se comprueba y por tanto no se ejecuta ninguna operación en la comprobación automática?
 
@Darius Elias Rey #: Hola, ¿cómo puedo pasar la comprobación si el Asesor Experto es sólo para un símbolo... pero éste no se comprueba y por tanto no se ejecuta ninguna operación en la comprobación automática?

De acuerdo con las reglas del producto Market, no se le permite restringir o limitar su EA a un solo símbolo. Su EA debe funcionar para todos los símbolos, incluso si su uso previsto es para un solo símbolo.

 

Hola,

Estaba enviando una nueva versión 1.28 de mi EA y no se está validando con "error de dinero insuficiente", primero me pareció extraño porque implementé la función CheckMoneyForTrade desde la versión 1.0, y ni siquiera recibí el error antes. También hice mi prueba antes de enviar el EA, y es concluyente, no está tomando una operación si no hay margen libre para cubrirla. ¿Alguna idea?

El error que estoy recibiendo:

Registro de mis pruebas durante el mismo período que el anterior, no hay órdenes se colocan cuando no hay dinero / margen detectado

\

¿Alguien más en este caso? Gracias de antemano.

Saludos cordiales

 
Haidar, Lionel Haj Ali #: Estaba enviando una nueva versión 1.28 de mi EA y no se valida con "error de dinero insuficiente", primero me pareció extraño porque implementé la función CheckMoneyForTrade desde la versión 1.0, y antes ni siquiera recibía el error. También hice mi prueba antes de enviar el EA, y es concluyente, no está tomando una operación si no hay margen libre para cubrirla. ¿Alguna idea?

El error que estoy recibiendo: Registro de mis pruebas durante el mismo período que el anterior, no hay órdenes se colocan cuando no hay dinero / margen detectado \ ¿Alguien más en este caso?

Se puede ver claramente en la primera imagen, que antes de la operación, el margen libre disponible era de -10,36. Si su código no identificó correctamente eso, entonces el problema está en su código.