【加密社】币圈合约交易量监控,含TG推送

发布于:2025-03-26 ⋅ 阅读:(31) ⋅ 点赞:(0)

首先需要在币安的开发者中心去申请自己的BINANCE_API_KEY和BINANCE_API_SECRET

有了这个后,接着去申请一个TG的机器人token和对话chatid

如果不需要绑定tg推送的话,可以忽略这步

接下来直接上代码
 

引用部分

from os import system
from binance.client import Client
import requests
import time
from datetime import datetime

配置部分 这里需要自己去申请,填入自己的对应的数据

# 币安 API 配置
BINANCE_API_KEY = ''
BINANCE_API_SECRET = ''

# Telegram 配置
TELEGRAM_BOT_TOKEN = ''
TELEGRAM_CHAT_ID = ''

核心部分

# 初始化币安客户端
client = Client(BINANCE_API_KEY, BINANCE_API_SECRET)

# 定义发送 Telegram 消息的函数
def send_telegram_message(message):
    url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage"
    payload = {
        "chat_id": TELEGRAM_CHAT_ID,
        "text": message
    }
    response = requests.post(url, json=payload)
    return response.json()

# 定义监控交易量和价格的函数
def monitor_trading_volume():
    symbol = 'BTCUSDT'  # 监控比特币合约
    threshold = 200     # 交易量阈值

    while True:
        try:
            # 获取最新的K线数据(1分钟)
            klines = client.futures_klines(symbol=symbol, interval='1m', limit=1)
            volume = float(klines[0][5])  # 第6个字段是交易量
            ticker = client.futures_ticker(symbol=symbol) # 获取最新的价格信息

            # 获取当前时间并格式化
            current_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')

            # 显示当前时间和交易量
            print(f"当前时间: {current_time} 当前交易量: {volume} 当前价格:{ticker['lastPrice']}")

            # 如果交易量超过阈值,发送提醒
            if volume > threshold:
                message = f"⚠️ 交易量警报!{symbol} 当前交易量: {volume} 当前价格:{ticker['lastPrice']}     时间: {current_time}"
                send_telegram_message(message)
                print(message)

        except Exception as e:
            print(f"发生错误: {e}")

        # 每十秒检查一次
        time.sleep(10)

# 主程序入口
if __name__ == "__main__":
    print("启动比特币合约交易量监控...")
    monitor_trading_volume()

这样就能对交易量和价格进行监控,比如某一时刻突然放量上涨或下跌,能更好的做出判断