오류, 버그, 질문 - 페이지 2658

 
Nikolai Semko :

이고르, 그럼 MathSrand(int(GetMicrosecondCount()%16384));

사진이 어떻게 변할지 궁금하네요

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


 

그런 문제.

CSymbolInfo 클래스 .

현재 Ask 또는 Bid 가격에 액세스하면 0이 반환됩니다.

다른 모든 옵션은 AskHigh 또는 Point처럼 잘 작동합니다.

 
Ruslan Udintsev :

그런 문제.

CSymbolInfo 클래스 .

현재 Ask 또는 Bid 가격에 액세스하면 0이 반환됩니다.

다른 모든 옵션은 AskHigh 또는 Point처럼 잘 작동합니다.

먼저 가격을 업데이트해야 합니다.

 //+------------------------------------------------------------------+
//| 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 :


우와. 나는 아무것도 이해하지 못한다.
 
Nikolai Semko :
우와. 나는 아무것도 이해하지 못한다.

무엇을 이해할 수 있습니까? - 테스터에서 GetMicrosecondCount() , GetTickCount() , GetTickCount64() 는 테스터의 시작 부분에 연결됩니다 https://www.mql5.com/ru/forum/35402/page5#comment_15165640

및 도움말 MathSrand(GetTickCount());

개발자는 Print() 작업을 수행해야 했습니다. GA 모드에서는 테스터에 메시지를 표시하지 않습니다.

MathSrand(GetTickCount())도 마찬가지입니다. 시간으로 초기화되어야 합니다 ..... 누가 몇시인지 알 수 있지만 GA의 시작 시간은 확실하지 않습니다. 이제 MathSrand()가 예상대로 작동하지 않습니다.

 
Igor Makanu :

무엇을 이해할 수 있습니까? - 테스터에서 GetMicrosecondCount() , GetTickCount() , GetTickCount64() 는 테스터의 시작 부분에 연결됩니다 https://www.mql5.com/ru/forum/35402/page5#comment_15165640

및 도움말 MathSrand(GetTickCount());

개발자는 Print() 작업을 수행해야 했습니다. GA 모드에서는 테스터에 메시지를 표시하지 않습니다.

MathSrand(GetTickCount())도 마찬가지입니다. 시간으로 초기화되어야 합니다 ..... 누가 몇시인지 알 수 있지만 GA의 시작 시간은 확실하지 않습니다. 이제 MathSrand()가 예상대로 작동하지 않습니다.

스트랜드에 사용할 시간이 아니라 매번 바뀌는 일종의 핸들을 의미합니다.
 
Nikolai Semko :
스트랜드에 사용할 시간이 아니라 매번 바뀌는 일종의 핸들을 의미합니다.

이 문제를 해결하는 방법을 알고 있습니다. WinAPI에서 시간을 할애하겠습니다. 하지만 이것이 지속적으로 확인해야 하는 또 다른 기능인가요? ))))

추신 : alglib에 증가 된 정확도의 생성기가 있었지만 .... 다시 질문은 도움말의 예제가 정확하다는 것입니다.

 
Igor Makanu :

이 문제를 해결하는 방법을 알고 있습니다. WinAPI에서 시간을 할애하겠습니다. 하지만 이것이 지속적으로 확인해야 하는 또 다른 기능인가요? ))))

구절이 번개처럼 빠르지 않고 DLL 없이 필요한 경우 이 작업을 수행할 수 있습니다.

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

이것이 SSD에 미치는 영향 - 잘 모르겠습니다. 저는 램드라이브를 사용하고 있습니다.

 
fxsaber :

구절이 번개처럼 빠르지 않고 DLL 없이 필요한 경우 이 작업을 수행할 수 있습니다.

이것이 SSD에 미치는 영향 - 잘 모르겠습니다. 저는 램드라이브를 사용하고 있습니다.

OnTester()의 출력으로 확인

위와 같은 그림

여기서 일반적으로 자신감의 문제는 GA 테스터를 통해 NN을 최적화하는 경우 모든 로컬 프로세서 코어가 NN 가중치의 동일한 초기 구성으로 작동하지 않는다는 사실이 아니라는 것입니다. 이는 학습 결과를 망칠 수 있습니다. 임호

 

여기에 주머니를 넣은 것을 용서하십시오. 그러나 나는 정말로 무엇을 해야 하는지 이해해야 합니다.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

상위 TF에서 표시기 로드 오류(예: D1)

Vladislav Andruschenko , 2020.02.27 18:42

따라서 요지는 다음과 같습니다.

처음에는 예를 들어 M5(NO MATTER WHAT TF)에 설치된 어드바이저에서 이전 TF D1 및 W1에 액세스할 때 오류가 발생하고 브레이크가 걸리는 것을 발견했습니다.

이제 다른 Expert Advisor의 전략 테스터에서 동일한 오류를 발견했습니다(이전 오류와 어떤 식으로든 교차하지 않음).

내 행동:

  1. EA는 3개의 지표(2개의 지표 + 3개의 타임프레임)에서 복잡한 신호를 확인합니다.
  2. 이 지표와 TF가 모든 TF에서 D1까지(아래 모두) 데이터를 가져오는 경우! 그러면 오류가 없습니다! 그리고 시각화가 있는 테스트와 시각화가 없는 테스트는 같은 방식으로 통과합니다!
  3. 그러나 TF D1 이상이 있는 지표를 선택하면 결과가 다릅니다(시각화 및 시각화 없음).