MetaTrader 5 전략 테스터: 오류, 버그, 개선 제안 - 페이지 66

 
Sergey Golubev :
그는 중국 포럼에서 왔습니다(그는 영어도 이해하지 못합니다).
영어 부분에서 우리는 (항상 그런 것은 아니지만) 게시물의 편집을 클릭하고 내장 번역기를 사용하여 게시물을 해당 언어에서 영어로 기계 번역한 다음 게시물 업데이트를 클릭합니다.

그러나 이것은 절대적으로 할 필요가 없으며 독자에게 매우 해롭습니다. 주도권을 보여주는 것은 종종 처벌을 받습니다.

 
Sergey Golubev :


도와 주셔서 감사합니다!
mql5.com에 내장된 번역기를 사용하여 내 게시물을 러시아어로 번역하려고 합니다.
품질이 신뢰할 수 있기를 바랍니다.
결국, 나는 약간의 영어를 이해하지만 러시아어를 전혀 이해하지 못합니다.
 
tickfenix :
도와 주셔서 감사합니다!
mql5.com에 내장된 번역기를 사용하여 내 게시물을 러시아어로 번역하려고 합니다.
품질이 신뢰할 수 있기를 바랍니다.
결국, 나는 약간의 영어를 이해하지만 러시아어를 전혀 이해하지 못합니다.

그런 다음 조언: 모국어로 작성하고 아래는 영어로 번역한 것입니다. 이렇게 하면 독자가 기계 번역 오류를 쉽게 수정할 수 있습니다.

그런 다음 조언: 귀하의 모국어로 작성하고 아래에 - 영어로 번역하십시오. 이렇게 하면 독자가 기계 번역 오류를 쉽게 수정할 수 있습니다.

 

2345 - 테스터 캐시가 깨졌습니다. Expert Advisor의 이름은 더 이상 해당 파일의 이름에 포함되지 않습니다(화면에서 선택한 점 앞).

이러한 이유로 GUI 도구를 사용하여 이전 최적화 결과를 볼 수 없습니다. 드롭다운 선택 목록에서 사용할 수 없습니다.


파일 내부에는 고문 이름 대신 0도 있습니다.

고르다.


쯧쯧


검색 문자열 : Osibka 006.
 
fxsaber :



드라이브 Z?

또한 Windows mklink 도구를 사용하여 MT5 테스터 폴더를 RAM 폴더에 연결합니까?

이것이 오랫동안 우리를 괴롭혀온 이상한 버그의 원인이 될 수 있습니까?


드라이브 Z?

또한 Windows mklink 도구를 사용하여 MT5 테스터 폴더를 램 드라이브의 폴더에 접합 링크하고 있습니까?

이것이 오랫동안 우리를 괴롭혀온 이상한 오류의 원인이 될 수 있습니까?

 
tickfenix :

드라이브 Z?

또한 Windows mklink 도구를 사용하여 MT5 테스터 폴더를 램 드라이브의 폴더에 접합 링크하고 있습니까?

이것이 오랫동안 우리를 괴롭혀온 이상한 오류의 원인이 될 수 있습니까?

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

MetaTrader 5 전략 테스터: 오류, 버그, 개선 제안

fxsaber , 2019.09.16 14:11

그런 배치 파일은 컴퓨터 재부팅 후 1회 터미널 폴더 에서 실행합니다.

 rem Создали RAM-Drive для Тестера.
imdisk -a -o awe -s 3 G -m Z: -p "/fs:ntfs /q /y /v:MT5Tester"

mkdir z:\Tester
mklink /j Tester z:\Tester

rem Кеш оптимизатора будет сохраняться на диске.
mkdir cache
mklink /j z:\Tester\cache cache

rem Временный RAM-Drive, чтобы на него можно было перенаправить log -папки.
imdisk -a -o awe -s 3 M -m Y: -p "/fs:ntfs /q /y /v:MT5Tester_Logs"

mkdir y:\logs
mklink /j Tester\logs y:\logs

mkdir y:\logs0
mkdir Tester\Agent- 127.0 . 0.1 - 3000
mklink /j Tester\Agent- 127.0 . 0.1 - 3000 \logs y:\logs0

mkdir y:\logs1
mkdir Tester\Agent- 127.0 . 0.1 - 3001
mklink /j Tester\Agent- 127.0 . 0.1 - 3001 \logs y:\logs1

mkdir y:\logs2
mkdir Tester\Agent- 127.0 . 0.1 - 3002
mklink /j Tester\Agent- 127.0 . 0.1 - 3002 \logs y:\logs2

mkdir y:\logs3
mkdir Tester\Agent- 127.0 . 0.1 - 3003
mklink /j Tester\Agent- 127.0 . 0.1 - 3003 \logs y:\logs3

mkdir y:\logs4
mkdir Tester\Agent- 127.0 . 0.1 - 3004
mklink /j Tester\Agent- 127.0 . 0.1 - 3004 \logs y:\logs4

mkdir y:\logs5
mkdir Tester\Agent- 127.0 . 0.1 - 3005
mklink /j Tester\Agent- 127.0 . 0.1 - 3005 \logs y:\logs5

mkdir y:\logs6
mkdir Tester\Agent- 127.0 . 0.1 - 3006
mklink /j Tester\Agent- 127.0 . 0.1 - 3006 \logs y:\logs6

mkdir y:\logs7
mkdir Tester\Agent- 127.0 . 0.1 - 3007
mklink /j Tester\Agent- 127.0 . 0.1 - 3007 \logs y:\logs7

rem Убили временный RAM-Drive
imdisk -D -m Y:


그 후에는 로그 파일이 생성되지 않습니다. 육안으로는 아직 테스터 측면에서 브레이크를 눈치채지 못했습니다. 작동하는 솔루션처럼 보입니다.

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

서비스. 이미 작업 중이신가요?

fxsaber , 2019.06.07 06:37

유용한 서비스를 작성했습니다
 // Сервис проверяет наличие корректной папки Tester.
#property service

input string inFolderName = "Tester" ;

#include <WinAPI\fileapi.mqh>
#include <WinAPI\handleapi.mqh>

#define GENERIC_WRITE                     0x40000000
#define CREATE_ALWAYS                     2
#define FILE_ATTRIBUTE_NORMAL             0x00000080
#define FILE_FLAG_OVERLAPPED             0x40000000

bool FileIsInvalid_WinAPI( const string FileName )
{
   const HANDLE hFile = CreateFileW(FileName, GENERIC_WRITE, 0 , NULL , CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL );      
   const bool Res = (hFile != INVALID_HANDLE );
  
   if (Res)
  {
    CloseHandle(hFile);
    
    DeleteFileW(FileName);
  }
    
   return (Res);
}

void OnStart ()
{
   const string FileName = TerminalInfoString ( TERMINAL_PATH ) + "\\" + inFolderName;

   if (!FileIsInvalid_WinAPI(FileName + "\\" + __FILE__ ))
     MessageBox (FileName + " is invalid!" );  
}


터미널을 시작할 때 Tester 폴더가 없으면 경고가 즉시 나타납니다.


RAMDrive의 테스터가 있어야 하는 경우 많은 도움이 됩니다.

 

항상 다음 버그가 있습니다. 누가 같은 것을 가지고 있습니까?

유전학을 실행하면 최적화 결과 가 나타납니다.

각 결과에 대한 최적화 결과를 살펴봄으로써 이 결과의 단일 실행이 테스터에서 시작되어 곡선의 부드러움 등을 확인합니다.

정확히 "최적화 결과"에서 싱글을 여러 번 실행한 후 단일 실행이 중단되고 터미널 과부하만 도움이 됩니다. 즉, 단일 실행이 시작되지 않고 시작 버튼이 응답하지 않습니다(클릭해도 아무 동작 없음) . 동시에, 일반적인 것은 다음과 같은 것을 씁니다. 통과(여기서는 통과 14, 통과 255 등의 "숫자")가 로그에 기록됩니다. 터미널을 다시 시작하고 테스트 결과의 기록을 다시 로드하고 실행 그것에서 다시 실행됩니다.

누구나 내가 얻고 있는 것에서 복제할 수 있습니다. 유전학을 수행하고 유전학 결과를 한 번만 찔러보세요. 테스터가 빨리 떨어지고 수십 번 (그러나 덜 자주) 롭습니다.
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
Askr :

누구나 내가 얻고 있는 것에서 복제할 수 있습니다. 유전학을 수행하고 유전학 결과를 한 번만 찔러보세요. 테스터가 빨리 떨어지고 수십 번 (그러나 덜 자주) 롭습니다.

저는 테스터와 많은 작업을 합니다. 하지만 이 행동은 기억나지 않는다.

 
Askr :


나는 또한 전략 테스터의 빈번한 사용자입니다 .

말씀하신 상황을 접해보지 못했습니다.

내가 가진 문제는 대부분의 경우 최적화 작업에서 올바른 테스트 결과를 얻을 수 없다는 것이었습니다.

그러나 모든 개별 테스트는 정확합니다.

이것은 유전자 최적화 또는 전체 최적화와 아무 관련이 없으며 대부분의 최적화 문제는 어리석은 결과를 반환합니다.

일종의 캐시 관리 메커니즘 또는 메모리 관리 메커니즘과 관련이 있을 수 있으므로 2280 이전 버전부터 전략 테스터는 최적화 기능에 하나 이상의 심각한 버그가 있었습니다.



나는 또한 전략 테스터를 자주 사용합니다.

말씀하신 상황은 저도 접해보지 못했습니다.

내가 겪은 문제는 대부분의 경우 최적화 작업에서 올바른 테스트 결과를 얻을 수 없다는 것이었습니다.

그러나 모든 개별 테스트는 정확합니다.

유전자 최적화나 전체 최적화와는 아무 관련이 없으며 대부분의 최적화 작업은 우스꽝스러운 결과를 반환합니다.

일종의 캐시 관리 메커니즘 또는 메모리 관리 메커니즘과 관련이 있을 수 있으며, 2280 이전 버전부터 전략 테스터는 최적화 기능에 하나 이상의 심각한 버그가 있었습니다.

 

지금 급하게 다시 확인하고 조금 더 적어봅니다. 나 자신은 오랫동안 많은 양을 테스트하지 않았습니다.

아마도 최신 버전에서는 더 안정적이 되었고 찾을 수 없었습니다. 이전 버전(2085)에서는 매우 빠르게 반복했습니다. 사실, 시작은 일부 라인에서 완전히 멈추지 않았습니다. 테스트 결과는 어떤 식으로든 시작되지 않았습니다.

반복하지만 이것은 내가 위에서 쓴 문제가 아니라 선택 사항입니다.

예를 들어 2085 빌드에서는 다음과 같았습니다.

누군가 그가 에이전트의 로그에 쓰는 내용을 해독할 수 있을까요?

상담원에게 문제가 있었을 수 있음을 이해합니다.

 1 попытка

2020.03 . 02 21 : 37 : 50.947 Core 1   connection closed
2020.03 . 02 21 : 37 : 53.773 Tester  single pass 7043 started
2020.03 . 02 21 : 37 : 53.799 Core 1   connecting to 127.0 . 0.1 : 3002
2020.03 . 02 21 : 37 : 53.800 Core 1   connected
2020.03 . 02 21 : 37 : 53.803 Core 1   disconnected
2020.03 . 02 21 : 37 : 53.803 Core 1   connection closed

журнал агента

2020.03 . 02 21 : 37 : 53.802 Network additional connect from 127.0 . 0.1
2020.03 . 02 21 : 37 : 53.910 Network previous connect context not freed
2020.03 . 02 21 : 37 : 53.910 127.0 . 0.1        cannot accept connect, agent is busy
2020.03 . 02 21 : 37 : 55.524 127.0 . 0.1        prepare for shutdown

2 попытка


то же что и в 1 попыткен/убралось/.

журнал агента

2020.03 . 02 21 : 40 : 07.936 Network additional connect from 127.0 . 0.1
2020.03 . 02 21 : 40 : 08.044 Network previous connect context not freed
2020.03 . 02 21 : 40 : 08.044 127.0 . 0.1        cannot accept connect, agent is busy
2020.03 . 02 21 : 40 : 09.925 127.0 . 0.1        prepare for shutdown

예, 여기에 로그에 따른 경우가 있습니다.

    2020.03.02 21:58:24.589	Core 1	connection closed
2020.03.02 21:58:28.488	Core 1	connecting to 127.0.0.1:3000
2020.03.02 21:58:28.489	Core 1	connected
2020.03.02 21:58:28.491	Core 1	disconnected
2020.03.02 21:58:28.492	Core 1	connection closed
2020.03.02 21:58:30.090	Core 1	connecting to 127.0.0.1:3000
2020.03.02 21:58:30.091	Core 1	connected
2020.03.02 21:58:30.095	Core 1	disconnected
2020.03.02 21:58:30.095	Core 1	connection closed

2020.03 . 02 21 : 58 : 24.503 Tester  EURUSD,H1: 24313 ticks, 6171 bars generated. Test passed in 0 : 00 : 00.112 .
2020.03 . 02 21 : 58 : 24.503 Tester   242 Mb memory used including 1.41 Mb of history data, 64 Mb of tick data
2020.03 . 02 21 : 58 : 24.503 Tester  log file "C:\***************\20200302.log" written
2020.03 . 02 21 : 58 : 24.503          test Experts\***************.ex5 on EURUSD,H1 thread finished
2020.03 . 02 21 : 58 : 28.491 Network additional connect from 127.0 . 0.1
2020.03 . 02 21 : 58 : 28.599 Network previous connect context not freed
2020.03 . 02 21 : 58 : 28.599 127.0 . 0.1        cannot accept connect, agent is busy
2020.03 . 02 21 : 58 : 30.095 Network additional connect from 127.0 . 0.1
2020.03 . 02 21 : 58 : 30.203 Network previous connect context not freed
2020.03 . 02 21 : 58 : 30.203 127.0 . 0.1        cannot accept connect, agent is busy
2020.03 . 02 21 : 58 : 30.493 127.0 . 0.1        prepare for shutdown

나는 이전에 여기에 문제에 대해 썼습니다.

https://www.mql5.com/ru/forum/1111/page2485#comment_12092720

https://www.mql5.com/en/forum/1111/page2486#comment_12118579

https://www.mql5.com/ru/forum/315556/page3#comment_12072667

https://www.mql5.com/ru/forum/1111/page2483#comment_12072438

2093 빌드용 https://www.mql5.com/ru/forum/315556/page12#comment_12342692

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2019.06.17
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы