ChannelEA1은 ChannelInd 지표에 의해 그려진 채널에서 작동하는 이 전문가 고문(EA)입니다.
이 EA는 ChannelInd 지표의 데이터에 의존하지 않으며, 모든 계산은 EA 내부에서 이루어집니다.
EA는 특정 시간에 거래를 수행합니다. 이 시간은 EA 설정에서 지정되며, EA는 채널의 경계에서 두 개의 보류 중인 리미트 주문을 배치하고, 채널의 반대쪽에 이익 실현(Take Profit) 수준을 설정합니다. 손실 방지(Stop Loss)는 설정하지 않으며, 거래 시간이 끝나면 모든 열린 포지션이 종료되고, 실행되지 않은 주문은 삭제됩니다.
이 전문가 고문은 교육 목적으로 설계되었습니다.
EA에는 총 여덟 가지 입력 매개변수가 있습니다:
- 시작 시간 (Begin hour) - 거래 시작 시간
- 종료 시간 (End hour) - 거래 종료 시간
- EA 고유 번호 (Experts magic number) - EA 포지션의 고유 식별자
- 거래량 (Lots) - 열 포지션의 수량
- 가격 슬리피지 (Slippage of price) - 포지션 개설 시 허용되는 최대 슬리피지
- 스탑 손실 거리 계수 (Multiplier spread for stops) - 스탑 주문을 위한 적절한 거리 계산에 적용되는 스프레드 배수
- 환경 업데이트 대기 시간 (Wait for environment update in seconds) - 거래 환경 업데이트를 기다리는 시간(초)
- 환경 상태 확인 시도 횟수 (Number of attempts to get the state of the environment) - 정확한 거래 환경을 얻기 위한 시도 횟수
* 보류 중인 주문(스탑 로스 및 테이크 프로핏 포함)은 스탑 주문을 배치할 수 있는 최소 거리인 StopLevel이 존재합니다. 즉, 보류 중인 주문과 스탑 로스, 테이크 프로핏은 가격에 대해 이 거리보다 가까이 배치할 수 없습니다. 만약 StopLevel이 0이라면, 이는 존재하지 않음을 의미하는 것이 아니라, StopLevel이 유동적임을 의미합니다. 이 경우 최소 거리는 일반적으로 스프레드와 같지만, 경우에 따라 두 배의 스프레드가 필요할 수 있습니다. 따라서 이 매개변수는 보류 중인 주문을 배치할 때 필요한 최소 거리를 계산하는 데 사용되는 스프레드의 맞춤 배수를 지정할 수 있습니다.
** 거래 주문이 서버로 전송될 때, 실행 지연이 발생할 수 있으며, 이로 인해 시장 포지션 수가 잘못 계산될 수 있습니다. 이 "정의되지 않은" 상태가 감지되면, EA는 지정된 초 수만큼 대기한 후 환경을 다시 읽습니다.
*** 한 틱 내에서 대기하는 기간의 수는 EA 매개변수에서 설정됩니다. 환경을 정확하게 얻기 위한 모든 허용된 시도를 한 후, EA는 처리를 종료하고 다음 틱을 기다립니다. 만약 이 시간까지 거래 환경이 업데이트되지 않았다면, EA는 이 새로운 틱에서 이 시도를 반복합니다.
전략을 검증하기 위해, 기본 설정으로 2017.01.02부터 2018.03.29까지의 데이터를 사용하여 테스트를 진행했습니다. 아쉽게도 EA는 기본 설정으로 좋은 결과를 보이지 않았습니다. 따라서 거래 시작 및 종료 매개변수(시작 시간과 종료 시간)를 EURUSD H1 1분 OHLC 모드에서 최적화했습니다. 이번에는 더 나은 결과를 얻었습니다:

