모든 On-function은 일반 함수이므로 언제든지 호출할 수 있습니다. OnCalculate 또는 OnTradeTransaction.
그러나 문서에 기록되어 있지 않습니다.
초기화
OnInit() 함수는 Init 이벤트에 대한 처리기입니다.void또는int유형일 수 있으며매개변수가 없습니다.
무효의초기화();
Init 이벤트는 Expert Advisor 또는 표시기를 로드한 직후에 생성되며 이 이벤트는 스크립트에 대해 생성되지 않습니다. OnInit() 함수는 초기화에 사용됩니다. OnInit()에 int 반환 값이 있는 경우 0이 아닌 반환 코드는 초기화 실패를 나타내고 REASON_INITFAILED의 초기화 해제 이유 코드 와함께 Deinit 이벤트를 생성합니다.
Expert Advisor의 입력 매개변수를 최적화하려면 ENUM_INIT_RETCODE 열거형의 값을 반환 코드로 사용하는 것이 좋습니다. 이러한 값은 가장 적합한 테스트 에이전트 의 선택을 포함하여 최적화 프로세스의 관리를 구성하기 위한 것입니다. Expert Advisor 초기화 직후, 테스트 자체가 시작되기 전에도 TerminalInfoInteger() 함수를 사용하여 에이전트의 구성 및 리소스(코어 수, 여유 메모리 등)에 대한 정보를 요청할 수 있습니다. 그리고 받은 정보를 바탕으로 이 테스트 에이전트의 사용을 허용하거나 이 Expert Advisor를 최적화할 때 거부합니다.
ENUM_INIT_RETCODE
식별자
설명
INIT_SUCCEDED
초기화에 성공했습니다. Expert Advisor 테스트를 계속할 수 있습니다.
이 코드는 0 값과 동일함을 의미합니다. 테스터에서 Expert Advisor의 초기화가 성공했습니다.
INIT_FAILED
초기화에 실패했습니다. 치명적인 오류로 인해 테스트를 계속할 수 없습니다. 예를 들어 Expert Advisor가 작동하는 데 필요한 지표를 생성할 수 없었습니다.
이 값을 반환하는 것은 0이 아닌 값을 반환하는 것과 같습니다. 테스터에서 Expert Advisor 초기화가 실패했습니다.
INIT_PARAMETERS_INCORRECT
이는 프로그래머가 잘못된 입력 매개변수 세트를 나타내기 위한 것이며, 일반 최적화 테이블에서 이러한 리턴 코드가 있는 결과 라인은 빨간색으로 강조 표시됩니다.
이 전문가 매개변수 집합에 대한 테스트는 수행되지 않으며 에이전트는 새 작업을 자유롭게 받을 수 있습니다.
이 값을 받으면 전략 테스터는 재실행을 위해 이 작업을 다른 에이전트에게 전송하지 않도록 보장합니다.
INIT_AGENT_NOT_SUITABLE
초기화하는 동안 프로그램에 오류가 없었지만 어떤 이유로 이 에이전트는 테스트에 적합하지 않습니다. 예를 들어 RAM이 충분하지 않고 OpenCL에 대한 지원 이 없습니다.
이 코드가 반환된 후 에이전트는 이 최적화 가 끝날 때까지 더 이상 작업을 수신하지 않습니다.
iCustom (... inputs, PRICE_CLOSE ,
color &colors[], int &widths[], int &styles[] );
iAlligator (... params, PRICE_CLOSE ,
color &colors[], int &widths[], int &styles[] );
왜 정적 입니까?
문맥에서 벗어났기 때문에 원본 게시물 을 참조하세요.
OnInit() 함수의 문서화된 기능이 아니라 이 함수는 프로그램의 모든 부분에서 실행할 수 있습니다. 테스트 코드.
결과
...
OnInit() 함수의 문서화된 기능이 아니라 이 함수는 프로그램의 모든 부분에서 실행할 수 있습니다. 테스트 코드.
모든 On-function은 일반 함수이므로 언제든지 호출할 수 있습니다. OnCalculate 또는 OnTradeTransaction.
모든 On-function은 일반 함수이므로 언제든지 호출할 수 있습니다. OnCalculate 또는 OnTradeTransaction.
그러나 문서에 기록되어 있지 않습니다.
초기화
OnInit() 함수는 Init 이벤트에 대한 처리기입니다. void 또는 int 유형일 수 있으며 매개변수가 없습니다.
무효의 초기화 ();
Init 이벤트는 Expert Advisor 또는 표시기를 로드한 직후에 생성되며 이 이벤트는 스크립트에 대해 생성되지 않습니다. OnInit() 함수는 초기화에 사용됩니다. OnInit()에 int 반환 값이 있는 경우 0이 아닌 반환 코드는 초기화 실패를 나타내고 REASON_INITFAILED의 초기화 해제 이유 코드 와 함께 Deinit 이벤트를 생성합니다 .
Expert Advisor의 입력 매개변수를 최적화하려면 ENUM_INIT_RETCODE 열거형의 값을 반환 코드로 사용하는 것이 좋습니다. 이러한 값은 가장 적합한 테스트 에이전트 의 선택을 포함하여 최적화 프로세스의 관리를 구성하기 위한 것입니다. Expert Advisor 초기화 직후, 테스트 자체가 시작되기 전에도 TerminalInfoInteger() 함수를 사용하여 에이전트의 구성 및 리소스(코어 수, 여유 메모리 등)에 대한 정보를 요청할 수 있습니다. 그리고 받은 정보를 바탕으로 이 테스트 에이전트의 사용을 허용하거나 이 Expert Advisor를 최적화할 때 거부합니다.
ENUM_INIT_RETCODE
식별자
설명
INIT_SUCCEDED
초기화에 성공했습니다. Expert Advisor 테스트를 계속할 수 있습니다.
이 코드는 0 값과 동일함을 의미합니다. 테스터에서 Expert Advisor의 초기화가 성공했습니다.
INIT_FAILED
초기화에 실패했습니다. 치명적인 오류로 인해 테스트를 계속할 수 없습니다. 예를 들어 Expert Advisor가 작동하는 데 필요한 지표를 생성할 수 없었습니다.
이 값을 반환하는 것은 0이 아닌 값을 반환하는 것과 같습니다. 테스터에서 Expert Advisor 초기화가 실패했습니다.
INIT_PARAMETERS_INCORRECT
이는 프로그래머가 잘못된 입력 매개변수 세트를 나타내기 위한 것이며, 일반 최적화 테이블에서 이러한 리턴 코드가 있는 결과 라인은 빨간색으로 강조 표시됩니다.
이 전문가 매개변수 집합에 대한 테스트는 수행되지 않으며 에이전트는 새 작업을 자유롭게 받을 수 있습니다.
이 값을 받으면 전략 테스터는 재실행을 위해 이 작업을 다른 에이전트에게 전송하지 않도록 보장합니다.
INIT_AGENT_NOT_SUITABLE
초기화하는 동안 프로그램에 오류가 없었지만 어떤 이유로 이 에이전트는 테스트에 적합하지 않습니다. 예를 들어 RAM이 충분하지 않고 OpenCL에 대한 지원 이 없습니다.
이 코드가 반환된 후 에이전트는 이 최적화 가 끝날 때까지 더 이상 작업을 수신하지 않습니다.
void 유형의 OnInit() 함수는 항상 성공적인 초기화를 의미합니다.
그러나 문서에 기록되어 있지 않습니다.
초기화
OnInit() 함수 는 Init 이벤트에 대한 처리기입니다. void 또는 int 유형일 수 있으며 매개변수가 없습니다.
무효의 초기화 ();
Init 이벤트는 Expert Advisor 또는 표시기를 로드한 직후에 생성됩니다.
기능이라고 합니다.
OnInit 이전과 OnDeinit 이후에는 여전히 전역 개체의 생성자/소멸자에 대한 호출이 있습니다(도움말의 부정확함). 따라서 예를 들어 OnInit 없이 표시기에서 표시기 버퍼를 선언할 수 있습니다. 기초는 그런 것입니다.
배열이 더 작으면 색상의 일부만 전송됩니다. 배열이 더 크면 잘립니다.
너비와 스타일 배열의 경우 원칙은 동일합니다.
오버로드된(위 참조) HistoryDealSelect가 OrderSendSync에서 호출됩니다.
마지막 위치 를 여는 시간, 마지막 위치를 닫는 시간을 어떻게 결정할 수 있습니까?
그리고 일반적으로 mql5의 오픈/클로즈드 포지션 정보를 얻기 위한 일반 원칙과 알고리즘을 알고 싶습니다.
고려해야 할 사항, 현재 존재하는 기능은 무엇입니까?
마지막 위치 를 여는 시간, 마지막 위치를 닫는 시간을 어떻게 결정할 수 있습니까?
그리고 일반적으로 mql5의 오픈/클로즈드 포지션 정보를 얻기 위한 일반 원칙과 알고리즘을 알고 싶습니다.
고려해야 할 사항, 현재 존재하는 기능은 무엇입니까?
이 모든 것은 주문 및 거래 내역의 선택과 주문 속성의 후속 읽기에 의해 결정됩니다.
POSITION_IDENTIFIER
Position ID는 새로 개설된 각 Position에 할당되는 고유 번호로 평생 동안 변경되지 않습니다. 위치를 연 주문 티켓에 해당합니다.
포지션 ID는 각 주문(ORDER_POSITION_ID)과 거래(DEAL_POSITION_ID)를 개설, 변경 또는 마감한 순서로 표시됩니다. 이 속성을 사용하여 위치와 연결된 주문 및 거래를 검색합니다.
네팅 모드에서 포지션이 반전되면(단일 인/아웃 거래에 의해) 포지션 ID POSITION_IDENTIFIER는 변경되지 않습니다. 그러나 동시에 POSITION_TICKET은 취소로 이어진 주문의 티켓으로 변경됩니다. 헤지 모드에서는 포지션 반전이 제공되지 않습니다.
긴
그리고 열거형의 속성 사용하기 ENUM_DEAL_ENTRY
DEAL_ENTRY_IN
시장 진입
DEAL_ENTRY_OUT
시장 출구
DEAL_ENTRY_INOUT
반전
DEAL_ENTRY_OUT_BY
반대 위치로 닫기