[비트코인 자동매매] 상승장 알리미 슬랙으로 발송하기

반응형

[비트코인 자동매매] 바이낸스 BTC 상승장 알리미에서 이어지는 글이다.


슬랙 메시지 보내기

Slack 웹훅(webhooks) 만들기

아래 문서 가이드를 읽으면서 슬랙 봇을 하나 만든다. https://api.slack.com/messaging/webhooks


봇이 생성되면 Activate Incoming Webhooks를 On 한다. etc-image-0


그다음 Add New Wekbook to Workspace 버튼을 눌러 웹훅 URL을 생성한다. etc-image-1


그다음 웹훅에서 메시지를 수신할 채널을 선택한다. etc-image-2


이제 웹훅URL이 생성되었다. etc-image-3


SlackClient 설치하기

파이썬 slack_sdk 패키지를 설치한다.

pip install slack_sdk

슬랙 메시지 발송하기

from slack_sdk.webhook import WebhookClient

url = "여러분의 웹훅 URL"
webhook = WebhookClient(url)

response = webhook.send(text="Hello!")
assert response.status_code == 200
assert response.body == "ok"

바이낸스 비트코인 상승장 알리미

파이썬 전체 코드는 다음과 같다.

from binance.client import Client
from slack_sdk.webhook import WebhookClient
import pandas as pd

webhook = WebhookClient(url = webhook_url)
client = Client()

# 바이낸스 비트코인 상승장 여부 확인
def is_bull_market(symbol):
    # 현재 가격 조회하기
    current_price = float(client.get_ticker(symbol = symbol)['lastPrice'])
    
    # 5일이동평균선 구하기
    bars = client.get_historical_klines("BTCUSDT", Client.KLINE_INTERVAL_1DAY, "1 month ago UTC")
    df = pd.DataFrame(bars)
    ma5 = df.iloc[:,4].rolling(5).mean()
    last_ma5 = ma5.iloc[-2]
    
    return current_price > last_ma5

if is_bull_market("BTCUSDT"):
	webhook.send(text = "비트코인 상승장입니다.")


스케줄러까지 적용하고 나면 상승장 알리미를 슬랙으로 받아볼 수 있다.

etc-image-4

etc-image-5
or
[카카오페이로 후원하기] [토스페이로 후원하기]

반응형