골드(XAUUSD)에 롱과 숏을 동시에 걸고 일정 간격마다 번갈아 물량을 늘리는 헷지 마틴게일 전략입니다.
고객은 실매매에 넣기 전에 같은 로직으로 과거 데이터부터 돌려 보고 싶어 했습니다.
그래서 Python 백테스터와 MQL4 실매매 EA를 같은 규칙으로 만들어 함께 납품했습니다.
플랫폼
MetaTrader 4, MQL4 EA(헤징 계좌) Python 백테스터
특징
롱과 숏 동시 그리드 교대진입 뉴스 구간 동적 레버리지
유형
FX, 골드(XAUUSD)
제작 기간
약 2~3주
함께 납품한 파이썬 백테스터의 파라미터 패널. EA의 입력값과 항목이 같아서 같은 설정을 양쪽에서 돌립니다.
01배경과 요구사항
고객은 골드에서 롱과 숏을 동시에 걸어 두고, 가격이 일정 간격만큼 움직일 때마다
반대 방향으로 물량을 늘려 가는 전략을 이미 손으로 해 보고 있었습니다.
손실 구간에서는 진입 수량이 계단식으로 불어나서 증거금 관리가 벅찼습니다.
미국 고용이나 물가 지표가 발표될 때처럼 골드가 급하게 움직이는 구간이 특히 위험했습니다.
요청은 두 가지였습니다. 돈을 넣기 전에 같은 로직으로 과거 데이터를 돌려 보는 백테스터,
그리고 검증이 끝나면 실매매로 옮길 MQL4 EA입니다. 둘이 다르게 동작하면 검증한 의미가 없습니다.
그래서 백테스터와 EA의 로직이 완전히 같아야 한다는 조건이 붙었습니다.
골드는 24시간 움직이고 주말 갭도 큽니다. 마틴게일은 방향을 한 번 잘못 잡으면 손실이 계단식으로 커집니다.
계좌가 어디까지 버티는지, 뉴스 구간은 어떻게 다룰지를 숫자로 미리 확인하는 것이 이 작업의 목적이었습니다.
02구현 방식
전략 엔진 하나를 백테스터와 EA 두 형태로 만들었습니다. 전략은 이렇게 움직입니다.
시작할 때 XAUUSD를 롱과 숏 양쪽으로 동시에 엽니다. 양방향 보유가 되는 헤징 계좌가 필요합니다.
가격이 설정한 간격(예: $40)만큼 움직이면 반대 방향을 추가합니다. 수량은 회차마다 2배가 되고 최대 10단계까지 갑니다.
롱이나 숏의 평단에서 2% 수익이 나면 양쪽을 모두 청산하고 새 사이클을 시작합니다. 정해 둔 횟수를 다 진입한 뒤 가격이 시작가로 돌아오면 손절합니다.
전략 흐름. 롱과 숏 동시진입, 그리드 교대진입, 뉴스 구간 동적 레버리지, 마진콜 시뮬레이션백테스터 엔진 출력을 그린 화면(데모 데이터). $40마다 롱과 숏이 번갈아 들어가며 랏이 두 배씩 커지고, 뉴스 구간에는 증거금 배율이 바뀝니다. 마진콜 시뮬레이션 지점도 표시됩니다. 손익 곡선은 싣지 않습니다.
백테스터에서 정한 그리드 간격, 수량 단계, 익절률, 레버리지를 EA에 그대로 옮기면 실거래에서도 같은 규칙으로 움직입니다.
전략 로직을 한 곳에 모아 두고 양쪽이 일치하도록 맞췄습니다.
그리드 기준가는 계산상의 가격 대신 직전에 실제로 체결된 가격으로 잡고 주말 갭도 반영했습니다.
백테스트 결과를 실거래에 가깝게 하려는 것입니다. EA는 다음 진입을 예약 주문으로 미리 걸어 두어서,
갭이 벌어져도 서버가 실제 가격에 체결합니다.
03어려웠던 부분
어디서 계좌가 청산되는지 미리 보기
마틴게일은 얼마를 버는지보다 어디서 계좌가 버티지 못하는지가 더 중요합니다.
그래서 백테스터에 실제 브로커와 같은 방식의 강제청산을 넣었습니다. 헤지 증거금은 양방향 중 큰 쪽만 계산하고,
마진 레벨 50%에서 스탑아웃이 걸리며, 마이너스 잔고 보호도 반영합니다.
몇 회차, 어느 가격에서 계좌가 청산되는지가 백테스트에 숫자로 나옵니다.
레버리지는 평상시 1:2000입니다. 미국 고용, 물가, FOMC 발표와 일일 마감, 주말 구간에는 새로 들어가는 진입만 1:500으로 자동으로 낮춥니다. 급변동 구간에 포지션이 지나치게 불어나지 않게 하려는 장치입니다.
NFP, CPI, FOMC 일정은 2019년부터 2026년까지 프로그램에 들어 있습니다. 고객이 만든 일정 CSV를 불러와 추가하거나 바꿔 쓸 수도 있고, 한글 엑셀에서 저장한 파일도 읽습니다.
EA가 꺼졌다 켜지면 보유 포지션을 보고 사이클이 어디까지 진행됐는지 다시 계산합니다. 재시작했다고 포지션을 임의로 청산하지 않습니다.
04주요 기능
백테스터는 수익률, MDD, 샤프, 손익비를 보여 줍니다. 거래내역을 더블클릭하면 사이클별로 롱과 숏의 손익을 나눠 볼 수 있습니다.
백테스트 결과는 PDF, CSV, 차트 PNG로 저장합니다.
MT4 차트 위 패널에 시작, 전량청산, 완전정지 버튼이 있습니다.
EA에는 스프레드 필터와 중복 실행 방지가 있고, 자산이 세션 시작 대비 30% 줄면 멈추는 정지선이 있습니다.
백테스터는 .exe라서 파이썬을 설치하지 않아도 됩니다. EA는 MT4에 넣으면 동작합니다.
05제작 과정 (약 2~3주)
1주차에는 전략 엔진과 백테스터를 만들었습니다. 양방향 마틴게일과 그리드 교대 진입, 강제청산과 헤지 증거금 계산, 무료 데이터 소스에서 과거 데이터를 받는 부분입니다.
2주차에는 뉴스 구간 동적 레버리지와 뉴스 캘린더, 백테스터 화면, 지표와 리포트를 넣고 .exe로 묶었습니다.
3주차에는 같은 로직을 MQL4 EA로 옮겼습니다. 예약 주문과 재시작 복원을 넣고, 백테스트와 EA의 동작을 대조해 확인한 뒤 넘겼습니다.
06납품 결과물
Python 백테스터 실행 파일(.exe)
MQL4 실매매 EA 파일 (헤징 계좌용)
내장 뉴스 캘린더와 사용자 CSV 양식
백테스트 리포트 샘플 (PDF, CSV, 차트 PNG)
사용설명서와 파라미터 설정 가이드
납품 후 30일 무료 AS (협의 범위 내)
07기술 스택
MetaTrader 4, MQL4 EA (헤징 계좌)Python 3.10 (tkinter, numpy, pandas, matplotlib)마틴게일 백테스트 엔진 (헤지 증거금, 강제청산)동적 레버리지, 뉴스 캘린더 CSVDukascopy 무료 데이터, ccxtPyInstaller (.exe 패키징)
※ 본 사례는 과거 고객 요구사항을 익명 처리하여 재구성한 것이며, 수익률과 수익금은 공개하지 않습니다.
알고랩은 매매 자동화 프로그램 제작 서비스이며, 종목 추천, 투자 자문, 수익 보장 서비스가 아닙니다.
과거 백테스트 결과가 미래 실거래 수익을 보장하지 않습니다. FX, CFD 및 고레버리지 마진 거래는 원금 전액을 초과하는 손실이 발생할 수 있으며,
특히 마틴게일 방식은 손실 구간에서 포지션과 증거금 부담이 급격히 커져 강제청산(마진콜)에 이를 수 있는 고위험 전략입니다.
실매매 전에 백테스트부터 해 보고 싶으시면
같은 로직으로 과거 데이터를 먼저 돌려 볼 수 있습니다.
MT4 EA만 필요하신 경우에도 상담에서 말씀해 주세요.