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
O tal vez para el tiempo real, en lugar de
utilice
¿Por qué copiar cuando se puede obtener inmediatamente el precio actual?
En teoría, CopyTicks tiene en sus entrañas comprobaciones extra de parámetros, aumentando así la longitud del código en el cuerpo de la función.
Pero SymbolInfoTick no tiene parámetros adicionales, y en teoría, la implementación de esta función debería contener menos código.
Menos código significa una ejecución más rápida.
Lo único malo es que la función SymbolInfoTick no tiene una documentación detallada similar a la de CopyTicks y no está completamente claro cómo funciona.
¿Se almacena en caché o devuelve los datos en bruto inmediatamente?
Sólo el cristal está disponible inmediatamente, todo lo demás se comprueba adicionalmente.
Nadie revelará la documentación detallada: es un secreto tras los 7 sellos ))))
Sólo se entrega el cristal directamente, todo lo demás se comprueba adicionalmente.
Nadie revelará la documentación detallada: es un secreto tras siete sellos ))))
SymbolInfoTick() en principio no puede dar la pila, creo que nos referimos a BestBid, BestAsk.
¿No está la estructura de MqlTick completamente llena de BestBid, BestAsk?
¿Qué le hace pensar que otros miembros de la estructura necesitan un control adicional?
Si desea obtener el vaso completo para todos los bancos, debe utilizar
Devuelve una matriz de estructuras MqlBookInfo que contienen entradas del símbolo especificado.
SymbolInfoTick() no puede dar la copa, tal vez te refieres a BestBid, BestAsk.
¿No está la estructura de MqlTick completamente llena de BestBid, BestAsk?
¿Por qué cree que el resto de miembros de la estructura necesitan un control adicional?
Y si quieres obtener el tumblr completo de todas las bandas, debes usar
Devuelve una matriz de estructuras MqlBookInfo, que contiene registros de una pila de precios de un símbolo especificado.
No sé a qué te refieres.
OnBook y OnTick son hilos diferentes, si MQ los sincroniza es muy malo.
A juzgar por la imagen que he dado más arriba no están totalmente sincronizados.
La prueba de fxsaber también inspira confianza:
El resultado es malo: en OnTick/OnBookEvent, los ticks recibidos usando diferentes métodos muy a menudo no coinciden dentro de una función On. Y no se puede saber qué método para conseguir la garrapata es relevante y cuál no. Una terrible vaguedad.
Entonces, quién quiere qué:
- si necesita mejores precios - OnBook,
- si necesitas un trozo de ofertas - CopyTick,
- y si no necesitas nada - OnTick, puede saltar ticks y retrasar el flujo de información, porque trabaja en un proceso en línea con otras funciones On.
p.d. Todo lo que he escrito aquí se refiere sólo a las cuentas de cambio, a los forexistas no les importa (no hay diferencia), los forexistas pasan de largo.
Por un momento ha parecido que tienes ganas de entender y eso te ayudará a domar tu orgullo.
No, sólo lo parecía.
La pregunta está resuelta, y cualquiera puede revisar los códigos tuyos, los de fxsaber y los míos y sacar conclusiones.
Contigo dejo de dialogar, no viene nada más que gritos de tu parte, y al recibir la información tu cerebro no funciona en absoluto.
Buena suerte en los FORTS.
¡Andrey!
Te ofendes erróneamente por mis comentarios sobre el FOREX, no tienen nada que ver contigo.
Siempre hemos tenido diálogos constructivos, pero si te ha ofendido de alguna manera, entonces
Le pido disculpas personalmente.
No sé a qué te refieres.
OnBook y OnTick son hilos diferentes, si MQ los sincroniza es una pena.
De mis pruebas recientes (después de arreglar un error en el código),
está muy claro que OnTick() se activa antes o al mismo tiempo que OnBookEvent(),
pero en las impresoras OnTick() es siempre la primera.
Parece que cuando llega una nueva tanda de garrapatas,
entonces la función que los maneja primero "tira" de OnTick() y luego "cuela" los datos
donde tiene que ir :)
O tal vez para el tiempo real, en lugar de
utilice
¿Por qué copiar cuando puedes obtener el precio actual inmediatamente?
¿Qué mercado le interesa?
De mis pruebas recientes (después de arreglar un error en el código),
está muy claro que OnTick() se activa antes o al mismo tiempo que OnBookEvent(),
pero en las impresoras OnTick() es siempre la primera.
Parece que cuando llega una nueva tanda de garrapatas,
entonces la función que los maneja primero "tira" de OnTick() y luego "envía" los datos
donde tiene que ir :)
Sí, más o menos lo mismo.
El terminal es asíncrono de un solo hilo, procesa todos los eventos por turnos.
Para la pureza del experimento, que es más rápido OnBook o OnTick, debemos ejecutar dos terminales en un corredor.
En un EA sóloOnBook sinOnTick .
En el otro,sóloOnTick sin OnBook.
Y sumar los precios con la hora local en milisegundos en un archivo. Entonces se verá la verdadera diferencia.
De lo contrario, sin tiempo de almacenamiento, es imposible entender la diferencia.
Sí, eso es lo mismo que pensar.
El terminal es asíncrono de un solo hilo, maneja todos los eventos por turnos.
Para la pureza del experimento, que es más rápido OnBook o OnTick, debemos ejecutar dos terminales en un corredor.
En un EA sóloOnBook sinOnTick .
En el otro,sóloOnTick sin OnBook.
Y sumar los precios con la hora local en milisegundos en un archivo. Entonces se verá la verdadera diferencia.
De lo contrario, sin tiempo de almacenamiento, no se puede entender la diferencia.
No hay problema, intentaré ejecutarlo el lunes (tengo tres terminales en real).
No sé a qué te refieres.
OnBook y OnTick son hilos diferentes, si MQ los ha sincronizado es una pena.
A juzgar por la imagen que he dado más arriba, no están totalmente sincronizados.
También la prueba de fxsaber inspira confianza:
Entonces, quién quiere qué:
- si necesita mejores precios - OnBook,
- si necesitas un trozo de ofertas - CopyTick,
- y si no necesita nada - OnTick, puede saltar ticks y retrasar el flujo de información, porque trabaja en un proceso en línea con otras funciones On.
p.s. Todo lo que he escrito aquí se refiere sólo a las cuentas de cambio, a los comerciantes de divisas no les importa (no hay diferencia), los comerciantes de divisas pasan.
Me refería aSymbolInfoTick, has escrito que " Sólo la copa se da inmediatamente, el resto se comprueba adicionalmente".
Te he dado la estructura de MqlTick para que veas en qué consiste, no hay copa, sólo mejores precios. Y no hay controles adicionales.
Por lo tanto, me sorprende lo que ha escrito, tal vez haya expresado incorrectamente la idea.
El OnBook y el OnTick son sockets diferentes, porque en cualquier protocolo de intercambio las operaciones se realizan en un socket, y el Level2 (mercado) en otro.
Esto significa que sólo se envía al socket OnTick la mejor oferta, la última oferta, etc. Por lo tanto el OnTick tiene su propio manejador para este socket.
Para el nivel 2, la toma de corriente es diferente y, por lo tanto, tiene un gestor diferente. En idea, no deben sincronizarse forzosamente en el lado del terminal.
Muy bien, usamos exactamente lo que queremos, las operaciones enSymbolInfoTick o CopyTick, vidrio en MarketBookGet.
¿Qué mercado le interesa?
No utilizo el dealing forex.
En el ejemplosólo se obtiene un último elemento de la estructura deCopyTick, de hecho, sólo los mejores precios.
Así que pensé, por qué copiar los datos de un espacio de memoria a otro,
, cuando haySymbolInfoTick que da los mejores precios sin copiar en ninguna parte. Puede que me equivoque sobre cómo funcionan las funciones, es sólo una suposición mía.
Aunque es posible que estas dos funciones trabajen de la misma manera, la única diferencia es queCopyTick puede solicitar un rango de ticks.
Y es innecesarioutilizar bucles para procesar los ticks.