Delphi Regression EA
- Experts
- 버전: 1.0
Delphi Regression EA — 멀티 전략 적응형 선형 회귀 시스템
개요
Delphi Regression EA는 마감된 봉을 기준으로 롤링 선형 회귀 채널을 구축하고, 평균 회귀, 추세 지속, 기울기 반전이라는 세 가지 독립적으로 선택 가능한 전략을 사용하여 채널로부터의 가격 이탈을 거래합니다. 포지션 크기는 계좌 자본 대비 리스크 비율을 기반으로 하며, 손절은 ATR에서 파생되고, 각 최적화 패스는 순이익이 아닌 커스텀 자산 곡선 품질 점수로 순위가 매겨집니다. 이를 통해 최적화 도구는 운 좋게 과적합된 결과보다 견고하고 반복 가능한 동작을 우선시하게 됩니다.
작동 방식
- 새로운 봉이 생성될 때마다 최근 N개의 마감된 봉을 기준으로 선형 회귀가 계산되어 중심선, 기울기, R제곱, 잔차 표준편차가 산출됩니다.
- 중심선 양쪽에 잔차 표준편차의 단계적 배수로 여러 진입 단계(티어)가 배치됩니다.
- 평균 회귀는 티어에 닿았을 때 가격이 중심으로 돌아가는 방향으로 역추세 거래를 합니다. 추세 지속은 R제곱이 실제 추세를 확인할 때 기울기 방향으로 순추세 거래를 합니다. 기울기 반전은 회귀 기울기의 부호가 바뀔 때 포지션을 엽니다.
- 각 티어는 가격이 중심 방향으로 일부 되돌림할 때마다 독립적으로 재무장되어, 한 번의 스윙에서 여러 번 진입이 가능합니다.
- 청산은 봉 마감 시 중심선으로의 복귀 또는 브로커 측 TP/SL 중 하나이며, 진입과 독립적으로 선택할 수 있습니다.
- 진입 및 청산 실행 방식은 각각 Open Price 안전 모드(마감된 봉 데이터만으로 판단)와 1분 OHLC 이상이 필요한 브로커 체결 모드 사이에서 전환할 수 있습니다.
파라미터
일반
- Magic_Number — 이 EA 거래의 고유 식별자
- Trade_Comment — 모든 주문에 첨부되는 코멘트 태그
회귀
- LR_Period — 회귀선 계산에 사용되는 마감된 봉의 개수
- LR_TierStep — 잔차 표준편차 단위로 표현된 진입 단계 간 거리
- LR_TierCount — 중심선 양쪽에 배치되는 스케일링 단계의 수
- LR_TierRearmFrac — 해당 단계가 다시 발동하기 전에 가격이 되돌려야 하는 단계 폭의 비율
- Filter_UseR2Gate — R제곱 구간을 기준으로 진입을 필터링할지 여부
- LR_MinR2ForEntry — 필터가 활성화된 경우 진입에 필요한 최소 R제곱값
- LR_MaxR2ForEntry — 필터가 활성화된 경우 진입에 허용되는 최대 R제곱값
전략 선택
- Strat_MeanReversion — 단계별 중심 회귀 전략 활성화
- Strat_TrendContinuation — 단계 돌파 시 기울기 방향으로 거래하는 전략 활성화
- Trend_MinR2 — 추세 지속 신호가 발동하는 데 필요한 최소 R제곱값
- Strat_SlopeReversal — 회귀 기울기 부호 반전 시 진입 활성화
- SlopeRev_MinAbsSlope — 반전 신호 발동에 필요한 최소 기울기 절대값
신호 모드
- Entry_Mode — 마감된 봉 데이터 기반의 Open Price 안전 시장가 진입, 또는 1분 OHLC 이상이 필요한 봉 내 예약 주문
- Exit_Mode — 봉 마감 시 Open Price 안전 청산, 또는 1분 OHLC 이상이 필요한 브로커 측 TP/SL
- Pending_ExpiryBars — 체결되지 않은 예약 주문이 자동 삭제되기까지의 봉 수
리스크
- Risk_PercentPerTrade — 거래당 리스크에 노출되는 계좌 자본 비율
- Risk_ATR_SL_Mult — ATR 배수로 표현된 손절 거리
- Risk_ATR_Period — ATR 계산에 사용되는 기간
- Risk_MaxConcurrentTrades — 이 EA의 동시 보유 포지션 최대 개수
필터
- Filter_MaxSpreadPoints — 진입을 건너뛰기 전 허용되는 최대 스프레드(포인트 단위)
최적화 점수
- Score_MinProfitFactor — 이 손익비 미만의 최적화 패스를 실격 처리
- Score_MaxDrawdownPct — 이 드로다운 비율을 초과하는 패스를 실격 처리
- Score_MinTrades — 이 거래 수 미만인 패스를 실격 처리
- Score_R2Weight — 자산 곡선의 매끄러움에 부여되는 가중치
- Score_SlopeWeight — 수익 속도에 부여되는 가중치
- Score_SplitPenalty — 자산 곡선 전반부와 후반부 R제곱 차이에 대한 페널티
- Score_SkewPenalty — 단일 거래에 수익이 집중되는 것에 대한 페널티
- Score_UlcerPenalty — Ulcer 지수(드로다운 깊이 및 지속 시간) 기반 페널티
- Score_MARWeight — MAR 비율(순이익 비율을 최대 드로다운 비율로 나눈 값)에 부여되는 가중치
- Score_TradeBonusWeight — 거래 수에 대한 체감 보너스에 부여되는 가중치
최적화 점수 시스템
이 EA는 과적합되기 쉬운 고수익 패스가 아닌 매끄럽고 안정적인 자산 곡선에 보상을 주도록 설계된 커스텀 OnTester 점수 함수를 탑재하고 있습니다. 순이익이 음수이거나, 손익비가 부족하거나, 드로다운이 과도하거나, 거래 수가 너무 적은 패스를 실격 처리한 후, 남은 패스를 자산 곡선의 매끄러움, 수익 속도, 시간적 안정성, 자본 효율성, 거래 수 신뢰성 기준으로 순위를 매기며, 단일 거래 수익 집중과 드로다운 고통에 페널티를 부여합니다. 이를 활성화하려면 MT5 최적화 기준을 Custom max로 설정하십시오.
권장 설정
표시된 스크린샷은 최대 실행 정확도를 위해 Every Tick 모드에서 테스트된 XAUUSD, M30 기준입니다. 회귀 기반 로직은 이 종목이나 타임프레임에 국한되지 않습니다. 다른 외환 페어, 금속, 지수 및 다른 타임프레임도 선택한 종목에서 Custom max 기준으로 최적화 도구를 다시 실행하여 독립적으로 최적화할 수 있습니다.
스크린샷
XAUUSD M30, Every Tick 모드에서의 실시간 백테스트 예시 및 권장 파라미터 설정.
면책 조항
과거 백테스트 성과는 미래 결과를 보장하지 않습니다. 실거래 배포 전 항상 데모 계좌에서 포워드 테스트를 수행하십시오. 거래에는 손실 위험이 따릅니다.
