¿cómo puedo obtener el gráfico de 100 milisegundos? - página 4

 
Personalmente, estoy seguro de que la decisión de no tener un gráfico de ticks fue una decisión de diseño pura por el hecho de que es coherente con el diseño general de la plataforma. No tiene sentido, desde el punto de vista de la ingeniería, tener un gráfico que está en una escala de tiempo que la plataforma es incapaz de ofrecer cuando se trata de la colocación real de órdenes. Yo mismo habría hecho lo mismo. La afirmación de que los brokers "querrían" que MT4 no incluyera esta característica no tiene sentido, ya que esta característica es simplemente inútil... No les importaría nada.
 
SDC:

En otras palabras, no está utilizando un protocolo tcp/ip para la conexión de alimentación de precios. [...] La conexión de alimentación de precios al corredor simalar a, o en realidad de, la conexión de tipo UDP

Tcpview parece indicar que la conexión de MT4 al broker es TCP, no UDP.

Ais:

Sólo información útil sobre la precisión de la hora del sistema en Windows, y en MetaTrader respectivamente [...]

Creo que te refieres a cosas como GetTickCount(). Todas las versiones de Windows a partir del 2000 también proporcionan un temporizador de sistema de alta frecuencia. Ver http://msdn.microsoft.com/en-us/library/ms644904(VS.85).aspx etc. La granularidad típica de 16ms de GetTickCount() no tiene ninguna relación con la capacidad de dibujar un gráfico de 100ms, particularmente porque tal gráfico sería casi ciertamente dibujado basado en la marca de tiempo del corredor, no el tiempo local de la computadora. Si la marca de tiempo de MT4 tuviera una precisión de milisegundos, que no la tiene.

gordon:

Personalmente estoy seguro de que la decisión de no tener un gráfico de ticks fue una pura decisión de diseño [...]

Sin duda, es cierto. En parte debido a la definición ligeramente inusual de la plataforma MT4 de un "tick", y el hecho de que conduce a un número muy diferente de "ticks" en función del corredor que está conectado.

 

1. Exactamente, me refiero a "GetTickCount()", que se utiliza en MetaTrader4.
2. El uso de "QueryPerformanceCounter" y "QueryPerformanceFrequency" para los tiempos de alta precisión parece ingenuo, porque estas funciones se basan en la velocidad del reloj de la CPU.
Sabemos bien que la velocidad del reloj de la CPU no es estable y puede ser cambiada por el sistema en la ejecución.

 
Ais:

2. El uso de "QueryPerformanceCounter & QueryPerformanceFrequency" para los tiempos de alta precisión parece ingenuo [...]

Es menos ingenuo que usar GetTickCount(), y sigue siendo irrelevante porque todos los gráficos en MT4 se dibujan basados en el timestamp del broker, no en el reloj local.
 
Ais:

[...] porque estas funciones se basan en la velocidad de reloj de la CPU.

Raymond Chen afirma que esto no es cierto, y que la función no debería ser sensible a los cambios en la velocidad del reloj, a menos que la BIOS o la HAL tengan errores: http://blogs.msdn.com/b/oldnewthing/archive/2008/09/08/8931563.aspx?PageIndex=2. Y Raymond Chen suele tener razón en cuestiones de bajo nivel de Windows.
 

3. No necesitamos sincronizar las marcas de tiempo para obtener el gráfico artificial de 100 ms.

4. MT4 tiene la capacidad de tener una precisión de 1 ms, porque podemos reprogramar el PIC.

 

http://blogs.msdn.com/b/oldnewthing/archive/2008/09/08/8931563.aspx?PageIndex=2:

"

Carsten Orthbandt

9 Sep 2008 1:03 AM

La mayoría de las veces que se menciona el QPC falta una cosa muy muy importante.

El hecho de que QPC es muy poco fiable. Dependiendo del hardware actual y de la carga de la CPU, QPC saltará aleatoriamente hacia atrás y/o hacia delante varios segundos (en mi experiencia, normalmente fueron ~4 segundos).

Usted _puede_ trabajar alrededor de eso por el seguimiento de tiempo de reloj de pared también y tratar de detectar esos saltos.

"

 
Ais:

Carsten Orthbandt [...]

Personalmente, voy a confiar en Raymond Chen, que trabaja para Microsoft, antes que en otra persona de la que nunca he oído hablar y que no trabaja para Microsoft, y que no conoce ni ha hablado con las personas que escribieron las partes relevantes del sistema operativo Windows. Tu opinión puede ser diferente.
 

Los procesadores no los fabrica Microsoft.

 
Ais:

Los procesadores no son fabricados por Microsoft.

¿No lo son? ¡Vaya! No lo sabía. Gracias.

Razón de la queja: