Project/Coiner(4)
-
코인 자동매매 봇 (코이너) — v2 전면 재설계, WebSocket과 3단 아키텍처
v1을 3편에 걸쳐 만들고 실제 돈으로 돌렸다. 초반엔 +18% 수익이 났다. 잘 된다 싶었는데, 이후 -20% 손실을 맞았다. 수익을 다 반납하고 원금까지 까먹은 상황이었다.손실이 난 이유를 분석해봤다. 가장 큰 문제는 손절 반응 속도였다. v1은 1분 cron 단일 루프로 LLM 분석과 손절 체크를 한 큐에 처리했는데, LLM 응답을 기다리는 30~60초 동안 가격이 급락해도 아무것도 할 수 없는 구조였다. 거기에 투자금 배분 버그, LLM이 현재 RSI를 모르는 채 RSI 조건을 설정하는 구조적 모순까지 겹쳤다.그래서 v2를 설계했다.v1의 문제점v1 구조는 이랬다.매 1분 0초: LLM 분석 (30~60초 대기) → 손절/익절 체크 → 매수/매도한 루프 안에 모든 게 들어있다 보니 문제가 층층이..
2026.03.08 -
코인 자동매매 봇 (코이너) — 모델 업그레이드, 수익 최적화
전 편에서 텔레그램과 MongoDB가 붙어서 스마트폰으로 봇을 제어할 수 있게 됐다. 이번 편에서는 판단 품질을 더 높여보고 싶어서 이것저것 좀 더 구해본 과정이다.목표 수익률을 범위값으로처음엔 GOAL_PROFIT_PERCENT=3이면 수익률 3% 달성하자마자 무조건 매도하는 구조였다. 하지만 생각해보면 3%를 넘어도 더 오른다 싶어서 기다리는 상황이 올 수 있다. LLM이 더 오를 것 같다고 판단하면 홀드하고, 내릴 것 같다고 판단하면 그때 파는 구조가 더 자연스럽다.범위값 방식으로 바꿨다.수익률 = 정시 철수(7%) → 강제 매도3% ~ 7% 구간: LLM SELL 판단 → 매도 LLM HOLD 판단 → 더 기다림3% 미만: LLM SELL 와도 무시 (3%는 되어야 나가준다)코드에서도 이 ..
2026.02.23 -
코인 자동매매 봇 (코이너) — 텔레그램 연동, MongoDB, 프롬프트 고도화
전편에서 NestJS 기반 자동매매 봇의 뼈대를 완성했다. 이번 편에서는 스마트폰으로 봇을 제어할 수 있게 텔레그램을 연동하고, 매매 기록을 MongoDB에 저장하고, LLM이 더 입체적으로 판단할 수 있도록 프롬프트를 고도화한 과정을 기록한다.종목 자동 선택처음엔 BTC만 보던 봇이었는데, 거래량 상위 코인 중에서 LLM이 직접 종목을 골라서 매수하는 방식으로 바꿨다.동작 방식은 간단하다. 포지션이 비어있을 때마다 Upbit KRW 마켓 전체 종목을 조회해서 24시간 거래대금 상위 20개를 추린 뒤, 그 목록을 LLM에 넘겨서 { signal: "BUY", market: "KRW-ETH", reason: "..." } 형태로 종목과 매매 신호를 동시에 받는다.포지션이 있을 때는 보유 종목의 캔들을 분석..
2026.02.23 -
코인 자동매매 봇 (코이너) — 프로젝트 세팅과 첫 실행
바이브코딩으로 코인 자동매매 프로그램을 만들어봤다. Claude Code와 대화하면서 NestJS 기반의 봇을 처음부터 구축한 과정을 기록한다.이 시리즈는 여러편으로 나눠서 작성할 예정이다. 이번 편에서는 프로젝트 초기 세팅부터 봇이 처음 실행되기까지의 과정을 다룬다.참고로 COINER는 내가 지은 이름이다. 나노바나나한테 부탁했더니 저런 이미지를 가져왔다..목표 설정세 가지 조건을 만족하는 자동매매 봇을 만들고 싶었다.외부 유료 API 없이 로컬 LLM으로 매매 판단코드를 직접 짜지 않는 바이브코딩 방식으로 개발목표 수익률 달성 시 자동 중단Claude Code에 이 조건을 전달하자 5단계 개발 로드맵이 나왔다. 거래소는 Upbit, LLM은 이미 설치되어 있던 Ollama, 전략은 매 5분봉마다 LL..
2026.02.23