당사 팬 페이지에 가입하십시오
- 조회수:
- 23
- 평가:
- 게시됨:
-
이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동
이 전문가 자문가(Expert Advisor)는 4개의 독립적인 거래 하위 시스템(사이클 1~사이클 4) 으로 구성된 다중 전략 시스템입니다. 각 사이클은 고유한 매직 넘버, 지표, 진입 트리거 및 독자적인 자금 관리 매개변수를 사용하여 운영됩니다.
1. 사이클 1 로직: 다중 지표 융합
사이클 1은 최대 3개의 이동평균(MA), 상대강도지수(RSI), 윌리엄스 퍼센트 레인지(WPR)를 결합한 복합 필터를 기반으로 합니다.
진입 트리거
핵심 변수인 c1_signal은 지표 간 충돌을 방지하기 위한 이진 레지스터 역할을 합니다. 지표 A가 매수 신호를 보내면 c1_signal은 1이 됩니다. 이후 지표 B가 매도 신호를 보내면 c1_signal은 0으로 재설정되어 해당 거래를 무효화합니다.
-
이동평균 1, 2, 3:
-
매수 조건: 이전 바의 종가가 이동평균선(MA)보다 높고, 현재 바의 시가가 이동평균선(MA)보다 높을 때($Close[1] > MA$ 및 $Open[0] > MA$).
-
매도 조건: 이전 봉의 종가가 이동평균선 아래에 있고, 현재 봉의 시가가 이동평균선 아래에 있을 때($Close[1] < MA$ 및 $Open[0] < MA$).
-
-
RSI 필터:
-
매수 조건: RSI가 과매도 기준치(RSI_Buy_Level, 예: 30) 아래로 떨어집니다.
-
매도 조건: RSI가 과매수 임계값(RSI_Sell_Level, 예: 70)을 상회할 때.
-
-
WPR 필터:
-
매수 조건: WPR이 WPR_Buy_Level(예: -80) 아래로 떨어집니다.
-
매도 조건: WPR이 WPR_Sell_Level(예: -20)을 상회할 때.
-
신호 처리
-
반전 신호 규칙: Reverse_Signals = true 인 경우, 최종 매수 신호(1)는 매도 신호(2)로 바뀌며, 그 반대의 경우도 마찬가지입니다.
-
바당 한 번의 거래 제한: EA는 현재 시가가 c1_open_price와 일치하는지 확인합니다. 일치할 경우, 해당 바에서 이미 포지션이 처리된 것이므로 새로운 바가 열릴 때까지 추가 실행이 차단됩니다.
2. 사이클 2 로직: 엔벨로프 추세 추종
사이클 2는 고전적인 듀얼 밴드 엔벨로프 지표를 사용하여 시장의 구조적 돌파를 파악합니다.
-
매수 트리거: 이전 바가 상단 엔벨로프 밴드 위에서 마감하고, 현재 바가 그 위에서 개장할 때($Close[1] > UpperBand$ 및 $Open[0] > UpperBand$). 이는 강력한 강세 모멘텀 돌파를 가정합니다.
-
매도 트리거: 이전 바가 하단 엔벨로프 밴드 아래에서 마감하고, 현재 바가 그 아래에서 개장할 때($Close[1] < LowerBand$ 및 $Open[0] < LowerBand$), 이는 약세 돌파를 나타냅니다.
-
신호 반전: Reverse_Signals2 = true 인 경우, 돌파 신호를 가짜 돌파 함정으로 반전시킵니다(하락/상승 돌파를 무효화).
3. 사이클 3 로직: 엔벨로프 평균 회귀
사이클 3은 사이클 2와 동일한 매개변수를 추적하지만, 기본 기준선 실행 논리를 반대로 적용하여 평균 회귀(극단적 가격 움직임의 반전)를 목표로 합니다.
-
매수 트리거: 이전 바가 상단 엔벨로프 밴드 위에서 마감하고, 현재 바가 그 위에서 개장합니다. 논리: 코드는 자산이 과매수 상태에 있으며 밴드 내부로 되돌아올 것이라고 가정하여, 여기서 매도 신호를 할당합니다.
-
매도 트리거: 이전 봉이 하단 엔벨로프 밴드 아래에서 마감하고, 현재 봉이 그 아래에서 개장할 때. 논리: 코드는 이 상황에서 매수 신호를 부여하며, 과매도 구역에서 즉각적인 반등을 예상합니다.
4. 사이클 4 논리: 엔벨로프 포인트-거리 브레이크아웃
사이클 4는 엔벨로프 지표에 엄격한 변동성/핍 거리 제약 조건을 도입하여 공격적인 돌파 시스템으로 기능합니다.
-
매수 트리거: 하단 엔벨로프 밴드와 이전 종가 사이의 거리가 포인트 단위로 Distance보다 크고 , 하단 엔벨로프 밴드와 현재 매수 호가 사이의 거리도 Distance보다 클 때 ($LowerBand - Close[1] > Distance$ 및 $LowerBand - Bid > Distance$).
-
매도 트리거: 전일 종가와 상단 밴드 사이의 거리, 그리고 현재 매수 호가와 상단 밴드 사이의 거리가 모두 ‘Distance’를 초과할 때 ($Close[1] - UpperBand > Distance$ 및 $Bid - UpperBand > Distance$).
5. 청산, 바스켓 마감 및 리스크 로직
청산 관리 구조는 표준적인 포지션별 손절(SL) 또는 익절(TP) 주문을 사용하지 않습니다. 대신, 주기별로 매핑된 글로벌 계좌 자산 바스켓 추적 시스템을 활용합니다.
마일스톤 캡처
한 사이클의 포지션 수가 0에서 1로 전환될 때(c1_Buycount == 0 또는 c1_Sellcount == 0을 통해 추적), EA는 해당 시점의 거래 계좌 정확한 기준 순자산을 벤치마킹합니다:
이 기준 자산을 사용하여, 해당 특정 거래 방향에 대한 정적 글로벌 목표를 설정합니다:
-
익절 목표: target_amount가 지정된 경우, $\text{기준 자산} + \text{target\_amount}$를 할당합니다 . 그렇지 않은 경우, 백분율 공식을 사용합니다:
$$\text{목표 가격} = \text{기준 자산} + \left(\frac{\text{기준 자산} \times \text{목표\_비율}}{100}\right)$$ -
손절 목표: 캡처된 스냅샷 순자산에 대한 백분율 드로우다운 제한을 사용합니다:
$$\text{위험 가격} = \text{기준가} - \left(\frac{\text{기준가} \times \text{계좌 위험 비율}}{100}\right)$$
동적 바스켓 검증
매 티크마다 EA는 해당 사이클의 매직 넘버 및 거래 유형(MyAccountProfit_Buy 또는 MyAccountProfit_Sell)과 일치하는 모든 활성 포지션에 대해 실시간 미실현 손익, 스왑 및 수수료의 누적 합계를 계산합니다.
청산 실행
만약 $\text{현재 포트폴리오 가치} \ge \text{목표 가격}$ (이익 목표 달성) 이거나 $\text{현재 포트폴리오 가치} \le \text{리스크 가격}$ (최대 리스크 상한선 초과)인 경우:
-
EA는 ClosePositions()를 호출합니다.
-
모든 시장 포지션을 역순으로 순회하며, 매직 넘버와 포지션 유형이 일치하는 포지션만 필터링합니다.
-
상관 관계가 있는 모든 거래는 시장가 주문을 통해 즉시 청산됩니다.
-
추세 방향의 사이클 추적기는 0으로 재설정되어, EA가 다음 구조적 지표 신호에서 완전히 새로운 벤치마크 스냅샷을 설정할 수 있도록 준비됩니다.
6. 포지션 크기 결정 로직 (자금 관리)
거래량 계산은 getLots(int cycle) 루틴에 의해 동적으로 수행됩니다.
-
고정 랏 설정: AutoLots가 false인 경우, 기본 하드코딩된 랏 크기 설정(예: LotSize = 0.01)을 반환합니다.
-
동적 리스크 스케일링: AutoLots가 true인 경우, 시스템은 여유 마진을 기준으로 거래 규모를 자동으로 조정합니다:
-
OrderCalcMargin을 사용하여 현재 자산에 대한 표준 1.0 랏 거래를 처리하는 데 필요한 정확한 마진을 조회합니다.
-
다음 공식을 사용하여 감당 가능한 투자 규모를 산출합니다:
$$\text{예상 거래량} = \frac{\text{AccountFreeMargin} \times \left(\frac{\text{Lots\_Risk}}{100}\right)}{\text{1.0 랏당 마진}}$$ -
최종 결과는 MathMin 및 MathMax를 사용하여 브로커가 적용하는 제약 조건에 따라 제한되며, SYMBOL_VOLUME_MIN과 SYMBOL_VOLUME_MAX 사이의 유효한 범위 내에 정확히 포함되도록 보장하고, 거래소 자산 단위( SYMBOL_VOLUME_STEP )에 맞춰 깔끔하게 반올림됩니다.
-
MetaQuotes Ltd에서 영어로 번역함.
원본 코드: https://www.mql5.com/en/code/74818
FX Dashboard
This is a FX Dashboard style terminal panel on the MT5 chart, plus lines drawn on the chart (EMA, Bollinger, Donchian).
Day Trader Dashboard
The Day Trader Dashboard is a Bloomberg-style visual panel for MetaTrader 5 that tracks an intraday price range and flags when price is inside it (fade zone) or has broken out of it. It doesn't place trades — it's a decision-support overlay that computes the range High/Low from recent bars, draws those levels directly on the chart, and shows a live status readout (scanning / within range / breakout) in a themed, auto-scaling panel. It supports multiple independent instances on the same chart, several color themes, and cleans up 100% of its objects when removed.
MA + Envelope Breakouts
엔벨로프 채널 또는 밴드를 기반으로 한 브레이크아웃, 하나의 EA에 통합된 다중 EA 로직
MT5 EA Acceptance Harness
Deterministic synthetic acceptance checks for MT5 EA entry-state logic, with no market, account or order access.

