You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python拉盘检测机器人未触发警报:如何设置涨跌幅与时间参数?

问题原因及解决方法

核心原因

  1. 缺少涨跌幅阈值与时间窗口的判断逻辑:你的run_alerts函数未实现「指定时间内涨跌幅达标触发警报」的核心检测逻辑,仅执行了代币列表展示操作。
  2. 初始数据格式错误:如果initial_data只是纯代币名称列表,而非包含初始价格的字典,无法计算价格波动幅度。
  3. 循环检测无条件校验:函数循环中没有对比当前价格与初始价格、检测时间窗口是否符合触发条件的代码。

代码修改与参数设置方法

1. 修改run_alerts函数,添加涨跌幅与时间参数

在函数中新增threshold(涨跌幅阈值,如0.1代表10%)和time_window(检测时间窗口,单位秒)参数,并实现触发逻辑:

def run_alerts(URL, initial_data, sleeptime, vol, threshold=0.1, time_window=60):
    import time
    start_time = time.time()  # 记录监控起始时间
    
    while True:
        # 从接口获取当前代币数据(需自行实现get_current_token_data函数)
        current_data = get_current_token_data(URL)
        
        for token_name, token_info in initial_data.items():
            initial_price = token_info['price']
            current_price = current_data[token_name]['price']
            
            # 计算涨跌幅
            price_change_rate = (current_price - initial_price) / initial_price
            # 计算已流逝时间
            elapsed_time = time.time() - start_time
            
            # 触发条件:在时间窗口内,涨跌幅绝对值超过阈值
            if elapsed_time <= time_window and abs(price_change_rate) >= threshold:
                print(f"警报:代币{token_name}在{elapsed_time:.2f}秒内涨跌幅达{price_change_rate*100:.2f}%!")
                play('alert_music.mp3', vol)  # 播放警报音
                start_time = time.time()  # 重置时间窗口,避免重复触发
        
        time.sleep(sleeptime)  # 间隔检测

2. 正确初始化initial_data

确保initial_data是包含代币名称与对应初始价格的字典,而非纯名称列表:

import requests

def get_initial_token_data(URL):
    # 从接口拉取初始代币价格数据
    resp = requests.get(URL)
    token_list = resp.json()['tokens']
    # 构建初始数据字典
    initial_data = {token['name']: {'price': token['price']} for token in token_list}
    return initial_data

# 初始化数据并打印监控列表
initial_data = get_initial_token_data("https://your-token-api-url.com")
print("监控代币列表:", list(initial_data.keys()))

3. 调用run_alerts时自定义参数

根据需求传入阈值和时间窗口,示例:

# 每5秒检测一次,音量0.7,15%涨跌幅阈值,30秒时间窗口
run_alerts("https://your-token-api-url.com", initial_data, 5, 0.7, threshold=0.15, time_window=30)

内容的提问来源于stack exchange,提问作者Lacey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 17:06:23