최적화 결과 작업

최적화의 커스텀 프로세싱을 구성하는 함수는 전략 테스터로 귀결됩니다. 테스트 에이전트, 로컬에서의 Expert Advisor 및 스크립트에서 최적화 중 호출할 수 있습니다.

전략 테스터에서 Expert Advisor를 실행할 때 심플 타입이나 심플 스트럭쳐를 기반으로 고유한 데이터 배열을 생성할 수 있습니다(동적 배열의 문자열, 클래스 개체 또는 개체는 포함되지 않음). 이 데이터 세트는 프레임이라는 특수 구조에서 FrameAdd() 함수를 사용하여 저장할 수 있습니다. Expert Advisor를 최적화하는 동안 각 에이전트는 터미널에 일련의 프레임을 보낼 수 있습니다. 수신된 모든 프레임은 terminal_directory\MQL5\Files\Tester 폴더의 Expert Advisor로 명명된 *.MQD 파일에 기록됩니다. 에이전트로부터 받은 순서대로 작성됩니다. 테스팅 에이전트에서 클라이언트 터미널의 프레임을 수신하면 TesterPass 이벤트가 생성됩니다.

프레임은 컴퓨터 메모리 및 지정된 이름의 파일에 저장할 수 있습니다. MQL5 언어는 프레임 수에 대한 제한을 설정하지 않습니다.

MQL5 Cloud Network의 메모리 및 디스크 공간 제한

다음 제한 사항은 MQL5 Cloud Network 최적화 작업 실행시에 적용됩니다.: Expert Advisor는 4GB 이상의 정보를 디스크에 쓰거나 4GB 이상의 RAM을 사용해서는 안 됩니다. 한도를 초과하면 네트워크 에이전트가 계산을 올바르게 완료할 수 없으며 열러분은 결과를 받을 수 없습니다. 그러나 계산에 소요된 모든 시간에 대해 비용이 청구됩니다.

각각의 최적화 단계에서 정보를 가져와야 하는 경우 디스크에 쓰지 말고 프레임을 보내세요 . MQL5 Cloud Network에서 계산하는 동안 Expert Advisors에서 파일 작업을 피하려면 다음과 같은 확인을 사용할 수 있습니다.

   int handle=INVALID_HANDLE;
   bool file_operations_allowed=true;
   if(MQLInfoInteger(MQL_OPTIMIZATION) || MQLInfoInteger(MQL_FORWARD))
      file_operations_allowed=false;
 
   if(file_operations_allowed)
     {
      ...
      handle=FileOpen(...);
      ...
     }

 

함수

기능

FrameFirst

프레임 리딩의 포인터를 처음으로 이동하고 이전에 설정된 필터를 재설정합니다.

FrameFilter

프레임 판독 필터를 설정하고 포인터를 시작 부분으로 이동합니다

FrameNext

프레임을 읽고 포인터를 다음 프레임으로 이동합니다

FrameInputs

프레임이 형성되는 입력 매개 변수를 수신합니다

FrameAdd

프레임을 데이터와 함께 추가합니다

ParameterGetRange

Strategy Tester에서 Expert Advisor를 최적화할 때 입력 변수의 값 범위 및 변경 단계에 대한 데이터를 수신합니다.

ParameterSetRange

Strategy Tester에서 Expert Advisor를 최적화할 때 입력 변수(값, 변경 단계, 초기 및 최종 값)을 지정합니다.

참고 항목

테스트 통계, 실행 중인 MQL5 프로그램의 속성