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

백테스트 EURUSD 01/03/2025 - 20/01/2026 기간 M5(M5-M15 전용 ONNX AI 트레이닝)

백테스트 GBPUSD 01/03/2025 - 20/01/2026 기간 M5 (M5-M15 전용 ONNX AI 트레이닝)


1. 일반 개요

SidewaysMartingale은 마틴 게일 회복 전략을 사용하여 횡보 (범위 제한) 시장을 거래하도록 설계된 전문가 고문으로, ONNX 모델을 통해 구현 된 AI 기반 추세 감지기로 강화되었습니다.

EA 결합

  • AI 추세 분류(횡보/강세/약세)

  • 범위 기반 진입을 위한 엔벨로프 인디케이터

  • 제어된 마틴 게일 포지션 스케일링

  • 수익 기반 바스켓 마감

  • 마진 기반 비상 스톱

핵심 아이디어는

시장이 통계적으로 횡보로 분류될 때만 거래하고 강한 추세가 감지되면 마틴게일 포지션을 추가하지 마세요.


2. AI 추세 탐지기(ONNX 통합)

ONNX 모델 출력

ONNX 모델이 반환됩니다:

  • 예측된 레이블(직접 사용되지 않음)

  • 세 가지 확률을 가진 확률 벡터:

변수 의미
prob_side 시장이 횡보/보합일 확률
prob_bull 시장이 강세일 확률 (상승 추세)
prob_bear 시장이 약세(하락 추세) 일 확률

이러한 확률은 다음과 같이 추출됩니다:

float prob_side = prob_data[0].values[0]; float prob_bull = prob_data[0].values[1]; float prob_bear = prob_data[0].values[2];


3. 피처 엔지니어링(AI 입력)

EA는 9개의 엔지니어링 피처를 ONNX 모델에 공급합니다:

피처 인덱스 설명
f[0] EMA200 기울기(추세 방향 및 강도)
f[1] EMA200에서 가격 거리
f[2] ATR 값(변동성)
f[3] ATR로 정규화된 캔들 범위
f[4] 돌파 압력 대 이전 고점
f[5] 캔들 바디 우세도
f[6] 요일
f[7] 하루 중 시간
f[8] 이전 캔들 방향


이러한 기능을 통해 AI 모델이 감지할 수 있습니다:

  • 시장 변동성

  • 추세 강도

  • 시간 기반 행동 패턴

  • 가격 구조 행동


4. 횡보 시장 감지 로직

시장은 다음과 같은 경우에 횡보로 간주됩니다:

bool is_sideway = (prob_side >= InpAISidewayThreshold);

예시:

  • InpAISidewayThreshold = 0.70인 경우

  • 시장을 횡보로 분류하려면 최소 70%의 신뢰도가 필요합니다.

👉 이 조건이 충족되지 않으면 새 거래가 열리지 않습니다.


5. 진입 로직(범위 내 스캘핑)

EA는 엔벨로프를 사용하여 범위 극단을 감지합니다.

매수 진입

if(price_close <= lower[0] && is_sideway)

  • 가격이 하한봉에 닿거나 하한봉을 돌파할 경우

  • AI가 횡보장 확인

  • 매수 포지션 개시

매도 진입

else if(price_close >= upper[0] && is_sideway)

  • 가격이 위쪽 봉 투에 닿거나 깨짐

  • AI가 횡보장 확인

  • 매도 포지션 개시

💡 이렇게 하면 추세가 아닌 상황에서 극단적인 범위에서만 거래가 이루어집니다.


6. 마틴 게일 복구 로직

포지션이 이미 존재하는 경우 EA는 거리 기반 마틴 게일을 적용합니다:

  • 가격이 정의된 핍 거리만큼 멀어지는 경우에만 새 포지션이 열립니다.

  • 승수를 사용하여 로트 크기 증가 ( LotMultiplier )

  • 최대 거래 횟수 제한 ( MaxTradesInSeries )

거리 확인

if(dist >= reqDist)


7. 마틴 게일용 AI 안전 필터

이것은 중요한 위험 제어 메커니즘입니다.

새 마틴게일 포지션을 추가하기 전에 EA가 확인합니다:

현재 시리즈가 매수인 경우

if(s_seriesType == POSITION_TYPE_BUY && prob_bear >= InpAISafetyThreshold) return;

현재 시리즈가 매도인 경우

if(s_seriesType == POSITION_TYPE_SELL && prob_bull >= InpAISafetyThreshold) return;

의미:

  • AI가 강한 반대 추세를 감지하는 경우

  • 그리고 신뢰도가 InpAISafetyThreshold를 초과하는 경우

  • 마틴게일 확장이 중지됩니다.

이를 방지합니다:

  • 강한 돌파 중 마틴게일

  • 추세 지속으로 인한 급격한 하락


8. 수익 목표 및 바스켓 마감

EA는 모든 포지션의 총 변동 수익을 모니터링합니다:

if(totalProfitUSD >= TakeProfitTargetUSD)

목표에 도달하면

  • 모든 포지션이 청산됩니다.

  • 마틴게일 시리즈가 재설정됩니다.

  • EA는 새로운 횡보 설정을 기다립니다.

이 방식은 모든 포지션을 하나의 바스켓 거래로 취급합니다.


9. 리스크 관리

마진 기반 비상 스톱

if(((bal - eq)/bal)*100.0 >= StopLossByMarginPercent)

편일예탁잔고가 정해진 비율을 초과하는 경우:

  • 모든 포지션이 즉시 청산됩니다.

  • 마진콜 시나리오 방지


10. 전략 요약

구성 요소 목적
AI 트렌드 디텍터 시장 체제 분류
prob_side 범위 내에서만 거래 허용
prob_bull / prob_bear 추세 강세 시 마팅게일 차단
봉투 극단적인 범위 정의
마틴게일 횡보 시장에서의 회복
바스켓 TP 평균 복귀 후 빠른 이탈
마진 SL 계정 수준 보호

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

n주문 수정 n주문 수정

미체결 포지션 및 지정가 주문 수정 기능

n손익 포지션 n손익 포지션

포지션(미체결 주문)의 손익 계산기

Spread Monitor and Filter Spread Monitor and Filter

This library provides real-time spread monitoring and statistical diagnostics for MetaTrader 5 symbols. It tracks spread evolution using a lightweight circular buffer and computes running metrics such as average, minimum, maximum, and standard deviation. The library classifies current spread conditions into informational states (low, normal, high, extreme) and offers helper methods to query spread behavior and stability. Optional notifications can be enabled to signal unfavorable market conditions. The library is purely analytical: it does not place trades, manage orders, or modify account state, and is intended to be used as a supporting tool inside Expert Advisors or indicators.

Session Time Filter Library Session Time Filter Library

Filter trades by trading sessions (London, NY, Tokyo, Sydney)