Uma pergunta para os conhecedores de MQL

 
Bom dia a todos!
Minha pergunta é a seguinte: como posso fazer um indicador se recalcular não mais do que um certo número de vezes por segundo, por exemplo, não mais do que 2 vezes.
A função Dormir não funciona em indicadores.
 
Debugger писал(а) >>
Bom dia a todos!
Minha pergunta é: como posso fazer um indicador se recalcular não mais do que um certo número de vezes por segundo, por exemplo, não mais do que 2 vezes.
A função Dormir não funciona em indicadores.


Por quê?
 
O algoritmo leva um longo tempo para ser calculado.
 
Debugger писал(а) >>
O algoritmo leva um longo tempo para ser calculado.


Talvez você devesse otimizar o algoritmo primeiro. Embora uma vez a cada segundo, ou a cada 10 segundos, o cálculo pode ser feito.
Economizamos o último tempo de cálculo.
Nos próximos tiques, verificamos o número de segundos que passaram.
Se for mais do que o tempo especificado, ele é calculado, caso contrário, saímos sem cálculo
 
Você pode medir entre carrapatos em milissegundos com isto:
int GetTickCount();
// Функция GetTickCount() возвращает количество миллисекунд, прошедших с момента старта системы.
// Счетчик ограничен разрешающей способностью системного таймера. Так как время хранится как беззнаковое целое, то он переполняется каждые 49.7 дней. 
 
Vadim, você me ajudou novamente. Enorme respeito!!!!
 
Olá, você poderia rever o código e explicar por que este indicador fica atrasado para as corretoras que dão cotações de 5 dígitos e funciona bem para as corretoras que dão cotações de 4 dígitos. Será que pode ser corrigido de alguma forma para que funcione com empresas de corretagem com 5 dígitos? Se você tiver alguma dúvida sobre a correção, não hesite em entrar em contato com sua corretora.
Arquivos anexados:
 

Sim, de fato. Com a marca de 5 dígitos, o peru está diminuindo a velocidade.

Eu não sei por que. Está tudo bem no código...

 
rid >>:

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

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

Provavelmente, a freqüência das citações é maior do que em 4.

Comparar volumes de carrapatos.

----- e o recálculo e a reavaliação devem ser feitos quando houver uma mudança "significativa" no preço.

A "materialidade" provavelmente deveria ser colocada nos parâmetros. 5-7 pips em um marcador de 5 não mudará o tempo.

;)

 
FreeLance >>:

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

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

Se for o caso, o cálculo pode ser feito a cada 3 ou 5 tick com 5 dígitos.

Ou geralmente pelas barras formadas.

 

Boa tarde.

Há um indicador na seção Base de Código - https://www.mql5.com/ru/code/8752.

De acordo com a descrição, mostra no histórico em sua janela a equidade de uma posição ou a soma de várias posições. Em um certo período da história.

Eu não posso administrá-lo nem por uma moeda!

"Antes de instalar o indicador, crie pelo menos uma linha vertical no gráfico com os seguintes parâmetros:
A posição da linha openN (onde N é o número ordinal do pacote) define o tempo de abertura do pacote
".

Eu criei uma linha vertical. Mas não entendo - qual é o parâmetro openN (não está presente em Propriedades) e onde N está definido ?

Além disso :

"As posições no indicador só são definidas com linhas de tendência de uma determinada cor na tabela de instrumentos.
A posição da linha determina o tempo de abertura e fechamento do pacote".

Eu não sei como desenhar um segmento limitado da linha de tendência. Parece ser um raio infinito em uma direção o tempo todo.

Por favor, informe.