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
Estaba en el ordenador, no hizo ningún cálculo. No cargó la CPU con nada.
19 ms y 48 ms para la ejecución de SymbolInfoTick. Hubo varias docenas de casos en los que la duración fue de cientos de microsegundos. Pero no los cité.
Al parecer, para reproducirlo, hay que hacer funcionar a los asesores de combate durante 24 horas, y luego sólo mirar. En mi opinión, no es realista averiguar qué es lo que inicia esos desfases.
A veces la computadora puede estar bombeando actualizaciones o haciendo algunas tareas de servicio. Además, las variaciones de la tensión de la red pueden afectarla. De esta manera se puede llegar a las tarjetas de red programables, donde toda la lógica del bot está cableada :) pero incluso allí habrá retrasos debido a las fluctuaciones del campo cuántico
Los desarrolladores han hecho lo mejor que han podido. Y sin eso, la rama ha proporcionado un código que muestra cómo el tick va por detrás del Market Watch y viceversa. Como la secuencia de llegada de la garrapata está rota y probablemente algo más. En definitiva, se publica un código desagradable y válido para reproducir otras situaciones.
SymbolInfoTick envía los datos recibidos del servidor del broker. Lo que el servidor envía es lo que se obtiene.
¿Se ejecutaSymbolInfoTick() en modo de bloqueo o en modo de no bloqueo?
Por ejemplo, está en el cuerpo del bucle while y no hay conexión o el mercado está cerrado por fin de semana,
entonces se bloqueará deteniendo el bucle o se ejecutará de forma asíncrona?
cómo la vigilancia del mercado va a la zaga de la vigilancia del mercado y viceversa.
Es decir, ¿SymbolInfoTick capta un nuevo tick y obtenemos un Ask y un Bid diferentes a través del evento Market Watch (sin esperar a que el Market Watch cambie)? No era posible hacerlo hace un año más o menos. SymbolInfoTick y CopyTick y la cosecha siempre conducen al mismo tick. Si obtiene ticks a través de varias funciones OnXXX, por supuesto, obtendrá algo a través de una función, y algo a través de otra...
Es decir, ¿SymbolInfoTick capta un nuevo tick y obtenemos un Ask y Bid diferente a través del sondeo de la copa (sin esperar al evento de cambio de copa)?
Aquí.
Aquí.
Como pensaba, estás probando OnBookEvent y OnTick, no MarketBookGet y SymbolInfoTick. Si se hace la prueba con este esquema, se tendría todo emparejado:
p.s. Lea sus mensajes a continuación. Tú también lo entiendes. ¿Por qué necesita OnBookEvent y OnTick? En mi ejemplo Sleep(1) tarda 1-2 milisegundos, la petición y el tick con SymbloInfoTick tarda menos de MICROsegundo. El procesador ya está descansando el 99,9% del tiempo si no hay ticks. ¿Cuál es la ventaja de utilizar OnBookEvent y OnTick?
Como pensaba, estás probando OnBookEvent y OnTick, no MarketBookGet y SymbolInfoTick. Si hicieras las pruebas de acuerdo con este esquema, tendrías todo igualado:
p.s. Lea sus mensajes a continuación. Tú también lo entiendes. ¿Por qué necesita OnBookEvent y OnTick? En mi ejemplo Sleep(1) tarda 1-2 milisegundos, la petición y el tick con SymbloInfoTick tarda menos de MICROsegundo. El procesador ya está descansando el 99,9% del tiempo si no hay ticks. ¿Cuál es el beneficio de usar OnBookEvent y OnTick?
Sin una pizca de diplomacia, estás diciendo tonterías. Sleep(1) es una décima de milisegundo. Sólo veo una teorización.
Los usuarios de OnTick quieren ver una garrapata fresca y no la que llegó al Terminal hace algún tiempo. Puedes poner SymbolInfoTick justo después de MarketBookGet en el código fuente.
Los desarrolladores han reconocido plenamente dos problemas con su silencio.
Sin una pizca de diplomacia, estás diciendo tonterías. Sleep(1) es una docena de milisegundos. Sólo veo una teorización.
Los usuarios quieren ver un tic fresco en OnTick y no un tic que llegó al Terminal hace tiempo. Puedes poner SymbolInfoTick justo después de MarketBookGet en el código fuente.
Los promotores, con su silencio, han reconocido plenamente dos problemas.
No siempre y no cada décima de milisegundo. Comprobado con un simple script
Aquí está mi registro
Los usuarios de OnTick siempre ven la garrapata más reciente.
Los usuarios de OnBookEvent siempre ven el tick más reciente.
Pero si quieres comparar los ticks recibidos con OnTick y los recibidos con OnBookEvent te vas a llevar un chasco porque los eventos se procesan secuencialmente y no en paralelo. Eso es lo que el usuario pivomoe trató de decirle
No siempre y no en todas partes una décima de milisegundo. Comprobado con un simple script
Aquí está mi registro.
Y aquí está mi registro.
Resultado.
Los usuarios de OnTick siempre ven la garrapata más reciente.
Los usuarios de OnBookEvent siempre ven el tick más reciente.
El resultado de ejecutar el EA en un solo gráfico desde una máquina que no está ocupada de ninguna manera.
Marca ticks idénticos, que son recibidos en diferentes funciones On por los métodos correspondientes. El retraso puede ser de decenas de milisegundos si se ejecuta en seis gráficos en lugar de uno.
Pero si quiere comparar los ticks recibidos en OnTick y los recibidos en OnBookEvent, entonces se decepcionará porque los eventos se procesan secuencialmente, no en paralelo. Lo que el usuario pivomoe trató de decirle
Si un OnBookEvent/OnTick casi vacío se activa 20 milisegundos más tarde que el correspondiente OnTick/OnBookEvent casi vacío, ¿está bien?
ZS Mientras prestas atención al hilo, hay otro código de reproducción aquí. Allí, en Market Watch, los ticks llegan con una hora anterior a la de Market Watch.
Si un OnBookEvent/OnTick casi vacío se activa 20 milisegundos más tarde que el correspondiente OnTick/OnBookEvent casi vacío, ¿está bien?
La cola EA es un recurso bloqueable. Cuando se escribe un evento en la cola, el Asesor Experto espera (a menos que el Asesor Experto esté procesando un evento en ese momento)
Los eventos para el Asesor Experto provienen de la cola de eventos del gráfico correspondiente, que a su vez proviene del ciclo de procesamiento del símbolo correspondiente. Y este bucle de procesamiento no sólo distribuye los eventos a sus propios gráficos, sino que también hace muchas otras cosas.
Ya te he dicho que Windows no es un sistema operativo en tiempo real.