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

 
Vladislav Andruschenko :

터미널 1755

Expert Advisor로 작업하고 컴파일할 때 업데이트된 버전이 차트에 표시됩니다. 모든 것이 정상입니다.

하지만 테스터에서는 이 Expert Advisor를 선택하고 컴파일 후 다른 (이전) Expert Advisor를 선택합니다.

다시 시작한 후 모든 것이 정상입니다.

고대 문제.

 

여러 tester_file 버그. 단계별 재생

  1. 작동하는 로컬 에이전트 하나를 남겨두고 터미널 샌드박스 - MQL5\Files\*를 정리합니다.*
  2. 컴파일 전문가 고문
     #property tester_file __FILE__
    
    sinput uint Range = 100 ; // Входной параметр для Оптимизации
    
    #define SETRANGE(A, START, STEP, END) ParameterSetRange ( #A, true , A, START, STEP, END)
    
    void OnTesterInit ()
    {
      SETRANGE(Range, 0 , 1 , Range);
      
       const int handle = FileOpen ( __FILE__ , FILE_WRITE | FILE_BIN );
      
       // Создаем файл на 4 байта
       if (handle != INVALID_HANDLE )
      {
         FileWriteInteger (handle, 0 );
        
         FileClose (handle);
      }
    }
    
    void OnTesterDeinit () { ChartClose (); }
    
    #define TOSTRING(A) #A + " = " + ( string )(A) + " "
    
    void OnTesterPass ()
    {
       ulong Pass;
       string Name;
       long ID;
       double dOnTester;
       uchar Data[];
    
       while ( FrameNext (Pass, Name, ID, dOnTester, Data))
         Print (TOSTRING(Pass) + TOSTRING(ID)); // Распечатываем размер файла на Агенте
    
       return ;
    }
    
    double OnTester ()
    {
       const int handle = FileOpen ( __FILE__ , FILE_READ | FILE_WRITE | FILE_BIN );
    
       const int i = ( int )((handle != INVALID_HANDLE ) ? FileSize (handle) : - 1 );
      
       // Делаем файл 4 байта, делаем - 8.
       if ((handle != INVALID_HANDLE ) && ( FileSize (handle) == INT_VALUE ))
      {
         FileSeek (handle, 0 , SEEK_END );
         FileWriteInteger (handle, 0 );
              
         FileClose (handle);
      }
    
       uchar Data[];    
       FrameAdd ( NULL , i, 0 , Data); // Передаем размер файла до изменений.
      
       return ( 0 );
    }

  3. 동시에 tester_file이 아직 존재하지 않는다는 메시지가 테스터 로그에 나타납니다.
    2018.02.28 08:37:29.574 Moving Average  tester_file 'Moving Average.mq5' is not exist
    2018.02.28 08:37:29.574 Moving Average  tester_file 'Moving Average.mq5' is not exist

  4. 전체 검색 최적화 모드에서 시작 가격으로 테스터에서 Expert Advisor를 실행합니다. 테스터 로그에 들어가기
     2018.02 . 28 21 : 20 : 24.424 Statistics      optimization done in 0 minutes 03 seconds
    2018.02 . 28 21 : 20 : 24.424 Statistics      local 101 tasks ( 100 %), remote 0 tasks ( 0 %), cloud 0 tasks ( 0 %)

  5. "시작"을 눌러 동일한 최적화를 즉시 다시 시작하십시오. 최적화 속도가 30배 느려집니다. 버그입니다!
     2018.02 . 28 21 : 23 : 02.219 Statistics       optimization done in 1 minutes 06 seconds
    2018.02 . 28 21 : 23 : 02.219 Statistics      local 101 tasks ( 100 %), remote 0 tasks ( 0 %), cloud 0 tasks ( 0 %)


  6. Frame EA의 결과는 기존 파일이 전송되고 있지 않음을 보여줍니다. 컴파일은 그것 없이 이루어졌습니다(항목 3 참조). 버그 또는 기능?
  7. 권고자를 재컴파일하십시오. 이 경우 3항에 명시된 메시지는 수신하지 않습니다. 무엇이 옳다.
  8. 최적화를 실행 합니다. 프레임 EA는 tester_file이 에이전트로 전송되었음을 표시합니다.
     2018.02 . 28 21 : 28 : 33.449 Moving Average (EURUSD,M1)       Pass = 0 ID = 4 
    2018.02 . 28 21 : 28 : 33.472 Moving Average (EURUSD,M1)      Pass = 1 ID = 8 
    2018.02 . 28 21 : 28 : 33.495 Moving Average (EURUSD,M1)      Pass = 2 ID = 8 
    2018.02 . 28 21 : 28 : 33.519 Moving Average (EURUSD,M1)      Pass = 3 ID = 8 

  9. 재최적화를 실행합니다. 단락 4에서와 같이 속도가 느려집니다. 그러나 프레임 모드에서도 Optimizer의 두 번째 실행에서 tester_file이 전송되지 않은 것을 볼 수 있습니다. 버그입니다!
     2018.02 . 28 21 : 28 : 43.727 Moving Average (EURUSD,M1)       Pass = 0 ID = 8 
    2018.02 . 28 21 : 28 : 43.797 Moving Average (EURUSD,M1)      Pass = 1 ID = 8 
    2018.02 . 28 21 : 28 : 43.834 Moving Average (EURUSD,M1)      Pass = 2 ID = 8 
    2018.02 . 28 21 : 28 : 43.864 Moving Average (EURUSD,M1)      Pass = 3 ID = 8 


  10. 세 번째 최적화를 시작하여 단락 8의 결과를 얻습니다.
  11. 넷째 - 항목 9에서 알 수 있습니다.
  12. 따라서 최적화의 모든 홀수 실행은 p.8, even - p.9의 결과를 제공합니다. 물론 버그입니다!

고문은 어떤 일을 하나요? 프레임 모드에서는 OnTesterInit에서 4바이트 파일을 생성하여 tester_file 메커니즘을 통해 에이전트에 전달합니다. 에이전트는 이를 열고 크기가 4바이트임을 확인하면 8바이트에 추가합니다. 에이전트 자체가 프레임을 통해 원본 파일 크기를 바이트 단위로 전송합니다. 이것은 Optimizer의 첫 번째 패스에서 파일이 전송되었는지 확인하고 나머지 패스는 Agent 자체의 Sandbox에 임시로 있는 파일과 함께 작동합니다.

일반적으로 여러 버그가 재현되었습니다.

 

아마도 이 질문은 이미 받았지만 여전히:

MQL5에서 표시기 매개변수 창을 호출할 수 있습니까?

 

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

"교차 플랫폼 거래 고문: 소개" 기사에 대한 토론

fxsaber , 2016.08.17 16:51

StringConcatenate 를 사용한 Rezanul 예제. MT4/5에서 이 기능을 사용하는 사람들을 이해하기 어렵습니다. 번거로울 뿐만 아니라 시각적으로도 좋지 않습니다. 문자열 연결은 항상 + 연산자를 통해 두 플랫폼 모두에서 달성되었습니다. 따라서 문자열에 StringConcatenate를 사용하는 것은 "NumberSummary" 함수를 사용하여 숫자 합계를 얻는 것과 비슷합니다. 한마디로 터무니없다.

터무니없을 뿐만 아니라 크로스 플랫폼도 아닙니다.

 
Andrii Djola :

아마도 이 질문은 이미 받았지만 여전히:

MQL5에서 표시기 매개변수 창을 호출할 수 있습니까?

우리가 아는 한 MQL에는 그러한 기능이 없습니다.
그러나 WinAPI를 통해 모든 표시기 목록을 열고 표시기 트리를 정렬하고 필요한 것을 찾을 수 있습니다...

 
Andrii Djola :

아마도 이 질문은 이미 받았지만 여전히:

MQL5에서 표시기 매개변수 창을 호출할 수 있습니까?

서비스 데스크는 그런 기능을 생각하기로 약속했습니다.

 

왜 이런 일이 발생합니까?

2018.03.01 06:54:04.342 시험 장치 "MQL5\Experts\MyExpert.ex5"의 디버그 버전은 로컬 에이전트에서만 최적화할 수 있습니다. 클라우드 없음, 팜 없음

어떻게 고치는 지?


 
Nexxtor :

왜 이런 일이 발생합니까?

2018.03.01 06:54:04.342 시험 장치 "MQL5\Experts\MyExpert.ex5"의 디버그 버전은 로컬 에이전트에서만 최적화할 수 있습니다. 클라우드 없음, 팜 없음

어떻게 고치는 지?


먼저 컴파일한 다음 최적화를 실행합니다 .

 
"Bases\MetaQuotes-Demo\history\" 폴더에는 사용자 정의 기호 와 관련된 2018.hcc가 있는 폴더가 있습니다. 벌레.
 

테스터의 이 멋진 기능의 연속입니다. 나는 최적화를 실행 , 나는 이것을 얻는다


로그 코어1

KE       0        14 : 23 : 25.855     Startup MetaTester 5 x64 build 1755 ( 18 Jan 2018 )
KP       0        14 : 23 : 25.862     Server  MetaTester 5 started on 127.0 . 0.1 : 3000
OJ       0        14 : 23 : 25.862     Startup initialization finished
JQ       0        14 : 23 : 25.871      127.0 . 0.1        login (build 1755 )
HG       0        14 : 23 : 38.760     Network 38520 bytes of account info loaded
JP       0        14 : 23 : 38.760     Network 1482 bytes of tester parameters loaded
QG       0        14 : 23 : 38.760     Network 2236 bytes of input parameters loaded
OP       0        14 : 23 : 38.771     Network 4605 bytes of symbols list loaded
NK       0        14 : 23 : 38.771     Tester  expert file added: Experts\fxsaber\Test.ex5. 115516 bytes loaded
NM       0        14 : 23 : 38.771     Network 1368 bytes of optimized inputs info loaded
CH       0        14 : 23 : 38.774     Tester  successfully initialized
HL       0        14 : 23 : 38.774     Network 118 Kb of total initialization data received
JF       0        14 : 23 : 38.775     Tester  Intel Core i7- 2700 K  @ 3.50 GHz, 16301 MB
KL       0        14 : 23 : 38.775     Tester  optimization pass 0 started (batch of 30 tasks)


코어2 로그

CQ       0        14 : 25 : 27.983     Startup MetaTester 5 x64 build 1755 ( 18 Jan 2018 )
MD       0        14 : 25 : 27.988     Server  MetaTester 5 started on 127.0 . 0.1 : 3001
FO       0        14 : 25 : 27.989     Startup initialization finished
FM       0        14 : 25 : 29.021      127.0 . 0.1        login (build 1755 )
HK       0        14 : 25 : 29.026     Network 38520 bytes of account info loaded
IL       0        14 : 25 : 29.026     Network 1482 bytes of tester parameters loaded
RK       0        14 : 25 : 29.026     Network 2236 bytes of input parameters loaded
QL       0        14 : 25 : 29.029     Network 4605 bytes of symbols list loaded
PG       0        14 : 25 : 29.030     Tester  expert file added: Experts\fxsaber\Test.ex5. 115516 bytes loaded
DI       0        14 : 25 : 29.030     Network 1368 bytes of optimized inputs info loaded
HL       0        14 : 25 : 29.032     Tester  successfully initialized
GP       0        14 : 25 : 29.032     Network 118 Kb of total initialization data received
JR       0        14 : 25 : 29.032     Tester  Intel Core i7- 2700 K  @ 3.50 GHz, 16301 MB
KI       0        14 : 25 : 29.033     Tester  optimization pass 180 started (batch of 30 tasks)


시작하기 전에 모든 에이전트가 준비되었습니다. 시각화 장치가 없었습니다. Core2(및 Core2 - 스크린샷 참조)는 시작 2분 후에 시작되었습니다. 문제를 해결하자!