거래 로봇을 무료로 다운로드 하는 법을 시청해보세요
당사를 Facebook에서 찾아주십시오!
당사 팬 페이지에 가입하십시오
스크립트가 흥미로우신가요?
그렇다면 링크 to it -
하셔서 다른 이들이 평가할 수 있도록 해보세요
스크립트가 마음에 드시나요? MetaTrader 5 터미널에서 시도해보십시오
Experts

RegimeRouter — 체제별 승률 기록부를 갖춘 추세/범위 분류기 - MetaTrader 5용 expert

Ali Akbar
Ali Akbar
  • MQL5 Developer & Algorithmic Trading Specialist 에  Freelance
  • 파키스탄
  • 2106
Hi, I'm Ali. 24 years old, trading for around 5 years, and developing MQL5/MQL4 tools. I mainly work on automating manual strategies, fixing broken EA logic, and building clean indicators. I care more about clean architecture and proper risk management than over-complicated code. Always down to talk
| Korean English Русский 中文 Español Deutsch 日本語 Português Français Italiano Türkçe
조회수:
21
평가:
(2)
게시됨:
MQL5 프리랜스 이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동

RegimeRouter — 체제별 승률 기록을 기반으로 한 추세/범위 분류기


문제점

추세 추종 전략은 횡보장에서 손실을 입습니다. 평균 회귀 전략은 추세장에서 무너집니다. 대부분의 EA는 둘 중 하나를 선택하고 시장이 협조해 주기를 바랄 뿐입니다. 일반적인 해결책은 단일 ADX 필터를 적용하는 것입니다. ADX는 방향성 강도라는 한 가지 요소만 측정할 뿐, 수익률이 실제로 지속되는지 아니면 평균으로 회귀하는지에 대해서는 아무런 정보를 제공하지 않습니다.

분류 방식

매 종가 봉이 마감될 때마다 최근 가격 시계의 세 가지 독립적인 특성을 측정합니다.

  • ADX — 고전적인 방향성 강도.
  • 허스트 지수 — 로그 수익률에 대한 재조정된 범위(R/S) 분석. 0.5 이상이면 시계열은 지속적이며, 0.5 미만이면 반지속적입니다. 0.5일 때는 랜덤 워크입니다.
  • 1차 지연 자기상관 — 특정 가격 변동이 동일한 방향의 또 다른 변동을 유발하는지, 아니면 급격한 반등을 유발하는지 여부를 나타냅니다.

각 지표는 한 표를 행사합니다. 추세일 경우 +1, 횡보일 경우 -1, 미결정일 경우 0입니다. 표를 합산합니다. 합계가 어느 한 방향으로 InpMinVotes를 넘으면 해당 국면은 TREND 또는 RANGE로 분류됩니다. 그렇지 않으면 NEUTRAL이며, EA는 거래를 전혀 수행하지 않습니다. 세 가지 지표 중 하나라도 계산할 수 없는 경우, 해당 지표는 투표에 참여하지 않으며 해당 바는 ‘중립(NEUTRAL)’으로 처리됩니다. 핵심은 지표들 간의 합의가 필요하다는 점입니다. 지표 하나만으로는 추가 단계가 더해진 동전 던지기와 다를 바 없습니다.

거래 방식

시장 상황 모듈
TREND N봉 고점 또는 저점을 돌파할 때, 빠른 EMA와 느린 EMA가 이미 가리키고 있는 방향으로만 고려합니다.
RANGE 가격의 이동평균 대비 확장된 z-스코어를 역방향으로 거래한다. 낮은 쪽 꼬리에서 매수하고, 높은 쪽 꼬리에서 매도한다.
중립 아무 조치도 취하지 않는다.

거래 내역

모든 포지션은 InpMagicBase에 체제 ID를 더한 매직 넘버로 개설되므로, 거래를 생성한 체제가 거래 자체에 기록됩니다. 시작 시 EA는 거래 내역을 순차적으로 검토하여 포지션 ID별로 거래를 그룹화하고 기록을 재구성합니다. 이 기록은 재시작 시에도 유지되며 다른 터미널로 이동하더라도 보존됩니다.

각 모듈에 대해 원시 승률,윌슨 95% 하한,해당 모듈의 평균 승률과 평균 손실에 의해 암시되는 손익분기 승률, 수익 계수(PF), 그리고 평가 결과를 보고합니다.

TREND 96 tr 38 W 원승률 39.6% 윌슨 95% 하한 30.4% 손익분기점 승률 34.2% PF 1.26 순이익 +734.84 [미검증]

중간 두 숫자가 중요한 지표입니다. 2R 트렌드 팔로워는 대략 34% 이상일 때 수익을 낼 수 있습니다. 1R 페이드 전략은 50% 이상의 수익률을 필요로 합니다. 그리고 6번의 거래에서 나온 순수 승률만으로는 아무것도 증명할 수 없습니다. 평가 결과는 단순히 하한선이 손익분기점을 넘는지 여부일 뿐이며, 이는 작은 표본 크기에서도 유효한 “이 모듈이 작동한다”는 유일한 기준입니다.

A/B 전환

InpForceRegime은 라우터를 비활성화하고 모든 거래를 하나의 모듈을 통해 강제 처리합니다. 동일한 종목과 동일한 기간을 세 번 — AUTO, 그 다음 ALWAYS_TREND, 그 다음 ALWAYS_RANGE — 실행하면 분류기가 어떤 가치를 더하는지 직접 측정할 수 있습니다. 강제 실행 시에도 세 가지 측정값이 여전히 기록되므로, 라우터가 거부했을 바(bar)에서 강제 적용된 모듈이 어떻게 수행되었는지 확인할 수 있습니다.

신뢰하기 전에 이 과정을 반드시 수행하십시오. 라우팅 개념은 가설일 뿐, 결과가 아닙니다.

백테스트

H1 · 2026.01.01 ~ 2026.09.20 · 10,000 USD · 무작위 지연 활성화 · 모든 입력값 기본값 적용. 두 종목 모두 표시됨.

EURUSD H1

지표 값
총 순이익 +900.42
총 이익 / 총 손실 3 712.84 / 2 812.42
이익 계수 1.32
예상 수익 9.00
회수율 1.71
총 거래 횟수 100
최대 잔고 하락폭 505.32 (4.56%)
최대 순자산 하락폭 527.80 (4.76%)
모듈 거래 승리 원시 윌슨 95% 저점 순
추세 96 38 39.6% 30.4% +734.84
범위 4 4 100.0% 51.0% +165.58

96 + 4 = 100건의 거래, +734.84 + 165.58 = +900.42이므로, 장부 내역은 테스터 보고서와 정확히 일치합니다.

XAUUSD H1 — 동일한 EA, 동일한 설정, 동일한 기간

지표 값
총 순이익 −1 554.11
최종 잔고 8 445.89
총 거래 건수 85
모듈 거래 승리 원본 윌슨 95% 저점 순
추세 78 26 33.3% 23.9% −1 576.33
범위 7 4 57.1% 25.0% +22.22

78 + 7 = 85회 거래, −1,576.33 + 22.22 = −1,554.11. 이 거래는 손실을 기록했습니다. 저는 의도적으로 이 결과를 수익이 난 거래 옆에 함께 게시하고 있습니다. 왜냐하면 성공한 종목만 나열된 목록만으로는 EA에 대해 아무것도 알 수 없기 때문입니다.

이 결과가 보여주는 것과 보여주지 않는 것

사용하기 전에 이 부분을 꼭 읽어보세요.

  • TREND 모듈은 두 종목 모두에서 검증되지 않았습니다. EURUSD의 경우 평균 수익은 93.35, 평균 손실은 48.49였으므로, 손익분기점을 맞추기 위해서는 약 34.2%의 거래에서 이겨야 했습니다. 실제 승률은 39.6%였습니다. 하지만 해당 승률에 대한 윌슨 95% 하한치는 30.4%로, 이는 손익분기점보다 낮습니다. 이 정도의 표본 크기에서는 결과가 전혀 우위가 없다는 것과 일치합니다. XAUUSD에서 동일한 모듈의 순 승률은 33.3%, 하한치는 23.9%였으며, 손실을 기록했습니다. 두 경우 모두 결론은 동일합니다: 아직 충분한 증거가 없습니다.
  • EURUSD의 승률 기준으로 하한선이 손익분기점을 넘기려면대략 320회의 거래가 필요합니다. H1 차트의 한 종목이 약 9개월 만에 100을 기록했으므로, 이는 백테스트 기간이 부족한 문제가 아니라 포트폴리오 구성의 문제입니다.
  • RANGE 모듈은 사실상 테스트되지 않았습니다. EURUSD에서 4회 , XAUUSD에서 7회의 거래가 이루어졌습니다. EURUSD의 100% 승률은 아무런 의미가 없으며, 이것이 바로 윌슨(Wilson) 칼럼이 존재하는 이유입니다.
  • 아웃-오브-샘플 테스트는 없습니다. 1기간 , 1타임프레임, 2개 종목뿐입니다.
  • 모델링은 “모든 틱(Every tick)”을 기준으로 했지, 실제 틱을 기반으로 한 것이 아닙니다. 청산은 브로커의 손절(SL) 및 이익실현(TP)에 맡겨져 있으므로, 바(bar) 내의 가격 변동 경로가 중요합니다. 결론을 내리기 전에 실제 틱 데이터로 다시 실행해 보십시오.

제가 이 내용을 공개하는 이유는 검증된 우위를 판매하기 위해서가 아니라, 측정 방식 자체가 유용하기 때문입니다. A/B 테스트를 진행해 보세요. 만약 이 루터가 여러분의 종목에서 자체 두 모듈을 이기지 못한다면, 그 사실 또한 알아둘 가치가 있습니다.

실행 참고 사항

  • 신호는 바(bar) 마감 시점에 평가되므로, 이 모델은 M15 및 그 이상의 시간대를 위해 설계되었습니다.
  • 포지션은 스탑 없이 개설된 후, 실제 체결 가격을 기준으로 스탑이 설정됩니다. 거래 전 스냅샷을 바탕으로 계산된 스탑은 주문이 체결될 때쯤이면 이미 유효하지 않을 수 있습니다.
  • 스톱 설정에 실패할 경우, 포지션은 보호되지 않은 상태로 방치되지 않고 즉시 청산됩니다.
  • 스톱 거리는 해당 심볼의 스톱 레벨 및 프리즈 레벨로 제한됩니다.
  • 청산은 브로커의 SL 및 TP에 따릅니다. 수동으로 설정된 시간 기반 강제 청산은 없습니다.
  • 추세 거래를 위한 선택적 ATR 트레일링 스탑이 있으며, 바당 최대 한 번만 적용되며 진입 바에는 절대 적용되지 않습니다.
  • 한 번에 하나의 포지션만 가능합니다. 네팅 계좌에서 동일한 종목에 대한 두 번째 주문은 별도의 거래로 처리되지 않고 기존 포지션에 병합되며, 이는 장부를 은밀하게 손상시킬 수 있습니다.
  • 위험 기반 랏 크기 조정, 일일 손실 한도, 일일 거래 한도, 스프레드 필터, 최소 테이크 프로핏 대 스프레드 비율 및 선택적 세션 필터가 제공됩니다.

주요 입력값

입력 기본값 기능
InpForceRegime 자동 하나의 모듈을 강제하여 분류기를 A/B 테스트합니다
InpMinVotes 2 체제를 확정하기 위해 필요한 3표 중 2표
InpADXTrendLevel / InpADXRangeLevel 25 / 20 ADX 투표 기준치
InpHurstBars 256 허스트 추정치보다 뒤처진 수익률 바 수
InpHurstAdaptive off 고정된 수준 대신 자체 분포를 기준으로 허스트 추정치를 평가
InpAutoCorrThreshold 0.05 투표하려면 자기상관도가 이 값을 초과해야 함
InpBreakoutBars 20 추세 모듈: 돌파할 N봉 고가/저가
InpRangeZEntry 2.0 범위 모듈: 페이드 진입 z-점수
InpRiskPercent 0.5 거래당 위험, 잔고의 %
InpMagicBase 772000 여기에 리짐 ID가 추가됩니다

허스트 임계값에 대한 참고 사항

기본적으로 비활성화된 InpHurstAdaptive라는 입력 변수가 있습니다.

허스트 지수에 대한 교과서적인 추세/범위 선은 0.5입니다. 실제로는 그 선이 잘못된 위치에 있습니다. R/S 추정치는 유한한 표본에서 상향 편향을 보이기 때문에, 일반 시계열에 대한 256봉의 추정치는 0.5보다 훨씬 높은 값을 나타냅니다. EURUSD H1 차트를 기준으로 측정했을 때, 평균 값은 0.568이었으며 419개의 관측값 중 0.45 미만으로 떨어진 경우는 단 두 번뿐이었습니다. 고정된 0.45/0.55 대역에 비추어 볼 때, 이 투표 변수는 사실상 아무런 측정값도 제공하지 않습니다. 이는 거의 영구적으로 ‘TREND’에 투표하는 것과 같습니다.

InpHurstAdaptive를 켜면 절대 척도가 사라지고 대신 상대적인 질문을 던집니다. 즉, 해당 시계열이 이 종목의 최근 추세보다 더 지속성이 높은가 하는 것입니다. 최근 N개의 측정값이 유지되며, 0.5가 아닌 해당 기록의 백분위수를 기준으로 투표가 이루어집니다.

이에 따른 대가는 실재합니다. 구조상 이 투표기는 시장 상황이 어떻든 상관없이 고정된 비율의 막대에 대해 RANGE에 투표하게 됩니다. 따라서 이는 재작성이 아닌 전환입니다. 위의 백테스트가 이 기능을 끄고 실행되었기 때문에, 결과 데이터가 없는 설정을 출시 시 기본값으로 설정하고 싶지 않아 기본적으로 비활성화되어 있습니다.

수익을 보장하는 전략은 없습니다. 이 기능은 측정 기준이 내장된 테스트 구조를 제공합니다. 이는 여러분에게 경쟁 우위를 제공하지는 않습니다.

— 알리 라즈푸트


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

원클릭 트레이드 매니저 — 한 번의 클릭으로 진입가, 손절가, 목표가를 설정하는 위험 기반 로트 크기 원클릭 트레이드 매니저 — 한 번의 클릭으로 진입가, 손절가, 목표가를 설정하는 위험 기반 로트 크기

위험 비율과 스톱 거리를 바탕으로 포지션 규모를 산정한 뒤, 스톱 로스와 테이크 프로핏이 이미 설정된 상태로 거래를 개시합니다. 절대 스스로 거래를 진행하지 않습니다.

Pending Panel MT5 — One-Click Pending Orders with OCO Pending Panel MT5 — One-Click Pending Orders with OCO

A chart panel for MT5 that places Buy Limit, Sell Limit, Buy Stop and Sell Stop pending orders with one click. Volume, distance and optional SL/TP are set on the panel; OCO cancels the opposite order automatically. Includes bulk delete, a live order list and automatic handling of broker STOPS_LEVEL and filling mode. Execution tool only - no signals, no guaranteed results.

Prior Bar Break Odds with Level Bars and a Rolling Hit Rate Prior Bar Break Odds with Level Bars and a Rolling Hit Rate

Measures, on the chart's own history, how often a bar takes out the prior high or the prior low after bullish and after bearish bars, at up to five levels spaced by the average range. Each level carries a probability bar, and a table scores the favored side over all bars and over the last 200.

ICT Premium / Discount and OTE - dealing range, standard deviations, IPDA ranges ICT Premium / Discount and OTE - dealing range, standard deviations, IPDA ranges

ICT dealing range from confirmed swings: premium and discount zones, equilibrium, the OTE band (62 - 79 %, 70.5 %), standard deviation targets and the IPDA 20 / 40 / 60-day ranges. No repaint. Alerts and EA buffers.