Python实现Binance代币监控:为每个代币添加独立条件触发计数器
为每个代币实现独立满足条件计数器的解决方案
要实现每个代币独立计数的需求,最直接的方式是用字典存储每个代币的触发次数——字典的键为代币名称,对应的值就是该代币满足条件的次数。
修改步骤:
- 在循环开始前初始化一个空字典,用于保存计数:
token_counters = {} - 在满足条件的
if块内,更新对应代币的计数:- 若代币是第一次触发条件,将它的计数初始化为1
- 若之前已经触发过,把计数加1
- 打印时同步输出计数信息
修改后的完整代码:
import time # 初始化代币计数器字典 token_counters = {} for x in range(len(name)): # Code to get the data into panda dataframes for each token in name[] hrlyvol = res1["volume"].iloc[0] min_2vol = res1["volume"].iloc[-1] actvol = hrlyvol - min_2vol voldiff = hrlyvol/actvol volch = voldiff-1 op_price = res1["open"].iloc[0] cl_price = res1["close"].iloc[-1] price_change = (cl_price-op_price)/op_price if volch > 0.05 or price_change > 0.02: # 更新当前代币的计数 token_name = name[x] if token_name in token_counters: token_counters[token_name] += 1 else: token_counters[token_name] = 1 # 打印包含计数的信息 print("【第{}次触发】{}:成交量涨幅{:.0%},价格变动{:.0%}".format( token_counters[token_name], token_name, volch, price_change)) time.sleep(3)
补充说明:
- 字典
token_counters会持续累计每个代币的触发次数,哪怕脚本多次循环遍历代币列表,计数也不会重置 - 如果需要单独重置某个代币的计数,执行
token_counters["目标代币名称"] = 0即可
内容的提问来源于stack exchange,提问作者Prenesh Kp
相关产品推荐
相关产品推荐

