[자동매매 3편] 서버에 봇 코드 올리고 켜기 — 복붙이면 됩니다
🔗 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 + X → Y → Enter (나노 편집기 저장법이에요)
💡 이 코드가 하는 일을 한 문장으로: "트레이딩뷰가 신호를 보내면 → 그대로 바이비트에 시장가 주문을 넣는다." 끝이에요.
③ 일꾼 깨우기 (서버 켜기)
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편)
"트레이딩뷰 신호 연결하기 — 드디어 자동으로 주문이 나갑니다" 두뇌(트레이딩뷰)와 일꾼(서버)을 신호선으로 잇습니다. 자동화 완성의 순간!
※ 본 콘텐츠는 정보 제공 목적이며 투자 권유가 아닙니다. 투자의 최종 책임은 투자자 본인에게 있습니다.

댓글
댓글 쓰기