Trading View의 Alert 웹훅으로 코인 자동 매매 방법

주식이나 코인 등 상품의 가격을 조회하기 위해서 사용하는 유명한 서비스로 investing.comtradingview.com이 있습니다.

이 글에서 TradingView를 이용해서 자동 매매할 수 있는 방법을 공유하고자 합니다.
이는 암호화폐뿐만 아니라 주식, 외환 등 다양한 자산에 적용할 수 있습니다.

TradingView의 주요 기능

  1. 고급 차트 시스템: HTML5 기반으로 설계된 차트는 직관적이며 다양한 기술적 분석 도구를 제공합니다.
  2. 스크리너 기능: 암호화폐, 주식, 외환 등 다양한 자산의 스크리너를 통해 거래 기회를 탐색할 수 있습니다.
  3. 서버 측 알림 시스템: 실시간 시장 움직임에 대한 알림을 제공하여 빠른 대응이 가능합니다.
  4. 소셜 네트워크: 다른 트레이더들과 아이디어를 공유하고 토론할 수 있는 기능을 지원합니다.
  5. 다양한 계정 옵션: 초보자를 위한 기본 계정부터 전문가를 위한 프리미엄 계정까지 선택 가능.

장점

  • 다양한 시장과 거래소를 지원하며, 암호화폐뿐만 아니라 주식, 선물, 통화 등도 분석이 가능합니다.
  • 모바일(iOS, Android) 및 웹 플랫폼에서 모두 사용 가능하여 편리함을 제공합니다.

단점

  • 라이선스가 없기 때문에 규제 감독이 부족하며, 이에 따른 잠재적 위험이 존재합니다.
  • 일부 사용자 리뷰에서 고객 지원 품질에 대한 불만이 언급되었습니다.

TradingView의 alert을 웹훅으로 파이썬 fastapi 서버에서 받고 자동 매수/매도할 수 있는 방법을 설명합니다.

1. 먼저, 투자 종목을 선택하고 알림을 생성합니다.

  • 트레이딩뷰에서 차트를 열고, 원하는 전략 (Strategy)을 설정합니다.
  • 알림 버튼(Alert)을 클릭하여 새 알림을 생성합니다.
  • 메시지에 JSON 형식의 데이터를 작성합니다. 예를 들어:
{
"symbol": "{{ticker}}",
"price": "{{close}}",
"side": "buy",
"qty": 0.01
}
  • 그리고 웹훅 URL을 입력합니다 (예: https://yourserver.com/webhook).
  • 다음으로 “Webhook URL”을 체크하고, FastAPI 서버의 URL을 입력합니다.

2. FastAPI 서버 구성

FastAPI 서버를 설정하여 트레이딩뷰에서 전송된 웹훅 데이터를 처리합니다.

from fastapi import FastAPI, Request
import json

app = FastAPI()

@app.post("/webhook")
async def webhook_handler(request: Request):
    data = await request.json()
    print("Received data:", data)
    
    # 주문 처리 로직
    symbol = data.get("symbol")
    price = data.get("price")
    side = data.get("side")
    qty = data.get("qty")
    
    # 예: 바이낸스 API로 매수/매도 요청
    if side == "buy":
        execute_buy_order(symbol, qty, price)
    elif side == "sell":
        execute_sell_order(symbol, qty, price)
    
    return {"status": "success", "message": f"Order executed for {symbol}"}

def execute_buy_order(symbol, qty, price):
    print(f"Buying {qty} of {symbol} at {price}")
    # 빗썸, 업비트, 바이낸스 등 API 호출 로직 추가

def execute_sell_order(symbol, qty, price):
    print(f"Selling {qty} of {symbol} at {price}")
    # 빗썸, 업비트, 바이낸스 등 API 호출 로직 추가

2) 바이낸스 연동 예시

from binance.client import Client

# API 키와 시크릿 설정
client = Client(api_key="your_api_key", api_secret="your_api_secret")

def execute_buy_order(symbol, qty, price):
    order = client.order_market_buy(
        symbol=symbol,
        quantity=qty
    )
    print(order)

def execute_sell_order(symbol, qty, price):
    order = client.order_market_sell(
        symbol=symbol,
        quantity=qty
    )
    print(order)

3. 주의사항

  • 보안: 웹훅 URL은 외부에 노출되지 않도록 주의하세요.
  • 오류 처리: 주문 실패 시 재시도 로직을 추가하는 것이 좋습니다.
  • 실시간성: 거래소 API 호출 시 지연 시간이 발생할 수 있으므로 빠른 응답을 위한 최적화를 고려하세요.

이 과정을 참고하면 트레이딩뷰와 FastAPI를 활용한 자동 매매 시스템을 구축이 가능합니다.

가장 중요한 것은
TradingView에서 매수/매도 타이밍을 잘 예측할 수 있는 Strategy 선택하는 것!!!

이 글은 카테고리: 기술적 투자 기법들에 포함되어 있습니다. 고유주소를 북마크하세요.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다