NEXA Donchian Break
- Experts
-
Park Seongcheon
안녕하세요.
MetaTrader 5 알고리즘 트레이딩 시스템 개발자 Park Sung Chan입니다.
저는 금융 시장의 구조적 특성과 통계적 패턴을 기반으로,
장기적으로 신뢰할 수 있는 자동매매 시스템을 연구·설계하고 있습니다.
단순한 전략 개발을 넘어 시장을 다각도로 해석하고,
더 높은 수준의 알고리즘 프레임워크를 구축하기 위한 연구를 지속하고 있습니다.
🔥 NEXA EA 프로젝트 소개 (Strategy Ecosystem)
NEXA EA 프로젝트는 제 연구 철학을 기반으로 운영되는 - 버전: 1.10
- 업데이트됨: 19 6월 2026
1. 제품 개요
NEXA Donchian Break는 Donchian Channel을 기반으로 가격 돌파 구간을 식별하고, 추가적인 기술 지표 필터를 통해 조건이 충족된 경우에만 거래를 시도하는 MetaTrader 5용 자동매매 Expert Advisor입니다.
본 제품은 서로 다른 필터 구조를 사용하는 두 가지 전략 모드를 제공합니다. 사용자는 입력 파라미터를 직접 조정하면서 Donchian 돌파 전략, 추세 필터, 거래량 필터, 손절 및 청산 구조의 관계를 비교하고 분석할 수 있습니다.
버전 1.10에는 핍 단위로 작동하는 고정형 트레일링 스톱 기능이 추가되었습니다. 사용자는 트레일링 시작 거리, 현재 가격과 손절가 사이의 거리, 손절가 이동 간격을 각각 설정할 수 있습니다.
본 제품은 학습 및 연구 목적의 무료 배포용으로 제작되었습니다.
본 제품은 특정 수익이나 성과를 보장하지 않습니다. 실제 결과는 시장 환경, 브로커 조건, 거래 비용, 심볼 사양 및 사용자 설정값에 따라 달라질 수 있습니다.
2. 버전 1.10 업데이트 내용
버전 1.10에는 다음 기능이 추가되었습니다.
핍 단위 트레일링 스톱
포지션이 설정한 수익 거리에 도달하면 현재 가격을 따라 손절가를 단계적으로 이동합니다.
다음 항목을 개별적으로 설정할 수 있습니다.
-
트레일링 스톱 작동 시작 거리
-
현재 가격과 손절가 사이의 거리
-
손절가를 다시 이동시키는 최소 간격
핍 계산 시 브로커가 제공하는 다음 심볼 정보를 자동으로 반영합니다.
-
가격 소수점 자릿수
-
포인트 크기
-
최소 틱 크기
-
최소 손절 거리
트레일링 스톱은 기존 손절가를 손실 방향으로 되돌리지 않으며, 포지션에 더 유리한 방향으로만 이동하도록 설계되었습니다.
거래 허용 시간이 종료되어 신규 진입이 제한된 상태에서도 이미 보유 중인 포지션의 손절 관리 기능은 계속 작동합니다.
3. 전략 구조 개요
본 EA는 두 가지 전략 모드를 제공합니다.
전략 모드 V1
전략 모드 V1은 Donchian Channel 돌파와 추세 강도 확인을 결합한 구조입니다.
주요 구성은 다음과 같습니다.
-
Donchian Channel 상단 또는 하단 돌파 감지
-
Momentum 지표를 통한 가격 방향성 확인
-
ADX 지표를 통한 추세 강도 필터
-
ATR을 기준으로 초기 손절가 계산
-
일정 수익 조건 충족 시 Swing 기반 손절가로 전환 가능
-
ADX 조건을 활용한 변동성 기반 손절 추적 가능
-
핍 단위 고정형 트레일링 스톱 사용 가능
전략 모드 V2
전략 모드 V2는 Donchian Channel 돌파와 추세 가속 및 거래량 흐름을 결합한 구조입니다.
주요 구성은 다음과 같습니다.
-
Donchian Channel 상단 또는 하단 돌파 감지
-
MACD 히스토그램을 통한 방향 및 가속도 확인
-
OBV 기울기를 통한 거래량 흐름 확인
-
선택적인 ADX 추세 강도 필터
-
반대편 Donchian Channel 라인을 기준으로 손절가 계산
-
ADX 기반 손절 추적 가능
-
핍 단위 고정형 트레일링 스톱 사용 가능
각 전략 모드는 서로 다른 필터 조합을 사용합니다. 사용자는 두 전략 모드를 비교하면서 신호 빈도와 필터 강도의 차이를 분석할 수 있습니다.
4. 주요 동작 특징
NEXA Donchian Break는 다음 기능을 제공합니다.
-
지정한 타임프레임에서 신호 계산
-
Donchian Channel 기반 돌파 신호 감지
-
V1 및 V2 전략 모드 선택
-
종가 기준 또는 고가·저가 기준 돌파 선택
-
완료된 봉 기준 신호 계산 선택
-
심볼당 하나의 포지션만 유지하도록 제한 가능
-
거래 시간 필터 지원
-
요일별 거래 허용 설정
-
런던 및 뉴욕 개장 시간대 제외 옵션
-
고정 로트 기반 포지션 진입
-
ATR 기반 초기 손절가
-
Swing 기반 손절 전환
-
ADX 및 ATR 기반 트레일링 스톱
-
핍 단위 고정형 트레일링 스톱
-
브로커 최소 손절 거리 자동 반영
-
브로커 거래량 단위 자동 보정
-
매직 넘버를 이용한 포지션 구분
본 EA는 MetaTrader 5 플랫폼 내부 기능만을 사용합니다.
외부 DLL, WebRequest 또는 외부 서버 통신을 사용하지 않으며, 사용자의 개인정보를 수집하지 않습니다.
5. 입력 파라미터 상세 설명
본 섹션은 각 입력 파라미터가 전략 동작에 미치는 영향을 이해하기 위한 참고 자료입니다.
입력값의 변경은 거래 빈도, 손절 거리, 포지션 유지 시간 및 전체 거래 결과에 영향을 줄 수 있습니다.
특정 설정값이 특정 결과를 보장하는 것은 아닙니다.
[General Settings]
InpSymbol
EA가 거래할 심볼을 지정합니다.
설정한 심볼이 브로커에 존재하지 않는 경우 현재 차트의 심볼을 사용할 수 있습니다.
브로커에 따라 GOLD, XAUUSD 또는 접미사가 포함된 심볼명이 사용될 수 있으므로 정확한 심볼명을 확인해야 합니다.
InpFixedLots
거래에 사용할 고정 로트 크기를 설정합니다.
입력한 로트는 브로커의 다음 조건에 맞게 자동 조정됩니다.
-
최소 로트
-
최대 로트
-
로트 증가 단위
InpMagicNumber
EA가 생성한 포지션을 구분하기 위한 식별 번호입니다.
동일 계좌에서 여러 EA를 사용하는 경우 서로 다른 매직 넘버를 사용하는 것이 권장됩니다.
InpEnableDebugLog
EA의 세부 동작 로그 출력 여부를 설정합니다.
활성화하면 신호 확인, 필터 통과 여부, 주문 결과 및 손절가 변경 내용을 확인할 수 있습니다.
장기간 백테스트에서는 로그 양이 많아질 수 있으므로 일반적인 테스트에서는 비활성화할 수 있습니다.
[Trading Time Filter]
InpUseTimeFilter
신규 거래 진입 시간 제한 사용 여부를 설정합니다.
비활성화하면 요일 및 시간 조건과 관계없이 진입 조건을 평가합니다.
InpTradeStartHour / InpTradeEndHour
신규 거래를 허용할 시간 범위를 설정합니다.
시간은 브로커 서버 시간을 기준으로 합니다.
InpAllowMonday ~ InpAllowFriday
월요일부터 금요일까지 요일별 거래 허용 여부를 설정합니다.
InpExcludeLondonOpen
설정된 런던 개장 시간대의 신규 진입을 제한합니다.
InpExcludeNYOpen
설정된 뉴욕 개장 시간대의 신규 진입을 제한합니다.
시간 필터는 신규 진입에 적용됩니다. 이미 보유 중인 포지션의 손절 전환 및 트레일링 스톱 관리는 거래 허용 시간 외에도 계속 실행됩니다.
[Strategy Mode]
InpStrategyMode
사용할 전략 모드를 선택합니다.
-
V1: Donchian + Momentum + ADX
-
V2: Donchian + MACD + OBV
V1은 가격 모멘텀과 추세 강도를 중심으로 평가합니다.
V2는 MACD 변화와 OBV 흐름을 이용하여 추세 가속 및 거래량 방향을 평가합니다.
[Core Settings]
InpSignalTF
신호를 계산할 타임프레임을 설정합니다.
EA가 부착된 차트의 타임프레임과 별도로 지정할 수 있습니다.
InpDonchianLenV1 / InpDonchianLenV2
각 전략 모드에서 Donchian Channel 계산에 사용할 기간을 설정합니다.
기간이 짧을수록 최근 가격 변화에 민감하게 반응할 수 있습니다.
기간이 길수록 더 넓은 가격 범위를 기준으로 돌파를 판단합니다.
InpUseCloseBreakout
돌파 판단 기준을 설정합니다.
-
true: 종가 기준 돌파
-
false: 고가 또는 저가 기준 돌파
종가 기준은 봉이 종료된 위치를 중심으로 돌파를 확인합니다.
고가·저가 기준은 봉 내부에서 가격이 채널에 도달했는지를 기준으로 판단합니다.
InpClosedBarOnly
새로운 봉이 생성되었을 때만 신호를 평가할지 설정합니다.
활성화하면 동일 봉에서 신호가 반복 평가되는 것을 줄일 수 있습니다.
[Filters - V1]
InpMomentumPeriod
Momentum 지표 계산 기간을 설정합니다.
InpMomentumAvgLookback
현재 Momentum 값을 비교할 과거 평균 계산 구간을 설정합니다.
매수 신호에서는 현재 Momentum이 과거 평균보다 높은지를 확인합니다.
매도 신호에서는 현재 Momentum이 과거 평균보다 낮은지를 확인합니다.
InpADXPeriod
ADX 지표 계산 기간을 설정합니다.
InpADXMinV1
V1 모드에서 요구되는 최소 ADX 값을 설정합니다.
값을 높이면 강한 추세 구간만 선택할 수 있지만 거래 신호 수가 감소할 수 있습니다.
[Filters - V2]
InpMACDFast
MACD의 빠른 EMA 기간을 설정합니다.
InpMACDSlow
MACD의 느린 EMA 기간을 설정합니다.
InpMACDSignal
MACD 시그널 라인 기간을 설정합니다.
InpUseMACDAccel
MACD 히스토그램의 방향뿐 아니라 연속적인 증가 또는 감소도 확인할지 설정합니다.
활성화하면 추세 가속 조건이 추가됩니다.
InpOBVSlopeLookback
OBV 기울기를 계산할 과거 구간을 설정합니다.
InpMinOBVSlopePoints
OBV 기울기에 요구되는 최소 강도를 설정합니다.
0으로 설정하면 OBV의 방향만 확인합니다.
InpUseADXinV2
V2 모드에서 ADX 필터를 추가로 사용할지 설정합니다.
InpADXMinV2
V2 모드에서 요구되는 최소 ADX 값을 설정합니다.
[Risk / Exit]
InpRR_TP
초기 손절 거리 대비 목표 청산 거리의 비율을 설정합니다.
예를 들어 2.0으로 설정하면 초기 손절 거리의 약 2배 위치에 목표가를 계산합니다.
InpV1_UseSwingSL
V1 모드에서 일정 수익 조건이 충족된 후 Swing 기반 손절가 전환 기능을 사용할지 설정합니다.
InpSwingLookback
Swing 고점 또는 저점을 검색할 과거 봉의 개수를 설정합니다.
InpATRPeriod
초기 손절 거리와 ADX 트레일링 계산에 사용할 ATR 기간을 설정합니다.
InpATRMultV1
V1 모드의 초기 손절 거리를 계산할 ATR 배수를 설정합니다.
InpMinSL_Points
초기 손절가에 적용할 최소 가격 거리를 포인트 단위로 설정합니다.
InpSLSwitchAtRR
현재 수익이 초기 위험 거리의 몇 배에 도달했을 때 Swing 손절 전환을 평가할지 설정합니다.
InpEnableADXTrail
ADX 및 ATR 기반 트레일링 스톱 사용 여부를 설정합니다.
InpADXTrailStart
ADX 값이 이 기준 이상일 때 트레일링 조건을 평가합니다.
InpADXTrailStepATR
현재 가격과 손절가 사이의 거리를 계산할 ATR 배수를 설정합니다.
InpOnePositionOnly
동일한 심볼과 매직 넘버에서 하나의 포지션만 유지하도록 제한합니다.
[Trailing Stop - Pips]
InpEnablePipsTrailing
핍 단위 고정형 트레일링 스톱 사용 여부를 설정합니다.
기본값은 false입니다.
기능을 사용하려면 true로 변경해야 합니다.
InpTrailingStartPips
포지션 수익이 몇 핍에 도달했을 때 트레일링 스톱을 시작할지 설정합니다.
예를 들어 100으로 설정하면 포지션이 약 100핍의 수익 구간에 진입한 후 손절가 이동을 평가합니다.
InpTrailingDistancePips
현재 시장 가격과 손절가 사이에 유지할 거리를 핍 단위로 설정합니다.
매수 포지션은 현재 Bid 가격 아래에 손절가가 계산됩니다.
매도 포지션은 현재 Ask 가격 위에 손절가가 계산됩니다.
InpTrailingStepPips
기존 손절가보다 최소 몇 핍 이상 유리한 위치로 이동할 수 있을 때 손절가를 변경할지 설정합니다.
값이 작으면 손절가가 자주 수정될 수 있습니다.
값이 크면 가격이 충분히 이동했을 때만 손절가를 변경합니다.
핍 계산 방식
EA는 심볼의 소수점 자릿수와 최소 틱 크기를 확인하여 핍 크기를 계산합니다.
일반적인 3자리 및 5자리 가격 형식에서는 10포인트를 1핍으로 처리합니다.
그 외 가격 형식에서는 심볼 포인트를 기준으로 계산하며, 브로커의 최소 체결 틱보다 작은 값은 사용하지 않습니다.
브로커마다 GOLD 및 기타 CFD 심볼의 가격 표시 방식이 다를 수 있으므로 실제 적용 전에 데모 계좌에서 손절 이동 거리를 확인하는 것이 권장됩니다.
6. 손절 관리 기능의 동작 관계
본 EA에는 다음과 같은 손절 관리 기능이 포함되어 있습니다.
-
Swing 기반 손절 전환
-
ADX 및 ATR 기반 트레일링
-
핍 단위 고정형 트레일링
각 기능이 활성화된 경우 동일한 포지션의 손절가를 평가할 수 있습니다.
손절가는 기존 위치보다 포지션에 유리한 방향으로 이동하는 경우에만 변경됩니다.
-
매수 포지션: 기존 손절가보다 높은 위치로만 이동
-
매도 포지션: 기존 손절가보다 낮은 위치로만 이동
손절가는 손실 방향으로 다시 넓어지지 않습니다.
여러 손절 관리 기능을 동시에 사용할 경우 시장 상황과 설정값에 따라 먼저 더 유리한 손절가를 제시하는 기능이 포지션의 손절 위치에 영향을 줄 수 있습니다.
각 기능의 영향을 분리하여 확인하려면 테스트 시 한 번에 하나의 트레일링 기능만 활성화하는 방법을 사용할 수 있습니다.
7. 사용 시 유의사항
본 제품은 학습 및 연구 목적의 무료 배포용입니다.
실제 계좌에 적용하기 전에 전략 테스터와 데모 계좌에서 충분히 확인하는 것이 권장됩니다.
다음 조건에 따라 거래 결과가 달라질 수 있습니다.
-
브로커의 심볼명
-
가격 소수점 자릿수
-
최소 틱 크기
-
최소 손절 거리
-
스프레드
-
슬리피지
-
서버 시간
-
거래량 제한
-
체결 방식
-
거래 수수료
-
스왑
-
시장 변동성
시간 필터는 브로커 서버 시간을 기준으로 작동하므로 런던 및 뉴욕 개장 시간과 차이가 발생할 수 있습니다.
InpSymbol에 입력한 심볼이 존재하지 않으면 현재 차트 심볼이 사용될 수 있으므로 EA 실행 전 저널과 심볼 설정을 확인해야 합니다.
핍 단위는 브로커의 가격 표시 방식에 따라 실제 가격 거리로 변환됩니다. 동일한 숫자라도 서로 다른 브로커에서 가격 거리와 금액 효과가 다를 수 있습니다.
사용자는 본인의 판단과 책임에 따라 설정값을 조정해야 합니다.
8. 기술적 제한 및 규정 준수
본 제품은 MetaTrader 5에서 작동하도록 제작되었습니다.
제품 배포 시 MetaTrader 5용 컴파일 파일이 제공됩니다.
다음 기능은 포함하지 않습니다.
-
외부 DLL 호출
-
WebRequest
-
외부 서버 통신
-
원격 제어 기능
-
사용자 개인정보 수집
-
제3자 결제 시스템
-
외부 인증 시스템
-
외부 메신저 연결
-
광고 기능
-
기능이 제한된 별도 데모 버전
EA의 모든 신호 계산, 포지션 확인 및 손절 관리는 MetaTrader 5 플랫폼 내부 기능을 사용하여 실행됩니다.
9. 지원 및 문의
제품 관련 문의, 사용 방법 및 기능 제안은 MQL5.com 제품 페이지의 댓글 기능을 통해 남겨주시기 바랍니다.
문의 시 다음 정보를 함께 제공하면 문제 확인에 도움이 될 수 있습니다.
-
사용한 심볼명
-
사용한 타임프레임
-
브로커 가격 자릿수
-
입력 파라미터
-
Experts 또는 Journal 로그
-
문제 발생 시간
-
오류 메시지
마무리 안내
NEXA Donchian Break는 자동매매 전략의 구조를 이해하고, 파라미터 설계와 필터 조합의 영향을 직접 관찰하기 위한 학습용 Expert Advisor입니다.
사용자는 두 가지 Donchian 돌파 전략 모드를 비교하고 다음 요소의 관계를 분석할 수 있습니다.
-
가격 돌파
-
Momentum
-
ADX
-
MACD
-
OBV
-
ATR 손절
-
Swing 손절
-
ADX 기반 트레일링
-
핍 단위 트레일링 스톱
-
거래 시간 필터
각 기능과 입력값을 변경하면서 거래 신호 수, 손절 위치, 포지션 유지 시간 및 청산 방식의 차이를 직접 확인해 보시기 바랍니다.
