Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Alternativamente, para evitar la preocupación de que Symbol() se coma el tiempo, entonces deje que ambos manejadores se "alimenten" por igual.
Podemos sustituir la función Symbol() por una variable predefinida _Symbol
Symbol() no tiene nada que ver. La hora en el registro es correcta.
El retraso está en la cola de eventos o en las funciones SymbolInfo.
A eso me refiero.
Así que, si necesita el cristal, trabaje con OnBook. Si no es necesario, trabaja en OnTick (sin colas ni llamadas innecesarias).
Lo que queda por averiguar es la forma más rápida de obtener el historial de ticks real para ambos métodos.
Creo que, si sólo se necesita el último tick, SymbolInfo es mejor. Si necesitamos un historial sin huecos, entonces sólo CopyTicks.
Symbol() no tiene nada que ver. La hora en el registro es correcta.
El retraso está en la cola de eventos o en las funciones SymbolInfo.
A eso me refiero.
Estoy de acuerdo en que el Símbolo no puede masticar mucho, pero puede hacer alguna contribución, y sin duda para la pureza de la prueba tomar el tiempoantes de cualquier llamada.
En cuanto a la cola - tengo curiosidad por este punto - hasta qué punto OnBook puede ir por detrás del mismo OnTick en condiciones ideales. Es decir, cuando sólo se suscribe este Símbolo, el terminal no está ocupado con nada más, etc., y qué lo provoca.
Hasta ahora no puedo estar de acuerdo en que se trate sólo de la cola, porque si los manejadores no están haciendo nada, entonces la cola de 5-6 OnBooks no debería consumir más que la operación de comprobar el Símbolo.
Deberíamos eliminar todas las comprobaciones y ver lo que caeentre OnTick y OnBook para el mismo tick.
ap: Quedó claro que el voraz Print no permite comprobar limpiamente, porque la cola será larga a causa del Print)
Tengo que poner el tiempo sin la impresión en el array ulong, y luego ya una vez cada 5 minutos para que salga todo a Prints, luego lo codificaré.
Quería poner el código a prueba primero
Pero no puedo abrir la cuenta de apertura demo por algo. El tiempo está probablemente fuera de servicio, ¿o hay algo más que no funciona?
Luego el código para dopilizar para comparar exactamente desde un tick de evento.
Quería poner el código a prueba primero
Pero no puedo abrir la cuenta de apertura demo por algo. El tiempo está probablemente fuera de servicio, ¿o hay algo más que no funciona?
Luego el código para dopilizar para comparar exactamente desde un tick de evento.
Tienes que abrirlo en su página web. A continuación, envían un código a la oficina de correos.
Creo que si sólo se necesita el último tick, SymbolInfo es mejor. Si necesitas un historial sin huecos, entonces sólo CopyTicks.
La cuestión es que el Mercado Urgente (FORTS), incluso en los instrumentos "altamente líquidos", es muy débil,
Esto significa que al precio adecuado se puede comprar unnúmero muylimitado de contratos, por lo que no sólo necesitamos el precio,
pero el volumen de contratos a este precio es muy importante.
Y SymbolInfo no da el volumen de este precio.
Debido a esto, necesitamos utilizarMarketBookGet() que proporciona tanto el precio como el volumen de todo el libro.
Puede utilizarMarketBookGet() sólo en pareja con MarketBookAdd, obteniendo los cambios de la copa del mercado.
en OnBookEvent. Puede añadir el mercado (MarketBookAdd) y utilizarMarketBookGet() desde OnTck(),
pero en este caso, se perderán otros deslizamientos del mercado(órdenes pendientes que no están al mejor precio).
Es cierto, el mercado puede jugar con esto y construir el deslizamiento del mercado de las garrapatas entrantes, pero ¿es realmente necesario?
Añadido por
Y no estoy de acuerdo en que podamos obtener ticks del historial cuando se dispara OnTck().
Recordando el último tiempo de ticks, cuando se dispara OnTck() podemos obtener ticks
en tiempo real un nuevo tick(s) entró - disparó OnTck() lo leemos inmediatamente, es decir, no es historia.
Queda por averiguar la forma más rápida de obtener el historial de garrapatas real para ambos métodos.
Mi OnTick() es igual o ligeramente más rápido que OnBook (pero OnBook tiene enormes retrasos).
Estaba probando la velocidad de las funciones(microsegundos)
OnTick - имеется ввиду CopyTicks из OnTick
¡La más rápida esSymbolInfoTick, pero esta función no pone volumen en el tick!
Ver para ayuda.
tick [out] Ссылка на структуру типа MqlTick, в которую будут помещены текущие цены и время последнего обновления цен.
Es decir, sólo el tiempo y el precio, pero no el volumen :(
En el caso de los instrumentos negociados en bolsa (especialmente los FORTS), no sólo importa el precio,
sino también el volumen de contratos a ese precio.
Intenté tomar el vaso por OnTick() - ¡enormes retrasos claramente visibles "a ojo"!
Lo tienes todo desordenado.
Ya escribí antes que las operaciones y el nivel 2 son suscripciones de datos diferentes, por lo que son manejadores de eventos diferentes.
Por eso, las operaciones deben llamarse desde OnTick, y las bandas de volumen desde OnBook.
Estás tratando de llamar a las operaciones desde los eventos OnBook y a las bandas desde OnTick. Pensando que OnBook será más rápido para los intercambios.
No será más rápido, creo que es un engaño comparar dos manejadores de eventos, cada uno dedicado a su propio flujo de datos.
Entiendo que todo son experimentos, pero sin entender la lógica de que hay dos flujos de datos (trades y Level2), confundirás infinitamente estos manejadores OnTick y OnBook.