Erros, bugs, perguntas - página 2658

 
Nikolai Semko:

Igor, depois tente MathSrand(int(GetMicrosecondCount()%16384)));

Pergunto-me como o quadro irá mudar

int OnInit()
   {
   MathSrand(int(GetMicrosecondCount()%16384));   
   return(INIT_SUCCEEDED);
   }
//+------------------------------------------------------------------+
void OnTick()
   {
   }
//+------------------------------------------------------------------+
double OnTester()
   {
      return(rand());
   }
//+------------------------------------------------------------------+


 

Um tal problema.

Classe CSymbolInfo.

Quando se refere ao actual preço Ask ou Bid, devolve 0.

Todos os outros parâmetros funcionam bem, por exemplo, AskHigh ou Point

 
Ruslan Udintsev:

Um tal problema.

Classe CSymbolInfo.

Quando se refere ao actual preço Ask ou Bid, devolve 0.

Todos os outros parâmetros funcionam bem, por exemplo AskHigh ou Point

Preciso primeiro de actualizar os preços.

//+------------------------------------------------------------------+
//| Refreshes the symbol quotes data                                 |
//+------------------------------------------------------------------+
bool RefreshRates()
  {
//--- refresh rates
   if(!m_symbol.RefreshRates())
     {
      if(InpPrintLog)
         Print(__FILE__," ",__FUNCTION__,", ERROR: ","RefreshRates error");
      return(false);
     }
//--- protection against the return value of "zero"
   if(m_symbol.Ask()==0 || m_symbol.Bid()==0)
     {
      if(InpPrintLog)
         Print(__FILE__," ",__FUNCTION__,", ERROR: ","Ask == 0.0 OR Bid == 0.0");
      return(false);
     }
//---
   return(true);
  }
 
Igor Makanu:


Não percebo.
 
Nikolai Semko:
Uau, não percebo de todo.

O que é que há para compreender? - no testador GetMicrosecondCount() , GetTickCount() , GetTickCount64() estão vinculados ao testador starthttps://www.mql5.com/ru/forum/35402/page5#comment_15165640

e MathSrand(GetTickCount()) construir a partir da ajuda;

os programadores deveriam ter feito a operação Print() - não emite mensagens no testador em modo AG,

e MathSrand(GetTickCount()); deve ser inicializado por tempo ..... quem sabe a que horas, mas não pela hora de início da AG - agora MathSrand() não funciona como esperado

 
Igor Makanu:

O que é que há para compreender? - no testador GetMicrosecondCount() , GetTickCount() , GetTickCount64() estão vinculados ao testador starthttps://www.mql5.com/ru/forum/35402/page5#comment_15165640

e MathSrand(GetTickCount()) construir a partir da ajuda;

os programadores deveriam ter feito a operação Print() - não emite mensagens no testador em modo AG,

e MathSrand(GetTickCount()); deve ser inicializado por tempo ..... quem sabe a que horas, mas não pela hora de início da AG - agora MathSrand() não funciona como esperado

por isso não é o momento de usar para o scrand, mas sim algum cabo que muda de cada vez.
 
Nikolai Semko:
por isso não é o momento de usar para o srand, mas sim algum tipo de manípulo que muda de cada vez.

Eu sei como resolver este problema - vou tirar algum tempo no WinAPI, mas será esta outra característica que precisa de ser constantemente verificada? ))))

ZS: a alglieb tinha um gerador de maior precisão.... mas mais uma vez a questão é se o exemplo da ajuda funciona correctamente

 
Igor Makanu:

Eu sei como resolver este problema - vou tirar tempo no WinAPI, mas será esta outra característica que precisa de ser verificada a toda a hora? ))))

Se os passes não forem rápidos e precisar deles sem DLL, pode fazer isso.

MathSrand((uint)GetTimeLocal()); // https://www.mql5.com/ru/forum/170952/page105#comment_9044250

Como afecta o SSD, não sei. Utilizo o RAMDrive.

 
fxsaber:

Se os passes não forem rápidos e não for necessário DLL, pode fazê-lo desta forma.

Não sei como isto afecta o SSD. Utilizo o RAMDrive.

Verifiquei-o ao emitir para OnTester()

Imagem como acima

a questão aqui é ter a certeza de que se opcionalmente carregar NS através do testador GA, não é uma garantia de que todos os núcleos locais do processador não funcionarão com a mesma configuração inicial de pesos NS - isto irá estragar os resultados do treino, imho

 

Desculpem pôr aqui um bolso, mas precisam realmente de descobrir o que fazer.

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Indicadores de erros de descarregamento de TFs superiores (D1 por exemplo)

Vladislav Andruschenko, 2020.02.27 18:42

Aqui está a essência:

Notei no início deste erro e interferências ao aceder a TF D1 e W1 superiores da EA que instalei em M5, por exemplo (não me interessa qual TF).

Agora encontrei o mesmo erro no testador de estratégia de outra EA (que não se cruza com a anterior)

As minhas acções:

  1. O Expert Advisor verifica sinais complexos de 3 indicadores (2 indicadores + 3 TF)
  2. Se estes indicadores e a TF retirarem dados de qualquer TF até D1 (tudo abaixo)! Então não há erros! E o teste com e sem visualização é o mesmo!
  3. Mas se seleccionar qualquer indicador com TF D1 ou superior, então os resultados são diferentes (Visualização e sem visualização).
Razão: