업비트 자동매매 프로그램

업비트는 원화로 직접 거래할 수 있기 때문에 우리나라에선 인기입니다.

수수료도 매우 저렴한 편이지요.

우리나라 사람들이 화끈해서인지 다른 거래소에 비해서 변동성이 매우 높고 체결이 잘 되는 편입니다.

그런데 얘네들도 고인물이라 바이낸스 만큼 오픈소스 친화적이지 않습니다.

바이낸스의 경우는 오픈소스 커뮤니티와 매우 긴밀하게 업데이트가 되고있어서 대부분의 오픈소스 프로그램들이 바이낸스와는 원활하게 작동합니다.

제가 사용하는 업비트용 자동매매봇은 freqtrade입니다.

공식 리포는 https://github.com/freqtrade/freqtrade/ 이고 매우 활발한 업데이트가 이루어지고 있습니다.

한글이 없는데다가 소스를 설치해서 구동해야 하기 때문에 개발자가 아닌 분들이 접근하기는 쉽지 않지만 아주 전문적이고 기능도 풍부하기 때문에 업비트에서 돌리기에는 이만한 프로그램이 없습니다.

https://youtu.be/VKTw0I20AIM

아래 링크를 참조해서 설치한 다음 환경설정을 잘 해주면 잘 구동됩니다.

도커를 사용할 줄 아신다면 쉽게 설치가 가능하고요, 그렇지 않다면 python3가 설치되어있어야 합니다.

설치 안내를 따라서 그대로 하시면 됩니다.

https://www.freqtrade.io/en/stable/

이 소스를 그대로 클론해서 업비트에 걸면 오류가 발생하는데, 그 이유는 업비트 API에서 ticker를 fetch하면 그 response에 None값이 넘어오는 부분이 있는데, 그 부분을 예외처리 해주면 정상작동하게 됩니다.

오더북에서 매도호가 매수호가를 리턴해 주어야 하는데 업비트가 그걸 안해주고 None이 넘어오게 됩니다. 리스판스를 잘 살펴보면 그것 대신 사용할 수 있는 내용(직전 체결가격)이 있어서 대체한 것입니다.

제가 한 patch는 다음과 같습니다.

성투하시고 도움이 필요하시면 댓글 남겨주세요.

$ git diff freqtrade/freqtradebot.py
diff --git a/freqtrade/freqtradebot.py b/freqtrade/freqtradebot.py
index 1c3a759f..5871a162 100644
--- a/freqtrade/freqtradebot.py
+++ b/freqtrade/freqtradebot.py
@@ -430,6 +430,8 @@ class FreqtradeBot(LoggingMixin):
             logger.info(f"Using Last {bid_strategy['price_side'].capitalize()} / Last Price")
             ticker = self.exchange.fetch_ticker(pair)
             ticker_rate = ticker[bid_strategy['price_side']]
+            if not ticker_rate:
+                ticker_rate = float(ticker['info']['trade_price'])
             if ticker['last'] and ticker_rate > ticker['last']:
                 balance = bid_strategy['ask_last_balance']
                 ticker_rate = ticker_rate + balance * (ticker['last'] - ticker_rate)
@@ -759,6 +761,8 @@ class FreqtradeBot(LoggingMixin):
         else:
             ticker = self.exchange.fetch_ticker(pair)
             ticker_rate = ticker[ask_strategy['price_side']]
+            if not ticker_rate:
+                ticker_rate = float(ticker['info']['trade_price'])
             if ticker['last'] and ticker_rate < ticker['last']:
                 balance = ask_strategy.get('bid_last_balance', 0.0)
                 ticker_rate = ticker_rate - balance * (ticker_rate - ticker['last'])

ALTS arbitrage beebot bitcoin blockchain cryptocurrency dapp defi Ledger MACD MACD단점 RSI swift 거래소 결제 김치프리미엄 댑 디파이 매매기법 매매전락 분산식 블록체인 블록체인과 데이타베이스 블록체인어플 비봇 비트겟 비트코인 수수료 스마트컨트랙트 알트코인 암호화페 암호화폐 오픈소스 이더리움 자동매매 자동매매로봇 장부 재정거래 중앙집중식 차액거래 차액거래방법 차익거래 채굴 투라밸 투자전략

또 한가지는 피시에서 돌릴 수 있는 프로그램인데 변동성돌파 전략과 RSI 전략, MACD전략등이 구현되어있네요 각 지표에 대해서는 파라메터값을 입력할 수 있도록 만들어져 있네요.

투자 성향에 따라서 지표값을 마음대로 설정할 수 있는 점이 장점인데 라이센스를 신청해야 하네요.

자가용이라서 나름대로 편리한 점이 있네요

다운로드 링크 https://github.com/kecheon/beebot_dist

© 2025 BITSBEE. All rights reserved.