Recoil Retrace Engine
- Experts
- 버전: 1.1
- 업데이트됨: 31 10월 2026
- 활성화: 5
Recoil Retrace Engine은 강한 움직임 이후의 되돌림을 거래하는 MetaTrader 4 전문가 어드바이저(EA)입니다. 확정된 스윙에서 ATR의 몇 배만큼 진행한 임펄스 레그를 찾고, 가격이 되돌림 구간(기본 38.2-61.8 %)으로 돌아오기를 기다린 뒤 레그 방향으로 진입하여 레그 극값에서 일부 익절하고 나머지는 확장 목표까지 보유합니다. 심볼과 magic number당 포지션은 하나이며 그리드, 마틴게일, 물타기, 헤지는 사용하지 않습니다.
빠른 시작
- EA를 차트 하나에 적용하고(H1 권장, H4와 D1도 가능) AutoTrading과 "Allow live trading"을 켭니다.
- 처음에는 기본값을 사용하세요: 구간 38.2-61.8, Entry Trigger = Rejection close, 거래당 위험 1 %.
- 패널은 유효한 레그가 나올 때까지 SCANNING, 이후 ARMED, IN POCKET, IN TRADE를 표시합니다.
- 빠른 확인: EURUSD H1에서 두 달간 비주얼 모드 전략 테스터를 실행하면 모든 레그, 구간, 목표가 그려집니다.
- 푸시: 도구 > 옵션 > 알림에 MetaQuotes ID를 입력하고 Push Notifications = true로 설정합니다.
거래 방식
레그: 스윙 저점(고점)은 저가(고가)가 양쪽 Swing Strength개 봉을 넘어서는 봉이며, 그 봉들이 마감되면 확정됩니다. 매수 레그의 기점은 Swing Lookback개 봉 안에서 마지막으로 확정된 스윙 저점이고, 극값은 그 이후의 최고가입니다(매도는 반대). 레그가 Min Impulse Size x ATR(ATR Period, 마지막 마감 봉) 이상이고 Max Impulse Bars개 봉 이내에 형성되면 유효합니다. 양쪽 모두 유효하면 더 큰 레그를 택합니다. 이미 거래한 레그는 다시 무장되지 않습니다.
추세 필터: Higher-Timeframe Trend Filter가 켜지면 Trend Timeframe의 마지막 마감 봉이 EMA(Trend EMA Period) 위에서 마감할 때만 매수, 아래일 때만 매도를 허용합니다. Current = next higher: M1은 M5, M5는 M15, M15는 H1, M30과 H1은 H4, H4는 D1, D1은 W1, W1과 MN1은 MN1. 해당 시간대 이력이 부족하면 필터는 중립입니다.
되돌림: 극값(0 %)에서 기점(100 %)까지 측정합니다. 구간은 Pocket Near Edge와 Pocket Far Edge 사이입니다. 진입 전에 새 극값이 나오면 레그가 연장되고 구간이 이동합니다. 봉이 Invalidation Level 너머에서 마감하면 셋업은 INVALIDATED, 극값 이후 Setup Expiry개를 넘는 봉이 마감하면 EXPIRED가 됩니다.
Entry Trigger:
- Rejection close: 마감된 봉이 구간에 들어왔고, 레그 방향으로 마감했으며(매수는 양봉), Pocket Far Edge를 넘지 않고, 범위 중 구간에서 먼 절반에서 마감한 경우. 다음 봉 시가에 시장가 주문. 그 순간 GATE가 닫혀 있으면(예: 세션이 늦게 열림) 그 봉이 끝날 때까지 재시도합니다.
- Pocket touch: 가격이 Pocket Near Edge에 닿는 즉시 시장가 주문. 가장 빠르며 확인 없음.
- Resume break: 구간에 닿은 봉 이후 Ask가 그 봉의 고가를 돌파하면 매수(Bid가 저가를 하향 돌파하면 매도). 새로 닿는 봉마다 트리거가 이동합니다.
TP1까지의 거리가 Min Reward:Risk to TP1 x 손절 거리보다 작으면 건너뛰고(SKIPPED: reward:risk, 이후 봉에서 재시도), TP2가 브로커 최소 손절 거리보다 가까우면 건너뛰며(SKIPPED: target too close), GATE가 OPEN이 아닐 때도 진입하지 않습니다.
청산:
- Stop Loss Placement: Beyond invalidation level(매수는 Invalidation Level에서 Stop Buffer x ATR을 뺌, 매도는 더함) 또는 Beyond leg origin(기점에서 같은 버퍼). 필요하면 브로커 최소 거리로 넓힙니다.
- TP1은 레그 극값입니다. 여기서 랏의 TP1 Partial Close %를 청산합니다(랏 단위로 내림). 일부나 잔량이 최소 랏보다 작아지면 아무것도 청산하지 않습니다(TP1 REACHED (no split)). 100은 전량 청산(TP1 FULL EXIT), 0은 청산 없음.
- Breakeven at TP1은 이후 손절을 진입가로 옮깁니다.
- TP2 = 극값 + 레그의 TP2 Extension %, 주문의 이익실현으로 설정. 0이면 TP2는 극값.
- Trail After TP1: TP1 이후 새 봉마다 손절을 직전 종가 - 값 x ATR(매수)로 옮기며, 조이기만 합니다.
- Max Bars Before TP1: 그 봉 수 안에 TP1에 도달하지 못하면 시장가 청산(TIME STOP).
- 청산과 손절 변경은 브로커 동결 거리 밖이면서 심볼 거래 세션 중에만 전송하고, 그렇지 않으면 다음 틱에서 재시도합니다.
Lot Sizing: Fixed lots는 Fixed Lots로 거래합니다. Risk % of balance: 랏 = 잔고 x Risk per Trade / 100 / 손절 시 랏당 손실. 랏 단위로 내림하고 Max Lots로 제한합니다. 브로커 최소보다 작으면 최소 랏을 쓰므로 소액 계좌는 설정보다 큰 위험을 질 수 있습니다. 주문 전 여유 증거금을 확인하고 맞을 때까지 수량을 절반으로 줄입니다(최소도 안 되면 NO MARGIN).
권장: 주요 통화쌍과 금의 H1. H4와 D1은 거래가 적습니다. M15 이하에서는 스프레드가 ATR에 비해 커서 Max Spread가 대부분의 진입을 막습니다. 최적화할 만한 값: Min Impulse Size, Swing Strength, 구간 양 끝, Entry Trigger, Min Reward:Risk to TP1, Trail After TP1.
패널 조작
- [-] / [+]: 패널을 알약 모양(RECOIL과 상태)으로 접거나 펼칩니다.
- <>: 패널을 다음 모서리로 이동(왼쪽 위, 오른쪽 위, 오른쪽 아래, 왼쪽 아래).
- PAUSE / RESUME: 신규 진입을 멈추거나 허용합니다. 열린 거래는 계속 관리됩니다. 전역 변수에 저장되어 재시작, 시간대 변경, 재적용 후에도 유지됩니다.
- ZONES ON / ZONES OFF: 차트 표시를 보이거나 숨깁니다. 접힘, 모서리, 표시는 EA를 다시 적용하면 입력값으로 돌아갑니다.
패널 표시
- 헤더 LED: 초록 = GATE OPEN, 호박색 = PAUSED, 코랄 = 진입 차단.
- ENGINE STATE: 배지 SCANNING(레그 없음), ARMED(레그 발견, 되돌림 대기), IN POCKET(가격이 구간에 닿음, 트리거 대기), IN TRADE. 오른쪽: BUY SIDE, SELL SIDE 또는 NO LEG. TREND: 시간대, EMA 기간과 BULL, BEAR, NEUTRAL 또는 OFF. GATE: OPEN, PAUSED, ALGO TRADING OFF, MARKET CLOSED, OUT OF SESSION 또는 SPREAD HIGH.
- RECOIL GAUGE: DEPTH는 현재 되돌림 비율(%)입니다. 표시기는 가까운 끝까지 청록, 구간은 호박색, 무효화 수준까지 짙은 호박색, 그 너머는 코랄인 트랙 위를 움직입니다. LEG는 레그 크기(ATR)와 봉 수. 레그가 없으면 WAITING FOR AN IMPULSE.
- LEVELS: TP2, TP1, POCKET(가격 범위), INVALID, STOP과 Bid로부터의 거리(pts). 거래 중에는 TP2와 STOP을 주문에서 가져오고, TP1은 처리 후 DONE을 표시합니다.
- POSITION: FLAT 또는 방향, 랏, 진입가, 계좌 통화 평가손익. 단계 TP1 PENDING, TRAILING 또는 RUNNER. 거래 중 포인트와 봉 수. 포지션이 없으면 WAITING FOR SETUP 또는 NEW ENTRIES PAUSED.
- ACTIVITY: 서버 시간과 함께 최근 세 이벤트: ARMED, IN POCKET, INVALIDATED, EXPIRED, ENTRY, TP1 PARTIAL, TP1 FULL EXIT, TP1 REACHED (no split), BREAKEVEN, TIME STOP, CLOSED, ORDER FAILED, NO MARGIN, SKIPPED: reward:risk, SKIPPED: target too close, PAUSED by user, RESUMED by user.
- 하단 줄: TRADES(청산된 거래, 부분 청산은 한 번만 계산), WIN 비율, 스왑과 수수료를 포함한 NET 확정 손익. 이 심볼과 magic number만 집계.
차트 표시
레그 선(매수는 청록, 매도는 코랄)이 ORIGIN에서 극값까지 이어집니다. 가까운 끝에 점선이 있는 호박색 상자가 POCKET, 코랄 파선이 INVALID, 초록 점선이 TP1 EXTREME, 초록 일점쇄선이 TP2 +27.2(설정한 확장값)를 나타냅니다. 셋업 만료까지 이어지며 캔들 뒤에 그려집니다.
알림
Pop-up Alerts와 Push Notifications는 셋업이 ARMED일 때, ENTRY 시, TP1 도달 시, 거래가 CLOSED일 때 발생합니다. 전략 테스터에서는 보내지 않습니다.
부수 효과
- 전역 변수 RRE_PAUSE_<symbol>_<magic> = 1은 일시정지 중.
- 전역 변수 RRE_T1_<symbol>_<magic>_<open time>은 열린 거래의 TP1 가격(대기 중 양수, 처리 후 음수)을 저장하고 청산 후 삭제됩니다. 없으면 TP1은 처리된 것으로 간주: 부분 청산과 본전 이동 없음, 추적 손절은 동작.
- 전역 변수 RRE_LEG_<symbol>_<magic>은 마지막으로 거래한 레그의 기점 시간(매도는 음수)을 저장하여 재시작 후 같은 레그를 두 번 거래하지 않습니다.
- 접두사 RRE_P_(패널)와 RRE_Z_(표시) 차트 객체는 EA와 함께 삭제됩니다. 1초 타이머가 패널을 갱신합니다. 파일, DLL 없음.
bool paused = GlobalVariableCheck("RRE_PAUSE_EURUSD_26103101"); 입력 매개변수
임펄스 레그
- Swing Strength (2): 스윙 양쪽의 봉 수.
- Min Impulse Size (2.0): ATR 기준 최소 레그.
- Max Impulse Bars (20): 기점에서 극값까지 최대 봉 수.
- Swing Lookback (120): 기점을 찾는 봉 수.
- ATR Period (14).
구간과 진입
- Pocket Near Edge (38.2)와 Pocket Far Edge (61.8): 레그 대비 구간(%).
- Invalidation Level (78.6): 이를 넘는 종가는 셋업 취소.
- Entry Trigger (Rejection close): Rejection close, Pocket touch 또는 Resume break.
- Setup Expiry (30): 극값 이후 봉 수.
- Min Reward:Risk to TP1 (0.5): 0 = 끔.
추세 필터
- Higher-Timeframe Trend Filter (true).
- Trend Timeframe (Current = next higher).
- Trend EMA Period (50).
청산
- Stop Loss Placement (Beyond invalidation level): 또는 Beyond leg origin.
- Stop Buffer (0.25): ATR 기준 추가 거리.
- TP1 Partial Close (50): TP1에서 청산하는 비율(%).
- Breakeven at TP1 (true).
- TP2 Extension (27.2): 극값 너머 레그 비율(%).
- Trail After TP1 (1.5): ATR 배수, 0 = 끔.
- Max Bars Before TP1 (0): 0 = 끔.
자금 관리
- Lot Sizing (Risk % of balance): 또는 Fixed lots.
- Fixed Lots (0.10).
- Risk per Trade (1.0): 잔고 대비 %.
- Max Lots (5.0).
필터와 실행
- Max Spread (30): ATR 대비 %, 0 = 끔.
- Session Start Hour (0)와 Session End Hour (0): 신규 진입 서버 시간. 같은 값 = 24시간. 자정을 넘을 수 있음.
- Magic Number (26103101): 같은 심볼의 차트마다 다른 값 사용.
- Max Slippage (30): 포인트.
- Order Comment (Recoil).
표시와 알림
- Show Panel (true), Draw Leg and Pocket (true), Start Collapsed (false), Panel Scale (1.0, 0.5-2.5).
- Pop-up Alerts (true), Push Notifications (false).
대표 설정
- 균형형 H1(주요 통화쌍, 금): 모두 기본값.
- 확인형 금 H1: Entry Trigger = Resume break, Min Impulse Size 2.5, Trail After TP1 2.0.
- 인내형 H4/D1 스윙: Swing Strength 3, Pocket Near Edge 50, Stop Loss Placement = Beyond leg origin, Min Reward:Risk to TP1 0.8.
- 빠른 청산: TP1 Partial Close 100, Max Bars Before TP1 24, Breakeven at TP1 false.
참고
- 재시작 후 셋업은 다음 봉에서 이력으로 다시 구성되며, 열린 거래는 TP1 기록으로 계속 관리됩니다.
- 전략 테스터도 같은 규칙을 사용하며, 패널과 표시는 비주얼 모드에서만 보입니다.
- 먼저 데모 계좌에서 테스트하세요.
위험 고지
증거금을 이용한 외환 및 CFD 거래는 높은 손실 위험을 수반합니다. 과거 또는 시뮬레이션 결과는 미래 결과를 보장하지 않습니다. 이 EA는 수익을 약속하지 않으며, 잃어도 되는 자금만 사용하세요.
