Mercado: no hay operaciones comerciales - página 5

 
Alexey Viktorov:

¿Me lo he perdido o nadie ha especificado a qué se refiere con EA multidivisa?

¿Es posible llamar multidivisa a un EA que sólo puede operar en el par de divisas en el que está colocado, aunque pueda operar en diferentes pares?

¿Cómo podemos hablar de multidivisas en el probador de MT4?

Bueno, tengo un EA multidivisa que se coloca en un gráfico y opera con varios símbolos, el código es el mismo para ambas plataformas. Pero si lo ejecuto en el probador de mt4, negocia un par y si lo ejecuto en línea, negocia todos los pares. Las condiciones están escritas allí.

 
Vitaly Muzichenko:

Bueno mi multidivisa es lo que se pone en un gráfico y negocia varios símbolos, el código es el mismo para ambas plataformas. Pero si lo ejecutas en el probador de mt4, negocia un par, y si lo ejecutas en línea, negocia todos los pares. Allí se prescriben las condiciones.


Entonces no debería haber ningún problema.

No tengo ningún problema con esto, es la misma multidivisa, pasa la prueba.

Y ninguna actividad comercial puede estar en el estado de ánimo del probador :-) - No sé si está de buen humor (es decir, refrescándose, durmiendo, teniendo un día libre) y no se opera.

Basta con probar una extensión diferente o esperar un día y se salta todo de nuevo en el estado de ánimo.

 
Vladislav Andruschenko:


Bueno, entonces no debería haber ningún problema con eso.

la misma multidivisa, pasa la prueba.

Y ninguna operación comercial puede ser del estado de ánimo del probador :-) - No sé si está de mal humor (es decir, refrescándose, durmiendo, teniendo un día libre) y no hace ningún intercambio.

Pruebo con otra tirada o espero un día y vuelve a saltarse todo en el ánimo.

Haciendo mi décimo intento, reduciendo las comprobaciones en el código. Hasta ahora sin resultados, por supuesto hay un montón de comprobaciones - creo que las he desactivado todas

 
Vitaly Muzichenko:

Este es el décimo intento, reduciendo las comprobaciones en el código. Hasta ahora sin resultados, claro que hay muchas comprobaciones - creo que las he desactivado todas

¿Has probado a cambiar la extensión y el par?

controles del artículo en la página web?
 
Vladislav Andruschenko:

¿Has probado a cambiar la extensión y el par?

¿Cómo puedo comprobar las comprobaciones del artículo en la página web?

De momento eso es todo, no ha ido nada, he recetado el lote directamente en OrderSend(...)

Haré un archivo separado con una funcionalidad mínima y trataré de añadirlo, de este modo encontraré el área del problema, de lo contrario romperé un EA que funciona recortando piezas)

 
Vitaly Muzichenko:

Por ahora eso es todo, nada funcionó, escribí el lote directamente en OrderSend(...)

Haré un archivo separado con una funcionalidad mínima y trataré de añadirlo, de este modo encontraré el área del problema, de lo contrario romperé un EA que funciona recortando piezas)

Aquí. Aquí. Ya he hecho lo mismo antes. Recorta las piezas. Lo rompí y olvidé lo que había hecho. Y resultó que el probador no estaba de humor. )))
 
Vitaly Muzichenko:

Bueno mi multidivisa es lo que se pone en un gráfico y negocia varios símbolos, el código es el mismo para ambas plataformas. Pero si lo ejecutas en el probador de mt4, negocia un par, y si lo ejecutas en línea, negocia todos los pares. Allí se prescriben las condiciones.

Estaba preguntando por la EA de Maxim.

Creo que en un futuro próximo esta pregunta debería hacerse cada vez que aparezca la palabra "multidivisa"... Porque mucha gente piensa que el EA multidivisa puede ser colocado en cualquier par de divisas y operará...

 
Evgeny Belyaev:

Si el lote es inferior al mínimo permitido, entonces lo equipararemos al mínimo permitido. Respectivamente, si es más grande, EA operará con un lote más grande.

No se necesitan comprobaciones de los probadores.

Y no olvide los demás controles. Margen, normalización...

Vitaliy señaló tu error hace tiempo, pero en lugar de encontrar el error te dedicas a despotricar.

Si tomas el EA simple en la apertura de la posición, puede dar una orden en cada tick. No necesita ninguna otra lógica de negociación. Compruebe todas sus funciones de control. Si pasa la comprobación, todo está bien, si falla, comprueba cada línea de código. Debe entenderse que el validador puede establecer cualquier lote en la configuración como 0 o negativo, en este caso, si hay suficiente margen, el bot debe realizar operaciones durante la prueba.

PS Es aconsejable comprobar en el servidor MQ, ya que el validador comprueba en ese servidor.
bool CheckVolumeValue(double volume)
{
   double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);
   if(volume<min_volume)
   {
      Print("Volume is less than the minimum");
      return(false);
   }

   double max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX);
   if(volume>max_volume)
   {
      Print("Volume is greater than the maximum");
      return(false);
   }

   double volume_step=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP);

   int ratio=(int)MathRound(volume/volume_step);
   if(MathAbs(ratio*volume_step-volume)>0.0000001)
   {
      Print("Wrong lot size");
      return(false);
   }
     
   if(volume*MarketInfo(Symbol(),MODE_MARGINREQUIRED)>AccountEquity())
   {
      Print("Trade stop is not enough free margin to begin");
      Comment("Trade stop is not enough free margin to begin");
      return(false);
   }
   if(volume<MarketInfo(Symbol(),MODE_MINLOT))
   {
      Print("Trade stop invalid lot size");
      Comment("Trade stop invalid lot size"); 
      return(false);
   }
   return(true);
}
if(!CheckVolumeValue(lt))return;   
   if(!OrderSend(Symbol(),cmd,NormalizeDouble(lt,2),NormalizeDouble(priceStep,Digits()),Slippage,0,0,"",magic,0))

Probablemente no te hayas dado cuenta, solía mostrar el validador - no pasó la prueba...

añadido

 if(IsTesting())lоt=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);

Lo tengo:

Las pruebas automatizadas de los productos se han completado con éxito:

La prueba de la versión se ha superado con éxito. Ahora puede enviarla para que el moderador la verifique.

Entonces, ¿de qué estabas hablando...?

 
Alexey Viktorov:

Estaba preguntando por la EA de Maxim.

Creo que en un futuro próximo esta pregunta debería hacerse cada vez que aparezca la palabra "multidivisa"... Porque mucha gente piensa que el EA multidivisa puede ser colocado en cualquier par de divisas y operará...

No tengo un netizen en absoluto, nunca una multidivisa, no escribí tal cosa...

 
Maksim Neimerik:

Soy un netizen en absoluto, nunca un mumtivista, no escribí tal cosa...

Eso es genial. Yo tampoco lo he leído. Así que es un complot imperialista))))