EA Circuit Breaker
- 유틸리티
- 버전: 1.0
- 활성화: 10
대부분의 리스크 관리 도구는 계좌 전체를 주어로 삼기 때문에, 계좌가 한도를 넘으면 아무 잘못도 하지 않은 EA까지 함께 멈춥니다. EA Circuit Breaker는 한 번에 EA 하나만 다룹니다. 그 EA만의 행, 그 EA만의 네 가지 한도, 그 EA만의 결과입니다. 기본값에서는 아무것도 닫히거나 멈추지 않으며, 실계좌에서 스스로 주문을 내는 일도 없습니다.
= EA Circuit Breaker
Account 75584608 Hedging JPY
Today -242056.00 Open 4 / 0.27 lots
NAME TODAY OPEN LIMIT STATE
Trend bot -19200.00 0/0.00 -22725.48 [#####-] WARN
Range bot -61250.00 0/0.00 -22725.48 [######] LOCKED
Swing EA -98335.00 0/0.00 -22725.48 [######] LOCKED
Gold scalper -2300.00 1/0.05 -5302.61 [###---] OK
Grid v3 -8180.00 2/0.20 -8711.43 [######] WARN
News EA -12540.00 1/0.02 -7953.92 [######] LOCKED
Selected Gold scalper magic 1720
Gold scalper Alert only
Daily Total Max pos lots
0.70 0.70 0 0.00
e.g. Mon-Fri 08:00-17:00 Link chart
Chart --
Unlock Reset total
Selected Grid v3 magic 1721
1.15 2.40 0 0.00
Warning: 94% of the daily limit used
= EA Circuit Breaker 4 LOCKED
Grid v3 행은 눈금 여섯 칸이 모두 채워져 있지만 상태는 LOCKED가 아니라 WARN입니다. 눈금은 여섯 단계뿐이라 한도에 가까워지면 반올림되어 채워지고, 상태는 눈금이 아니라 한도 자체로 정해지기 때문이며, 경고 문구에는 실제로 사용한 비율이 정확히 나옵니다. Today는 화면에 보이는 6행을 더한 값보다 큽니다. 이 계좌는 표가 한 번에 보여주는 것보다 많은 EA를 운용하고 있고, Today는 접힌 제목의 LOCKED 개수와 마찬가지로 보이는 행이 아니라 계좌의 모든 EA를 셉니다. 위쪽 세 행은 같은 한도를 보여주지만 Gold scalper만 다릅니다. 위쪽 세 행은 아직 기본값 그대로이며, 어느 행이든 한도를 그 행 자신의 Today 값으로 나누면 항상 같은 잔고 대비 비율이 나옵니다(잔고 자체는 화면에 나오지 않습니다). Max pos와 lots는 둘 다 0인데, 이는 "포지션을 갖지 말라"가 아니라 "그 한도를 꺼두었다"는 뜻이며, 둘 다 기본값에서 꺼져 있습니다. Chart --는 아직 차트가 연결되지 않았다는 뜻이며, 연결하기 전까지는 Stop the chart를 쓸 수 없습니다.
시작할 때 보유 중인 포지션과 최근 30일(InpHistoryDays)의 체결 내역을 한 번 훑어 매직넘버마다 행을 만듭니다. 설정할 것은 없습니다. 행의 이름은 직접 입력하는 것이 아니라 그 EA가 자기 주문에 남긴 코멘트에서 가져옵니다. MetaTrader에는 매직넘버와 이름을 연결하는 목록이 없기 때문입니다. 매직넘버가 없는 거래는 Manual / unknown 행이 됩니다.
각 행에는 일일 손실 한도, 누적 손실 한도, 보유 수 한도, 합계 로트 한도라는 네 가지 독립된 한도가 있으며, 0으로 두면 각각 꺼집니다. 거래 가능 시간대는 Mon-Fri 08:00-17:00 형식으로 지정하고, 비워두면 항상 허용을 뜻하며, 읽을 수 없는 형식은 무시하지 않고 빨간색으로 표시됩니다.
대응은 EA별로 고를 수 있는 세 가지입니다. Alert only는 기본 대응으로(InpDefaultAction) 아무것도 닫지 않고 행이 빨갛게 바뀌며 이유가 문구로 나옵니다. 세션에서 첫 자동 대응이 실행되기 직전에는 화면 너비 전체의 확인 버튼이 나와, 누를 때까지 기다립니다(InpConfirmActions). Close and lock은 그 EA의 포지션을 청산하고 대기 주문을 취소하지만 EA 자체를 멈추지는 못합니다. EA는 계속 다시 진입하고 이 도구는 그때마다 다시 청산하므로, 왕복마다 스프레드만큼의 비용이 발생하며 그 횟수와 누적 비용은 화면과 로그에 남습니다. Stop the chart는 Link chart로 먼저 차트를 연결해야만 쓸 수 있고, 템플릿을 저장한 뒤 그 EA를 단말기에서 실제로 내립니다. MetaTrader에는 매직넘버와 차트를 잇는 목록이 없어 이 연결은 직접 해야 합니다. Close and lock과 달리 Algo Trading이 꺼져 있어도 작동합니다. Manual / unknown은 관찰만 할 수 있고 대응은 선택할 수 없습니다.
Selected News EA magic 1722
News EA Close and lock
1.05 3.70 0 0.00
Mon-Fri 08:00-17:00 Link chart
Chart USDJPY,H1
Daily loss limit reached - this EA is locked
Today -242063.00 Open 3 / 0.25 lots
News EA를 Close and lock으로 바꾸면 Open은 그 EA가 보유하던 만큼만 줄어들고, Gold scalper와 Grid v3의 숫자는 전혀 움직이지 않습니다. 대응한 EA 하나만 바뀌고 나머지 EA는 모두 계속 거래합니다.
거래 가능 시간대는 시계가 허용 범위로 돌아오면 스스로 풀립니다. 일일 손실, 보유 수, 합계 로트 한도는 같은 일일 초기화 시각에 풀립니다(InpDayResetHour). 누적 손실 한도만은 스스로 풀리지 않아 내용을 확인하고 Unlock을 두 번 눌러야 하며, 이때 누적은 0부터 다시 계산됩니다. Reset total은 잠금은 건드리지 않고 누적만 같은 방식으로 다시 계산합니다.
한 EA의 거래를 다른 EA와 구분하는 것은 헤징 계좌에서만 가능합니다. 네팅 계좌에서는 종목별로 포지션이 하나로 합쳐집니다. 이 도구는 단말기 동기화가 끝나는 시점에 계좌 종류를 확인하고 이후에도 매초 다시 확인하며, 네팅 계좌에서는 관찰만 하는 상태로 전환되어 그 사실을 화면에 계속 표시합니다.
Netting account: per-EA actions are disabled
Trades without a magic number are only watched, never stopped
First action of this session - press to allow it
다른 EA에게 거래를 멈추라고 지시할 수는 없습니다. MQL5에는 그런 API가 없기 때문이며, 할 수 있는 것은 다시 진입할 때마다 청산을 반복하거나 그 EA의 차트를 닫는 것뿐입니다. 네팅 계좌에서는 EA별 기능이 작동하지 않습니다. Algo Trading이 꺼져 있으면 Close and lock은 실행할 수 없지만 Stop the chart는 실행할 수 있습니다. 수동 거래는 관찰만 됩니다. 차트 하나를 점유하며 두 번째 차트에서는 실행을 거부합니다. 같은 매직넘버를 공유하는 두 EA는 한 행으로 표시됩니다.
무료 데모는 전략 테스터 안에서 실행되지만, 테스터는 EA 하나만 제공하므로 이 도구가 존재하는 이유 자체가 테스터 안에서는 일어나지 않습니다. 테스터 안에서만 이 도구 스스로 다른 매직넘버로 작은 연습 포지션 몇 개를 열어 표를 채우며, 그동안 화면에는 Tester self-test가 계속 표시됩니다(InpTesterDemo). 실계좌에서는 스스로 주문을 내는 일이 전혀 없습니다. 테스터에서 볼 수 없는 것은 하나만 잠기고 나머지는 계속 거래하는 모습이며, 이는 EA 두세 개를 돌리는 데모 계좌에서 확인해야 합니다.
Detection: InpHistoryDays InpIncludeManual
Default limits: InpLimitBase InpLimitUnit InpDefaultDailyLimit InpDefaultTotalLimit InpDefaultMaxPos InpDefaultMaxLots InpIncludeFloating InpWarnPercent InpDayResetHour
Action: InpDefaultAction InpConfirmActions InpSaveTemplate InpMaxCloseRetries
Alerts: InpAlertPopup InpAlertPush InpAlertSound
Tester: InpTesterDemo InpMagicSelf
Panel: position, width, font and six colours
모든 행이 기본 한도로 시작하므로, 아무것도 설정하지 않아도 첫 1분부터 모든 EA가 감시됩니다. 이름, 한도, 거래 가능 시간대, 선택한 대응, 차트 연결, 잠금 상태, 누적 시작일은 계좌번호별 파일에 저장되어 타임프레임을 바꾸거나 단말기를 재시작해도 남아 있습니다. MetaTrader 5의 헤징 계좌를 대상으로 만들어졌으며, 빈 차트 한 장에서 작동하고, DLL 호출·외부 통신·외부 파일이 전혀 없습니다.
이 도구는 계좌에서 이미 돌아가는 EA를 정리해서 보여주고, 한도와 대응을 정해두면 그 한도를 넘은 EA에 대해 실행한 뒤 이유를 기록으로 남깁니다. 무엇을 거래해야 하는지는 말하지 않으며, 어떤 성과도 약속하지 않습니다. 거래에는 손실 위험이 따르므로 먼저 데모 계좌에서 시도해 보시기 바랍니다.
