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

 
Vigor :

코드 최적화 프로그램에 개체 트리 크기에 대한 제한이 있습니까?

개체 수를 늘리면 컴파일 단계에서 "트리 최적화 오류" 오류가 발생합니다.

PS 컴파일은 디버그 모드에서 발생합니다.

서비스 데스크 티켓에 예제 소스 코드를 첨부할 수 있습니까? 확인 후 코드는 삭제됩니다.

대부분 긴 함수에 관한 것이지만 코드를 보내어 우리가 파악하고 오류를 수정할 수 있도록 하는 것이 좋습니다. 이것은 많은 거래자들에게 도움이 될 것입니다.

 
Valmars :

첫째, 테스터에 히스토리를 강제로 업로드하는 요점이 무엇입니까? 테스터는 코드 또는 거래 작업 에서 필요한 도구에 대한 요청이 있는 경우 서버에서 필요하고 사용 가능한 기록을 다운로드합니다. 코드가 비어 있으므로 테스터는 테스트가 수행되는 기호를 제외하고 다른 도구에 대한 눈금을 시뮬레이션할 필요가 없습니다. 그의 이야기는 테스터에 의해 로드되었습니다. 그리고 (테스터에) 히스토리가 없기 때문에 0으로 끝납니다.

둘째, 코드가 모든 기호에 대한 기록에 대한 호출로 보완되더라도 모든 기호에 대해 사용 가능한 전체 기록의 다운로드가 성공할 가능성은 낮고 어딘가에서 실패가 있을 것입니다. 테스터는 터미널의 따옴표를 기준으로 사용하기 때문에 필요한 이력을 그 안에 업로드해야 합니다.
문제는 테스터가 다른 기기에 대한 틱을 시뮬레이션하려고 할 때 이 날짜에 대한 기록이 없고 로그의 양이 믿을 수 없을 정도로 증가하기 때문에 로그 가 0 M1 레코드를 포함 하는 것과 같은 메시지로 간단히 채워지기 시작한다는 것입니다. 볼륨 및 이러한 오류를 피하기 위해 기록의 시작 날짜를 알아야 하고 요청 시 SeriesInfoInteger (symbol,0,SERIES_SERVER_FIRSTDATE) 함수가 0을 반환합니다.
 

목적 함수 Balance + min Drawdown 이 선택되었을 때 결과 열의 값이 무엇을 의미하는지 알려주실 수 있습니까?

 
tol64 :

목적 함수 Balance + min Drawdown 이 선택되었을 때 결과 열의 값이 무엇을 의미하는지 알려주실 수 있습니까?

터미널 도움말을 살펴보면 많은 질문이 저절로 사라지고 모든 것이 거기에 기록됩니다.

최적화 기준

최적화 기준은 테스트된 입력 매개변수 세트의 품질을 결정하는 특정 지표입니다. 최적화 기준의 값이 클수록 주어진 매개변수 세트로 테스트 결과를 더 잘 추정할 수 있습니다. 이 표시기의 선택은 "최적화" 필드의 오른쪽에 있는 "설정" 탭에서 수행됩니다.

최적화 기준은 유전 알고리즘에만 필요합니다.

다음 최적화 기준을 사용할 수 있습니다.

  • 최대 균형 — 최적화 표시기는 최대 균형 값입니다.
  • 균형 + 최대 수익성 - 지표는 균형 및 수익성 제품의 최대 가치입니다.
  • 잔액 + 최대 승리 기대치 - 지표는 잔액과 승리 기대치를 곱한 것입니다.
  • 잔고 + 최소 인출 액 — 이 경우 잔고 값 외에 인출액 수준이 고려됩니다. (100% - 인출액)*잔액;
  • 잔액 + 최대 회수율 - 지표는 회수율에 의한 잔액의 곱입니다.
  • 잔액 + 최대 샤프 비율 - 지표는 잔액과 샤프 비율의 곱입니다.
  • 사용자 정의 최적화 기준 - 이 매개변수가 최적화 기준으로 선택되면 Expert Advisor의 OnTester() 함수 값이 고려됩니다. 이 옵션을 사용하면 사용자가 최적화를 위해 사용자 정의 메트릭을 사용할 수 있습니다.


 
sergey1294 :

고맙습니다. )) 무슨 이유에서인지 균형 + 최소 드로다운이 아니라 '최소 드로다운' 기준에 대해 생각하고 있었습니다. ))

 
sergey1294 :
문제는 테스터가 다른 기기에 대한 틱을 시뮬레이션하려고 할 때 이 날짜에 대한 기록이 없고 로그의 양이 믿을 수 없을 정도로 증가하기 때문에 로그 가 0 M1 레코드를 포함 하는 것과 같은 메시지로 간단히 채워지기 시작한다는 것입니다. 그리고 이러한 오류를 피하기 위해 기록의 시작 날짜를 알아야 하고 요청 시 SeriesInfoInteger (symbol,0, SERIES_SERVER_FIRSTDATE ) 함수는 0을 반환합니다.

내가 아는 한 테스터는 테스트를 시작하기 전에 연결된 계정(서버에 연결이 없는 경우 마지막으로 연결된 계정)에 대한 시장 환경을 만들고 서버와 데이터의 동기화를 확인합니다(다시 연결), 테스트 시작 날짜(연결된 경우)에서 누락된 따옴표를 다운로드하고 필요한 모든 기호에 대한 테스트 시퀀스를 생성한 다음 테스트를 시작합니다. 필요한 기록을 다운로드할 수 없는 경우(예: 서버에 기록이 없거나 서버와의 통신 부족으로 인해) 어떻게 됩니까? 그는 그것에 대해 솔직하게 이야기합니다. '아니오'이고 재판이 없습니다.

다음으로 (테스터에서) 서버에서 기록의 시작 날짜를 얻으려고 합니다. 이 속성은 서버에서 저장할 수 있지만 테스터의 시장 환경에 포함되지 않은 것 같습니다. 실수인가요? 나는 아니라고 생각한다. 실제로 테스트가 시작된 후 테스터는 더 이상 (터미널을 통해) 서버에 액세스하여 필요한 견적을 다운로드할 수 없습니다. 사용 가능한 모든 것은 테스트 프로세스의 초기화 단계에서 테스터에 의해 이미 로드되고 테스트 시퀀스는 이미 형성되어 변경할 수 없습니다. SeriesInfoInteger ( symbo l ,0 , SERIES_SERVER_FIRSTDATE) 대신 SeriesInfoInteger ( symbol , 0 , SERIES_FIRSTDATE), 테스터에서 작동해야 합니다.

 
Renat :

서비스 데스크 티켓에 예제 소스 코드를 첨부할 수 있습니까? 확인 후 코드가 삭제됩니다.

대부분 긴 함수에 관한 것이지만 코드를 보내어 우리가 파악하고 오류를 수정할 수 있도록 하는 것이 좋습니다. 이것은 많은 거래자들에게 도움이 될 것입니다.

좋아, "코드 생성 오류"와 "트리 최적화 오류"가 있는 2가지 옵션을 첨부했습니다. onInit 함수는 정말 깁니다(생성된 코드의 최대 1000줄).

티켓 #217917

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
Vigor :

좋아, "코드 생성 오류"와 "트리 최적화 오류"가 있는 2가지 옵션을 첨부했습니다. onInit 함수는 정말 깁니다(생성된 코드의 최대 1000줄).

티켓 #217917

감사합니다. 월요일에 확인하겠습니다.
 
Valmars :

내가 아는 한 테스터는 테스트를 시작하기 전에 연결된 계정(서버에 연결이 없는 경우 마지막으로 연결된 계정)에 대한 시장 환경을 만들고 서버와 데이터의 동기화를 확인합니다(다시 연결), 테스트 시작 날짜(연결된 경우)에서 누락된 따옴표를 다운로드하고 필요한 모든 기호에 대한 테스트 시퀀스를 생성한 다음 테스트를 시작합니다. 필요한 기록을 다운로드할 수 없는 경우(예: 서버에 기록이 없거나 서버와의 통신 부족으로 인해) 어떻게 됩니까? 그는 그것에 대해 솔직하게 이야기합니다. '아니오'이고 재판이 없습니다.

다음으로 (테스터에서) 서버에서 기록의 시작 날짜를 얻으려고 합니다. 이 속성은 서버에서 저장할 수 있지만 테스터의 시장 환경에 포함되지 않은 것 같습니다. 실수인가요? 나는 아니라고 생각한다. 실제로 테스트 시작 후 테스터는 더 이상 (터미널을 통해) 서버에 연락하여 필요한 견적을 다운로드할 수 없습니다. 사용 가능한 모든 것은 테스트 프로세스의 초기화 단계에서 테스터에 의해 이미 로드되고 테스트 시퀀스는 이미 형성되어 변경할 수 없습니다. SeriesInfoInteger ( symbo l ,0 , SERIES_SERVER_FIRSTDATE) 대신 SeriesInfoInteger ( symbol , 0 , SERIES_FIRSTDATE), 테스터에서 작동해야 합니다.


동일한 함수는 0을 반환합니다. SERIES_TERMINAL_FIRSTDATE ID도 시도했습니다 . 결론 테스터의 SeriesInfoInteger 기능 중 하나가 작동하지 않습니다. 테스트가 실행되는 기기에서만 작동합니다. 누군가 "모든 기록" 간격을 선택할 때 기록의 시작 날짜가 다른 기기에서 테스트를 실행하는 방법에 대해 생각하고 있을 수 있습니다.
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Информация об исторических данных по инструменту
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Информация об исторических данных по инструменту
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Информация об исторических данных по инструменту - Документация по MQL5
 
다시 말하지만, 터미널 시간은 GMT+0으로 점프했지만 GMT+1이어야 합니다. 이미 논의되었습니다. 정정해주세요.