작성자:
Cheftrader*
설명:
본 프레임워크는 스탑 오더를 이용해 포지션에 진입하는 시스템을 구축하고 테스트하는 데 도움을 줍니다. 일일 시스템에 따라 보류 주문과 포지션이 처리됩니다. 진입 로직(STP 값 계산)은 mqh 파일에서 쉽게 변경할 수 있습니다.
추가 기능:
- 위험 관리 기능, 트레일링 스톱 활성화/비활성화
- 머니 관리, 계좌 수익에 따라 포지션 크기 결정
- 특정 시간에 보류 주문 취소
- 포지션 오픈 후 특정 시간 경과 시 포지션 종료
- 최적화를 위한 필터 방법 사용 (예: 주중의 다른 날에 대한 거래 결과)
- 중요한 자본 변화 시 이메일 발송
추천 사항:
- 롱과 숏 파라미터를 개별적으로 최적화하세요 (예: side=-1)
- 간단한 아이디어로 시작하세요: 예를 들어 어제의 최저가에 매도 스탑 주문 배치 (mqh 파일 샘플 참조)
- 머니 및 위험 관리 없이 로트 사이즈 0.1로 테스트하고 최적화하세요 (maxLot=0.1). 장점: 테스터에서의 수익은 핍으로 조정됩니다.
- 포지션을 오픈한 후 1시간 또는 다른 지속 시간 동안 자동으로 종료하는 테스트를 시작하세요 (closetimeperiod = 3600)
- 진입 방식이 잘 작동하면 지속 시간 기반의 포지션 종료를 건너뛰고 위험 관리 파라미터 (SL, TP, SLslope)를 최적화하세요.
- 특정 요일에 시스템의 안정성을 테스트하세요: 예를 들어 dayfilter를 1로 설정하면 월요일에만 STP 진입 주문이 배치됩니다.
- 마지막으로 머니 관리 (maxLot, PercentOfProfit)를 테스트하세요.
extern double SL = 8; // 스탑로스: 1/10000 혹은 100/10000 = 1/100 (JPY) extern double TP = 20.5; // 테이크프라핏 extern double SLslope = 0.8 // 트레일링 스톱은 달성된 거래 이익의 일부 [예: 0.8]만 사용합니다. // 1.0 이상이면 트레일링 스톱은 비활성화됩니다. extern int side = -1 // LONG = 1, SHORT = -1, 양방향 주문 배치: 0 extern int PercentOfProfit = 30 // 계좌의 이미 획득한 수익의 위험 [%], 포지션 크기 계산에 사용됨 extern double MaxLot = 10.0; // 거래 최대 로트 extern int dayfilter = 7 // 모든 날에 보류 주문 배치 = 7 또는 특정 요일 1(월요일)...5(금요일)만
* 이 EA는 RomanY의 작업에서 영감을 받았습니다.
https://www.mql5.com/en/users/romany
http://codebase.mql4.com/en/code/9321

댓글 0