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

in #kr2 years ago (edited)

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


슬랙 메시지 보내기

Slack 웹훅(webhooks) 만들기

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


봇이 생성되면 Activate Incoming Webhooks를 On 한다.


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


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


이제 웹훅URL이 생성되었다.


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 = "비트코인 상승장입니다.")


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

Sort:  

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

[by @anpigon] [비트코인 자동매매] 상승장 알리미 슬랙으로 발송하기 20230109
https://www.steemit.com/@kr-dev.cu3/20230109

@kr-dev.cu3님이 당신을 멘션하였습니다.
멘션을 받고 싶거나 받지 않으시려면 댓글을 남겨주세요. 빠른 시일내에 반영하도록 하겠습니다.

오오 ^^ Mattermost에도 적용 해봐야겠네요 ^^
감사합니다.

@talkit 님 도움이 되셨다니 다행입니다. 그런데 Mattermost는 무언가요? 혹시 새로 나온 코인이가요?

자문 자답합니다. 슬랙과 같은 메신저 앱이군요.

^^ https://mattermost.com/ 아예 대놓고 Slack의 대안을 표방 하고 있는 채팅 툴입니다. ^^ Slack 처럼 클라우드도 있구요. Self Host는 기능 제한이 있긴 하지만, 무료 입니다. ^^ 지금 열심히 연구해서 글을 적고 있습니다. 스팀에도 연재 예정입니다. ^^

Coin Marketplace

STEEM 0.13
TRX 0.25
JST 0.030
BTC 84888.97
ETH 1655.21
USDT 1.00
SBD 0.76