Bibliotecas: AccurateTimer - página 2

 
Maxim Kuznetsov:

Todos os itens acima são temporizadores diferentes. Em um computador carregado, as diferenças serão significativas e naturais

Com uma biblioteca bibilio, não haverá discrepâncias.

 
Maxim Kuznetsov:

Todos os itens acima são temporizadores diferentes. Em uma máquina carregada, as diferenças serão significativas e naturais

Qual é a contradição?

A biblioteca foi escrita para remover essas discrepâncias "naturais".

 
Andrey Khatimlianskii:

Qual é a contradição?

A biblioteca foi escrita para remover essas discrepâncias "naturais".

Elas medem coisas diferentes.
 
Maxim Kuznetsov:
eles medem coisas diferentes.

Tome algum tipo de símbolo de ticker como referência. Por exemplo, seu relógio de pulso. Veja como a hora em seu computador daqui a uma hora (de acordo com o ticker) será diferente da referência. É claro que haverá diferenças.

Mas as diferenças são aprendidas por comparação. Pegue um cronômetro de segundos ou um cronômetro de 100 ms. E veja quais serão as diferenças novamente com o padrão após 3600 "segundos" do padrão e 3600 "segundos" do cronômetro.

 
Maxim Kuznetsov:
eles estão medindo coisas diferentes.

Que diferença faz o que eles medem?

Há uma tarefa para executar uma ação a cada X ms, e você não pode fazer isso com um cronômetro comum devido às peculiaridades de sua implementação.

A biblioteca permite que você feche essa lacuna.

 
Andrey Khatimlianskii:

Que diferença faz o que eles medem?

Há uma tarefa - executar uma ação a cada X ms, e não é possível fazer isso com um cronômetro comum devido às peculiaridades de sua implementação.

A biblioteca permite que você feche essa lacuna.

Vamos lá :) Primeiro eles inventam um problema e depois o resolvem heroicamente. Esse problema não existe.

 
Rashid Umarov:

Vamos lá :) Primeiro eles inventam um problema e depois o resolvem heroicamente. Não há problema algum.

Bem, não há


 
Depois que a atualização estiver disponível

Frame-режим

Os Expert Advisors no modo de coleta de quadros de resultados de otimização ignoram os seguintes eventos padrão do trabalho normal do Expert Advisor: Init, Deinit, NewTick, Trade, TradeTransaction, BookEvent e Timer. Apenas ChartEvent continua sendo um evento funcional.

No entanto, essa biblioteca também pode ativar o timer nesse modo de operação do EA. Para isso, a seguinte linha deve ser escrita antes de chamar a biblioteca.

#define  ACCURATETIMER_FRAME_MODE // Faz com que o cronômetro dos conselheiros que trabalham no modo Frame funcione

Observe que o OnChartEvent (mesmo vazio) deve ser escrito no EA de origem, e a vulnerabilidade do Frame correspondente começa a se propagar no OnTimer.

Um exemplo desse Expert Advisor está anexado

// Demonstração da operação do temporizador EA no modo Frame

#define  ACCURATETIMER_FRAME_MODE // Faz com que o cronômetro dos conselheiros que trabalham no modo Frame funcione 
#include <AccurateTimer.mqh>     // Aumentar a precisão do cronômetro padrão

sinput uint Range = 1; // Parâmetro de entrada para otimização

#define  SETRANGE(A, START, STEP, END) ParameterSetRange(#A, true, A, START, STEP, END)

void OnTesterInit() { SETRANGE(Range, 0, 1, Range); }

void OnTesterDeinit() { EventSetTimer(1); } // Defina um cronômetro no final da otimização

// Esteja ciente da vulnerabilidade do Frame! - https://www.mql5.com/ru/forum/170952/page71#comment_6626688
void OnChartEvent( const int id, const long& lparam, const double& dparam, const string& sparam ) {}
void OnTimer()
{
  static const bool IsFrame = MQLInfoInteger(MQL_FRAME_MODE);
  
  if (IsFrame)
    Print("Hello World!");
}
 

fxsaber:

Modo de quadro

Os Expert Advisors no modo de coleta de quadros de resultados de otimização ignoram os seguintes eventos padrão do trabalho normal do Expert Advisor: Init, Deinit, NewTick, Trade, TradeTransaction, BookEvent e Timer. Apenas ChartEvent continua sendo um evento funcional .

Na minha opinião, essa é uma afirmação parcialmente correta. Ela já foi discutida.

 
Dennis Kirichenko:

Na minha opinião, a declaração está parcialmente correta. Isso já foi discutido.

Não notei a parcialidade. É exatamente como eu disse.