아이디어 제공자: Vladimir Pastushak.
MQL5 코드 제공자: Vladimir Karputov.
이 EA는 이동 평균 지표를 기반으로 거래하며, 모든 준비 및 거래 기능이 CMoving이라는 별도의 파일 Moving.mqh에서 구현됩니다.
입력 값
- 매직 넘버 - EA의 고유 식별자;
- 로트 - 포지션 볼륨 (0 이상의 포지션 볼륨 또는 0 이상의 리스크 크기 지정 가능);
- 리스크 - 거래당 자유 마진의 퍼센트로서의 리스크 (0 이상의 포지션 볼륨 또는 0 이상의 리스크 크기 지정 가능);
- MA: 기간 - 이동 평균 지표: 타임프레임;
- MA: 평균 기간 - 이동 평균 지표: 평균 기간;
- MA: 수평 이동 - 이동 평균 지표: 수평 이동;
- MA: 스무딩 타입 - 이동 평균 지표: 평균 방법;
- MA: 가격 타입 - 이동 평균 지표: 지표가 계산되는 가격의 타입;
- 테이크 프로핏 - 한 포지션이 열려 있을 때의 테이크 프로핏;
- 포지션 시리즈의 로트 배수 - 포지션 시리즈의 볼륨을 증가시키기 위한 설정;
- 이동 평균과의 거리 - 이동 평균 지표와의 거리;
- 일반 이익이 있는 경우의 추가 인덴트 - 일반 이익이 있을 경우 인덴트를 추가하는 옵션.
이 EA는 스윙 원칙을 사용하며 로트를 증가시킬 수 있는 가능성이 있습니다. 작동을 위한 간단한 전략은 다음과 같습니다:
- 가격이 설정된 이동 평균과의 거리 이상으로 이동 평균 지표 위에 있을 경우, BUY 포지션을 열어야 합니다;
- 가격이 설정된 이동 평균과의 거리 이상으로 이동 평균 지표 아래로 내려가면, 같은 로트로 SELL 포지션을 열어야 합니다;
- 가격이 BUY 포지션의 최고가에서 설정된 이동 평균과의 거리 이상으로 상승하면, 다음 BUY 포지션을 열어야 합니다;
- 가격이 BUY 포지션의 최저가에서 설정된 이동 평균과의 거리 이상으로 하락하면, 다음 SELL 포지션을 열어야 합니다;
CMoving 클래스
| 설정 매개변수 | |
초기화 |
주요 초기화 - 다음 매개변수가 설정됩니다:
|
GetFlag |
초기화 플래그의 상태를 반환합니다. 기본 EA에서 내부 m_init 변수를 확인할 때 보조 함수로 사용됩니다. |
LotsOrRisk |
포지션 로트 계산 유형을 정의합니다: 수동으로 (로트 매개변수가 0 이상) 또는 거래당 자유 마진의 퍼센트로 (리스크 매개변수가 0 이상). |
CreateMA |
이동 평균 지표를 생성합니다. |
TakeProfit |
테이크 프로핏 매개변수를 정의합니다. |
Multiplier |
로트 증가 매개변수를 정의합니다. |
DistanceMA |
이동 평균 지표에서의 간격을 정의합니다. |
ProfitPlus |
일반 이익이 있을 때의 추가 인덴트를 정의합니다. |
| 주요 기능 | |
Processing |
모든 계산이 수행되는 주요 기능입니다. |
| 보호 접근 지정자가 있는 클래스 기능 | |
RefreshRates |
심볼에 대한 시세를 업데이트합니다. |
CheckVolumeValue |
입력된 포지션 볼륨의 정확성을 확인합니다 (수동으로 포지션 볼륨을 정의할 때 사용됨). |
IsFillingTypeAllowed |
주문 체결 모드를 확인합니다. |
iMAGet |
지수 index가 있는 바에서 이동 평균 지표 값을 가져옵니다. |
CalculateAllPositions |
호출 시 포지션에 대한 정보를 가져옵니다:
|
Prices |
설정된 이동 평균과의 거리를 고려하여 BUY 및 SELL 포지션의 기준 가격을 가져옵니다. |
LotCheck |
포지션 볼륨을 확인하고 정규화합니다 (수동으로 포지션 크기를 정의할 때 사용됨). |
OpenBuy |
BUY 포지션을 엽니다. |
OpenSell |
SELL 포지션을 엽니다. |
PrintResult |
포지션을 열기 위한 거래 작업의 결과를 출력합니다. |
SetTakeProfit |
포지션의 테이크 프로핏 수준을 설정하거나 모든 테이크 프로핏 및 손절매 수준을 제거합니다 (여기서 delete_take_profit 매개변수가 "true"일 경우). |
CompareDoubles |
두 실수를 비교하여 같음을 확인합니다. |
AwerageTakeProfit |
특정 유형 pos_type의 포지션에 대한 단일 테이크 프로핏 수준을 계산하고 설정합니다. |
GBPUSD, H1, "실제 틱 기반의 모든 틱에 대하여."
