Python으로 TradingView SMA 구현하기

단순이동평균(SMA) 은 가중치가 없는 이동 평균입니다. 즉, 데이터 집합의 각 날짜는 동일한 중요성을 가지며 동일한 가중치를 갖습니다. 새로운 날짜가 시작될 때마다 가장 오래된 데이터 포인트는 삭제되고 가장 새로운 데이터 포인트가 처음에 추가됩니다.

TradingView: https://kr.tradingview.com/support/solutions/43000502589/

pip install pandas ccxt

import pandas as pd
import ccxt

# 예시) 바이낸스 선물 BTCUSDT, 1시간 봉 
bnb = ccxt.binance({'options': { 'defaultType': 'future' }}) 

def SMA(sma_lines=[9]): # 기본 SMA 9일 line 리턴
    ohlcv = bnb.fetch_ohlcv(symbol="BTC/USDT", timeframe="1h", limit=500)
    df = pd.DataFrame(ohlcv, columns=['time', 'open', 'high', 'low', 'close', 'volume'])

    for len in sma_lines:
        df[f"SMA_{len}"] = df['close'].rolling(window=len).mean()

    return df

sma_lines = [25,50,100] # 예시) SMA 25, 50, 100일 line
print(SMA(sma_lines=sma_lines))