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

 
스크립트 또는 Expert Advisor를 디버그하고 호출 스택을 로밍하면 소스 코드의 왼쪽에 녹색 화살표가 나타나 현재 어느 라인에 있는지 보여줍니다. 예를 들어, 다양한 포함이 있는 여러 파일의 호출 스택을 살펴보는 경우 실제로 자체 파일이 있는 열린 탭마다 고유한 녹색 화살표가 있습니다. 그러나 디버깅이 중지된 후에는 사라지지 않고 계속 중단됩니다. 버그 또는 기능?
 
이 스레드에서 이미 다루었는지 여부는 알 수 없습니다. 마침내 테스터에서 사용 가능한 모든 막대에 액세스할 수 있을까요? 목발을 통해 몇 년 동안 오래된 TF를로드하기 위해 5 분 동안 작업하는 것은 정말 지겹습니다 !!!
 
traveller00 :

Build 2280을 사용하며, 따옴표가 없는 경우 기호와 마침표를 사용합니다. 이 경우 이것은 거래소, 중개인 개설, 기호 UCAD-12.19, 기간 09/01/2019-09/03/2019입니다. 간단한 Expert Advisor가 시작되었습니다(아래). 하나씩 운전하면 모든 것이 순서대로 진행되며 히스토리가없고 막대가 0이고 틱이 0입니다. 최적화를 실행 하면 유전학이든 전체이든 상관없이 많은 오류가 로그에 기록됩니다.

OldTicks 배열에 액세스하는 것에 대한 반응처럼 보이지만 이유는 알 수 없습니다. 함수의 반환 결과를 배열 크기로 바꾸는 것은 도움이 되지 않습니다. 그것으로 무엇을 할 수 있는지 알 수 없습니다.

이 오류를 재현하고 수정하려면 ex5 형태의 전문가와 최적화 조건이 필요합니다.

실례가 되지 않으시면 개인적으로 쪽지를 보내주세요. 연구 후 전문가는 영구적으로 삭제됩니다.

 
Slava :

이 오류를 재현하고 수정하려면 ex5 형태의 전문가와 최적화 조건이 필요합니다.

실례가 되지 않으시면 개인적으로 쪽지를 보내주세요. 연구 후 전문가는 영구적으로 삭제됩니다.

Expert Advisor의 소스 코드는 같은 게시물에 있습니다. 혹시나 해서 아래에 다시 올렸습니다.

기호 및 따옴표가 없는 기간. 제 경우에는 2019년 9월 1일부터 2019년 9월 3일까지 기간 UCAD-12.19 기호 거래소, 중개인 개설입니다.

유전학의 최적화 또는 완전한 열거, 그것은 중요하지 않습니다. 유일한 변수 테스트의 경우 더 많은 패스가 있으며 0에서 1000000까지 설정됩니다.

 input int test= 1 ;

double OnTester ()
{
   return 0 ;
}

void Test( const MqlTick &Tick)
{
}

void OnInit ()
{
   MqlTick OldTicks[];
   int OldTicksCount= CopyTicks ( _Symbol ,OldTicks, COPY_TICKS_ALL );
   while (OldTicksCount>= 1000 )
    OldTicksCount= CopyTicks ( _Symbol ,OldTicks, COPY_TICKS_ALL ,OldTicks[OldTicksCount- 500 ].time_msc);
   for ( int i= 0 ;i!= ArraySize (OldTicks);++i)
    Test(OldTicks[i]);
}
 
traveller00 :

Build 2280을 사용하며, 따옴표가 없는 경우 기호와 마침표를 사용합니다. 이 경우 이것은 거래소, 중개인 개설, 기호 UCAD-12.19, 기간 09/01/2019-09/03/2019입니다. 간단한 Expert Advisor가 시작되었습니다(아래). 하나씩 운전하면 모든 것이 순서대로 진행되며 히스토리가없고 막대가 0이고 틱이 0입니다. 최적화를 실행 하면 유전학이든 전체이든 상관없이 많은 오류가 로그에 기록됩니다.

OldTicks 배열에 액세스하는 것에 대한 반응처럼 보이지만 이유는 알 수 없습니다. 함수의 반환 결과를 배열 크기로 바꾸는 것은 도움이 되지 않습니다. 그것으로 무엇을 할 수 있는지 알 수 없습니다.

메시지 감사합니다!

문제가 발견되어 수정되었습니다.

 
Anton :

메시지 감사합니다!

문제가 발견되어 수정되었습니다.

고맙습니다.

 
업로드된 기록이 없습니다. 모든 캐릭터에 출시되었습니다.
 2019.12 . 16 16 : 41 : 50.787 Tester  Experts\fxsaber\Research\Research03.ex5 on EURGBP,H1 from 2015.01 . 01 00 : 00 to 2019.12 . 16 00 : 00
2019.12 . 16 16 : 41 : 50.787 Tester  optimization on all MarketWatch symbols started
2019.12 . 16 16 : 41 : 50.790 Core 1   agent process started on 127.0 . 0.1 : 3000
2019.12 . 16 16 : 41 : 50.791 Core 2   agent process started on 127.0 . 0.1 : 3001
2019.12 . 16 16 : 41 : 50.792 Core 3   agent process started on 127.0 . 0.1 : 3002
2019.12 . 16 16 : 41 : 50.793 Core 4   agent process started on 127.0 . 0.1 : 3003
2019.12 . 16 16 : 41 : 50.794 Core 5   agent process started on 127.0 . 0.1 : 3004
2019.12 . 16 16 : 41 : 50.795 Core 6   agent process started on 127.0 . 0.1 : 3005
2019.12 . 16 16 : 41 : 51.145 Core 4   connecting to 127.0 . 0.1 : 3003
2019.12 . 16 16 : 41 : 51.145 Core 4   connected
2019.12 . 16 16 : 41 : 51.155 Core 2   connecting to 127.0 . 0.1 : 3001
2019.12 . 16 16 : 41 : 51.155 Core 2   connected
2019.12 . 16 16 : 41 : 51.162 Core 4   authorized (agent build 2280 )
2019.12 . 16 16 : 41 : 51.162 Core 1   connecting to 127.0 . 0.1 : 3000
2019.12 . 16 16 : 41 : 51.162 Core 1   connected
2019.12 . 16 16 : 41 : 51.162 Core 3   connecting to 127.0 . 0.1 : 3002
2019.12 . 16 16 : 41 : 51.163 Core 3   connected
2019.12 . 16 16 : 41 : 51.163 Tester  EURGBP: history data begins from 2003.02 . 06 00 : 00
2019.12 . 16 16 : 41 : 51.163 Core 4   pass 0 started on EURGBP
2019.12 . 16 16 : 41 : 51.167 Core 4   common synchronization completed
2019.12 . 16 16 : 41 : 51.171 Core 2   authorized (agent build 2280 )
2019.12 . 16 16 : 41 : 51.178 Core 3   authorized (agent build 2280 )
2019.12 . 16 16 : 41 : 51.178 Core 1   authorized (agent build 2280 )
2019.12 . 16 16 : 41 : 51.276 Tester  EURUSD: history data begins from 1971.01 . 04 00 : 00
2019.12 . 16 16 : 41 : 51.276 Core 2   pass 1 started on EURUSD
2019.12 . 16 16 : 41 : 51.280 Core 2   common synchronization completed
2019.12 . 16 16 : 41 : 51.476 Core 3   GBPUSD: preliminary downloading of M1 history started
2019.12 . 16 16 : 41 : 51.694 Core 2   EURUSD: history for 2014 year synchronized
2019.12 . 16 16 : 41 : 52.009 Core 2   EURUSD: history for 2015 year synchronized
2019.12 . 16 16 : 41 : 52.351 Core 2   EURUSD: history for 2016 year synchronized
2019.12 . 16 16 : 41 : 52.663 Core 2   EURUSD: history for 2017 year synchronized
2019.12 . 16 16 : 41 : 52.958 Core 2   EURUSD: history for 2018 year synchronized
2019.12 . 16 16 : 41 : 53.080 Core 2   EURUSD: history for 2019 year synchronized
2019.12 . 16 16 : 41 : 53.080 Core 2   EURUSD: history synchronization completed [ 13567 Kb]
2019.12 . 16 16 : 41 : 53.080 Core 2   EURUSD: 13.25 Mb of history processed in 0 : 01.778
2019.12 . 16 16 : 41 : 56.077 Core 4   pass 0 on EURGBP returned result 100000.00 in 0 : 00 : 04.862
2019.12 . 16 16 : 41 : 57.077 Core 2   pass 1 on EURUSD returned result 100000.00 in 0 : 00 : 03.961
2019.12 . 16 16 : 42 : 05.052 Core 3   pass 2 started on GBPUSD
2019.12 . 16 16 : 42 : 05.059 Core 3   common synchronization completed
2019.12 . 16 16 : 42 : 05.276 Core 3   GBPUSD: history synchronization started
2019.12 . 16 16 : 42 : 06.143 Core 4   pass 3 started on AUDCAD
2019.12 . 16 16 : 42 : 06.143 Core 5   connecting to 127.0 . 0.1 : 3004
2019.12 . 16 16 : 42 : 06.144 Core 6   connecting to 127.0 . 0.1 : 3005
2019.12 . 16 16 : 42 : 06.144 Core 5   connected
2019.12 . 16 16 : 42 : 06.144 Tester  testing on MarketWatch symbols finished, total passes 2
2019.12 . 16 16 : 42 : 06.144 Statistics      optimization done in 0 minutes 16 seconds
2019.12 . 16 16 : 42 : 06.144 Statistics      local 2 tasks ( 100 %), remote 0 tasks ( 0 %)
2019.12 . 16 16 : 42 : 06.144 Core 6   connected
2019.12 . 16 16 : 42 : 06.167 Tester   2 new records saved to cache file 'tester\cache\Research03.all_symbols.H1.20150101.20191216.22.FBC21040E327AF5F62DDA1A545DE091D.opt'
2019.12 . 16 16 : 42 : 06.168 Core 1   connection closed
2019.12 . 16 16 : 42 : 06.168 Core 2   connection closed
2019.12 . 16 16 : 42 : 06.168 Core 3   connection closed
2019.12 . 16 16 : 42 : 06.172 Core 6   authorized (agent build 2280 )
2019.12 . 16 16 : 42 : 06.177 Core 5   authorized (agent build 2280 )
2019.12 . 16 16 : 42 : 06.349 Core 4   AUDCAD: history synchronization started
2019.12 . 16 16 : 42 : 11.777 Core 3   GBPUSD: history downloading completed
2019.12 . 16 16 : 42 : 11.777 Core 3   GBPUSD: history synchronization interrupted
2019.12 . 16 16 : 42 : 11.777 Core 4   connection closed
2019.12 . 16 16 : 42 : 24.794 Core 4   AUDCAD: history downloading completed
2019.12 . 16 16 : 42 : 24.794 Core 4   AUDCAD: history synchronization interrupted
2019.12 . 16 16 : 42 : 24.794 Core 5   connection closed
2019.12 . 16 16 : 42 : 24.794 Core 6   connection closed
2019.12 . 16 16 : 42 : 24.794 Tester  stopped by user
선택한 줄 다음에 중지를 클릭합니다. 단말기가 "응답 없음" 모드로 들어갔습니다. 27초 후 처짐(로그로 판단).
 
EX5의 단일 실행에서 모든 오류 수를 계산하는 방법은 무엇입니까? 예를 들어, 로트가 잘못되었거나 마진이 부족합니다.
 
빌드 2280. 따옴표가 없는 기호와 마침표를 가져옵니다. 이 경우 이것은 거래소, 중개인 개설, 기호 1MFR-1.20, 기간 09/01/2019-12/01/2019입니다. 모든 Expert Advisor는 예를 들어 Examples\Moving Average\Moving Average.ex5에서 시작됩니다. 유전 최적화가 설정되고(이 버그가 다른 버그에도 존재한다고 생각하지만) 기준은 차이가 없습니다(여전히 틱이 없음). 각 틱 은 실제 틱, 핍 단위의 이익을 기반으로 합니다. 우리는 최적화를 하고 실제로 제로 패스 세트를 얻습니다. 각 패스에서 왜profit_factor 및 margin_level이 쓰레기로 채워져 있습니까? 변수가 어딘가에서 0으로 초기화되지 않습니까? 백테스트 탭에서는 그냥 빈 공간처럼 보이고 아무 것도 출력하지 않습니다. opt 파일을 손으로 파싱하면 값은profit_factor = 1.797693134862316e+308이고 margin_level = 1.797693134862316e+308이 됩니다.
 
traveller00 :
이익 계수 = 1.797693134862316e+308 및 margin_level = 1.797693134862316e+308 .

DBL_MAX