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

 
Ashes :

아니요. 챔피언십 참가자 중 한 명의 고문의 일반적인 테스트 실행(다중 통화), 관련된 쌍에 대한 오랜 역사 스왑, 그게 전부입니다.

그건 그렇고, 테스터가 펌핑해야 할 쌍을 어떻게 결정하는지 궁금합니다. 일반적인 경우 테스트를 시작하지 않고는 사전에 알 수 없습니다...

내가 아는 한, 테스트 중인 첫 번째 쌍이 펌핑됩니다(테스터의 매개변수에 지정되고 자동으로 "시장 검토" 에 들어갑니다).

나머지 쌍은 다양한 조건에 따라 펌핑됩니다. 개인적으로는 초기화 블록에서 선택(테스터 의 "시장 개요"를 작성하여)한 다음 데이터 동기화를 확인하는 것이 가장 정확하다고 생각합니다(테스터뿐만 아니라 유용합니다).

테스터가 터미널과 동기화되고 차례로 서버와 동기화된다는 점도 주목할 가치가 있습니다.

추신

내가 올바르게 이해한다면 테스터는 여전히 자체적으로 데이터를 로드할 수 있지만 실제 조건에서는 이 모든 작업을 스스로 수행해야 합니다.

세르게예프 :

확인합니다.

MA에 대한 가장 쉬운 경험. 초기화 후 단번에 연결 해제. 그러나 그것은 불안정하고 시간이 지남에 따라.

살펴봐야 하겠지만 그런 결점은 없었던 것 같다. 타이머에 문제가 있었지만(다음 빌드에서 해결될듯)...
 
초기화 후 즉시 연결 해제됩니다. 하지만 불안정하고 시간이 지나면서
이것은 OnTick 대신 테스터에서 OnTimer를 사용하는 경우 최신 빌드(355)에서 정확히 발생합니다.
 
Erm955 :
이것은 OnTick 대신 테스터에서 OnTimer를 사용하는 경우 최신 빌드(355)에서 정확히 발생합니다.
운 좋게도 나는 이 두 핸들러를 모두 가지고 있습니다. 그래도 타이머 버그로 고생을 많이 하긴 했지만(전문가가 만화라서)... :(
 
Rosh :
MQL5를 사용하여 차트에서 지표를 삭제하는 기능이 나타날 수 있습니다.
오, 좋겠군요.
 

테스터 보고서 를 Open XML 형식으로 저장하려고 했습니다. 20분(펜티엄 4, 3.0GHz)을 기다리면 응용 프로그램이 응답하지 않습니다. 작업 관리자에서 terminal.exe 프로세스(프로세서의 약 50%)가 RAM(최대 약 250MB)을 소모하는 데 매우 활성화됩니다. 결과는 아무것도 아닙니다. MT5가 응답하고 따옴표만 오지 않습니다(회색 회전 원이 있는 연결 상태 표시기). 두 번째 시도도 동일합니다. 로그 2 항목의 "도구" 창에 "MemoryException 107878464 bytes not available"이 표시되며, 이는 OpenXML에서 보고서를 가져오려는 시간에 해당합니다.
HTML 형식에서 파일은 거의 즉시 형성되었습니다(약 12MB). 오랜만에 뜨는데 MT5는 여기서 탓할게 아니라...

 

변수가 어디에도 사용되지 않으면 컴파일러는 경고를 발행합니다. 이는 훌륭합니다.

그러나 그는 클래스에서 그러한 쓰레기(사용하지 않은 변수)를 보지 못합니다.

 

버전 5 빌드 355

막대 사이의 시간차 계산:

날짜 시간 DefTime;

문자열 인쇄 날짜;

DefTime=시간[0]-시간[i]; //i 우리의 경우 0에서 ...까지의 모든 정수로 대체될 수 있습니다.

PrintDate=TimeToString(DefTime,TIME_DATE|TIME_MINUTES);

인쇄(날짜 인쇄);

우리는 다음을 가지고 있습니다:

!!! 2010.11.22 02:09:24 A-PS (EURUSD,M15) 1970.01.03 04:00
!!! 2010.11.22 02:09:22 A-PS (EURUSD,M15) 1970.01.03 03:45
!!! 2010.11.22 02:09:20 A-PS (EURUSD,M15) 1970.01.03 03:30
!!! 2010.11.22 02:09:19 A-PS (EURUSD,M15) 1970.01.03 03:15
!!! 2010.11.22 02:09:18 A-PS (EURUSD,M15) 1970.01.03 03:00
!!! 2010.11.22 02:09:17 A-PS (EURUSD,M15) 1970.01.03 02:45
!!! 2010.11.22 02:09:16 A-PS (EURUSD,M15) 1970.01.03 02:30
!!! 2010.11.22 02:09:14 A-PS (EURUSD,M15) 1970.01.03 02:15
2010.11.22 02:09:13 A-PS (EURUSD,M15) 1970.01.01 02:00
2010.11.22 02:09:12 A-PS (EURUSD,M15) 1970.01.01 01:45
2010.11.22 02:09:11 A-PS (EURUSD,M15) 1970.01.01 01:30
2010.11.22 02:09:11 A-PS (EURUSD,M15) 1970.01.01 01:15
2010.11.22 02:09:09 A-PS (EURUSD,M15) 1970.01.01 01:00
2010.11.22 02:09:08 A-PS (EURUSD,M15) 1970.01.01 00:45
2010.11.22 02:09:08 A-PS (EURUSD,M15) 1970.01.01 00:30
2010.11.22 02:09:07 A-PS (EURUSD,M15) 1970.01.01 00:15
2010.11.22 02:08:58 A-PS (EURUSD,M15) 1970.01.01 00:00

숫자 3은 어디에서 왔습니까? MqlDateTime 을 사용할 때도 동일한 그림이 관찰됩니다.

 
KffAlex :

숫자 3은 어디에서 왔습니까? MqlDateTime 을 사용할 때도 동일한 그림이 관찰됩니다.

맞습니다 - 막대 사이의 시간 델타를 표준 날짜로 초 단위로 표시하고 있습니다.

월요일과 금요일 막대 사이의 델타는 단 3일입니다.

 
솔직히 그것에 대해 생각하지 않았습니다. 나는 바 딥이 금요일과 월요일 사이라는 것을 계속 잊고 있습니다. 고맙습니다.
 

최적화 시 어드바이저 자체가 표시기 연결 여부를 선택하도록 하고(예: TRIX) TRIX=0이면 표시기가 사용되지 않고 TRIX=1 이상이면 표시기 가 켜져 있고 값에 사용된 숫자는 매개변수 표시기입니다.

그러나 문제는 많은 지표가 둘 이상의 매개변수를 가지고 있다는 것입니다. 예를 들어 최적화 중에 TRIX_1=0, TRIX_2=4가 설정되면 매개변수가 자체적으로 모순됩니다. 저는 이 문제를 다음과 같은 방식으로 해결했습니다. 가능한 TRIX_1 및 TRIX_2 값은 EA 자체에서 정렬됩니다. TRIX=0은 EA에서 TRIX_1=0이고 TRIX_2=0입니다. TRIX=1은 TRIX_1=1이고 TRIX_2=1입니다. TRIX=2는 TRIX_1=1이고 TRIX_2=2 등입니다. 그러나 질문이 생깁니다.

모든 지표 매개변수가 Expert Advisor 자체에서 이미 정렬되고 매개변수 변형을 저장하는 입력에서 하나의 TRIX 값만 추출된 경우 유전 알고리즘 이 테스터에서 올바르게 작동 합니까?