비트코인 자동매매를 위해서는 업비트 계정이 필요하다.
내가 비트코인 자동매매를 처음 생각하게된 계기는 유튜버 조코딩의 강의 자료(https://jocoding.net/GPT)를 통해서였다.
비트코인 GPT 인공지능 AI 업비트 자동매매 시스템 만들기 (https://github.com/youtube-jocoding/gpt-bitcoin)
그러나 필자의 경험상, 조코딩의 방식으로는 API사용 금액이 더 많이 나오는 불상사가 일어났던 것으로 기억한다.
예를 들어 조코딩의 방식은 매 번 뉴스데이터를 읽어 분석하는데, 뉴스데이터가 얼마나 신빙성 있으며, 즉각적으로 돈의 흐름을 반영하는지에 대한 근거가 약하다고 생각한다.
또한 코인시장의 경우 트럼프나 일론머스크의 트윗에 오히려 더 많이 영향을 받으며, 그 외 정치상황 등 도 한 몫 한다.
내가 여기 공개하고자 하는 나의 자동매매 프로그램은 대단한 방식이 아니다.
공포지수(RSI)가 과매수일때 매도하고, 과매도일때 매수한다.
이용하려면 Upbit 계정 로그인이 필요하다. 처음 계정을 만들때는 입출금 계좌로 케이뱅크도 개설해야 한다.
필자가 만든 업비트 트레이더 기본 알고리즘 (https://github.com/SuminHan/Upbit-Trader-v0.8)
export UPBIT_ACCESS_KEY="your_actual_access_key"
export UPBIT_SECRET_KEY="your_actual_secret_key"
위 키를 bash에 등록하고 사용하면 된다 (혹은 직접 코드를 수정해서 사용하면 된다).
bashrc에 등록하고, "source ~/.bashrc" 명령어로 업데이트 해주면 된다.
최종 코드는 https://github.com/SuminHan/Upbit-Trader-v0.8/blob/main/upbit-trader-v0.8.py 에서 확인할 수 있다.
특히 알고리즘을 계산하는 부분은 다음 부분이다.
코드에 대한 해석은 다음과 같다.
이 알고리즘은 사용자가 입력한 암호화폐 종목에 대해 1시간봉과 5분봉의 데이터를 통합 분석하여 매수(BUY), 매도(SELL), 보류(HOLD) 신호를 제공합니다.
✅ 분석 대상
암호화폐: 예) 비트코인(BTC), 이더리움(ETH)
시간 프레임: 1시간봉(hour1), 5분봉(minute5)
📊 활용 지표
RSI (Relative Strength Index)
단기(5분봉)와 중기(1시간봉)의 RSI를 기준으로 과매수/과매도 여부를 판단합니다.
MACD (Moving Average Convergence Divergence)
추세 전환 여부를 파악하며, MACD가 시그널 라인을 상향 돌파하면 상승 추세로 간주합니다.
볼린저 밴드 (Bollinger Bands)
가격이 상단 또는 하단 밴드를 돌파하는지를 확인하여 과도한 움직임 여부를 판단합니다.
📈 매수 조건 (BUY)
MACD가 상승 교차 신호를 발생시킴
1시간봉 RSI가 과매도 상태 (하위 30%)
5분봉 RSI도 과매도 상태 (하위 30%)
현재 종가가 볼린저 밴드의 하단보다 낮음
📉 매도 조건 (SELL)
MACD가 하락 교차 신호를 발생시킴
1시간봉 RSI가 과매수 상태 (상위 80%)
5분봉 RSI도 과매수 상태 (상위 70%)
현재 종가가 볼린저 밴드의 상단보다 높음
⚖️ 보류 조건 (HOLD)
위의 조건을 모두 만족하지 않으면 보류 신호를 반환합니다.
🧠 요약
이 알고리즘은 단일 시간 프레임에 의존하지 않고, 추세, 과매수/과매도, 가격 변동성을 동시에 고려하는 다중 신호 기반 전략입니다. 초보자에게는 명확한 판단 기준을 제공하고, 중급 이상의 트레이더에게는 보조 판단 도구로 활용될 수 있습니다.
추후 해당 알고리즘을 개발할 수 있는 아이디어가 있으면 제보해 주시면 감사할 것 같습니다.