NewsGuard Economic News Guard for Positions MT5
- 유틸리티
-
Ibrahim Yahya
고객님의 규칙을 정확히 따르는 MetaTrader 5 도구를 개발합니다. 엑스퍼트 어드바이저(EA), 트레이드 매니저, 트레이드 카피어 등 고객님의 리스크를 기준으로 매 거래의 랏을 계산하고, VPS에서 무인으로 끝까지 관리하는 도구입니다.
제가 개발하고 운영해 온 것: - 버전: 1.0
- 활성화: 5
NewsGuard는 뉴스로 인한 급변동으로부터 보유 중인 포지션을 보호합니다. 차트 하나에 적용하면 MetaTrader 5에 내장된 경제 캘린더를 읽습니다. 대상 통화의 중요한 이벤트가 가까워지면 선택한 포지션에 대해 경고하거나, 본전 스톱으로 보호하거나, 청산합니다. 거래를 열지 않으며 신호도 만들지 않습니다.
기능
- 뉴스 전후로 포지션을 지킵니다. 시간 창(기본값은 이벤트 15분 전부터 15분 후까지) 안에서 선택한 동작을 포지션에 적용합니다.
- 세 가지 동작. 1 = 경고만: 팝업 알림, 선택적 푸시 알림, 패널이 빨간색으로 바뀌고 창 안에서 열린 포지션은 한 번 보고됩니다. 2 = 보호: 이 값보다 많은 이익이 난 포지션의 스톱을 본전(진입가 +/- InpBEPoints)으로 옮기며, 나머지는 건드리지 않습니다. 3 = 필터에 해당하는 모든 포지션 청산.
- 내장 캘린더. 웹 요청도 DLL도 사용하지 않습니다. 중요도: 높음만, 또는 높음과 중간. 통화: 기본값은 차트 심볼의 기준 통화와 수익 통화(금과 은은 USD도 추가) 또는 직접 만든 목록입니다. 이벤트 목록은 5분마다 갱신되며 기본적으로 48시간 앞까지 확인합니다.
- 포지션은 직접 선택합니다. 모든 포지션, 수동 거래만, 또는 EA 하나의 매직 넘버. 모든 심볼 또는 차트의 심볼만.
- 패널. 상태, 다음 또는 현재 이벤트, 통화, 영향도, 서버 시간과 UTC, 카운트다운, 적용 중인 규칙, 마지막 동작, 캘린더 상태.
- 알림. 시간 창이 시작될 때 팝업 알림, 선택적으로 MetaTrader 모바일 앱으로 푸시 메시지.
솔직한 한계
- NewsGuard는 다른 EA나 사용자가 시간 창 안에서 거래를 여는 것을 막을 수 없습니다. 동작 3에서는 그런 포지션을 다음 틱에 청산합니다(실거래: 초당 한 번 처리). 포지션이 잠깐 존재할 수 있고 스프레드는 지불됩니다. 동작 1은 보고만 합니다.
- 캘린더는 브로커에 내장된 MT5 캘린더이며 브로커 서버 시간 기준입니다. 패널에는 서버 시간과 UTC, 캘린더 상태가 표시됩니다.
- 본전 이동에는 여유가 필요합니다. 새 스톱은 가격에서 브로커의 최소 거리 이상 떨어져 있어야 하며, 그렇지 않으면 다음 처리에서 다시 시도합니다.
- 창이 시작된 뒤 이벤트 시간이 바뀌면 다음 갱신 때까지 다시 계획되지 않습니다.
- 스톱과 청산은 시장가 작업입니다. 슬리피지, 갭, 가격 급변동에 대한 보장은 없습니다. 스톱이 이동되거나 체결되기 전에 가격이 스톱을 지나갈 수 있습니다.
- 터미널과 EA가 실행 중일 때만 작동합니다. VPS를 쓰면 계속 실행할 수 있습니다.
사용 방법
- NewsGuard를 차트 하나에 적용하세요(심볼과 시간 단위는 무관). 한 번만 적용하면 되며, 하나의 복사본이 선택한 모든 포지션을 지킵니다.
- 터미널과 EA 설정에서 알고리즘 트레이딩을 허용하세요.
- 중요도, 시간 창(전후 분)과 동작(1, 2, 3)을 선택하세요. 기본값은 1(경고만)이므로 먼저 동작을 지켜볼 수 있습니다.
- 지킬 포지션을 선택하세요(전체, 수동만, 또는 매직 넘버 하나).
- 터미널을 켜 두세요. 푸시 메시지를 받으려면 도구 > 옵션 > 알림에 MetaQuotes ID를 입력하고 InpPush를 true로 설정하세요.
전략 테스터에는 경제 캘린더가 없습니다. 기본 입력값(InpTestEvent가 비어 있음)에서 NewsGuard는 평일마다 서버 시간 12:00에 데모 이벤트를 두고, 그 전후로 최소 랏의 데모 BUY와 SELL 거래를 열어 비주얼 모드에서 보호 기능이 작동하는 모습을 볼 수 있게 합니다. 동작이 1이면 효과가 보이도록 테스터에서는 3(청산)으로 강제됩니다. 이는 테스터에서만 일어납니다. 실계좌나 데모 계좌에서 NewsGuard는 자체 거래를 절대 열지 않습니다. 테스터에서는 InpTestEvent로 직접 이벤트를 지정할 수도 있습니다. 실시간 차트에서 InpTestEvent는 경고만 하고 거래하지 않는 미리보기를 제공합니다.
입력값
| 입력값 | 기본값 | 설명 |
| InpImportance | 높음만 | 높음만, 또는 높음과 중간 |
| InpCurrencies | (비어 있음) | 통화, 예: USD,EUR. 비어 있음 = 차트 심볼의 통화(금과 은은 USD도) |
| InpLookAheadHours | 48 | 이벤트를 몇 시간 앞까지 나열할지 |
| InpMinBefore | 15 | 시간 창은 이벤트 이 분 수만큼 전에 시작 |
| InpMinAfter | 15 | 시간 창은 이벤트 이 분 수만큼 후에 종료 |
| InpAction | 1(경고) | 1 = 경고만, 2 = 본전, 3 = 모두 청산 |
| InpBEPoints | 10 | 동작 2: 스톱이 진입가 +/- 이 포인트 수로 이동 |
| InpSymbols | ALL | ALL = 모든 심볼, 또는 차트의 심볼만 |
| InpMagic | -1 | -1 모든 포지션, 0 수동 거래만, N EA 하나 |
| InpAlert | true | 시간 창 시작 시 팝업 알림 |
| InpPush | false | 모바일 앱 푸시 알림(MetaQuotes ID 필요) |
| InpUtcOffset | 99 | 패널용 서버의 UTC 오프셋(시간), 99 = 자동 감지 |
| InpDarkChart | false | 이 차트를 어두운 색으로 변경 |
| InpShot | false | 시작 6초 후 MQL5\Files에 스크린샷 저장 |
| InpTestEvent | (비어 있음) | 테스터: YYYY.MM.DD HH:MM(서버 시간) 또는 +N분 형식의 가짜 이벤트. 실시간 차트: 미리보기, 경고만 |
| InpTestTrades | false | 테스터 전용: 가짜 이벤트 전후로 데모 거래 열기 |
자주 묻는 질문
NewsGuard는 거래를 열거나 신호를 주나요?
아니요. 사용자나 다른 EA가 연 포지션을 감시하고 관리할 뿐입니다. 스스로 여는 거래는 전략 테스터의 데모 거래뿐입니다.
뉴스 중에 거래가 열리는 것을 막을 수 있나요?
아니요. 다른 EA나 사용자를 막을 수 없습니다. 동작 3에서는 그런 포지션을 다음 틱 또는 다음 1초에 청산하며 스프레드는 지불됩니다. 동작 1에서는 보고만 합니다.
슬리피지와 갭으로부터 보호해 주나요?
아니요. 포지션이 노출되는 시간을 줄여 줄 뿐이며 스톱과 청산은 시장가로 체결됩니다. 급변동은 스톱을 지나칠 수 있고, 여기 있는 어떤 내용도 보장이나 결과에 대한 약속이 아닙니다.
캘린더는 어떤 시간대를 사용하나요?
브로커의 서버 시간입니다. 패널은 이벤트를 서버 시간과 UTC로, 그리고 감지된 서버 오프셋과 함께 표시합니다.
다른 엑스퍼트 어드바이저와 함께 쓸 수 있나요?
네. 매직 필터를 사용하세요. -1은 모든 포지션, 0은 수동 거래만, 또는 EA 하나의 매직 넘버입니다.
본전 이동이 적용되지 않은 이유는 무엇인가요?
본전 이동은 포지션의 이익이 InpBEPoints보다 크고 새 스톱이 가격에서 브로커의 최소 거리 이상 떨어져 있을 때만 적용됩니다. 그렇지 않으면 그대로 두거나 다음 처리에서 다시 시도합니다.
