3. OnDeinit에서 여기에서 두 번째 스크립트에서 이것을 삽입합니다 : https://www.mql5.com/ko/code/27611:
uchar Bytes2[];
if (MTTESTER::GetLastTstCache(Bytes2) != -1) // 단일 실행의 마지막 캐시 레코드를 읽을 수 있는 경우
{
const SINGLETESTERCACHE SingleTesterCache(Bytes2); // 해당 객체에 드라이브합니다.
SingleTesterCache.SaveSet(NULL, true, "Created by " + __FILE__); // 설정된 파일을 세부 정보와 함께 저장합니다.double Balance[];
double Equity[];
Print(SingleTesterCache.Header.ToString()); // 단일 패스의 헤더를 출력합니다.Print(SingleTesterCache.Summary.ToString()); // Statistica.Print(SingleTesterCache.Inputs); // 매개변수 입력.
2 문제.
Print(SingleTesterCache.Summary.ToString()) 명령;
다른 Expert Advisor 등에서 테스트해 보니 잘못된 통계가 나옵니다.
변형 1
옵션 2
2 문제.
트레이딩, 자동매매 시스템 및 트레이딩 전략 테스트 포럼
오류, 버그, 질문
레나트 팻쿨린, 2021.01.01 00:14
아마도 스크립트에서 Expert Advisor로 잘못된 코드 전송의 이유 때문에 작동하지 않는다고 가정합니다.
예제를 보내 드리겠습니다.
절차.
1. 모든 전문가 고문이 취해집니다 - 표준 이동 평균에서 반복적으로 테스트했습니다.
2. 2. 상단에 내포물을 넣습니다:
3. OnDeinit에서 여기에서 두 번째 스크립트에서 이것을 삽입합니다 : https://www.mql5.com/ko/code/27611:
3.2 이 양식에서 동일한 "종류"를 시도했습니다.
const SINGLETESTERCACHE SingleTesterCache; // Загоняем ее в соответствующий объект. double Balance[]; double Equity[]; Print(SingleTesterCache.Header.ToString()); // Вывели заголовок одиночного прохода. Print(SingleTesterCache.Summary.ToString()); // Статистику. Print(SingleTesterCache.Summary.ToString()); // Статистику. Print(SingleTesterCache.Inputs); // Входные параметры.아마도 스크립트에서 Expert Advisor로 잘못된 코드 전송의 이유 때문에 작동하지 않는다고 가정합니다.
지금 예제를 보내 드리겠습니다.
준비된 파일로 더 좋을 것입니다. 나는 당신이 무엇을 얻어야하는지 이해하지 못합니다.
차라리 파일이 준비되어 있으면 좋겠어요. 그리고 무엇을 가져와야 하는지 모르겠어요.
예, 예를 들어 여기 멀티 테스터 주제에서 작성한 것처럼 마지막 단일 실행의 통계를 가져 와서 파일에 쓰고 싶었습니다 (https://www.mql5.com/ru/forum/318305/page23#comment_19934192).
모든 곳에서 OnDeinit EA에 코드를 삽입하지 않고도 할 수 있습니다.
사실 모든 통계가 필요한 것이 아니라 몇 가지 매개변수만 있으면 됩니다. 예를 들어, MQLInfoString(MQL_PROGRAM_NAME),TesterStatistics(STAT_SHARPE_RATIO).
예, 예를 들어 여기 멀티테스터 주제에서 작성한 것처럼 마지막 단일 실행의 통계를 가져와서 파일에 쓰고 싶었습니다(https://www.mql5.com/ru/forum/318305/page23#comment_19934192).
온디네잇 EA의 모든 곳에 코드를 삽입하는 것을 피하기 위해서입니다.
사실 모든 통계가 필요한 것이 아니라 몇 가지 매개변수만 있으면 됩니다. 예를 들어, MQLInfoString(MQL_PROGRAM_NAME),TesterStatistics(STAT_SHARPE_RATIO).
아마도 배달이나 토론에서 예제를 실행해 볼 수 있을 것입니다.
전달 또는 토론에서 예제를 실행해 볼 수 있을 것 같습니다.
아직 그런 기능이나 통과 통계를 CSV 파일에 기록하는 것과 비슷한 것을 찾지 못했습니다. 흠, 라이브러리에서도 적절한 기능을 찾지 못했습니다. 나는 더 많은 것을 찾을 것입니다.
나는 그런 블록을 보았지만 그것에서 필요한 정보를 호출하는 방법은 이해하지 못했습니다.
문자열 ToString( void ) const
{
return(this.Header.expert_path[] + "\n; " +
this.Header.symbol[] + "\n; " +
::TimeToString(this.Header.date_from, TIME_DATE) + " - " + ::TimeToString(this.Header.date_to, TIME_DATE) + "\n; " +
::DoubleToString(this.Summary.TesterStatistics(STAT_PROFIT), 0) + ", " + " +
::DoubleToString(this.Summary.TesterStatistics(STAT_TRADES), 0) + ", " + ::DoubleToString(this.Summary.TesterStatistics(STAT_TRADES), 0) + ", " +
::DoubleToString(this.Summary.TesterStatistics(STAT_PROFIT_FACTOR), 2) + ", " + ::DoubleToString(this.Summary.TesterStatistics(STAT_PROFIT_FACTOR), 2) + ", " +
::DoubleToString(this.Summary.TesterStatistics(STAT_EXPECTED_PAYOFF), 2) + ", -" + ::DoubleToString(this.Summary.TesterStatistics(STAT_EXPECTED_PAYOFF), 2) + ", -" +
", -" + ", -" + ", -" + ", -" + ", -" + ", -" + ", -" + ", -" + ", -" + ", -" + ", -" + ", -";
}
그런 블록이 보이지만 필요한 정보를 호출하는 방법을 이해하지 못합니다.
다른 사람의 코드 인 것처럼 내 코드를 볼 때마다 전혀 기억이 나지 않습니다.
그래서 힌트를 드릴 수 없습니다.
다른 사람의 코드인 것처럼 제 코드를 볼 때마다 어리석게도 전혀 기억이 나지 않습니다.
그래서 말씀드릴 수 없습니다.
공부를 많이 할수록 더 많이 이해하게 되는군요. 제가 알기로는 현재 버전의 라이브러리에 모든 기능이 포함되어 있지 않을 수 있습니다. 즉, 작업을 수행하기 위해 누락 된 것이있을 수 있습니다. 가장 중요한 것은 그것이 가능한지 아닌지를 이해하는 것입니다.)
가장 중요한 것은 가능한지 여부를 이해하는 것입니다.)
https://www.mql5.com/ko/code/viewcode/27611/229701/exptradesummarysingle.mqh