Trebuchet Bracket Engine
- Experts
- 버전: 1.0
- 활성화: 5
Trebuchet Bracket Engine은 일일 변동폭 확장 돌파를 거래하는 MetaTrader 4 전문가 어드바이저입니다. 앵커 시각(기본값: 일 시가)에 최근 N일 변동폭을 측정하고, 앵커 위에 buy stop, 아래에 sell stop을 K x 변동폭 거리에 두며, 손절은 앵커에 두고 일일 청산 시각에 모두 청산합니다. 하루에 방향별 최대 1회 거래; 그리드, 마틴게일, 물타기, 오버나이트 보유가 없습니다(일일 청산을 끄지 않는 한).
빠른 시작
- 심볼의 차트 하나에 EA를 붙이고(타임프레임 무관; 로직은 일봉과 시계를 사용) AutoTrading과 "Allow live trading"을 켭니다.
- 기본값으로 시작하세요: 4일 Dual Thrust 변동폭, 트리거 0.50 x 변동폭, 손절은 앵커, 서버 시간 21:00 진입 마감, 22:00 일일 청산, 리스크 1 %.
- 앵커 이후 패널에 BRACKET ARMED가 표시되고 buy stop과 sell stop 두 대기 주문이 생깁니다.
- 확인: 전략 테스터에서 XAUUSD M15를 2주간 비주얼 모드로 돌리면 모든 브래킷과 거래가 그려집니다.
- 푸시 알림: MetaQuotes ID를 설정(도구 > 옵션 > 알림)하고 Push Notifications = true.
거래 방식
변동폭: Range Basis가 Dual Thrust (max of HH-LC, HC-LL)이면 오늘 이전의 완성된 N일(Range Lookback)을 사용합니다. HH/LL은 그 최고가와 최저가, HC/LC는 최고와 최저 종가, 변동폭 = HH-LC와 HC-LL 중 큰 값. Average daily range = 그 날들의 고가-저가 평균; Previous day range = 어제의 고가-저가.
앵커: Anchor Time에 앵커 가격을 고정합니다. 00:00은 일봉 시가(서버일 첫 틱). 다른 시각은 그 시각 이후 첫 봉의 시가.
트리거: 매수 트리거 = 앵커 + Buy Trigger Distance x 변동폭, 매도 트리거 = 앵커 - Sell Trigger Distance x 변동폭. 변동폭 / 일봉 ATR(Daily ATR Period)이 Minimum Range 미만이거나 Maximum Range 초과면 그날 브래킷이 없습니다(RANGE TOO NARROW / RANGE TOO WIDE).
Entry Orders:
- Pending stop orders: 앵커 직후 buy stop과 sell stop을 둡니다. 트리거가 브로커 스톱 레벨보다 가까우면 그 방향은 EA가 직접 감시하다 시장가로 진입합니다(VIRTUAL).
- Market order on touch: 대기 주문 없음; Ask가 매수 트리거에 닿으면 매수, Bid가 매도 트리거에 닿으면 매도(스프레드가 Max Spread for Market Entries 초과 시 건너뜀).
브래킷 설정 시 트리거를 이미 넘은 방향(예: 재시작 후)은 MISSED가 되며 추격하지 않습니다. 각 방향은 하루 최대 1회, Max Trades per Day가 합계를 제한합니다. Cancel the Opposite Order on Fill은 한쪽 체결 시 다른 쪽을 삭제합니다.
Stop Loss Placement:
- At the anchor: 손절은 앵커 가격.
- At the opposite trigger (stop and reverse): 매수 손절은 매도 트리거, 매도 손절은 매수 트리거에 두어 거짓 돌파가 반대 방향으로 전환될 수 있습니다.
- Range fraction from entry: 진입가에서(매도는 더해서) Stop Distance for Range Fraction x 변동폭.
필요 시 손절은 브로커 최소 거리로 넓힙니다.
청산: Take Profit은 손절 거리의 그 R 배수에 목표를 둡니다(0 = 목표 없음). Breakeven Trigger는 이익이 그 R에 도달하면 손절을 진입가로 옮깁니다. Entry Cutoff에 대기 주문을 모두 삭제하고, Day Exit Time에 EA 포지션을 모두 청산하며 이전 서버일의 포지션은 즉시 청산합니다(비우면 오버나이트 보유). 청산, 삭제, 손절 변경은 프리즈 거리 밖, 거래 세션 안에서만 보내고 아니면 재시도합니다.
Lot Sizing: Fixed lots는 Fixed Lots로 거래. Risk % of balance: 랏 = 잔고 x Risk per Trade / 100 / 손절까지 랏당 손실, 스텝으로 내림하고 Max Lots로 제한. 브로커 최소 미만이면 최소 랏을 사용하므로 소액 계좌나 일일 변동폭이 큰 금은 설정 %보다 더 많은 위험을 질 수 있습니다. 매 주문 전 여유 증거금을 확인합니다(NO MARGIN).
권장: XAUUSD와 GBPUSD. EURUSD 같은 저변동 통화쌍은 기본값에서 결과가 약했습니다. 시각은 브로커 서버 시간(GMT+2/+3 서버 기준). 최적화 대상: Range Lookback, 두 트리거 거리, Stop Loss Placement, Day Exit Time, Maximum Range.
패널 조작
- [-] / [+]: 알약 형태(TREBUCHET과 상태)로 접기 또는 펼치기.
- <>: 패널을 다음 차트 모서리로 이동.
- PAUSE / RESUME: PAUSE는 대기 주문을 삭제하고 신규 진입을 막습니다(열린 포지션은 계속 관리); RESUME은 오늘 브래킷이 유효하면 다시 둡니다. 전역 변수에 저장되어 재시작 후에도 유지됩니다.
- BRACKET ON / BRACKET OFF: 차트 선 표시/숨김.
- CLOSE ALL: 첫 클릭에 CONFIRM? 표시, 4초 안에 두 번째 클릭하면 심볼의 EA 포지션을 모두 청산하고 대기 주문을 모두 삭제.
접기, 모서리, 선은 EA를 다시 붙이면 입력값으로 돌아갑니다.
패널 표시
- 헤더 LED: 브래킷 활성 또는 거래 중이면 녹색, 일시 정지면 호박색, 그 외 회색.
- DAY STATE: 배지 WAITING FOR ANCHOR, BRACKET ARMED, LONG LIVE, SHORT LIVE, PAUSED, DAY QUOTA USED, DAY DONE(진입 마감 후), BRACKET SPENT(양쪽 사용), RANGE TOO NARROW, RANGE TOO WIDE 또는 NO DAILY HISTORY; 날짜; ANCHOR 시각과 가격; CUTOFF와 EXIT 시각.
- RANGE ENGINE: 기간과 기준; RANGE 값과 두 K; HH, LL, HC, LC; 변동폭 / ATR 0~3 막대(두 한도에 눈금); 비율, 한도, OK 또는 사유.
- BRACKET: 매도 트리거(코랄), 앵커(브론즈), 매수 트리거(틸) 게이지; 마커는 Bid를 보여주며 트리거를 넘으면 색이 바뀝니다. 아래: SELL, ANCHOR, BUY 가격과 각 트리거까지의 포인트 거리. 오른쪽: STOP AT ANCHOR, STOP+REVERSE 또는 STOP x.xxR과 R 단위 목표.
- 방향 줄 LONG과 SHORT: READY, BUY STOP AT / SELL STOP AT 가격, WATCHING 가격 (VIRTUAL), FILLED - IN TRADE, TRADED TODAY, MISSED: PRICE ALREADY BEYOND, SKIPPED: NO MARGIN 또는 ORDER FAILED, CANCELLED: OCO, CUTOFF, QUOTA, PAUSED, MANUAL 또는 NEW DAY, NO BRACKET TODAY.
- POSITION: FLAT, 또는 방향, 랏, 진입가, 미실현 손익; SL, TP, R, BE(본전 손절이면 [x]). 무포지션 시 TODAY 거래 수 / 최대와 DAY P/L, 또는 NEW ENTRIES PAUSED.
- ACTIVITY: 최근 3개 이벤트와 시각: BRACKET, NO BRACKET, BUY STOP / SELL STOP 주문, BUY FILLED / SELL FILLED, STOP CANCELLED, MISSED, SKIPPED, ORDER FAILED, BREAKEVEN, CLOSED(일일 청산, 전일, 수동), CLOSE ALL, PAUSED by user, RESUMED by user.
- 하단: 심볼에서 EA의 TRADES, WIN %, NET 확정 손익.
차트 선
앵커부터 일일 청산까지: 틸색 BUY TRIGGER 선, 코랄색 SELL TRIGGER 선, 브론즈 점선 ANCHOR(오늘은 라벨 표시); Past Days Drawn on Chart 일의 과거 브래킷은 가는 선(필터 시 회색). H4 이하 타임프레임에서 표시.
알림
Pop-up Alerts와 Push Notifications는 앵커에서 브래킷 설정, 각 체결, 각 청산 때 알립니다. 전략 테스터에서는 알리지 않습니다.
부수 효과
- 일시 정지 중 전역 변수 TBE_PAUSE_<심볼>_<magic> = 1.
- 접두사 TBE_P_(패널)와 TBE_Z_(선) 차트 객체는 EA와 함께 제거. 1초 타이머. 파일, DLL 없음.
bool paused = GlobalVariableCheck("TBE_PAUSE_XAUUSD_26110901"); 입력 매개변수
Range Engine
- Range Lookback(4일), Range Basis(Dual Thrust (max of HH-LC, HC-LL); 또는 Average daily range, Previous day range).
- Buy Trigger Distance(0.50)와 Sell Trigger Distance(0.50): x 변동폭.
- Daily ATR Period(14일), Minimum Range(0.0 x ATR, 0 = 꺼짐), Maximum Range(2.5 x ATR, 0 = 꺼짐).
일정
- Anchor Time(00:00 = 일 시가), Entry Cutoff(21:00), Day Exit Time(22:00, 비우면 꺼짐): 서버 시간, 앵커는 진입 마감 전, 진입 마감은 청산 이후가 아님.
주문과 청산
- Entry Orders(Pending stop orders; 또는 Market order on touch).
- Stop Loss Placement(At the anchor; At the opposite trigger (stop and reverse); Range fraction from entry), Stop Distance for Range Fraction(0.30 x 변동폭).
- Take Profit(0.0 R = 일일 청산만), Breakeven Trigger(0.0 R = 꺼짐).
- Max Trades per Day(2), Cancel the Opposite Order on Fill(false).
자금 관리
- Lot Sizing(Risk % of balance; 또는 Fixed lots), Fixed Lots(0.10), Risk per Trade(1.0 %), Max Lots(5.0).
- Max Spread for Market Entries(0 포인트 = 꺼짐).
실행
- Magic Number(26110901, 같은 심볼 차트마다 다른 값), Max Slippage(30 포인트), Order Comment(Trebuchet).
표시와 알림
- Show Panel(true), Draw Bracket Levels(true), Past Days Drawn on Chart(5), Start Collapsed(false), Panel Scale(1.0, 0.5-2.5).
- Pop-up Alerts(true), Push Notifications(false).
대표 설정
- 클래식 일일 브래킷(XAUUSD, GBPUSD): 기본값.
- 손절 후 반전: Stop Loss Placement = At the opposite trigger (stop and reverse), Max Trades per Day 2.
- 런던 브래킷: Anchor Time 08:00, Entry Cutoff 16:00, Day Exit Time 21:00, Range Basis = Average daily range, 두 트리거 거리 0.40.
- 목표와 보호: Take Profit 2.0, Breakeven Trigger 1.0, Cancel the Opposite Order on Fill true.
참고
- 재시작 후 브래킷은 일봉으로 재구성되며, 기존 주문은 방향을 유지하고 넘어간 트리거는 추격하지 않습니다.
- 대기 주문은 다음 날로 넘어가지 않습니다.
- Day Exit Time을 비우는 것은 Take Profit이 0보다 클 때만 허용됩니다. 그렇지 않으면 거래가 손절에서만 청산될 수 있습니다.
- 전략 테스터도 같은 규칙; 패널과 선은 비주얼 모드에서만 보입니다. 먼저 데모 계좌에서 테스트하세요.
위험 고지
증거금을 이용한 외환 및 CFD 거래는 손실 위험이 큽니다. 과거 또는 시뮬레이션 결과는 미래 결과를 보장하지 않습니다. 이 EA는 수익을 약속하지 않으며, 잃어도 괜찮은 자금만 사용하세요.
