기고글 토론 "MQL5 Coobook: 지정된 기준에 따라 Expert Advisor의 최적화 결과 저장" - 페이지 2

 
Anatoli Kazharski:

조만간 이 주제를 다시 다룰 계획이 없습니다.

문제를 더 정확하게 공식화하여 여기에 게시해 보세요. 누군가 해결책을 제안해 줄지도 모르니까요.


제 작업은 최적화 결과의 순서가 아닌 시퀀스 번호로 패스를 기록하는 것입니다.

 
Aleksey Vyazmikin:

제 작업은 최적화 결과 순서가 아닌 시퀀스 번호별로 패스를 기록하는 간단한 작업입니다.

동적 배열에 그대로 추가한 다음 최적화가 끝날 때 정렬하면 됩니다.
 
어디에 기록하시나요?
 
Anatoli Kazharski:
동적 배열에 그대로 추가한 다음 최적화가 끝날 때 정렬합니다.

즉, 추가 2차원 배열을 만들려면 통로 번호와 표시기를 어디에 넣어야 하나요?


그리고 파일에 한 번에 쓰면? 즉, 값이없는 줄을 0으로 표시하여 잊어 버린 다음 값이 나타나면 덮어 쓸 수 있습니까?

 
Dennis Kirichenko:
어디에 기록하나요?

물론 파일에 기록합니다.

 
Aleksey Vyazmikin:

물론 파일에서요.


아나톨리가 정확하게 지적했습니다. 최적화 프로세스 중에 결과를 목록 또는 동적 배열 (저는 목록이 더 좋습니다)로 수집하고 OnTesterPass() 핸들러의 본문에서 결과를 수집합니다. 그리고 최적화가 끝나면 OnTesterDeinit() 핸들러의 본문에서 필요한 기준에 따라 목록/배열을 정렬하고 저장합니다.

 
Dennis Kirichenko:

아나톨리가 정확하게 지적했습니다. 최적화 중에 OnTesterPass() 핸들러의 본문에서 결과를 목록 또는 동적 배열 (저는 목록이 더 좋아요)로 수집합니다. 그리고 최적화가 끝나면 OnTesterDeinit() 핸들러의 본문에서 필요한 기준에 따라 목록/배열을 정렬하고 저장합니다.


목록에 대한 내용이 보이지 않는데 무슨 뜻인가요?

 
Aleksey Vyazmikin:

목록에 대한 내용을 보지 못했는데 무슨 뜻인가요?


목록이라는 데이터 유형이 있다는 뜻입니다. 작업에서 결과를 수집하는 것이 편리합니다. 그러나 결과는 노드 유형으로 래핑되어야합니다. 이는 CObject의 하위 유형입니다.

 
Dennis Kirichenko:

CList라는 데이터 유형이 있다는 뜻입니다. 작업에서 결과를 수집하는 것이 편리합니다. 그러나 결과는 미리 노드 유형으로 래핑되어야합니다. 이는 CObject의 자손입니다.


제가 살펴본 결과 복잡한 부분이 많다는 것을 깨달았습니다. 사용하려면 이해해야 하고 몇 가지 복잡한 예제를 찾았습니다. 이 특정 작업의 예에서 어떻게 하는지 보여주시겠어요?

 

감사합니다, 아나톨리!

진입점 최적화 모드에서 테스트할 때 승/패 거래 비율에 대한 정보를 파일로 출력해야 합니다.

사소한 작업인 것 같지만 이틀 동안 고생하다가 메타쿼트에게 화를 내고 2주 동안 잊어버렸습니다.

오늘은 메타 쿼트에게 욕을하면서 (그들은 OnTester 및 OnTesterPass 함수를 이상한 방식으로 구현했지만 참조 서적에서 이러한 함수가 "초기화"되려면 FrameAdd 및 FrameNext가 필요하며 그렇지 않으면 지옥처럼 작동한다는 사실을 언급하지 못했습니다.) ), 예제를 한 눈에 보면서 필요한 것을 작성했습니다))))