거래 로봇을 무료로 다운로드 하는 법을 시청해보세요
당사를 Facebook에서 찾아주십시오!
당사 팬 페이지에 가입하십시오
스크립트가 흥미로우신가요?
그렇다면 링크 to it -
하셔서 다른 이들이 평가할 수 있도록 해보세요
스크립트가 마음에 드시나요? MetaTrader 5 터미널에서 시도해보십시오
조회수:
23
평가:
(3)
게시됨:
MQL5 프리랜스 이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동

GBPUSD 1시간 차트 RC4 사이클 - true 최적화되지 않은 백테스트


이 전문가 자문가(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는 해당 시점의 거래 계좌 정확한 기준 순자산을 벤치마킹합니다:

$$\text{기준 순자산} = \text{AccountInfoDouble}(\text{ACCOUNT\_EQUITY})$$

이 기준 자산을 사용하여, 해당 특정 거래 방향에 대한 정적 글로벌 목표를 설정합니다:

  • 익절 목표: 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{현재 포트폴리오 가치} = \text{기준 자산} + \text{미실현 손익}$$

청산 실행

만약 $\text{현재 포트폴리오 가치} \ge \text{목표 가격}$ (이익 목표 달성) 이거나 $\text{현재 포트폴리오 가치} \le \text{리스크 가격}$ (최대 리스크 상한선 초과)인 경우:

  1. EA는 ClosePositions()를 호출합니다.

  2. 모든 시장 포지션을 역순으로 순회하며, 매직 넘버와 포지션 유형이 일치하는 포지션만 필터링합니다.

  3. 상관 관계가 있는 모든 거래는 시장가 주문을 통해 즉시 청산됩니다.

  4. 추세 방향의 사이클 추적기는 0으로 재설정되어, EA가 다음 구조적 지표 신호에서 완전히 새로운 벤치마크 스냅샷을 설정할 수 있도록 준비됩니다.

6. 포지션 크기 결정 로직 (자금 관리)

거래량 계산은 getLots(int cycle) 루틴에 의해 동적으로 수행됩니다.

  • 고정 랏 설정: AutoLots가 false인 경우, 기본 하드코딩된 랏 크기 설정(예: LotSize = 0.01)을 반환합니다.

  • 동적 리스크 스케일링: AutoLots가 true인 경우, 시스템은 여유 마진을 기준으로 거래 규모를 자동으로 조정합니다:

    1. OrderCalcMargin을 사용하여 현재 자산에 대한 표준 1.0 랏 거래를 처리하는 데 필요한 정확한 마진을 조회합니다.

    2. 다음 공식을 사용하여 감당 가능한 투자 규모를 산출합니다:

      $$\text{예상 거래량} = \frac{\text{AccountFreeMargin} \times \left(\frac{\text{Lots\_Risk}}{100}\right)}{\text{1.0 랏당 마진}}$$
    3. 최종 결과는 MathMin 및 MathMax를 사용하여 브로커가 적용하는 제약 조건에 따라 제한되며, SYMBOL_VOLUME_MIN과 SYMBOL_VOLUME_MAX 사이의 유효한 범위 내에 정확히 포함되도록 보장하고, 거래소 자산 단위( SYMBOL_VOLUME_STEP )에 맞춰 깔끔하게 반올림됩니다.

MetaQuotes Ltd에서 영어로 번역함.
원본 코드: https://www.mql5.com/en/code/74818

FX Dashboard 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 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 MA + Envelope Breakouts

엔벨로프 채널 또는 밴드를 기반으로 한 브레이크아웃, 하나의 EA에 통합된 다중 EA 로직

MT5 EA Acceptance Harness MT5 EA Acceptance Harness

Deterministic synthetic acceptance checks for MT5 EA entry-state logic, with no market, account or order access.