Características del lenguaje mql5, sutilezas y técnicas - página 192

 
traveller00:

Según las estadísticas: unas 200-300 operaciones al día. Incluso con las comprobaciones normales, pero sin ninguna comprobación realmente complicada, una media de 2-3 veces a la semana pillaba una apertura de lote doble. Calcule la probabilidad y evalúe si necesita o está preparado para aceptar dicha probabilidad. Personalmente, he hecho mis comprobaciones al máximo.

Gracias. ¿Cuál es su ping?
 
Vasiliy_Saharov:
Gracias. ¿Y cuál es su ping?

Salta en el rango de 55-60ms. Pero no se trata del ping. Como he dicho, es incluso con los controles normales. Aquí es donde la espera ya era, simplemente adecuada, como esperar 1 segundo. Pero ahí es donde volaba incluso para rangos que superan el ping en órdenes de magnitud.

P.D. Interesante prueba de órdenes fantasma al sujeto https://www.mql5.com/ru/forum/1111/page2220#comment_7834585
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2018.06.20
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
Vasiliy_Saharov:
Si usted tiene un algoritmo para hacer 0,1 lotes, entonces hay una probabilidad de hacer 0,1 dos veces, y como creo que esta probabilidad tiende a cero, y tres veces, creo que es imposible. Y mucho menos 20 veces. Al fin y al cabo, estamos hablando de cosas de la aplicación. Como regla general, el servidor responde probablemente en el límite de 10minseg (¿es así? No estoy seguro). En su opinión, ¿cuál es la probabilidad de conseguir una segunda transacción? ¿Hace esta comprobación usted mismo? ¿Sucede que el servidor puede tardar en responder?

La respuesta del servidor con el resultado de la transacción puede retrasarse por razones muy diversas, y no se puede contar con 10ms en ningún caso (aunque el ping sea de 1ms)

Por supuesto que hago esta comprobación. Más concretamente, uso el ready MT4Orders que tiene en cuenta esto (y muchas otras cosas).

 
const int a=2;

void OnStart()
{
  int b[a];  //'[' - invalid index value
}

¿Este comportamiento diferente al de C++ es una característica o un error?

 
Igor Makanu:

en el indicador no esperará el resultado de CopyXXX

como una opción en el temporizador en el indicador para procesar CopyXXX y llamar a este indicador desde EA

Ha funcionado, ¡gracias por la idea!

 

Cómo el cambio de horario de verano/invierno puede romper MT5-Tester.

La forma más fácil de explicar el problema es con un ejemplo. Hay un símbolo con estas restricciones en las sesiones de cotización.

Sin embargo, hay precios en el historial de precios después de las 22:15 hasta las 23:15. Son precios válidos a pesar de salirse de la sesión de cotización.


El hecho es que antes del cambio al horario de invierno, la sesión era: 03:00 - 23:15. La explicación es fácil. El servidor de negociación cambia la hora, pero el símbolo de la cotización no. Por ejemplo, el índice. Debido a ello, el servidor de negociación cambia la hora de la sesión para el símbolo correspondiente.


Esta circunstancia provoca consecuencias muy desagradables en el MT5-Tester. No puede operar a precios válidos entre las 22:15 y las 23:15 y obtener un rechazo en forma de [Mercado cerrado]. Es decir, el comercio estaba realmente en marcha allí, pero el Probador no lo permite.


De hecho, el Probador distorsiona el comercio dando resultados falsos a sabiendas. Resulta bastante problemático advertir esta peculiaridad. Para arreglar la situación tienes que corregir tú mismo el tiempo de la sesión.


Olvídese de este problema (y de algunos otros), puede cambiar a un símbolo personalizado, que calcula/escribe automáticamente los tiempos de sesión adecuados.


En la pantalla superior de la configuración del símbolo, hay una línea inferior "Usar límite de tiempo". Tal vez, cuando entre en vigor, todavía pueda solucionar este problema a través de él.


Por ahora la regla es válida - los símbolos personalizados pueden aumentar significativamente la probabilidad de que los resultados del MT5 Tester sean correctos.


Recuerde que cuando realice solicitudes del historial de precios (CopyRates/CopyTicks) en el terminal, no se centre en las sesiones de cotización.

 
fxsaber:

Cómo el cambio de horario de verano/invierno puede romper MT5-Tester.

Gracias por compartir las interesantes observaciones - También planteé el tema del tiempo antes, pero me di cuenta de que el margen de beneficio es incorrecto en el futuro cuando el precio de las barras es inferior a 0.

La pregunta que se plantea es si hay situaciones en las que es correcto prohibir la negociación en el probador en absoluto, o al menos cuando hay una cotización de un instrumento con la prohibición de negociar en él en realidad a determinadas horas. Entiendo que hay diferentes índices, y no está claro cómo contar el beneficio en ellos, pero en este caso se puede contar forzosamente en puntos y sólo escribir un mensaje en el registro que el instrumento no se negocia, pero se puede comprobar el TS.

 
Aleksey Vyazmikin:

¿existen cotizaciones de un instrumento con la prohibición de negociar con él en realidad durante determinadas horas?

El primer minuto después de la medianoche está prohibido. Cuando puede ser importante, pongo una marca.

// true - торговые сессии совпадают с котировочными, false - иначе.
bool IsSessionsQuoteEqualTrade( const string Symb )
{
  bool Res = true;
  
  for (int i = 0; (i < 7) && Res; i++)
  {
    datetime FromQuote;
    datetime ToQuote;

    datetime FromTrade;
    datetime ToTrade;
    
    if (SymbolInfoSessionQuote(Symb, (ENUM_DAY_OF_WEEK)i, 0, FromQuote, ToQuote) && (FromQuote != ToQuote))
      Res = SymbolInfoSessionTrade(Symb, (ENUM_DAY_OF_WEEK)i, 0, FromTrade, ToTrade) &&
            (FromQuote == FromTrade) && (ToQuote == ToTrade);
  }
  
  return(Res);
}

Cuando hay varias sesiones en un día, no lo compruebo.

 
fxsaber:

El primer minuto después de la medianoche está prohibido. Cuando puede ser importante, lo compruebo.

No compruebo si hay varias sesiones en un día.

Se trata de una situación artificial creada por las empresas de corretaje. Supongamos que hay operaciones en una subasta cerrada, pero cotizadas.

 
Aleksey Vyazmikin:

Se trata de una situación artificial creada por la DC, pero ¿hay ejemplos reales? Digamos que hay operaciones en una subasta cerrada y sin embargo cotizan.

Absolutamente todas las reglas son artificiales.

Razón de la queja: