下面的代码块在for循环内,如果满足此特定条件但字典未更新,并且在print(context.memory_df [sec_name +“ _buy_trade_entry”])它显示True尝试了很多,也许有一些语法错误无法弄清
elif (context.current_time.time() >= datetime.time(context.memory_df["time_stop"][0],context.memory_df["time_stop"][1])) and (context.memory_df[sec_name + "_buy_trade_entry"] == True):
print("16")
context.memory_df[sec_name + "_buy_trade_entry"] == "time_exit"
trade = [context.current_time,sec_name,context.memory_df[sec_name + "_atm_strike"],"BUY",
ce_price,pe_price,"exit",ce_wing_price,pe_wing_price,
context.memory_df[sec_name + "_what_to_buy"]]
print(context.memory_df[sec_name + "_buy_trade_entry"]) # getting True instead of "time_exit"
lv.save(context.memory_df_path,context.memory_df)
lv.record_trade(trade,context.trade_rec_path)
lv.record_trade(trade,context.every_day_trade_rec_path)
order_placer(context,data,"long_exit_" + context.memory_df[sec_name + "_what_to_buy"],sec_name)
winsound.Beep(2500, 2000)
答案 0 :(得分:1)
在顶部的第三行-您具有双重平等标志-只需将其设为一个即可:
context.memory_df[sec_name + "_buy_trade_entry"] = "time_exit"