메뉴 닫기

업비트 자동매매 프로그램

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

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

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

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

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

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

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

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

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

도커를 사용할 줄 아신다면 쉽게 설치가 가능하고요, 그렇지 않다면 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 bitcoin blockchain cryptocurrency dapp defi Ledger MACD RSI swift 거래소 결제 김치프리미엄 디파이 매매기법 매매전락 바이낸스 입출금 바이낸스 해외송금 분산식 블록체인 블록체인과 데이타베이스 블록체인어플 비트코인 수수료 스마트컨트랙트 알트코인 암호화페 암호화폐 오픈소스 이더리움 자동매매 자동매매로봇 장부 재정거래 중앙집중식 차액거래 차액거래방법 차익거래 채굴 카드결제 투라밸 투자전략 해외거래소 입출금

5 Comments

  1. 차진오

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

  2. 마이다스

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

답글 남기기

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