Una pregunta para los conocedores de MQL

 
¡Buenos días a todos!
Mi pregunta es la siguiente: cómo puedo hacer que un indicador se recalcule a sí mismo no más de un cierto número de veces por segundo, por ejemplo no más de 2 veces.
La función Sleep no funciona en los indicadores.
 
Debugger писал(а) >>
¡Buenos días a todos!
Mi pregunta es: ¿cómo puedo hacer que un indicador se recalcule a sí mismo no más de un cierto número de veces por segundo, por ejemplo no más de 2 veces.
La función Sleep no funciona en los indicadores.


¿Por qué?
 
El algoritmo tarda mucho en calcularse.
 
Debugger писал(а) >>
El algoritmo tarda mucho en calcularse.


Tal vez debería optimizar el algoritmo primero. Aunque se puede calcular una vez cada segundo, o cada 10 segundos.
Nos ahorramos el último tiempo de cálculo.
En los siguientes ticks, comprobamos el número de segundos que han pasado.
Si es más del tiempo especificado, se calcula, de lo contrario salimos sin calcular
 
Con esto puedes medir entre ticks en milisegundos:
int GetTickCount();
// Функция GetTickCount() возвращает количество миллисекунд, прошедших с момента старта системы.
// Счетчик ограничен разрешающей способностью системного таймера. Так как время хранится как беззнаковое целое, то он переполняется каждые 49.7 дней. 
 
Vadim, me has ayudado de nuevo. ¡¡¡¡Enorme respeto!!!!
 
Hola, podría revisar el código y explicar por qué este indicador se retrasa para las empresas de corretaje que dan cotizaciones de 5 dígitos y funciona bien para las empresas de corretaje que dan cotizaciones de 4 dígitos. Me pregunto si se puede corregir de alguna manera para que funcione con empresas de corretaje con 5 dígitos. Si tiene alguna duda sobre la corrección, no dude en ponerse en contacto con su empresa de corretaje.
Archivos adjuntos:
 

Sí, en efecto. En la marca de 5 dígitos, el pavo se está desacelerando.

No sé por qué. Está todo en el código...

 
rid >>:

Да, действительно. На 5-ти знаке индюк тормозит.

А вот почему, не пойму. Вроде всё норм. в коде...

Probablemente la frecuencia de las citas sea mayor que en el 4.

Compara los volúmenes de las garrapatas.

----- y el recálculo y la recalificación deben hacerse cuando haya un cambio "significativo" en el precio.

La "materialidad" debería incluirse en los parámetros. 5-7 pips en un marcador de 5 no cambiarán el tiempo.

;)

 
FreeLance >>:

Наверно частота котировок выше чем на 4-х.

Сравните тиковые объемы.

Si es así, el cálculo puede hacerse cada 3 o 5 ticks a 5 dígitos.

O generalmente por las barras formadas.

 

Buenas tardes.

Hay un indicador en la sección de Código Base - https://www.mql5.com/ru/code/8752.

Según la descripción, muestra en el historial en su ventana la equidad de una posición o la suma de varias posiciones. En un determinado período de la historia.

¡No puedo hacerlo funcionar ni siquiera para una moneda!

"Antes de instalar el indicador, cree al menos una línea vertical en el gráfico con los siguientes parámetros:
La posición de la línea openN (donde N es un número de serie del paquete) establece la hora de apertura del paquete
".

He creado una línea vertical. Pero no entiendo - ¿qué es el parámetro openN (no está presente en Propiedades) y dónde se establece N?

Además :

"Las posiciones del indicador sólo se fijan con líneas de tendencia de un determinado color en el gráfico del instrumento.
La posición de la línea determina la hora de apertura y cierre del paquete".

No sé cómo dibujar un segmento limitado de la línea de tendencia. Parece ser un rayo interminable en una dirección todo el tiempo.

Por favor, avisa.