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

 

최적화 후 찾았습니다.

이익과 하락이 매우 가까운 두 패스의 경우 회복 계수가 매우 다릅니다.


위협 원시 모드 "by pips". 현재로서는 사용을 권장하지 않습니다. 특히 최적화하는 경우.

 

MT5 옵티마이저에는 그러한 MT4 기능이 없습니다.



그렇기 때문에 해야 합니다.

 sinput uint inMaxOrders = 0 ; // Максимальное количество ордеров.
sinput double inMaxAbsoluteDD = 0 ; // Максимальная абсолютная просадка

bool IsMaxOrders()
{
#ifdef __MT4ORDERS__
   return (inMaxOrders && MT4ORDERS::LastTradeResult.order > inMaxOrders);
#else
   return ( false );
#endif
}

bool IsMaxAbsoluteDD()
{
   static const double StartBalance = AccountInfoDouble ( ACCOUNT_BALANCE );

   return (inMaxAbsoluteDD && ((StartBalance - AccountInfoDouble ( ACCOUNT_EQUITY )) > inMaxAbsoluteDD));
}

void OnTick ()
{
   static const bool IsTester = MQLInfoInteger ( MQL_TESTER );
  
   if (IsTester && (IsMaxOrders() || IsMaxAbsoluteDD()))
  {
   #ifdef __MQL5__
     TesterStop ();
   #else // __MQL5__
     ExpertRemove ();
   #endif // __MQL5__
    
     return ;
  }
// ....


그렇지 않으면 매우 나쁘고 길 것입니다.

 

최적화 후 에이전트는 경고 상태에서 일정 시간(적절한 수의 분) 동안 언로드되지 않습니다. 이것은 정말 훌륭한 솔루션입니다.

에이전트가 최적화 후에 필요한 많은 메모리를 사용하는 경우가 있습니다. 따라서 나는 그것들을 꺼서 그녀를 풀어주기로 결정했습니다.


그러나 그들은 내리지 않았습니다.


"비활성화" 메뉴 항목을 사용하여 언로드하거나 "강제 언로드" 메뉴 항목을 생성할 수 있습니까?

 
테스터의 보고서에서 "최대 포지션 유지 시간"은 주말을 고려하지 않습니까?
 

성능.

단일 실행
SSD
단일 실행
램 드라이브
Optimizer의 두 번째 패스
SSD/ 램 드라이브
단일 패스
가상
Optimizer의 두 번째 패스
가상
72초 64초 28초 26초 18초


단일 실행은 "핫"하게 만들어졌습니다. 첫 번째 단일 패스 후 두 번째 실행이 즉시 시작되었습니다.

싱글 런 브레이크로 뭔가를 해야 합니다. Optimizer보다 2.5배 느립니다.

중복 로그만이 아닙니다. Virtual은 아무 것도 기록하지 않지만 Optimizer에서는 여전히 눈에 띄게 빠릅니다.

 

단일 실행을 선택하면 입력 매개변수의 범위가 완전히 숨겨지는 것이 좋은 생각입니까?


세트 파일을 로드할 때 어떤 최적화가 선택되었는지 즉시 지워지곤 했습니다. 이제 없습니다.


위협 확인란을 선택하기 전까지는 범위가 표시되지 않습니다. 매우 불편해졌습니다. 그리고 체크박스가 켜져 있으면 기본값이 표시되지 않습니다.

 

여러분, 저는 싱글 패스 로그에 의해 왕따를 당했습니다. 그들 때문에 RAM-Drive로 작업하는 것은 절대 불가능합니다. 여러 번의 단일 패스에서 기가바이트의 쓰레기. 사나운 쓰레기. RAM 드라이브가 매우 빨리 채워집니다.

저는 가상을 사용합니다. 이와 관련하여 그에게는 문제가 없습니다. 하지만 여전히 WinAPI를 통해 이 문제를 근본적으로 해결하고 싶습니다.


단일 실행 Tester\Agent-127.0.0.1-300x\logs\*.log 파일을 시작하기 전에 프롬프트, 자동으로 쾅? 솔루션을 한 번 쓰고 이 쓰레기는 영원히 잊고 싶습니다.

문제는 수동으로도 이러한 파일을 삭제할 수 없다는 것입니다. 이 파일은 터미널에서 점유하고 있습니다. Unlocker 옵션이 있습니다. 콘솔 변형이 있는지 여부를 살펴볼 필요가 있습니다.


일반적으로 이 문제에 대해 도움을 요청합니다.


위협 그리고 무엇을 할 가치가 있었는지 max. 로그 크기 제한....

 
fxsaber :

여러분, 저는 싱글 패스 로그에 의해 왕따를 당했습니다. 그들 때문에 RAM-Drive로 작업하는 것은 절대 불가능합니다. 여러 번의 단일 패스에서 기가바이트의 쓰레기. 사나운 쓰레기. RAM 드라이브가 매우 빨리 채워집니다.

저는 가상을 사용합니다. 이와 관련하여 그에게는 문제가 없습니다. 하지만 여전히 WinAPI를 통해 이 문제를 근본적으로 해결하고 싶습니다.


단일 실행 Tester\Agent-127.0.0.1-300x\logs\*.log 파일을 시작하기 전에 프롬프트, 자동으로 쾅? 솔루션을 한 번 쓰고 이 쓰레기는 영원히 잊고 싶습니다.

문제는 수동으로도 이러한 파일을 삭제할 수 없다는 것입니다. 이 파일은 터미널에서 점유하고 있습니다. Unlocker 옵션이 있습니다. 콘솔 변형이 있는지 여부를 살펴볼 필요가 있습니다.


일반적으로 이 문제에 대해 도움을 요청합니다.


위협 그리고 무엇을 할 가치가 있었는지 max. 로그 크기 제한....

로그 폴더에 쓰기를 비활성화하시겠습니까?

 
Andrey Khatimlianskii :

로그 폴더에 쓰기를 비활성화하시겠습니까?

이 옵션은 작동하지 않습니다.


그런 배치 파일은 컴퓨터 재부팅 후 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 :

이 옵션은 작동하지 않습니다.

녹음을 비활성화하는 방법은 무엇입니까?