SignalGuard Telegram Signal Copier MT5
- Experts
-
Ibrahim Yahya
고객님의 규칙을 정확히 따르는 MetaTrader 5 도구를 개발합니다. 엑스퍼트 어드바이저(EA), 트레이드 매니저, 트레이드 카피어 등 고객님의 리스크를 기준으로 매 거래의 랏을 계산하고, VPS에서 무인으로 끝까지 관리하는 도구입니다.
제가 개발하고 운영해 온 것: - 버전: 1.1
- 업데이트됨: 2 11월 2026
- 활성화: 5
SignalGuard는 Telegram의 매매 콜을 읽어 사용자가 정한 랏 또는 리스크 설정으로 MT5 계좌에 주문합니다. 이렇게 연 모든 거래는 이후 관리됩니다. 가격이 유리하게 움직이면 스톱이 두 단계로 본전으로 이동하고, TP1이 체결되면 남은 포지션은 TP 사다리를 따릅니다. Telegram은 MT5 자체의 WebRequest 함수로 읽으므로, 설치할 것은 EA 파일 하나뿐입니다.
SignalGuard는 복사기이자 거래 관리자입니다. 자체 전략은 없으며, 결과는 사용자가 따라가는 채널에 달려 있습니다.
콜은 어디서 오나
- 공개 채널. 채널 이름은 최대 5개 (t.me/NAME의 NAME). SignalGuard는 각 채널의 공개 웹 미리보기를 기본적으로 15초마다 읽습니다.
- 내 Telegram 봇. 직접 운영하는 비공개 채널이나 그룹용입니다. 봇을 관리자로 추가하고 토큰을 붙여넣으세요. 목록에 넣은 채팅 id만 거래할 수 있습니다. 그룹에서는 보낸 사람의 사용자 id가 목록에 있을 때만 메시지로 거래합니다.
- 리플레이 파일. 게시물과 그 시간을 담은 CSV 파일로, 전략 테스터와 채널 기록 확인에 사용합니다.
시작할 때 SignalGuard는 각 소스의 가장 최근 게시물을 시작점으로 삼습니다. 그보다 오래된 게시물은 절대 거래되지 않으며, 재시작해도 게시물이 반복되지 않습니다.
이해하는 내용
- BUY / SELL / LONG / SHORT와 아랍어 شراء / بيع, 심볼(GOLD, XAUUSD, ذهب, US30, EURUSD 등), 진입가 또는 진입 범위, SL, 최대 6개의 TP, 그리고 "30 pips" 같은 거리 표기. 아랍-인도 숫자도 읽습니다.
- 브로커의 심볼 이름은 자동으로 찾습니다. 필요한 경우 XAUUSD는 XAUUSD.m, GOLD 또는 GOLDm#이 됩니다. 브로커에 없는 심볼은 로그에 한 줄을 남기고 건너뛰며, 차트 심볼은 심볼이 전혀 없는 게시물에만 사용됩니다.
- 게시물의 BUY STOP / BUY LIMIT / SELL STOP / SELL LIMIT는 해당 대기 주문으로 넣습니다.
- 후속 게시물: "TP1 hit", "close", "move SL to entry", "cancel". 이는 그 채널의 최신 신호에만 적용되며, 심볼과 방향이 일치할 때만 작동합니다. "gold is close to TP1" 같은 문장은 청산으로 읽지 않습니다.
- SL 또는 TP가 반대편에 있거나, SL이 너무 멀거나, 가격이 이미 진입가에서 너무 멀리 벗어났거나, 게시물이 질문이거나, BUY/SELL이 없으면 게시물을 건너뛰고 이유를 로그와 패널에 표시합니다.
- 광고는 걸러냅니다. 채널이 콜을 "TP hit"와 함께 올렸는데 가격이 그 TP와 전혀 가깝지 않다면, 그 콜은 지난 거래의 재탕이며 SignalGuard는 이를 버립니다(InpAdSec, 기본값 180초).
- SL이 없는 게시물은 기본적으로 건너뜁니다. 많은 채널이 먼저 "SELL NOW"만 올리고 1분 뒤에 SL이 포함된 전체 콜을 올리며, 이 경우 SignalGuard는 전체 콜을 거래합니다. 채널이 SL을 전혀 주지 않는다면 핍 단위의 기본 SL을 설정하세요(InpDefaultSLPips).
시작할 때마다 EA는 내장된 샘플 게시물 49개(영어와 아랍어)를 읽고, 하나라도 잘못 읽으면 시작을 거부합니다.
진입 방식
- Market: 즉시.
- Confirm(기본값): 몇 초 기다립니다(기본 5초). 가격이 거래 방향으로 진입가에 있거나 그 너머에 있으면 시장가로 엽니다. 아니면 진입가에 스톱 주문을 넣고, 가격이 그곳으로 돌아올 때만 체결됩니다. 이때 모든 필터가 다시 실행됩니다.
- Limit: 진입가에 지정가 주문.
모든 주문 전의 필터: 게시물 경과 시간, 진입가를 넘은 가격 이탈, 스프레드, 거래 시간, 영향력 큰 뉴스, 일일 손실 잠금, 최대 보유 거래 수, 일일 최대 거래 수, 여유 증거금.
거래 관리 방식
- 분할: 신호당 포지션 1개, 또는 최대 6개(TP1, TP2 ... 그리고 마지막 TP는 러너). 기본값은 2개로, TP1과 러너입니다.
- 2단계 본전 보호: 수익이 1단계(기본값은 SL 거리의 20%)에 도달하면 스톱이 진입가로 이동합니다. 2단계(기본값 40%)에서는 진입가 + 10%로 이동합니다. 값은 SL의 %, 핍, 또는 랏당 금액으로 설정할 수 있습니다. 스톱은 절대 느슨해지지 않습니다.
- TP 사다리: TP1이 체결되면 남은 포지션의 스톱이 진입가를 넘어 소폭의 확보된 수익 위치로 이동합니다. TP2가 체결되면 스톱이 TP1로 이동하며, 이런 식으로 이어집니다.
- 재진입(기본값은 꺼짐): 보호 스톱이 거래를 본전에서 청산한 뒤, SignalGuard는 진입가에 다시 스톱 주문을 넣을 수 있어, 가격이 돌아올 때만 거래가 다시 열립니다. 재진입 최대 횟수와 감시 지속 시간을 설정합니다. 재진입은 매번 SL 리스크 전체를 지는 새 거래입니다.
계좌 안전
- 일일 손실 한도를 %나 금액으로 설정하며, 서버 일 시작 시점의 계좌 자산(에쿼티)을 기준으로 측정합니다(계좌의 모든 거래가 포함됩니다). 한도에 도달하면 SignalGuard는 자신의 거래를 청산하고 주문을 삭제한 뒤 다음 날까지 일시 중지합니다.
- 사용자 시간 기준 금요일 청산과, 선택 사항인 일일 청산 시간대.
- MT5 내장 경제 캘린더를 이용한 뉴스 일시 중지: 신규 진입 차단, 또는 추가로 스톱을 진입가로 이동, 또는 추가로 청산.
- SignalGuard는 자신의 매직 넘버가 붙은 포지션과 주문만 건드립니다. 수동 거래와 다른 EA는 그대로 둡니다.
- 차트에서 EA를 제거하면 대기 주문이 삭제됩니다. 보유 중인 포지션은 브로커에서 SL과 TP를 그대로 유지합니다.
패널과 알림
패널에는 각 소스(마지막 게시물 id가 있는 OK 또는 오류), 결과나 건너뛴 이유가 있는 최근 신호 5개, 보호 단계별 보유 포지션, 대기 주문, 재진입 감시, 한도 대비 오늘의 손익이 표시됩니다. 버튼: PAUSE / RESUME(보유 중인 거래는 계속 보호됨)와 CLOSE ALL(먼저 확인함). 알림과 MetaTrader 앱으로의 푸시 알림은 선택 사항입니다.
4단계 설정
- SignalGuard를 차트 하나에 적용합니다. 이 차트의 심볼은 심볼이 없는 게시물에 사용됩니다.
- 도구 > 옵션 > 전문가 어드바이저: "알고리즘 트레이딩 허용"과 "다음 URL에 대해 WebRequest 허용"을 체크한 다음 https://t.me 와 https://api.telegram.org 를 추가하세요. URL이 빠져 있으면 전문가 로그에 추가할 URL이 표시됩니다.
- 채널 이름(또는 봇 토큰과 채팅 id)과 랏 또는 리스크 %를 입력합니다.
- 터미널을 계속 실행해 두세요. 컴퓨터가 꺼져 있어도 VPS가 계속 실행해 줍니다.
솔직한 한계
- 비공개 채널은 웹 미리보기로 읽을 수 없습니다. Telegram은 사용자 로그인으로만 허용합니다. 내 비공개 채널이나 그룹에는 봇 방식을 사용하세요.
- 결과는 채널에 달려 있습니다. SignalGuard는 콜을 복사하고 관리할 뿐, 나쁜 채널을 수익이 나는 채널로 만들지는 않습니다.
- 복사에는 시간이 걸립니다. 읽기 간격(기본 15초)에 확인 대기 시간이 더해집니다. 진입 시 가격이 게시물의 가격과 다를 수 있습니다. 이탈 필터는 너무 멀리 간 콜을 건너뜁니다.
- 스톱과 청산은 시장가 동작입니다. 슬리피지, 갭, 가격 급등락에 대한 보호는 없습니다.
- 헤징 계좌를 권장합니다. 넷팅 계좌에서는 SignalGuard가 신호당 포지션 하나를 사용하며, 이미 보유한 심볼의 새 신호는 건너뜁니다.
- 전략 테스터에는 WebRequest도 뉴스 캘린더도 없습니다. 거기서 SignalGuard는 Common\Files\SignalGuard\signals.csv 파일을 재생하며, 파일이 없으면 보호와 사다리가 작동하는 모습을 볼 수 있도록 3시간마다 내장 데모 콜을 넣습니다.
입력 항목
| 그룹 | 입력 항목 |
| 신호 소스 | InpSource(공개 채널 / 내 봇 / 리플레이 파일), InpChannels, InpBotToken, InpBotChats, InpBotSenders, InpPollSec, InpFileName |
| 해석 | InpAliases(예: NAS100=USTEC), InpDefaultSymbol, InpRangeMode, InpPipSize(0 = 자동), InpMaxSLPips, InpFollowUpdates |
| 진입 | InpEntryMode(market / confirm / limit), InpWaitSec, InpPendingMin, InpMaxAgeSec, InpMaxDriftPips, InpMaxSpread, InpHours |
| 포지션 크기 | InpLotMode(고정 / 리스크 %), InpLot, InpRiskPct, InpDefaultSLPips, InpMaxSplit, InpSingleTP |
| 본전 보호 | InpGuard, InpGuardUnit(SL의 % / 핍 / 금액), InpG1Trigger, InpG1Lock, InpG2Trigger, InpG2Lock |
| TP 사다리 | InpLadder, InpLadderLock |
| 재진입 | InpReentry(꺼짐), InpReentryMax, InpReentrySLPips, InpReentryMin |
| 계좌 안전 | InpDailyLossPct, InpDailyLossMoney, InpMaxOpen, InpMaxTradesDay, InpMinFreeMargin, InpFridayClose, InpDailyClose, InpDailyResume, InpNewsMode, InpNewsMin |
| 기타 | InpMagic, InpSlippage, InpAlerts, InpPush, InpNotifyIgnored, InpFailAlert, InpDarkChart |
구매 전 질문은 MQL5에서 메시지를 보내 주세요.
