업비트 자동매매 프로그램

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

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

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

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

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

제가 사용하는 업비트용 자동매매봇은 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

업비트 자동매매 프로그램”의 5개의 댓글

  • 2021년 07월 26일 1:05 오후
    Permalink

    안녕하세요.윈도우 사용자입니다.업비트를 이용중이구요 사용해보고 싶은데 설치법이나 그런것들이 안나와 있더라구요. 가상머신에서 우분투 설치해야되는건지요 . 설치법을 좀 알수 있을까요?

    댓글달기
  • 2022년 03월 26일 11:18 오전
    Permalink

    업비트로 봇 돌리고 있는데 이거 서버시간 utc로 놔둬도 되는건가요? 아니면 한국시간인 utc+9로 설정해야하나요?

    댓글달기
  • 2022년 06월 16일 11:19 오전
    Permalink

    안녕하세요. freqtrade자료 찾다가 오게됐는데요. freqtradebot.py 수정된 파일을 올려주실수는 없는지요?
    그리고 업비트로 하신다면 예스트레이더코인도 함 써보세요. 빠르게 전략짜서 백테스팅해보기에는 좋습니다.

    댓글달기

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다