[자동매매 3편] 서버에 봇 코드 올리고 켜기 — 복붙이면 됩니다

바이비트 자동매매 봇 코드 서버 업로드 Flask pybit 복붙 가이드


🔗 2편 바로가기 — VPS 빌리고 SSH 접속을 안 했다면 2편부터.

⚠️ 선물 거래는 원금 전체를 잃을 수 있는 고위험 투자입니다. 모든 판단과 결과의 책임은 본인에게 있습니다.


💡 이번 편 3줄 요약

1️⃣ SSH로 접속한 까만 창에서, 봇이 쓸 도구 2개(Flask·pybit)를 설치해요. 2️⃣ 봇 코드를 통째로 복붙합니다. 1편에서 받은 API 키를 빈칸에 채우면 끝. 3️⃣ 서버를 켜면, "신호 받을 준비 완료" 상태가 됩니다. 이게 자동매매의 심장이에요.


🏗️ 지금 우리가 하는 일

2편에서 빈 '집(VPS)'을 마련했죠. 이제 그 집에 실제로 일할 일꾼(코드)을 들여놓는 단계예요.

📌 이번 편은 전부 SSH로 접속한 까만 창 안에서 진행합니다. (2편에서 접속한 그 화면)


① 봇이 쓸 도구 2개 설치

까만 창에 한 줄씩 복붙하고 엔터:

sudo apt update
pip3 install flask pybit

🔧 Flask = 신호를 받아주는 문지기, pybit = 바이비트와 대화하는 통역사. 이 둘을 깐 거예요.


② 일꾼 코드 작성하기

빈 파일을 엽니다:

nano webhook_bot.py

편집 화면이 뜨면, 아래 코드를 통째로 붙여넣으세요. (1편에서 메모한 API 키를 빈칸에 채우는 것 잊지 마세요!)

from flask import Flask, request
from pybit.unified_trading import HTTP

app = Flask(__name__)

# 🔑 1편에서 발급받은 키를 여기 넣으세요
session = HTTP(
    testnet=True,                      # ⚠️ 처음엔 무조건 True (가짜 돈 연습모드)!
    api_key="여기에_API_KEY",
    api_secret="여기에_API_SECRET",
)

@app.route('/webhook', methods=['POST'])
def webhook():
    data = request.get_json()          # 트레이딩뷰가 보낸 신호 받기
    side = "Buy" if data['action'] == "buy" else "Sell"

    # 바이비트에 실제 시장가 주문 넣기
    order = session.place_order(
        category="linear",            # USDT 무기한 선물
        symbol=data['symbol'],         # 예: BTCUSDT
        side=side,
        orderType="Market",
        qty=data['qty'],
    )
    print("✅ 주문 전송 완료:", order)
    return "ok", 200

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)   # 외부(트레이딩뷰) 신호 받기 대기

붙여넣었으면 저장: Ctrl + XYEnter (나노 편집기 저장법이에요)

💡 이 코드가 하는 일을 한 문장으로: "트레이딩뷰가 신호를 보내면 → 그대로 바이비트에 시장가 주문을 넣는다." 끝이에요.


③ 일꾼 깨우기 (서버 켜기)

python3 webhook_bot.py

이러면 Running on http://0.0.0.0:5000 같은 문구가 뜨면서 "신호 받을 준비 완료" 상태가 됩니다.

📌 이 창은 켜둔 채로 둬야 봇이 계속 돌아가요. (창 닫으면 봇도 멈춤 → 5편에서 '자동 재시작' 방법도 알려드릴게요)


④ 미뤄둔 'IP 화이트리스트' 마저 걸기

1편에서 미뤄놨던 거 기억나죠? 이제 VPS IP를 알았으니 마무리합니다.

바이비트 API 설정 → "이 IP에서만 접속 허용" 칸에 내 VPS 서버 IP(2편에서 받은 그 주소)를 입력하세요.

→ 이러면 키가 새어나가도 내 서버가 아니면 주문이 안 나갑니다. 꼭 하세요. 🔒


🧯 자주 막히는 곳 (트러블슈팅)

증상 원인 / 해결
command not found: pip3 sudo apt install python3-pip 먼저 실행
ModuleNotFoundError 설치(①)가 안 된 것. pip3 install flask pybit 재실행
서버는 켜졌는데 주문이 안 나감 4편에서 트레이딩뷰 연결을 해야 신호가 들어와요

✅ 이번 편 체크포인트

  • ☑️ Flask·pybit 설치했나?
  • ☑️ 코드에 내 API 키를 넣었나? (testnet=True 유지!)
  • ☑️ 서버 켜서 Running on... 문구 봤나?
  • ☑️ 바이비트에 IP 화이트리스트 걸었나?

심장 이식 완료예요. 이제 신호선만 연결하면 됩니다.


🎁 "코드는 진짜 모르겠다" 하는 분께

복붙이라도 부담되시면, 제가 완성한 봇을 무료로 배포할 계획이에요. 키만 넣으면 도는 형태로요. 구독 + "관심" 댓글 남겨주시면 배포 때 먼저 알려드릴게요.

🔗 💬 1:1 상담 · 무료 봇 배포 받기

상담 비용도, 수수료도 없습니다. 정보만 받아보셔도 OK!

👉 거북이 트레이더 카카오톡 오픈채팅 바로가기


📌 다음 글 예고 (4편)

"트레이딩뷰 신호 연결하기 — 드디어 자동으로 주문이 나갑니다" 두뇌(트레이딩뷰)와 일꾼(서버)을 신호선으로 잇습니다. 자동화 완성의 순간!


※ 본 콘텐츠는 정보 제공 목적이며 투자 권유가 아닙니다. 투자의 최종 책임은 투자자 본인에게 있습니다.

댓글

이 블로그의 인기 게시물

Trading Heritage: 얼티메이트 스나이퍼(Ultimate Sniper) 개발 비망록

알트코인 알람봇, 10분 만에 이해하기 🚨 무한 알트 텔레그램 알람봇 v8.1.1 — 속성편

[자동매매 1편] 준비물 3가지 + 바이비트 API 키 발급, 5분이면 끝나요