카피트레이딩·EA 사용 가이드
1. 카피 트레이딩 EA 다운로드
- 사이트에 로그인합니다.
- 상단 메뉴에서 다운로드를 클릭하거나, 카피트레이딩 페이지의 "버전별 다운로드 보기" 링크를 이용해 다운로드 페이지로 이동합니다.
- MT4/MT5 플랫폼이 없다면 해당 섹션에서 MT4·MT5 설치 링크를 통해 먼저 MetaTrader를 설치합니다.
- 카피 트레이딩용 EA 파일 다운로드 표에서 용도(마스터/카피어)와 플랫폼(MT4/MT5)에 맞는 파일을 선택합니다. (자동매매 임대·판매용 EA는 별도 상품 구매 후 결제내역에서 다운로드합니다.)
- 마스터 EA: 본인 계좌의 매매를 서버로 전송할 때 사용 — Master_MT4.ex4(MT4용), Master_MT5.ex5(MT5용)
- 카피어 EA: 마스터의 신호를 받아 본인 계좌에 주문을 넣을 때 사용 — Copier_MT4.ex4(MT4용), Copier_MT5.ex5(MT5용)
- 다운로드 전 안내 문구와 이용약관이 표시됩니다. [예]를 누르면 해당 ex4/ex5 파일이 다운로드됩니다.
2. 설치 방법
2.1 EA 파일 복사
MetaTrader 메뉴 파일 → 데이터 폴더 열기를 누르면 해당 MT에서 사용하는 데이터 폴더가 열립니다. 그 안에서 플랫폼별 Experts 폴더로 복사합니다.
- MT4: 데이터 폴더가 열리면
MQL4폴더를 연 뒤Experts폴더에 다운로드한 ex4 파일을 복사합니다. - MT5: 데이터 폴더가 열리면
MQL5폴더를 연 뒤Experts폴더에 다운로드한 ex5 파일을 복사합니다. - 메타에디터에서 컴파일된 ex4/ex5가 이미 있다면, 해당 파일만 위 Experts 폴더로 복사해도 됩니다.
2.2 WebRequest URL 허용 (필수)
EA가 서버 통신·텔레그램 통보를 하려면 MetaTrader에서 WebRequest URL 허용이 필요합니다.
- MT4: 메뉴 도구 → 옵션 → Expert Advisors 탭에서 "WebRequest URL 목록에 다음 주소 허용"란에 아래 2개를 추가합니다.
https://copytrade.co.kr(사이트 API 통신)https://api.telegram.org(텔레그램 메시지 발송)
- MT5: 메뉴 도구 → 옵션 → Expert Advisors에서도 동일하게 위 2개 URL을 추가합니다.
이 설정을 하지 않으면 EA 초기화 시 "WebRequest 오류"가 발생하며 인증·신호 수신 또는 텔레그램 알림이 동작하지 않습니다.
2.3 EA 부착 및 자동매매 허용
- 차트를 연 뒤 네비게이터 → Expert Advisors에서 해당 EA를 차트에 드래그하여 붙입니다.
- 차트 상단에 "자동매매" 버튼이 있어야 EA가 동작합니다. 비활성화 상태면 클릭하여 활성화합니다.
3. 마스터 EA 옵션 사용법
마스터 EA(Master_MT4 / Master_MT5)는 본인 계좌의 진입·청산을 서버로 전송합니다. 슬롯관리에서 발급받은 슬롯 ID와 API 시크릿 키를 입력해야 합니다.
| 입력 항목 | 설명 |
|---|---|
| copytradeID | 카피트레이드 슬롯 ID (예: USER_001). 슬롯관리에서 확인. |
| secretKey | API 시크릿 키. 슬롯관리에서 복사하여 붙여넣기. |
| SendMode | 전송 범위: 전체 심볼(SEND_ALL_SYMBOLS) 또는 현재 차트만(SEND_ONLY_CURRENT_CHART). |
| MagicFilter | 전송 필터: 전체(MAGIC_ALL), 수동만(MAGIC_MANUAL), EA만(MAGIC_EA). |
| BalanceSendIntervalSec (MT5) | 잔고 전송 주기(초). 기본 600(10분). |
| DebugSendData (MT5) | 인증 실패 시 Experts 탭에서 전송 데이터·응답 확인용. true 권장. |
4. 카피어 EA 옵션 사용법
카피어 EA(Copier_MT4 / Copier_MT5)는 마스터 계좌의 신호를 받아 본인 계좌에 주문을 냅니다. 슬롯 ID, API 인증키, 마스터 계좌번호를 반드시 입력하고, 마스터가 MT4인지 MT5인지에 맞춰 마스터 플랫폼을 선택해야 합니다.
4.1 접속·인증 설정
| 입력 항목 | 설명 |
|---|---|
| CopytradeID / copytradeID | 슬롯 ID (카피어 슬롯). 슬롯관리에서 확인. |
| SecretKey / secretKey | API 인증키. 슬롯관리에서 복사. |
| MasterAccount / MasterAccount | 카피할 마스터의 계좌번호. 쇼룸에서 확인한 계좌번호를 정확히 입력. |
| MasterPlatform | 마스터 플랫폼: MASTER_MT4 또는 MASTER_MT5. 실제 마스터 계좌가 MT4/MT5 중 어디인지와 일치해야 신호 수신됨. |
4.2 거래·랏수 설정
| 입력 항목 | 설명 |
|---|---|
| LotMultiplier | 랏수 배수. 1.0=동일 랏, 0.5=마스터의 절반 랏으로 진입. |
| MaxLot | 최대 랏수 제한. 계좌 안전을 위해 상한 설정 권장. |
| MaxSlippage | 허용 슬리피지(포인트). MT4는 0 입력 시 제한 없음. |
4.3 카피 모드 설정
| 입력 항목 | 설명 |
|---|---|
| StartMode | 카피 시작 모드: 신규 신호부터(START_PURE_NEW 권장), 즉시(START_IMMEDIATE), 따라잡기(START_CATCH_UP). |
| PriceProtect | 유리한 가격만 진입(PRICE_BETTER_ONLY) 또는 제한 없음(PRICE_ANY). 서버 설정 사용 시 UseServerCopyMode가 우선. |
| UseServerCopyMode | true면 마스터 슬롯의 서버 설정을 따름(슬롯 DB 기본은 결합형, 선택 시 개별형·유리한 경우만 진입). false면 위 PriceProtect 등 EA 입력값 사용. |
4.4 리스크 관리 (프랍펌·마틴게일 방어)
| 입력 항목 | 설명 |
|---|---|
| DailyDDSkipPercent | 일일 손실 한도(%). 이 비율만큼 당일 손실이 나면 신규 진입을 중단하고 기존 포지션 청산. 프랍펌 방어용. |
| MinBalanceProtect | 최저 잔고 보호. 0이면 미사용. 금액을 넣으면 해당 금액 이하로 떨어질 때 포지션 청산 후 카피 중단. |
| DebugLog (MT4) | true 시 Experts 탭에 수신·처리 로그 출력. |
| ShowReceivedData (MT5) | 수신 신호 JSON 로그 출력. 원인 확인 후 false로 끄기 가능. |
5. 프랍펌·마틴게일 방어 요약
카피어 EA의 일일 손실 한도(DailyDDSkipPercent)와 최저 잔고 보호(MinBalanceProtect)를 설정하면, 당일 손실이 일정 %를 넘거나 잔고가 지정 금액 이하로 떨어질 때 자동으로 포지션이 청산되고 신규 진입이 막혀 자산을 보호할 수 있습니다. 슬롯관리에서 마스터가 설정한 거래 카피 모드(DB·신규 슬롯 기본은 결합형, 필요 시 개별형) 및 유리한 가격만 진입(개별형일 때)은 카피어 EA가 UseServerCopyMode=true일 때 자동으로 따릅니다.
6. 텔레그램 WebRequest + 긴급상황 통보 기능 추가
아래 방식으로 EA에 텔레그램 통보 함수를 추가하면, 긴급상황(일일 손실 초과, 보호청산, 인증 실패, 연결 끊김 등)에서 즉시 메시지를 받을 수 있습니다.
6.1 준비
- 텔레그램에서
@BotFather로 봇을 생성하고 Bot Token을 발급받습니다. @userinfobot에서 본인 Chat ID(숫자)를 확인합니다.- MetaTrader WebRequest 허용 목록에
https://api.telegram.org를 추가합니다. - EA 입력값에
UseTelegramAlert=true,TelegramBotToken,TelegramChatId를 넣습니다.
6.2 MQL4 예시 (긴급상황 통보 함수)
// [작업내용] 긴급상황 텔레그램 통보(MQL4)
extern bool UseTelegramAlert = false;
extern string TelegramBotToken = "";
extern string TelegramChatId = "";
void SendTelegramEmergency(string title, string detail)
{
if(!UseTelegramAlert) return;
if(StringLen(TelegramBotToken) == 0 || StringLen(TelegramChatId) == 0) return;
string base = "https://api.telegram.org/bot" + TelegramBotToken + "/sendMessage";
string text = "[긴급] " + title + "\n계좌: " + IntegerToString(AccountNumber()) + "\n" + detail;
string post = "chat_id=" + TelegramChatId + "&text=" + UrlEncode(text);
char data[];
StringToCharArray(post, data, 0, WHOLE_ARRAY, CP_UTF8);
char result[];
string headers = "Content-Type: application/x-www-form-urlencoded\r\n";
int timeout = 5000;
string resp_headers = "";
int code = WebRequest("POST", base, headers, timeout, data, result, resp_headers);
if(code == -1)
Print("Telegram WebRequest fail: ", GetLastError());
}
// 사용 예: 일일 손실 초과 시
// SendTelegramEmergency("일일 손실 한도 초과", "신규 진입 중단 및 포지션 정리 실행");
6.3 MQL5 예시 (긴급상황 통보 함수)
// [작업내용] 긴급상황 텔레그램 통보(MQL5)
input bool UseTelegramAlert = false;
input string TelegramBotToken = "";
input string TelegramChatId = "";
void SendTelegramEmergency(string title, string detail)
{
if(!UseTelegramAlert) return;
if(StringLen(TelegramBotToken) == 0 || StringLen(TelegramChatId) == 0) return;
string base = "https://api.telegram.org/bot" + TelegramBotToken + "/sendMessage";
string text = "[긴급] " + title + "\n계좌: " + (string)AccountInfoInteger(ACCOUNT_LOGIN) + "\n" + detail;
string post = "chat_id=" + TelegramChatId + "&text=" + UrlEncode(text);
uchar data[];
StringToCharArray(post, data, 0, WHOLE_ARRAY, CP_UTF8);
uchar result[];
string headers = "Content-Type: application/x-www-form-urlencoded\r\n";
int timeout = 5000;
string resp_headers = "";
int code = WebRequest("POST", base, headers, timeout, data, result, resp_headers);
if(code == -1)
Print("Telegram WebRequest fail: ", GetLastError());
}
// 사용 예: 인증 실패 시
// SendTelegramEmergency("EA 인증 실패", "API키/슬롯ID 확인 필요");
권장: 같은 이벤트를 반복 전송하지 않도록, 마지막 전송 시각/키를 저장해 중복 알림을 제한하세요.
7. 자주 나오는 메시지
- WebRequest 오류: 도구 → 옵션 → Expert Advisors에서 URL에
https://copytrade.co.kr추가 후 MT 재시작. - 텔레그램 알림 미동작: WebRequest 목록에
https://api.telegram.org이 있는지, Bot Token/Chat ID가 정확한지 확인하세요. - 동시 접속 차단(CONCURRENT_ACCESS): 같은 API키를 다른 PC/MT에서 사용 중. 슬롯은 한 곳에서만 사용해야 합니다.
- API키 불일치/만료: 슬롯관리에서 API키를 확인한 뒤 EA 입력란에 정확히 다시 입력.
- 마스터의 카피매매 허용이 설정되지 않았습니다: 마스터가 슬롯관리에서 "카피매매 허용"을 켜야 카피어가 신호를 받을 수 있습니다.
- 심볼 없음: 마스터와 카피어의 통화쌍 베이스(예: EURUSD)가 같아야 합니다. 서버는
symbol_base를 내려주며, 카피어 EA는 MySuffix로 본인 브로커 접미사만 맞추면 됩니다. 차트/마켓참가에 해당 심볼이 있어야 합니다.
관리자에서 문서·FAQ의 "copy_ea_guide" 페이지를 등록·수정하면 이 본문을 덮어쓸 수 있습니다.

