数值计算,python实时数值判断,判断当前实时数值是否超出阈值

问题遇到的现象和发生背景

代码是关于实时数值的,我已经写好了,会每15分钟自动计算一个数据的实时数值P,然后我设置了两个阈值A和B,A>B。
逻辑要求是:
启动运行后,P一定会处于A和B之间的一个状态,这时报一条消息,说明处于了哪种状态。
后面每15分钟的轮询,只在状态改变才进行消息推送,如果没变化,不执行任何操作,等下一次15分钟的判断。

问题相关代码,请勿粘贴截图

realtime_price = realtime_price.astype(float)
p = realtime_price['Close'].mean()

a_array = talib.SMA(close_price, 30)
a_list = a_array.tolist()
realtime_a = a_list[59]
realtime_a = float(realtime_a)

b_array = talib.SMA(close_price, 40)
b_list = b_array.tolist()
realtime_b = b_list[59]
realtime_b = float(realtime_b)

运行结果及报错内容

无报错

我的解答思路和尝试过的方法

代码已经获得了a和b,还有p,但是我不清楚上述逻辑怎么实现好

我想要达到的结果

如上描述。
我调试通过后会采纳,给悬赏。谢谢

是这个意思?


from time import sleep

current_p = 0
# 定义阈值
A = 1
B = 100

while True:
    #**************  你的代码  ***************
    realtime_price = realtime_price.astype(float)
    p = realtime_price['Close'].mean()

    a_array = talib.SMA(close_price, 30)
    a_list = a_array.tolist()
    realtime_a = a_list[59]
    realtime_a = float(realtime_a)

    b_array = talib.SMA(close_price, 40)
    b_list = b_array.tolist()
    realtime_b = b_list[59]
    realtime_b = float(realtime_b)
    # **************  你的代码  ***************
    
    
    if current_p != p:
        print("P 改变, p = ", p, end="")
        current_p = p
        if current_p>A and current_p <B:
            print("p 正常")
        else:
            print("p 不正常")
    # 休眠15分钟
    sleep(15*60)

我觉得你设置个定时器,15分钟检测一次p,a,b,建立个列表把p存下来,只存上一时刻的,一直覆盖,与上一时刻不一样你就抛出改变。