WILD_SNIPER

실거래 검증 중

Binance 스팟 자동 트레이딩 봇

시작: 2025-12

Binance 스팟 시장에서 변동성 큰 알트코인을 자동 진입·청산하는 Python 트레이딩 봇입니다.

ccxt 기반, ATR/ADX/RSI/Volume 다중 필터 + Kelly 사이징 + 트레일링 SL/TP. SAFE-XX 패치 시리즈로 실전에서 발견되는 문제(고아 포지션, 재접속, PID 락, SIGKILL 복구)를 하나씩 잡아왔습니다.

V4.x 실험 후 안정성을 위해 V3.7.1로 회귀하여 운영 중. 진짜 손실은 전략이 아니라 심볼 선택에 있었음을 데이터로 확인했습니다.

기술 스택

Python 3.11ccxtBinance Spot APIpandasnumpyasyncio

하이라이트

  • 52건 실거래 데이터 분석 → 손실 67%가 단일 심볼(MOVR)에 집중
  • V3.7/V3.8/V3.9 백테스트 + walk-forward로 패치별 효과 검증
  • Paper mode 모니터링 시스템 (200건 단위 자동 비교)
  • PID 락 + SIGKILL 복구 + 재접속 자동화

일자별 빌드 기록

어떻게 만들어졌는지 시간순 기록. 코드는 공개해도 안전한 부분만, 민감 부분은 마킹.

2025-12

시작 — 단순 돌파 전략

첫 버전 V3.3. 변동성 큰 알트 페어에서 단순 돌파 진입 + 고정 TP/SL. 코드 ~600줄. 첫 라이브 테스트는 1주일 만에 -15% 손실로 종료.

2026-01

SAFE 시리즈 시작 — SAFE-05 고아 포지션 정리

봇이 죽으면 거래소에 고아(orphan) 포지션이 남아 다음 시작 시 충돌. 시작 시 모든 미체결·고아 포지션 자동 정리하는 SAFE-05 추가.

# SAFE-05: orphan cleanup at startup
def cleanup_orphans(exchange, allowed_symbols):
    open_orders = exchange.fetch_open_orders()
    for order in open_orders:
        if order['symbol'] not in allowed_symbols:
            exchange.cancel_order(order['id'], order['symbol'])
            logger.warning(f"Cancelled orphan: {order['symbol']}")

    positions = exchange.fetch_positions()
    for pos in positions:
        if pos['contracts'] > 0 and pos['symbol'] not in allowed_symbols:
            # 안전을 위해 자동 청산은 안 하고 경고만, 사용자 확인
            logger.error(f"ORPHAN POSITION: {pos['symbol']} {pos['contracts']}")

2026-01

SAFE-06 FSM 상태 직렬화

FSM 상태(IDLE/BUYING/HOLDING/SELLING/STUCK)에 race condition 발생. 동시에 두 신호가 들어오면 상태 충돌. 상태 전이를 명시적 lock으로 직렬화.

2026-02

V3.7.0 — 안정화 베이스라인

SAFE-05~SAFE-08 누적 + 파라미터 튜닝. 라이브 데이터: 418건, 승률 67.5%, 평균 홀딩 1분 49초, 누적 +$3.00. 카테고리 최상위 승률.

2026-03

V3.8.0 — 한 번에 5개 변경한 실수

R:R 개선하려고 MIN_PROFIT 1.2→2.0, Trail Activate 0.6→2.5, Trail Callback 0.4→1.0, SL ATR 1.5→1.0, MAX_HOLD 900→1200 + FEAT-11 본절가 대기 동시 변경. 결과: 승률 67.5% → 46.9%. 어느 변경이 원인인지 분리 불가능.

2026-03

V3.9.x — 안전 패치 추가, 깨진 엣지 그대로

V3.8 위에 SAFE-15(블랙리스트) ~ SAFE-18 추가. 안전성↑ 그러나 V3.8.0의 깨진 엣지는 남음. V3.9.3 라이브 18건 22.2% 승률.

2026-04-22

V4.0/V4.1 — V3.7 전략 복원 + 안전 패치 머지

V3.7 전략 + SAFE-XX 안전 + ADX 30→25 / Volume 1.5→1.2 완화. paper mode 검증 후 라이브 — V4.1 52건 41.7% 승률, -$5.02.

2026-04-24

심볼별 분해 — 진짜 원인 발견

52건 손실의 67%가 단일 심볼(MOVR/USDT). KAT/USDT는 60% 승률 (V3.7 베이스라인 근접). 전략 엔진은 정상 — 심볼 선택이 깨진 것.

# 심볼별 PnL 분해 (V4.1 분석)
import pandas as pd

trades = pd.read_csv("trades_v4_1.csv")
by_symbol = trades.groupby("symbol").agg(
    n=("pnl", "count"),
    wr=("pnl", lambda s: (s > 0).mean()),
    pnl=("pnl", "sum")
).sort_values("pnl")

print(by_symbol)
# MOVR/USDT  10  0.30  -1.72  ← 손실 67% 책임
# KAT/USDT   15  0.60  -0.20  ← V3.7 baseline 근접

2026-04-25

V3.7.1 롤백 결정

V4.1 보강 vs V3.7.1 회귀 → 회귀 선택. 검증된 위치 + 한 번에 변수 하나 원칙. 이후 심볼 필터만 단독 PoC 후 V4.2 통합 예정.

2026-04-26

V3.7.1 첫날 78.3% 회복

롤백 후 60건 거래, 47승 13패, +$1.98 USDT. 잔고 625.36 → 627.28. V4.1 우하향에서 우상향으로 전환 확인.

빌드 일지

2026-06-29 · Sniper

2026-06-28 Sniper 일지 — BTC가 $60K 위에서 종일 횡보하다 막판 살짝 밀린 저변동 휴식일, 종가 $60,033 (-0.95%), 잭 포지션 hold 유지, EOD 미실현 -$370 (전일 -$312에서 -$58 후퇴)

2026-06-28 · Sniper

2026-06-27 Sniper 일지 — BTC가 $60K 위를 종일 지킨 저변동 안정화일, 종가 $60,612 (+1.71%), 잭 포지션 hold 유지, EOD 미실현 -$312 (전일 -$414에서 +$102 개선)

2026-06-27 · Sniper

2026-06-26 Sniper 일지 — PCE 폭락 다음 날, BTC가 $58,337 저점 찍고 $59,591로 되돌린 횡보 정리일, 잭 포지션 hold 유지, EOD 미실현 -$414 (전일과 사실상 동일)

2026-06-26 · Sniper

2026-06-25 Sniper 일지 — PCE D-Day 21:30 KST 발표 직후 22:00 한 시간 만에 $61,244 → $58,115 으로 -5.1% 슬라이드 (24시간 저점), 잭 포지션 hold 유지, EOD 미실현 -$418

2026-06-25 · Sniper

2026-06-24 Sniper 일지 — BTC 24시간 -3.7% 슬라이드 + 잭 KST 23:18 0.028 BTC 추가 매수 (포지션 0.072 → 0.100, 평단 64,759.5 → 63,732.82, EOD 미실현 -$262)

2026-06-24 · Sniper

2026-06-23 Sniper 일지 — BTC 시초 $64,943 에서 박스 깨고 저점 $61,870 까지 -5.0% 슬라이드, LONG 0.072 BTC × 5x @ 64,759.5 미실현 +$14 → -$165 회귀

2026-06-23 · Sniper

2026-06-22 Sniper 일지 — BTC 박스 저점 $63,397 두드리고 $65,328 까지 회복, LONG 0.072 BTC × 5x @ 64,759.5 미실현 -$108 → +$14 본전 복귀

2026-06-20 · Sniper

2026-06-19 Sniper 일지 — Fed 다음 날 62K 두 번 두드리는 박스 + LONG 0.072 BTC × 5x @ 64,759.5 그대로 보유, 미실현 -$108

2026-06-19 · Sniper

2026-06-18 Sniper 일지 — Fed FOMC 직후 무거래 관망 (LONG 0.072 @ 64,759.5 유지) + BTC 64K 박스 안 흔들림 / ETH 츄스 24 tick 정상

2026-06-18 · Sniper

2026-06-17 Sniper 일지 — Fed 전야 LONG 리포지셔닝 (0.026 → 0.072, 평단 66,470 → 64,760) + 실현 -$45 / ETH 츄스 monitor 24 tick 정상

2026-06-17 · Sniper

2026-06-16 Sniper 일지 — BTC LONG 0.052 미상 청산 + 옵션 2 재진입 0.026 홀딩 / ETH 츄스 메타룰 확정 / Telegram WARP 복구

2026-06-16 · Sniper

2026-06-15 Sniper 일지 — 06:40 KST 65K 자동 추가 + 08:37 KST 잭 수동 전량 청산 = 사이즈 0.21 → 0 / 실현 -$564

2026-06-15 · Sniper

2026-06-14 Sniper 일지 — 자동봇 셧다운 33 일째 + 잭 수동 거래 0 건 + BTC 어제 새벽 64,732 두 번째 박스 상단 시도 후 23:49 KST 63,847 어제 최저 회귀 = EOD 63,928 마감 / 미실현 -$302 → -$260 으로 +$42 좋아짐

2026-06-14 · Sniper

2026-06-13 Sniper 일지 — 자동봇 셧다운 33 일째 + 잭 수동 거래 0 건 + BTC 어제 새벽 64,362 첫 시도 후 05:54 KST 63,376 까지 하강했다가 EOD 64,189 마감 = 미실현 -$266 → -$301 로 -$35 약간 더 벌어짐

2026-06-13 · Sniper

2026-06-12 Sniper 일지 — 자동봇 셧다운 32 일째, 잭 수동 거래 0 건, BTC 가 박스 위쪽 63K 후반까지 밀고 올라가서 size 0.173 BTC SHORT 의 미실현이 -$42 에서 -$263 까지 확대

2026-06-12 · Sniper

2026-06-11 Sniper 일지 — 자동봇 셧다운 31 일째, 박스 상단 시험 → 잭이 어제 새벽 0.177 부분 close 로 +$90 realized 챙기고 오후/저녁에 두 번 추가 매수 후 평단 62,454 로 끌어올림

2026-06-11 · Sniper

2026-06-10 Sniper 일지 — 자동봇 셧다운 30 일째, BTC 60K 저점 한 번 찍고 막판 V자 반등 → 미실현 +$281 → -$148 막판 뒤집힘

2026-06-10 · Sniper

2026-06-09 Sniper 일지 — 자동봇 셧다운 29 일째, BTC 64K 후 반락 → 포지션 흑자 전환 + 추가 매수 0 건 + 알람 룰 정리

2026-06-09 · Sniper

2026-06-08 Sniper 일지 — 자동봇 셧다운 28 일째, BTC 가 60K 박스 위로 이탈 + 63K / 64K 추가 매수 2 건 + 잭 알람 룰 재조정

2026-06-08 · Sniper

2026-06-07 Sniper 일지 — 자동봇 셧다운 27 일째, BTC SHORT v2 평단 끌어올리기 (size 0.082 → 0.191, uPnL -$83 EOD)

2026-06-07 · Sniper

2026-06-06 Sniper 일지 — 자동봇 셧다운 26 일째, 수동 BTC 3 사건 + 통합 포지션 매니저 가동 (실현 약 -$130, 숏 v2 보유 중)

2026-06-06 · Sniper

2026-06-05 Sniper 일지 — 셧다운 25 일째에 spec 가 한 번 더 갈라졌다 (= ablation 14 phase + mega sweep 124 변형 + cross-track 34 결합 = A+B+C triple gate 후보 +$14.51 / Sharpe 0.58)

2026-06-05 · Sniper

2026-06-04 Sniper 일지 — 셧다운 24 일째, 그러나 23 일치 정체가 깨진 첫 날 (= 자금 2,677 USDT 입금 + BTC 극단 과매도 진단)

2026-06-04 · Sniper

2026-06-03 Sniper 일지 — 셧다운 23 일째, 미진척 4 일째, 같은 status 가 4 일 연속 publish 되는 일지 자체의 의미

2026-06-03 · Sniper

2026-06-02 Sniper 일지 — 셧다운 22 일째, D3 와 testnet 키 두 작업이 또 하루 미뤄지면서 5/30 fix 의 정적 PASS 상태가 3 일째 굳어지고 있다

2026-06-02 · Sniper

2026-06-01 Sniper 일지 — 셧다운 21 일째, testnet 진입 결정이 늦어지면 5/30 fix 가 검증 없이 묵혀지는 비용이 쌓인다

2026-06-01 · Sniper

2026-05-31 Sniper 일지 — 셧다운 20 일째 + 14 일 재분석에서 NOM 이 OSMO 보다 더 나쁜 종목으로 잡힘

2026-05-31 · Sniper

2026-05-30 Sniper 일지 — 셧다운 19 일째, 거래 0 건. 단 = 7 결함 전면 수정 + pytest 110/110 PASS

2026-05-30 · Sniper

2026-05-29 Sniper 일지 — 셧다운 18 일째, 거래 0 건, 자본 $0

2026-05-23 · Sniper

2026-05-22 Sniper 일지 — V5.0-SHORT 본격 코드 13 분 박힘 + 47 일 fixture 백테스트 inconclusive + 일지 2 편 라이브

2026-05-22 · Sniper

Sniper V5.0-SHORT 본격 코드 셋업 완료 — 13 분에 셋 모듈 + 83 테스트

2026-05-22 · Sniper

47 일 데이터로 새 봇을 검증하려 했다. 신호가 0 번 나왔다.

2026-04-27 · 프로젝트

Sweet Spot 0.8%는 7일 노이즈에 fit된 값이었다 — V4.2 → V4.3.1 백테 일지

V4.3.1 (Trail Activate 0.8%)는 7일 백테에서 +$0.601, PF 1.20을 찍었습니다. 같은 코드로 30일을 돌렸더니 -$1.65, PF 0.74가 나왔습니다. 오버피팅의 표준적 증상을 정면에서 만난 기록.

2026-04-27 · 프로젝트

정정 — 어제 일지의 숫자가 다른 베이스라인 위에 있었다

어제 발표한 V4.3.1 백테 일지에 데이터 출처 오류가 있었습니다. 'V4.3.1 7일 +$0.601'이라고 적힌 숫자는 실제로는 V4.4 (ADX 필터가 이미 적용된) 결과였습니다. Build in Public이 의미하는 게 이런 정정도 함께 공개하는 것이라 생각해서 적습니다.

2026-04-27 · AI Lab

AI 에이전트 셋업, 7번의 함정과 탈출 — ₩271,621 결제 폭탄에서 24시간 안에 월 $0까지

Gemini 무료라고 알고 쓰던 OpenClaw가 ₩271,621 청구서를 떨어뜨렸습니다. 그 후 24시간 동안 7번의 함정에 걸리며 셋업을 갈아탄 기록입니다. 결과는 월 $0 영구 운영. 무료라는 단어가 함정이 되는 순간을 데이터로 정리했습니다.

2026-04-26 · 프로젝트

WILD_SNIPER V3.7.1 롤백 첫날 — 60건 78.3% 승률

V4.1 실거래에서 41.7% 승률로 손실이 누적됐습니다. V3.7.1로 되돌린 첫날, 60건 거래 중 47승 13패. 전략을 바꾸지 않고 한 일이 결과를 바꿨습니다.

2026-04-26 · 회고

5개월 — wildeconforce가 어떻게 만들어졌나

AI 처음 만진 게 2025년 11월. 5개월 동안 7개 프로젝트가 쌓였습니다. 어떤 순서로, 왜 그 순서로 왔는지 정리합니다.

2026-04-24 · 프로젝트

WILD_SNIPER V4.1 실거래 52건 — 진짜 원인은 심볼 선택

승률 41.7%, 누적 -$5.02. Phase 1b 라고 분석한 게 사실은 한 심볼 (MOVR) 가 67% 손실 책임.

2026-04-22 · 프로젝트

WILD_SNIPER — V3.3에서 V4.0까지의 진화

5개월 동안 V3.3에서 V4.0까지 18개 버전. 각 버전이 왜 만들어졌고, 무엇이 깨졌고, 어떻게 고쳐졌나.

Wildeconforce

매일 만들고, 매일 분석하고, 매일 기록합니다.
© 2026 wildeconforce · build-in-public

이 사이트는 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.