바이낸스 선물 자동매매에서 KDJ 전략을 ONDO에 적용한 백테스트 결과를 정리했다.
수익률은 높게 나왔다.
문제는 MDD였다.
이 글에서는 KDJ 지표의 기본 개념부터 실전 백테스트 결과, 그리고 MDD가 왜 자동매매에서 결정적인 지표인지를 실제 데이터를 바탕으로 정리한다.
KDJ 지표란 무엇인가
KDJ는 스토캐스틱(Stochastic) 오실레이터를 발전시킨 지표다.
스토캐스틱은 현재 가격이 일정 기간의 가격 범위에서 어느 위치에 있는지를 보여주는 지표다.
KDJ는 여기에 J선을 추가해서 신호를 더 빠르게 포착한다.
세 개의 선으로 구성된다.
K선, D선, J선이다.
K선은 스토캐스틱의 기본 선이다.
일정 기간(기본값 9) 동안의 최고가와 최저가 범위에서 현재 종가의 위치를 0~100으로 표시한다.
가격이 최고점에 가까울수록 100에 가깝고, 최저점에 가까울수록 0에 가깝다.
D선은 K선의 이동평균이다.
기본값은 3기간이다.
K선보다 느리게 움직인다.
J선은 K선과 D선의 차이를 증폭한 선이다.
계산식은 3K - 2D다.
그래서 0~100 범위를 벗어나기도 한다.
가격 변화에 가장 먼저 반응하고, 변동폭도 가장 크다.
KDJ에서 매수·매도 신호를 읽는 법
KDJ는 두 가지 방식으로 신호를 읽는다.
과매수·과매도 구간과 크로스 신호다.
과매수·과매도 구간:
K와 D가 80 이상이면 과매수 구간이다. 가격이 너무 올라서 조정이 올 수 있다는 의미다.
K와 D가 20 이하이면 과매도 구간이다. 가격이 너무 내려서 반등이 올 수 있다는 의미다.
크로스 신호:
K선이 D선을 아래에서 위로 뚫으면 골든크로스다. 상승 신호로 본다.
K선이 D선을 위에서 아래로 뚫으면 데드크로스다. 하락 신호로 본다.
자동매매에서는 두 조건을 함께 쓰는 게 일반적이다.
과매도 구간(K, D 모두 20 이하)에서 골든크로스가 나오면 LONG 진입.
과매수 구간(K, D 모두 80 이상)에서 데드크로스가 나오면 SHORT 진입.
둘 중 하나만 쓰면 오신호가 많아진다.
J선은 단독 신호로 쓰기도 한다.
J선이 0 이하로 내려가면 극단적 과매도, 100 이상이면 극단적 과매수로 본다.
방향 전환이 올 가능성이 높은 구간이다.
KDJ를 자동매매 코드로 만드는 방법
파이썬에서 KDJ는 직접 계산 방식으로 구현한다.
[AI에게 시킨 명령어]
"2시간봉 기준으로 KDJ 지표를 계산하고, K가 D를 골든크로스할 때 LONG 신호, 데드크로스할 때 SHORT 신호를 잡는 코드 작성해줘. K와 D가 모두 20 이하일 때만 LONG, 80 이상일 때만 SHORT 허용하도록"
KDJ 계산 코드:
low_min = df['low'].rolling(window=9).min()
high_max = df['high'].rolling(window=9).max()
rsv = (df['close'] - low_min) / (high_max - low_min) * 100
df['K'] = rsv.ewm(com=2).mean()
df['D'] = df['K'].ewm(com=2).mean()
df['J'] = 3 * df['K'] - 2 * df['D']
LONG 진입 조건 코드:
long_signal = (
(df['K'] > df['D']) &
(df['K'].shift(1) <= df['D'].shift(1)) &
(df['K'] < 20) &
(df['D'] < 20)
)
K가 D를 아래에서 위로 돌파하고, K와 D가 모두 20 이하일 때만 LONG으로 진입한다.
SHORT 진입 조건 코드:
short_signal = (
(df['K'] < df['D']) &
(df['K'].shift(1) >= df['D'].shift(1)) &
(df['K'] > 80) &
(df['D'] > 80)
)
K가 D를 위에서 아래로 돌파하고, K와 D가 모두 80 이상일 때만 SHORT으로 진입한다.

KDJ 전략 ONDO 백테스트 결과 비교표
초기 설정과 파라미터 최적화 후 결과를 나란히 정리한 표. 수익률, MDD, 거래 횟수, 승률 비교.
ONDO 봇 백테스트 결과
2봇에 ONDO/USDT 2시간봉 기준으로 KDJ 전략을 적용하고 백테스트를 돌렸다.
기간은 2024년 1월부터 2026년 4월까지, 초기 자본 $150, 레버리지 2배 기준이다.
거래 횟수는 1,153회였다.
실제로 2봇은 운영 초반에 전략을 여러 번 바꿨다.
지금 보는 수치는 KDJ 전략으로 전체 기간을 시뮬레이션한 백테스트 결과다.
수익률은 높게 나왔다.
2024년이 특히 컸다.
ONDO가 코인 출시 초반이라 방향이 뚜렷한 상승장이었기 때문이다.
KDJ는 추세가 있을 때 강하다.
방향이 잡히면 신호가 맞아 떨어지고 익절이 쌓인다.
2024년 결과가 크게 나온 건 이 때문이다.
2025년, 2026년으로 갈수록 결과가 줄어들었다.
ONDO의 상승 에너지가 꺾이면서 KDJ 신호가 자주 빗나가기 시작했다.
그리고 MDD가 문제였다.
전체 구간 MDD가 -72.78%였다.
KDJ 신호가 통하는 장과 통하지 않는 장
KDJ는 가격이 한 방향으로 움직이는 추세 장에서 강하다.
K선과 D선이 교차하면서 방향이 잡히고, 신호대로 수익이 쌓인다.
반대로 방향 없이 위아래를 반복하는 횡보 장에서는 약하다.
신호가 나올 때마다 진입하는데, 가격이 방향을 못 잡으니 진입할 때마다 손실이 쌓인다.
ONDO는 2024년 출시 초반에 강한 상승 추세를 탔다.
그 구간에서 KDJ 신호가 잘 맞아 떨어지며 수익이 쌓였다.
2025년부터는 흐름이 꺾이면서 횡보 구간이 길어졌다.
KDJ 신호는 계속 나오는데 방향이 없어서 잔손절이 반복됐다.
연도별 백테스트 수익률이 이 흐름을 그대로 보여준다.
2024년: +882% (백테스트 기준)
2025년: +229% (백테스트 기준)
2026년 (4개월): +103% (백테스트 기준)
누적 합계: +6,442% (백테스트 기준)
수익률 자체는 전부 플러스지만, 2024년 대비 이후 구간이 급격히 줄어든다.
시장 환경이 달라진 만큼 KDJ 신호의 정확도도 달라진 결과다.
MDD -72%가 실전에서 의미하는 것
MDD -72.78%는 원금의 70% 넘게 줄어드는 구간이 생긴다는 뜻이다.
백테스트 화면에서 보면 그냥 숫자다.
실제로 봇 운영 중 잔고가 $50 수준까지 줄어든 시기가 있었다.
전략을 여러 번 교체한 결과이지만, KDJ 전략의 높은 MDD가 영향을 준 건 분명했다.
그 구간에서 버티지 못하고 봇을 끄면 이후 반등을 전부 놓친다.
수익률이 아무리 높게 나와도 실전에서 봇을 계속 돌리지 못하면 의미가 없다.
보통 이 구간에서 버티지 못하고 봇을 끄게 된다.
봇을 끄는 순간 그 뒤에 오는 반등을 전부 놓친다.
수익률이 아무리 높게 나와도 실전에서 봇을 계속 돌리지 못하면 의미가 없다.
MDD가 높아진 이유는 KDJ 전략의 특성에 있다.
KDJ는 빠른 지표다.
신호가 자주 나온다.
추세 장에서는 이게 장점이지만, 횡보 구간에서는 신호가 나올 때마다 진입하다가 잔손절이 쌓인다.
실제로 2봇, 3봇, 4봇이 ONDO를 거래했는데 6월에 셋 다 같이 무너졌다.
ONDO가 횡보하던 구간이었다.
KDJ가 계속 신호를 냈고 봇은 계속 들어갔다 나오고, 들어갔다 나오기를 반복했다.
그 경험을 정리한 글이 있다.
2026.07.09 - [바이낸스 선물 자동매매] - 바이낸스 봇 리스크 분산, 같은 코인에 3개 몰았더니 다 같이 -$183
파라미터를 바꿔서 테스트해봤는데
MDD를 낮추려고 파라미터를 바꿔가며 여러 번 테스트했다.
period, signal, TP, SL, OB 값을 다르게 조합했다.
거래 횟수는 1,153회에서 858회로 줄었다.
MDD는 -72.78%에서 -66.28%로 소폭 개선됐다.
수치상으로는 줄었다.
하지만 여전히 -66%다.
$150이 약 $51로 줄어드는 구간이 생긴다는 뜻이다.
실전 기준으로 크게 다르지 않다.
파라미터를 바꾸는 방식으로는 이 전략의 MDD를 실전 운영이 가능한 수준까지 낮추기 어렵다는 결론이 나왔다.
전략 구조 자체의 한계였다.
결론
KDJ는 빠른 신호가 장점인 지표다.
추세가 뚜렷한 장에서는 백테스트 수익률이 높게 나온다.
하지만 MDD를 먼저 봐야 한다.
수익률이 아무리 높아도 MDD가 -70%를 넘으면 실전에서 버티기 어렵다.
파라미터 최적화로도 MDD가 안 내려온다면 전략 구조 자체를 바꿔야 한다.
백테스트를 볼 때 수익률과 MDD를 함께 보는 습관이 자동매매에서 가장 중요한 것 중 하나다.
높은 수익률보다 낮은 MDD가 실전에서 더 오래 살아남는다.
이번 ONDO KDJ 백테스트가 그 사실을 다시 확인한 사례였다.
함께 읽으면 좋은 글
2026.05.30 - [바이낸스 선물 자동매매] - 7화 자동매매 백테스트, 수익률보다 MDD가 중요한 이유
2026.07.25 - [바이낸스 선물 자동매매] - 바이낸스 자동매매 TP SL 설정, 백테스트 수백 번으로 찾는 법
'바이낸스 선물 자동매매' 카테고리의 다른 글
| 바이낸스 자동매매 TP SL 설정, 백테스트 수백 번으로 찾는 법 (0) | 2026.07.25 |
|---|---|
| 바이낸스 헤지 모드와 원웨이 모드 차이, 자동매매는 무엇이 좋을까 (0) | 2026.07.19 |
| 바이낸스 자동매매, TP/SL이 한 달 동안 작동 안 된 이유 (0) | 2026.07.15 |
| 12화 바이낸스 자동매매, $300이 10년 뒤 $3만이 되는 이유 (0) | 2026.07.13 |
| 바이낸스 봇 리스크 분산, 같은 코인에 3개 몰았더니 다 같이 -$183 (0) | 2026.07.11 |