본문 바로가기

💻 내 소개 안녕하세요 엄청짱 프로그래머 손다빈 입니다.
  • 나이 : 96년생
  • 특이사항 : 조금씩 늙어가고 있음
  • 좋아하는 음식 : 햄부기, 치킨, 고기

🥷기술
Unity
Godot
Cpp
Javascript
D3
Vue

🐱 우리집 고양이 소개
츄르 먹은 후 츄르 먹기 전
  • 이름 : 콜라
  • 나이 : 14년생
  • 종 : Nado moreum

📱 개인 프로젝트
🏢 참여한 프로젝트
🌱 내 잔디밭

Freqtrader (코인 봇) 사용해보기 본문

글 묶음/한국에서 살아남기

Freqtrader (코인 봇) 사용해보기

초긍정 개발자 다빈맨 2025. 1. 25. 01:16

| Freqtrade란?

 

파이썬으로 작성된 오픈소스 코인 봇 입니다. webUI를 통해 제어하고 거래내역을 확인할 수도 있고, 실제 투자도 가능하지만 가상으로 투자해보거나 과거 데이터를 이용해 전략을 시뮬레이션 해볼 수도 있습니다.

 

1. 도커 데스크톱 설치

도커가 없어도 되기는 하는데 편의상 도커를 이용해 구축합니다.

https://www.docker.com/products/docker-desktop/ 에서 도커 데스크톱을 설치하시면 도커를 UI로 제어할 수 있는 도커 데스크탑과 함께 도커도 같이 설치할 수 있습니다.

 

도커 데스크톱 설치 후 켜놓기만 하면 됩니다.

 

2. GitHub 에서 Freqtrader 저장소 받기

 

Freqtrader Git 저장소 : https://github.com/freqtrade/freqtrade

 

GitHub - freqtrade/freqtrade: Free, open source crypto trading bot

Free, open source crypto trading bot. Contribute to freqtrade/freqtrade development by creating an account on GitHub.

github.com

 

만약 Git에 대한 이해도가 없다면 위 링크에 들어가서 우측 하단에 Release 에서 파일을 다운로드 받을 수 있습니다.

 

Git에 대한 이해도가 있으신 분들은 저 저장소를 내 로컬 PC로 Pull 받으셔도 됩니다.

 

다운 받은(혹은 git에서 pull 받은) 폴더를 열어 보시면 docker-compose.yml 파일을 찾을 수 있습니다. 이거를 내가 원하는 폴더를 하나 준비해서 그쪽으로 복사하거나 드래그해서 옮겨줍니다.

 

옮겨진 폴더에서 [우클릭 -> 터미널에서 열기] 로 명령 프롬프트(CMD 혹은 WindowPowerShell)을 열어줍니다.

 

그 다음 명령 프롬프트에서 다음 명령어를 순서대로 입력해줍니다.

docker compose pull
docker compose run --rm freqtrade create-userdir --userdir user_data
docker compose run --rm freqtrade new-config --config user_data/config.json

 

위 명령어를 한 줄씩 실행 하다 보면 중간에 Do you want to enable Dry-run? 이라고 물어봅니다.

 

Dry-run 이란 실제 거래가 아닌 가상(시뮬레이션)으로 거래를 진행할건지 물어보는건데 실제 돈으로 거래를 하려면 업비트와 바이낸스 계정이 필요합니다. 그러니 일단 엔터를 눌러 Dry-run 모드로 진행합니다.

 

그 다음은 쭉 엔터 눌러서 넘기다가 Do you want to enable the Rest API (includes FreqUI?) 를 물어보는데요. 이건 웹 형태의 UI를 제공하는 FreqUI 라는걸 사용할지 물어보는것이기 때문에 바로 엔터를 누르지말고 "y" 를 입력하세요.

 

마지막으로 엔터 누르다가 password 부분만 원하는거 입력한 후 넘기면 끝!

 

이제 세팅은 끝났고 아래 명령어로 코인 봇을 구동시키기만 하면 됩니다.

docker compose up -d

 

명령어를 실행한 후 도커 데스크톱을 확인해 보시면 freqtrade 라는 컨테이너가 생겼고, Status는 Running으로 표기됩니다.

 

이제 인터넷 브라우저에 localhost:8080 으로 접속하면 Web UI로 접근 가능합니다. 

 

웹 UI에서 오른쪽 상단에 Login 버튼이 있어요. 눌러서..

 

아까 설정한 아이디 비밀번호를 넣고 OK 해줍니다.

 

현재 Dry-run 모드이고 기본 설정으로 990달러로 가상 트레이딩을 시작하기 때문에 990 달러(dry) 로 표기됩니다.

 


| 전략 변경하기

Freqtrader에서 기본으로 제공하는 전략은 테스트/시연 목적으로 제작되어 실제 수익을 보기 어렵습니다. 그러니 절대 오징어 게임 참여하기 싫으시면 기본 전략에 실제 돈을 걸고 거래를 시키지 마세요.

 

Freqtrader는 코인을 거래하는 전략을 직접 만들어서 사용할 수 있지만 다른 사람이 만든 전략도 사용할 수 있습니다.

 

직접 전략을 만들고 싶은 개발자라면 https://www.freqtrade.io/en/stable/strategy-101/ 가이드를 참고하면 될 것 같고 다른 사람이 만든 전략을 사용해보고 싶다면 열심히 구글링 해봅시다.

 

다른 사람이 제작한 전략 스크립트를 적용해보고 싶다면 다음 방법을 따라해보세요.

freqtrader 에서 제공하는 샘플용 전략 스크립트 중 Staratgy005.py 전략으로 코인 봇을 구동시켜 봅시다. 

  1. https://github.com/freqtrade/freqtrade-strategies/blob/main/user_data/strategies/Strategy005.py 링크에서 Statragy005.py 파일을 다운로드 받습니다. 
  2. 다운 받은 파일을 우리가 구축해놓은 폴더의 user_data/strategies 폴더에 붙여넣기 합니다.
  3. docker-compose.yml 에 마지막 -strategy 뒤에 SampleStrategy를 Strategy005로 변경합니다 ▽

 

이제 실행중인 도커 컨테이너를 중단 시킨 후 다시 구동시키면 됩니다.

docker compose up -d

 

 

WebUI 에서 Chart 탭에서 현재 전략 이름을 확인할 수 있습니다.


| 진짜 돈으로 거래하기

 

※ 주의 : 어설픈 봇에 대한 이해로 실제 거래를 하면 큰 금전적 손해를 입을 수 있습니다. 거래로 입은 손해는 무조건 본인 책임입니다. 

 

한국에서 실제 거래를 하려면 [업비트로 코인 구매] -> [바이낸스로 코인 옮기기] -> [코인봇이 바이낸스 지갑으로 거래] 이런 과정을 거치기 때문에 번거로운 절차가 필요한데.. 여기서는 간략하게만 설명합니다.

 

1. 업비트 앱 설치하기 (업비트 가입 필요)

2. 바이낸스 앱 설치하기 (바이낸스 가입 필요)

3. 업비트에서 바이낸스로 옮기기를 원하는 금액 만큼 코인 구매.바이낸스로 코인 출금하기 

4. 바이낸스에서 테더(USDT)로 환전하기 (다른 블로그 글 참고)

5. 바이낸스 API 발급 받기 (다른 블로그 글 참고)

 

※ 3~5 번 과정은 다른 블로그 글을 참고하셔도 자세히 설명되어 있으니 링크를 첨부해두었습니다.

 

위 과정을 끝냈다면 코인봇을 구축한 폴더로 가셔서 config.json 을 텍스트 파일로 열어 아래 내용을 편집하면 됩니다.

{
    "$schema": "https://schema.freqtrade.io/schema.json",
    "max_open_trades": 3,
    "stake_currency": "USDT",
    "stake_amount": "unlimited",
    "tradable_balance_ratio": 0.99,
    "fiat_display_currency": "USD",
    "dry_run": false, <<--- 이부분이 true였을 건데 false로 바꿉시다
    "dry_run_wallet": 1000,
    "cancel_open_orders_on_exit": false,
    "trading_mode": "spot",
    "margin_mode": "",
    
    ... 어쩌구 저쩌구 중략...
    
    "exchange": {
        "name": "binance",
        "key": "여기요", <<---- 이부분에 바이낸스 API 키
        "secret": "여기도요", <<---- 이부분에 API 키 발급받을 때 나온 Secret 키 값
        "ccxt_config": {},
        "ccxt_async_config": {},
        "pair_whitelist": [
        ],
        "pair_blacklist": [
            "BNB/.*"
        ]
    },
    
    ... 어쩌구 저쩌구 후략..
    
}

 

구동 되어있던 도커 컨테이너를 중단 후 다시 구동시키면 실제 충전해놓은 USDT로 거래를 진행하게 됩니다.

 


주의 사항

Freqtrader에서 기본으로 제공하는 전략들은 교육용 목적으로 제작되어 실제 수익을 보기 어렵습니다. Freqtrader 문서에는 코딩과 파이썬에 대한 지식을 갖추고 봇의 동작 방식을 이해하기를 상당히 권장하고 있습니다.

 

모든 거래 결과에 대한 책임은 본인에게 있기 때문에 실제 거래에 활용하려고 하거든 충분한 백테스팅과 Dry-run에서 봇이 동작하는 것을 잘 확인하는것이 중요합니다.

 

저의 경우 코인 봇은 재미 목적으로 구동해 봤는데 혹시나 관심 있으신 분들이 계실까봐 구동 방법을 글로 남겨봤습니다.