Manual Backtest Practice Panel
- 유틸리티
- 버전: 1.2
Manual Backtest Panel은 MetaTrader 5 전략 테스터의 시각화 모드에서 과거 데이터로 수동 매매를 연습하기 위한 무료 유틸리티 EA입니다. 시각화 테스트를 시작하고 움직이는 차트를 보면서 패널의 버튼으로 직접 거래를 열고 닫습니다. 패널은 리스크 %로 랏을 계산하거나 고정 랏을 사용하고, SL과 TP를 설정하며, 설정을 저장하고, 청산된 모든 거래를 결과 표와 CSV·HTML 파일에 기록합니다.
연습용 도구이며 매매 전략이 아닙니다. 매수·매도 신호를 주지 않고, 진입이나 청산을 고르지 않으며, 방법이 좋은지 판단하지 않습니다. 표시되는 수치는 테스터에서 직접 한 연습 거래만을 나타냅니다. 테스터의 결과는 실제 매매와 다르며, 과거의 결과는 실제든 모의든 미래의 결과를 보장하지 않습니다.
전략 테스터의 시각화 모드에서만 작동합니다. 라이브 차트(실계좌 또는 데모 계좌)에서는 "Works in the Strategy Tester (visual mode) only." 안내만 표시하며, 주문이나 포지션을 열거나 닫거나 변경하지 않습니다. 시각화 모드에서는 패널의 버튼을 눌렀을 때만 거래합니다. 시각화가 없는 테스터(최적화, 자동 점검)에서는 패널을 사용하지 않고, 작동 확인을 위해 작은 데모 거래만 엽니다: 최소 랏, 매직 넘버 26111399, 하루 최대 1회, 매수와 매도를 번갈아, 각각 손절과 익절을 붙여 약 3시간 후 청산합니다. 매매 방법도 신호도 아니며 특정 시간대를 노리지도 않습니다(스프레드가 넓은 날짜 변경 전후에는 열지 않습니다). 이때 테스터 리포트에는 이 데모 거래만 표시되며, 거래 성적이 아니고 손실일 수도 있습니다. 데모 거래는 패널의 결과·파일·설정에 영향을 주지 않으며, 시각화 모드나 실계좌·데모 계좌에서는 열리지 않습니다.
기능
- BUY, SELL, CLOSE ALL 버튼. CLOSE ALL은 이 패널의 포지션(차트 심볼이며 패널의 매직 넘버인 것)만 닫습니다.
- 랏: 잔고 대비 리스크 %(SL까지의 거리로 랏을 계산하고 랏 단위로 내림) 또는 고정 랏. 리스크 모드에서 SL이 없으면 고정 랏을 사용하고 패널에 그렇게 표시합니다.
- SL과 TP는 pips 또는 가격으로, 버튼으로 선택합니다: 한 줄에 최대 5개의 값 버튼과 값을 바꾸는 << < > >>(<< 와 >> 는 10단계). 0 = SL 없음 또는 TP 없음.
- 차트 클릭으로 SL 또는 TP 지정: "SL by click" 또는 "TP by click"을 누른 뒤 차트에서 원하는 가격을 클릭합니다. Esc 또는 같은 버튼을 다시 누르면 취소됩니다. 보유 중이면 이 패널의 같은 방향 포지션의 SL 또는 TP를 옮기고, 보유가 없으면 다음 주문의 값으로 설정합니다.
- "SL to entry"는 가격이 진입가에서 충분히 떨어져 있을 때 보유 포지션의 SL을 진입가로 옮깁니다.
- 미리보기 줄: 다음 주문의 랏과 그 리스크(%와 금액), 보유 포지션과 평가 손익.
- 이 패널에서 청산된 거래의 결과: 거래 수, 승률, 순손익, 프로핏 팩터, 최대 드로다운, 평균 R, 연도별 표(패널에는 최근 8년, HTML에는 전체 연도).
- CSV와 HTML은 거래가 청산될 때마다 자동으로 저장되며, "Export" 버튼으로 언제든 저장할 수 있습니다. CSV는 32열입니다: 진입과 청산, 최초 SL과 TP, 손익, 수수료, 스왑, 순손익, pips, 보유 시간, MAE와 MFE(Maximum Adverse / Favorable Excursion: 가격이 거래에 불리한 방향과 유리한 방향으로 얼마나 움직였는지), 리스크 금액, R 배수 등.
- 설정은 바꿀 때마다 자동으로 저장되고 다음 시작 시 읽어 옵니다: 랏 방식, 단위, 리스크 %, 고정 랏, 심볼별 SL/TP 거리.
- 패널은 영어 또는 일본어(터미널 언어에 따라 자동).
주요 설정
- Order size: Lot mode(Risk % / Fixed lot), Risk per trade(잔고의 %, 0.01 - 20, 기본값 1), Fixed lot(기본값 0.10, 리스크 모드에서 SL이 없을 때도 사용), Risk % value buttons(InpRiskPre, 기본값 "0.25,0.5,1,2,3"), Fixed lot value buttons(InpLotPre, 기본값 "0.01,0.05,0.1,0.5,1").
- SL / TP for new orders: Input unit(pips / price), SL distance in pips(기본값 20, 0 = SL 없음), TP distance in pips(기본값 40, 0 = TP 없음), Step of the < > buttons(기본값 1 pip), SL value buttons(InpSlPre, 기본값 "0,10,20,30,50"), TP value buttons(InpTpPre, 기본값 "0,20,40,60,100"). 각 값 버튼 설정은 쉼표로 구분한 1~5개의 값을 받으며, 버튼과 시작 값을 정합니다.
- Settings file: Load the last saved settings at start(기본값 ON; 저장된 값이 주문 크기와 SL/TP 설정보다 우선하며, 설정값으로 시작하려면 OFF), Auto-save CSV / HTML after each closed trade(기본값 ON).
- Orders: Magic number(기본값 26111300; 이 번호의 포지션만 다룹니다), Max slippage(포인트), Order comment.
- Panel: Language, Panel X offset(InpX), Panel Y offset(InpY), Font size(InpFont, 7 - 16, 기본값 9). 패널의 위치를 옮기거나 크기를 바꿀 수 있습니다.
- 5개 그룹, 20개 설정.
작동 방식
- 시작: 전략 테스터를 열고 Manual Backtest Panel, 심볼, 시간 프레임, 기간을 고른 뒤 시각화를 켜고 시작합니다. 패널은 시각화 차트에서 사용합니다.
- 속도: 시각화 테스터의 속도 슬라이더를 오른쪽 끝(최대)으로 두지 마십시오. 최대에서는 클릭을 읽을 시간이 거의 없어 버튼이 거의 반응하지 않습니다. 최대보다 한 단계 이상 느리게 하면 사용할 수 있습니다.
- 입력 대신 버튼을 쓰는 이유: 테스터의 시각화 차트에서는 입력란에 입력한 문자와 선의 드래그가 EA에 전달되지 않습니다(MetaTrader 5의 이 동작을 확인했습니다). 그래서 값은 버튼으로 고르며, SL/TP 선은 드래그할 수 없습니다. 대신 "SL by click"과 "TP by click"을 사용하십시오.
- 클릭은 실제 시간으로 약 0.1초마다 읽습니다. 테스터 차트가 일시 정지되었거나 잠시 멈춰 있을 때(예: 연도가 바뀌는 시점에 데이터를 불러올 때) 클릭하면, 테스트가 다시 움직일 때 처리되며, 차트 클릭으로 정한 SL/TP는 그 순간의 가격을 기준으로 한 거리가 됩니다. 테스트가 다시 움직인 뒤 패널의 값을 확인하십시오.
- 툴팁: 마우스를 버튼 위에 약 0.5초 두면 MetaTrader 5가 커서의 오른쪽 아래에 작은 툴팁을 표시하며, 그 위치의 클릭이 전달되지 않을 수 있습니다. 패널의 줄 사이에 간격을 두었으므로 보통 바로 아래 버튼은 누를 수 있습니다. 반응하지 않으면 마우스를 조금 움직인 뒤 다시 클릭하십시오.
- 가격 단위: 값 버튼으로 고른 값은 거리로 유지되며 가격을 따라 움직입니다. 값 상자와 점선은 매수 형태(SL 아래, TP 위)로 표시하고, 패널에 "SL/TP shown: buy"를 덧붙입니다. SELL을 누르면 현재 가격에서 매도 방향으로 SL과 TP를 계산합니다. < > 또는 차트 클릭으로 정한 가격은 그 가격에 고정되며 한쪽 방향에만 맞기 때문에, 반대 방향의 주문은 메시지와 함께 거부됩니다(예: "SL must be above Ask"). pips 단위에서는 거리가 양쪽 방향 모두에 적용됩니다.
- Pips: 패널은 모든 심볼에서 1 pip = 10 포인트로 계산합니다(5자리 EURUSD는 0.0001, 3자리 USDJPY는 0.01). 그 밖의 심볼에서는 패널에 "pips(10pt)"가 표시되므로 심볼의 포인트 크기를 확인하십시오. CSV의 pips 열은 소수점 3자리 또는 5자리 심볼에만 채워집니다.
- 리스크 기준 랏: 랏 = 잔고 x 리스크 % / SL에서 1랏당 손실, 랏 단위로 내림하므로 실제 리스크는 같거나 조금 작습니다. 최소 랏도 리스크 %를 넘으면 주문을 보내지 않고, 최소 랏의 리스크를 패널에 표시합니다.
- 통계: 순손익 = 손익 + 수수료 + 스왑, 순손익 > 0인 거래를 승리로 봅니다. 프로핏 팩터 = 이익 합계 / 손실 합계이며, 손실 거래가 없으면 "-"로 표시합니다. 최대 드로다운 = 시작 잔고부터 청산된 거래만으로 만든 잔고 선의 가장 큰 하락(평가 손익은 포함하지 않음). R = 순손익 / 최초 SL까지의 리스크 금액(SL 없는 거래는 R 없음). MAE와 MFE는 테스터가 EA에 전달하는 틱으로 계산하므로 테스터의 모델링 방식에 따라 달라집니다. 연도별 표는 청산 시각으로 집계합니다.
- 파일: 터미널 공용 데이터 폴더의 Common\Files\ManualBacktestPanel\. settings.txt에 설정을 저장합니다. 테스트마다 Exports\<심볼>_<시간 프레임>_<테스트 시작일>_<번호>\ 폴더를 만들고 journal.csv와 journal.html을 씁니다. 거래가 청산될 때마다 기록하므로, 정지 버튼으로 테스트를 멈춰도 파일은 남습니다.
참고 및 한계
- 연습용 도구일 뿐입니다: 신호, 조언, 예측이 아닙니다. 연습 결과는 테스트의 가격 데이터, 스프레드, 수수료, 모델링 방식에 따라 달라지며 실제 매매(체결, 슬리피지, 심리)와 다릅니다. 과거의 결과는 미래의 결과를 보장하지 않습니다.
- 전략 테스터의 시각화 모드 전용입니다. 라이브 차트에서는 매매도 파일 기록도 하지 않습니다.
- 시각화 테스터의 최대 속도를 사용하지 마십시오.
- 작은 화면(예: 1366 x 768)에서는 패널의 아래쪽이 차트 밖으로 벗어날 수 있습니다. 이때는 InpFont를 7~8로 낮추고 InpX와 InpY로 위치를 옮기십시오. 버튼과 주요 표시는 패널 위쪽에 있습니다.
- 네팅 계좌에서는 확인하지 않았습니다. 테스터에서는 헤징 계좌를 권장합니다.
- 하나의 패널은 하나의 심볼(차트 심볼)과 해당 매직 넘버의 포지션만 다룹니다.
- 브로커에 스톱 레벨이나 프리즈 레벨이 있으면, 그보다 가까운 SL/TP는 패널에 메시지를 표시하고 거부됩니다.
- 테스트할 때마다 새 출력 폴더를 만들며, 이전 폴더는 삭제하지 않습니다.
호환성 및 지원
- MetaTrader 5, 전략 테스터의 시각화 모드. 테스터에서 사용할 수 있는 모든 심볼과 시간 프레임. 헤징 계좌에서 확인했습니다.
- DLL, 인터넷, 외부 서버를 사용하지 않습니다. 파일은 Common\Files\ManualBacktestPanel 안에만 씁니다.
- 무료입니다.
- 지원은 MQL5 메시지로, 3영업일 이내에 답변합니다: 설치, 설정, 파일, 오류 보고. 진입·청산·SL이나 TP 수준의 제안, 시장 전망, 고객 거래의 평가는 해 드릴 수 없습니다.
- 거래 결과에 대해 어떠한 약속이나 암시도 하지 않습니다.
- 패널이 연습에 도움이 되었다면, 짧은 리뷰가 다른 트레이더가 이 패널을 찾는 데 도움이 됩니다.
