볼린저 밴드·RSI 백테스트 결과에 따라 AI에게 다음 질문을 던집니다
이번 포스트의 핵심 내용 3줄요약
- 볼린저 밴드와 RSI라는 지표 이름만 주지 말고 확정봉, 밴드 접촉·이탈, RSI 경계, 주문 시점, 청산과 위험 한도를 AI가 먼저 질문하게 합니다.
- 리포트를 분석시킬 때는 없는 수치와 원인을 만들지 못하게 하고, 관찰된 사실·가능한 해석·다음 시험의 가설을 구분하게 합니다.
- 수익은 나지만 거래가 적은 경우, drawdown이 큰 경우, long과 short가 다른 경우처럼 관찰 패턴마다 후속 프롬프트와 개선 실험이 달라집니다.
이전 글인 AI로 MT5 EA 만들기에서는 모호한 아이디어를 검증 가능한 명세로 바꾸는 기본 구조를 정리했습니다. 이번 글은 그 구조를 볼린저 밴드와 RSI 평균 회귀 아이디어에 적용합니다.
다만 이 글에는 MQL5 소스 코드를 싣지 않습니다. 실제 Strategy Tester 리포트도 제공되지 않았으므로 임의의 수익률, Profit Factor 또는 drawdown을 만들어 “개선됐다”고 말하지 않습니다. 목적은 어떻게 요청하고, 어떤 결과가 나오면 무엇을 다시 물으며, 다음 버전을 어떻게 비교할지를 익히는 것입니다.
OpenAI의 프롬프트 가이드 새 탭는 중요한 요청에 목표, 관련 맥락, 원하는 출력과 경계를 포함하고, 빠진 정보는 추측하지 않도록 지시하는 방식을 안내합니다. 이 구조를 전략 개발에 옮기면 전략 가설 → 모호성 질문 → 구현 요청 → 백테스트 증거 → 후속 질문 → 한 가지 변경의 흐름이 됩니다.
코드보다 먼저 전략 문장을 고정합니다
“볼린저 밴드 하단이고 RSI가 과매도면 매수”라는 문장은 사람에게는 그럴듯하지만 EA 명세로는 부족합니다. 하단 밴드에 저가가 닿은 것인지, 종가가 밴드 밖에서 끝난 것인지, 이탈 뒤 다시 안으로 들어온 것인지에 따라 전혀 다른 거래가 만들어집니다.
MQL5의 iBands 공식 문서 새 탭는 평균 기간, 밴드 이동, 편차와 적용 가격을 입력으로 받고 중심선·상단선·하단선 값을 제공합니다. iRSI 공식 문서 새 탭도 RSI 계산 기간과 적용 가격을 요구합니다. 즉, Bollinger Bands와 RSI라는 이름만으로는 계산 규칙도 완성되지 않습니다.
| 용어 | 이 글에서의 의미 | 프롬프트에서 확정할 질문 |
|---|---|---|
| 중심선 | 볼린저 밴드의 기준 평균선 | 청산 목표로 쓸지, 방향 필터로 쓸지 |
| 상단·하단 밴드 | 중심선에서 지정한 편차만큼 떨어진 경계 | 고가·저가 접촉인지, 종가 이탈인지 |
| RSI 경계 | 과매수·과매도 후보를 구분하는 값 | 경계 진입인지, 경계 밖에서 복귀인지 |
| 확정봉 | 더 이상 OHLC가 변하지 않는 직전 봉 | 현재 진행 중인 봉을 신호에서 제외할지 |
| 신호 시점 | 조건이 참이라고 판단한 시각 | 한 봉에서 한 번만 평가할지 |
| 주문 시점 | 실제 주문을 요청하는 시각 | 다음 봉 첫 유효 tick인지, 다른 규칙인지 |
| 기준 버전 | 개선 전 비교 대상 | 어떤 값과 테스트 조건을 고정할지 |
예시 값은 권장값이 아니라 출발점입니다
다음 표는 AI와 대화하기 위한 교육용 기준안입니다. 20·2.0, 14·30/70은 흔히 볼 수 있는 예시일 뿐 특정 symbol이나 timeframe에서 유리하다는 뜻이 아닙니다. 대괄호 부분은 사용자가 직접 결정해야 합니다.
| 항목 | 교육용 기준안 v0.1.0 |
|---|---|
| 가설 | 가격이 밴드 바깥에서 끝나고 RSI도 극단 구간에 있을 때 단기 평균 회귀가 나타나는지 검증 |
| Symbol·timeframe | [직접 입력] |
| Bollinger Bands | 종가 기준, 기간 20, 편차 2.0, 이동 0 |
| RSI | 종가 기준, 기간 14, 하단 경계 30, 상단 경계 70 |
| Long 신호 | 직전 확정봉 종가가 하단 밴드 이하이고 RSI가 30 이하 |
| Short 신호 | 직전 확정봉 종가가 상단 밴드 이상이고 RSI가 70 이상 |
| 진입 | 신호 다음 봉의 첫 유효 주문 시점, 한 신호당 최대 한 번 |
| 청산 | 중심선 도달, 보호용 Stop Loss, 최대 보유 시간의 우선순위를 [직접 입력] |
| 위험 | lot 계산, 거래당 손실 한도, 일일 손실 한도를 [직접 입력] |
| 동시 노출 | EA가 소유한 position 최대 1개를 후보로 검토 |
여기서 바로 값을 최적화하지 않습니다. 먼저 이 기준안이 의도한 거래를 정확히 만드는지 확인해야 합니다. 기간과 경계를 결과를 본 뒤 계속 바꾸면 어떤 시장 가설을 검증했는지보다 과거 구간에 얼마나 맞췄는지가 결과를 지배할 수 있습니다.
첫 프롬프트는 AI가 빈칸을 질문하게 만듭니다
첫 요청의 목적은 코드를 얻는 것이 아니라 결정하지 않은 조건을 드러내는 것입니다. 다음 프롬프트에서 대괄호만 자신의 환경에 맞게 채웁니다.
당신은 MT5 전략 요구사항 검토자입니다. 아직 코드를 작성하지 마세요.
목표:
- 볼린저 밴드와 RSI를 결합한 평균 회귀 가설을
재현 가능한 EA 명세와 백테스트 계획으로 바꿉니다.
현재 기준안:
- Symbol/timeframe: [입력]
- Bollinger Bands: 종가, 기간 20, 편차 2.0, 이동 0
- RSI: 종가, 기간 14, 경계 30/70
- Long 후보: 직전 확정봉 종가가 하단 밴드 이하이고 RSI가 30 이하
- Short 후보: 직전 확정봉 종가가 상단 밴드 이상이고 RSI가 70 이상
- 진입: 다음 봉의 첫 유효 주문 시점, 한 신호당 최대 한 번
- 청산·Stop Loss·보유 시간·position sizing: 아직 미정
규칙:
- 빠진 값을 관행이나 추측으로 채우지 마세요.
- 밴드 접촉, 종가 이탈, 밴드 안 복귀를 서로 다른 조건으로 취급하세요.
- 확정봉과 진행 중인 봉을 구분하세요.
- 수익을 약속하거나 최적 파라미터를 제안하지 마세요.
- 데이터, 비용, 주문 안전과 위험 한도에 관한 질문도 포함하세요.
출력:
1. 구현 전에 반드시 답해야 할 질문
2. 현재 문장에서 해석이 두 가지 이상인 부분
3. 사용자가 결정해야 할 선택지와 각 선택의 결과 차이
4. 확정된 내용과 미확정 내용을 나눈 v0.1.0 명세 초안
5. 백테스트 전에 정할 합격·보류·중단 기준AI의 질문에는 다음 범위가 들어 있어야 합니다.
| 범위 | 빠지기 쉬운 질문 |
|---|---|
| 데이터 | 정확한 symbol, timeframe, 테스트 기간, modeling mode는 무엇인가 |
| 신호 | 밴드와 RSI가 같은 확정봉에서 동시에 충족되어야 하는가 |
| 반복 | 조건이 여러 봉 지속되면 매 봉 재진입하는가 |
| 청산 | 중심선·반대 신호·SL·시간 청산 중 무엇이 우선하는가 |
| 비용 | spread, commission, swap과 execution delay를 어떻게 기록하는가 |
| 위험 | stop 거리와 lot을 어떻게 계산하며 최대 손실을 어디서 막는가 |
| 소유권 | 기존 position과 다른 EA의 주문을 어떻게 구분하는가 |
| 실패 | indicator 데이터 부족이나 주문 거부 시 신규 진입을 막는가 |
AI가 “일반적으로 20과 2가 좋다”처럼 빈칸을 대신 결정했다면 답을 채택하지 말고, 그 값은 임시 기준인지 근거가 있는 결정인지 분리하라고 다시 요청합니다.
합의한 명세로 구현을 요청하되 소스는 검토 대상에 둡니다
질문에 답한 뒤 명세 버전을 v0.1.0으로 고정합니다. 그때 코딩 AI에 구현을 맡길 수 있습니다. 아래는 구현 요청 프롬프트이며, 이 글에서는 생성된 소스 자체를 보여 주지 않습니다.
승인한 Bollinger-RSI 전략 명세 v0.1.0을 MQL5 EA로 구현하세요.
맥락:
- 첨부한 명세가 유일한 전략 기준입니다.
- Strategy Tester와 격리된 demo 환경에서만 검증합니다.
경계:
- 명세에 없는 파라미터와 거래 규칙을 임의로 추가하지 마세요.
- 모순이나 누락이 있으면 구현을 멈추고 질문하세요.
- 확정봉 신호와 다음 주문 시점을 분리하세요.
- 한 신호에서 중복 주문을 내지 마세요.
- EA가 소유하지 않은 position과 order를 변경하지 마세요.
- 거래 요청 결과, 거부 이유와 상태 변화를 검증 가능한 로그로 남기세요.
산출물:
1. 컴파일 가능한 MQL5 EA
2. 명세 항목과 구현 위치의 대응표
3. Inputs와 단위 설명
4. MetaEditor 컴파일 및 Strategy Tester 실행 절차
5. 정상·경계·실패 테스트 목록
6. 구현하지 못했거나 확인되지 않은 항목
완료 조건:
- 모든 명세 항목이 구현 또는 명시적인 미구현 항목에 연결됩니다.
- 같은 버전과 Inputs로 테스트를 반복할 수 있습니다.
- 실제로 실행하지 못한 컴파일이나 백테스트를 완료했다고 표현하지 않습니다.소스 코드를 읽기 어렵더라도 AI에게 “각 진입과 청산 조건을 자연어 한 문장으로 역설명하고 원래 명세와 다른 부분만 표로 보여 달라”고 요청할 수 있습니다. 그래도 MetaEditor 컴파일, Visual mode와 Journal 확인은 생략할 수 없습니다. MT5 Strategy Tester 백테스트 가이드의 설정 기록을 기준으로 첫 실행을 고정합니다.
백테스트 용어를 알아야 AI의 분석도 검토할 수 있습니다
AI가 분석했다는 이유만으로 해석이 맞는 것은 아닙니다. 최소한 다음 용어는 사용자가 직접 구분할 수 있어야 합니다. MetaTrader 5 Testing Report 공식 문서 새 탭는 이 지표들의 계산 기준을 설명합니다.
| 용어 | 리포트에서 보여 주는 것 | 함께 확인할 항목 |
|---|---|---|
| Total Net Profit | 모든 거래를 합친 최종 손익 | 초기 deposit, 비용, 특정 거래의 기여도 |
| Profit Factor | 총이익과 총손실 규모의 비율 | 거래 수, 기간별 안정성, 큰 이익 몇 건의 영향 |
| Expected Payoff | 거래 1회당 통계적 평균 손익 | spread·commission과 표본 수 |
| Balance Drawdown | 청산된 손익 기준 잔고의 고점 대비 낙폭 | 청산 시점과 자금 투입·인출 |
| Equity Drawdown | 미청산 손익을 포함한 equity의 고점 대비 낙폭 | position 보유 중 실제로 견딘 손실 |
| Recovery Factor | 얻은 이익과 최대 drawdown의 관계 | 회복에 걸린 시간과 거래 분포 |
| Total Trades | 손익이 확정된 거래 표본 수 | long·short 수, 기간별 분포 |
| Consecutive Losses | 연속 손실 횟수와 그 구간의 손실 | lot 크기, 일일 손실 한도, 심리·운영 부담 |
| Balance vs Equity Graph | 확정 손익과 미청산 손익의 시간 경로 | 두 선이 크게 벌어진 구간과 원인 거래 |
| In-sample | 아이디어 선택·조정에 사용한 개발 구간 | 몇 번의 변경을 이 구간에서 시도했는지 |
| Out-of-sample | 선택과 조정에 쓰지 않고 남겨 둔 검증 구간 | 결과를 본 뒤 다시 조정했는지 |
| Overfitting | 과거 구간의 우연과 잡음에 지나치게 맞춘 상태 | 작은 기간·값 변화에도 결과가 무너지는지 |
Profit Factor가 높아도 거래가 몇 번뿐이면 근거가 약할 수 있고, 순이익이 양수여도 Equity Drawdown이 감당하기 어려운 구조일 수 있습니다. Balance가 매끄러운데 Equity가 크게 흔들린다면 손실 position을 오래 보유한 결과일 수 있습니다. 하나의 숫자는 다른 숫자를 대신하지 않습니다.
MQL5 Strategy Tester 문서 새 탭는 Every tick, 1 Minute OHLC, Open prices only가 서로 다른 tick 경로를 만든다고 설명합니다. 특히 intrabar에서 밴드 접촉, Stop Loss와 청산 순서가 중요한 전략은 빠른 modeling mode의 결과만으로 결론 내리지 않습니다.
전체 리포트를 AI에 전달하는 분석 프롬프트
스크린샷 한 장보다 명세, Tester 설정, Inputs, 전체 report와 Journal을 함께 전달하는 편이 낫습니다. 비밀번호, API key, 전체 계좌번호와 개인 식별 정보는 먼저 제거합니다.
당신은 독립적인 MT5 백테스트 분석가입니다.
입력:
- 전략 명세 버전: v0.1.0
- EA 소스 버전 또는 commit: [입력]
- Tester 설정: symbol, timeframe, 기간, deposit, leverage,
modeling mode, spread, commission, swap, delay
- Inputs 파일 또는 목록
- 전체 Strategy Tester report
- Journal과 거래 목록
- 개발 구간과 손대지 않은 검증 구간의 구분
분석 규칙:
- 제공되지 않은 수치, 주문 원인과 시장 상태를 만들지 마세요.
- 먼저 테스트 오류와 데이터·비용·설정 누락을 확인하세요.
- 관찰된 사실, 가능한 해석, 추가 검증이 필요한 가설을 분리하세요.
- 순이익 하나로 전략을 평가하지 마세요.
- long/short, 기간, 시간대, 청산 사유와 연속 손실을 나눠 보세요.
- 아직 개선 파라미터를 고르지 마세요.
출력:
1. 이 테스트를 해석할 수 있는지와 누락 정보
2. 핵심 지표 표와 각 지표가 말하지 못하는 것
3. 성과 기여와 손실 집중 구간: 방향·기간·시간·청산 사유별
4. 관찰된 사실
5. 가능한 해석
6. 다음 시험으로 반증할 수 있는 가설 최대 3개
7. 현재 단계의 판정: 유지 관찰 / 분석 보류 / 기준 버전 폐기 후보좋은 답변은 “RSI를 28로 바꾸세요”부터 시작하지 않습니다. 먼저 예를 들어 “전체 이익의 대부분이 특정 기간의 소수 long 거래에 집중됐다”는 사실을 확인하고, 이것이 우연인지 방향 비대칭인지 검증할 다음 시험을 제안해야 합니다.
결과 모양마다 후속 프롬프트를 다르게 합니다
실제 숫자가 없는 지금 정할 수 있는 것은 합격 수치가 아니라 관찰 패턴별 질문입니다. 아래 문장은 리포트 값과 거래 목록을 첨부한 뒤 사용할 수 있습니다.
| 관찰된 결과 | 바로 내리면 안 되는 결론 | AI에 다시 물을 핵심 |
|---|---|---|
| 순이익·Profit Factor는 양호하지만 거래가 적음 | “높은 Profit Factor이므로 완성” | 상위 몇 거래의 기여도, 인접 기간, 표본 부족 여부 |
| 수익은 양수지만 Equity Drawdown이 큼 | “결국 회복했으니 괜찮음” | drawdown을 만든 position·시간·청산 규칙과 위험 크기 |
| Long은 양호하고 Short는 부진 | “Short를 즉시 삭제” | 방향별 표본·시장 국면·비용 차이와 분리 시험 |
| 특정 연도·월에만 성과가 집중됨 | “그 기간이 전략의 정상 모습” | 다른 기간과 다른 변동성·추세·거래 집중 특성 |
| In-sample은 좋고 Out-of-sample은 나쁨 | “검증 구간에 맞춰 한 번 더 조정” | 과최적화 징후와 untouched 구간을 보존할 다음 설계 |
| 거래가 거의 발생하지 않음 | “기간을 늘리면 자동 해결” | 조건이 과도한지, 데이터·indicator 준비 문제인지 |
| v0.2.0이 기준 버전보다 나빠짐 | “다른 필터도 같이 더함” | 변경 하나의 부작용, 원래 가설 반증 여부, 되돌릴 근거 |
1. 수익은 좋아 보이지만 거래 수가 적을 때
총 거래 수가 [값]으로 적습니다. Profit Factor를 성과 확정으로 해석하지 마세요.
거래별 손익을 이용해 상위 1·3·5개 거래를 제거했을 때의 영향을 계산하고,
long/short와 기간별 표본을 나누세요. 계산할 데이터가 없으면 필요한 열을 요청하세요.
현재 근거로 말할 수 있는 범위와 추가해야 할 테스트 기간을 구분해 주세요.2. 순이익은 양수지만 drawdown이 클 때
Total Net Profit은 [값]이지만 Equity Drawdown은 [값]입니다.
drawdown이 가장 커진 구간의 position, 방향, 보유 시간, MAE와 청산 사유를 추적하세요.
진입 신호 문제, 청산 지연, position sizing 문제를 서로 다른 가설로 분리하고,
각 가설을 한 번의 변경으로 시험하는 방법과 예상 부작용을 적어 주세요.3. Long과 Short의 결과가 다를 때
같은 기준 버전에서 long과 short 결과가 다릅니다.
방향별 거래 수, 순손익, Profit Factor, drawdown, 시간대와 기간 분포를 비교하세요.
표본 차이인지 시장 국면 차이인지 구분할 증거를 제시하고,
방향 필터를 적용한 버전과 기존 양방향 버전을 비교할 최소 실험을 설계하세요.
아직 한 방향을 삭제하라고 결론 내리지 마세요.4. 개발 구간만 좋을 때
v0.1.0은 in-sample에서 양호했지만 untouched out-of-sample에서 약해졌습니다.
검증 구간의 값을 보고 파라미터를 다시 맞추지 마세요.
두 구간의 거래 수, 방향, 변동성, 비용과 손실 집중 차이를 사실로 정리하고,
현재 가설을 폐기할지 단순화할지 판단할 반증 시험을 제안하세요.
새 holdout이 필요해지는 변경도 명시하세요.5. 개선 버전이 더 나빠졌을 때
v0.2.0은 v0.1.0에서 [변경 한 가지]만 추가했지만 같은 설정에서 결과가 악화됐습니다.
두 report와 거래 목록의 차이를 변경 효과와 우연한 표본 차이로 나눠 분석하세요.
개선 가설이 반증됐는지, 구현이 의도와 다른지, 추가 기간이 필요한지 구분하세요.
다른 변경을 덧붙여 결과를 구하려 하지 말고 유지·되돌림·추가 시험 중 하나를 제안하세요.보완장치는 성과 장식이 아니라 실패 가설에 연결합니다
AI는 흔히 trend filter, ADX, ATR, 거래 시간 제한을 한꺼번에 제안합니다. 이름이 그럴듯하다는 이유로 모두 넣으면 어떤 변경이 효과를 냈는지 알 수 없습니다.
| 보완장치 후보 | 확인하려는 실패 가설 | 기대할 수 있는 변화 | 함께 생길 수 있는 비용 |
|---|---|---|---|
| 추세 필터 | 강한 추세에서 평균 회귀 진입이 반복 손실을 만든다 | 추세 반대 진입 감소 | 거래 수 감소, 회전 시점 지연 |
| ADX 조건 | 방향과 무관하게 추세 강도가 높은 구간이 불리하다 | 특정 강도 구간 제외 | 경계값 과최적화 위험 |
| Bollinger Bandwidth | 밴드 폭이 지나치게 좁거나 넓을 때 신호 성격이 달라진다 | 변동성 국면 구분 | 폭 계산·경계 하나가 추가됨 |
| ATR 기반 거리 | 고정 Stop이 symbol·변동성에 따라 의미가 달라진다 | 가격 변동에 맞춘 거리 | 손실 금액은 별도 sizing 필요 |
| Session 필터 | 특정 시간대의 spread나 가격 움직임이 손실을 집중시킨다 | 문제 시간대 거래 감소 | 표본 감소, 서버 시간 처리 필요 |
| Spread 상한 | 거래 비용이 기대 움직임을 잠식한다 | 비싼 진입 차단 | 신호는 있었지만 체결되지 않는 사례 증가 |
| Cooldown | 한 번의 이탈에서 연속 재진입이 손실을 키운다 | 손실 군집 완화 | 빠른 정상 회귀 재진입을 놓칠 수 있음 |
| 일일 손실 한도 | 연속 손실일에 노출이 계속 누적된다 | 하루의 손실 확대 제한 | 이후 회복 거래도 차단될 수 있음 |
MQL5의 iADX 새 탭와 iATR 새 탭은 각각 해당 indicator를 계산하는 공식 인터페이스입니다. 그러나 indicator를 사용할 수 있다는 사실이 이 전략에 도움이 된다는 증거는 아닙니다. 보완장치는 반드시 실제 실패 패턴과 연결해 별도 버전에서 검증합니다.
다음 프롬프트로 제안의 범위를 줄일 수 있습니다.
첨부한 분석에서 확인된 실패 패턴만 근거로 보완장치 후보를 최대 3개 제안하세요.
각 후보마다:
- 연결되는 관찰 사실
- 작동할 수 있는 인과 가설
- 기대되는 변화
- 악화될 수 있는 지표와 상황
- 필요한 추가 데이터
- 한 가지 변경만 포함한 테스트 방법
을 표로 작성하세요.
근거가 가장 직접적인 후보 1개를 v0.2.0 실험으로 고르되,
선택 이유를 설명하고 사람이 승인하기 전에는 코드 변경을 시작하지 마세요.
단순한 파라미터 미세 조정은 별도 후보로 분리하세요.v0.1.0과 v0.2.0은 같은 시험지에서 비교합니다
개선 버전은 기준 버전을 덮어쓰지 않습니다. 명세, source commit, Inputs, Tester 설정, report, Journal과 결정 기록을 버전별로 남깁니다. 비교표에는 실제 리포트 값을 그대로 옮기고 빈칸을 AI가 추정하게 두지 않습니다.
| 비교 항목 | v0.1.0 기준 | v0.2.0 변경 1개 | 해석 질문 |
|---|---|---|---|
| 변경 내용 | 없음 | [예: cooldown만 추가] | 정말 한 가지 핵심 가설만 달라졌는가 |
| 테스트 설정 | [기록] | [동일 여부 기록] | 데이터·비용·modeling이 같은가 |
| Total Net Profit | [report 값] | [report 값] | 차이가 몇 거래에 집중됐는가 |
| Profit Factor | [report 값] | [report 값] | 거래 수와 함께 개선됐는가 |
| Equity Drawdown | [report 값] | [report 값] | 줄었다면 어떤 손실 군집이 사라졌는가 |
| Recovery Factor | [report 값] | [report 값] | 낙폭과 순손익의 절충은 무엇인가 |
| Total Trades | [report 값] | [report 값] | 필터가 표본을 지나치게 줄였는가 |
| Long / Short | [분리 값] | [분리 값] | 한 방향만 결과를 지배하는가 |
| Consecutive Losses | [report 값] | [report 값] | 운영상 손실 군집이 완화됐는가 |
| Out-of-sample | [report 값] | [report 값] | 보지 않은 구간에서도 같은 효과인가 |
v0.1.0과 v0.2.0의 명세, 동일한 Tester 설정, report와 거래 목록을 비교하세요.
규칙:
- 결과 차이를 코드 변경의 효과라고 단정하지 마세요.
- 변경된 조건이 실제로 영향을 준 거래를 식별하세요.
- 좋아진 지표와 나빠진 지표를 모두 보여 주세요.
- in-sample과 untouched out-of-sample을 분리하세요.
- 거래 수 감소와 소수 거래의 영향도 함께 계산하세요.
- 누락된 값은 추정하지 마세요.
출력:
1. 설정 동일성 확인
2. 관찰된 차이
3. 변경 가설과 일치하는 증거 및 반대 증거
4. 새로 생긴 부작용
5. 유지 / 되돌림 / 추가 시험 중 하나와 그 이유
6. 다음 버전이 필요하다면 변경 한 가지만 제안버전 관리는 좋은 결과만 보관하는 장치가 아닙니다. 악화된 버전도 왜 폐기했는지 남겨야 같은 실험을 다른 이름으로 반복하지 않습니다. Out-of-sample 결과를 본 뒤 규칙을 바꿨다면 그 구간은 더 이상 손대지 않은 검증 구간이 아닙니다. MetaTrader 5의 forward optimization 설명 새 탭처럼 개발 구간과 별도 구간을 구분하는 이유가 여기에 있습니다.
자주 묻는 질문
AI에게 리포트 스크린샷만 보내도 되나요?
화면 위치를 설명하는 보조 자료로는 쓸 수 있지만 숫자가 잘리거나 Tester 설정, 거래 목록과 Journal이 빠질 수 있습니다. 가능한 경우 report 파일, 설정, Inputs와 거래 목록을 함께 제공하고, AI가 읽지 못한 항목을 표시하게 합니다.
가장 중요한 백테스트 지표 하나는 무엇인가요?
하나로 정할 수 없습니다. 먼저 Journal과 설정으로 시험이 유효한지 확인한 뒤 순손익, Equity Drawdown, 거래 수, 손익 분포, 연속 손실과 검증 구간을 함께 봅니다. 지표마다 답하는 질문이 다릅니다.
v0.2.0 숫자가 더 좋으면 개선에 성공한 것 아닌가요?
같은 구간을 보고 변경을 고른 결과라면 그 구간에 더 맞아진 것일 수 있습니다. 같은 설정의 기준 버전, untouched 구간, 거래 수와 부작용을 함께 확인해야 합니다.
20·2.0, 14·30/70 값을 바꿔도 되나요?
바꿀 수 있지만 기준 버전을 실행하기 전부터 여러 값을 훑지 않습니다. 값을 바꾸는 순간 새로운 가설과 버전으로 기록하고, 왜 그 변경을 시험하는지와 악화될 수 있는 조건을 먼저 적습니다.
위험 설명
AI가 만든 분석은 입력 리포트의 품질과 지시 범위에 제한됩니다. 그럴듯한 원인 설명이 실제 인과관계라는 보장은 없으며, 컴파일 성공과 과거 백테스트는 미래 성과를 증명하지 않습니다. 자동매매는 잘못된 규칙도 반복하고, CFD·레버리지 상품의 손실은 빠르게 커질 수 있습니다.
이 글은 정보 제공 목적의 교육 자료이며 볼린저 밴드·RSI 조합, 특정 파라미터, AI 도구, 브로커, symbol 또는 거래를 권유하지 않습니다. 계좌 비밀번호, API key와 개인 식별 정보를 AI 입력에 포함하지 말고, 구현물은 Strategy Tester와 격리된 demo 환경에서 검증하세요.
다음 포스팅 예고
다음 글에서는 실제 MT5 Strategy Tester 리포트 한 건을 입력으로 사용합니다. 거래 전수, 기간별·방향별 성과와 drawdown 구간을 AI에 분석시키고, 확인된 실패 가설 하나만 골라 v0.2.0에 반영한 뒤 기준 버전과 같은 조건에서 다시 비교하는 과정을 기록하겠습니다.