PlayWavSound函数触发单一条件开仓时,单根K线多次重复语音播报问题

策略单一条件触发开仓时,在1根K线内多次播报。麻烦帮忙看看代码有什么问题?怎样修改才能达到,触发单一开仓条件时,只在当根K线结束时或只在当根K线播报一次。 // ---- 多空开仓条件 ---- Bool LongCondition1 = (DIFF >= 0 || DEA >= 0) && Hist >= 0 && MA > MC && MA_Gold; // ---- 交易执行逻辑 ---- // 多头开仓(新增标记判断) If(LongCondition1 && BarStatus == 2 && !LongFlag1) { Buy(LOTS, Close); PlayWavSound("C:\\tradeblazer\\tbquant3\\sound\\豆油买入.wav"); LongFlag1 = True; // 设置标记防止重复触发 }

设置一个全局变量作为播报开关,播报以后关掉。然后放在onbaropen里重置

LongFlag1 是全局变量吗?播放多次,说明没控制住

同问。如何能够只在某个周期当前K线收盘时间执行一次命令;或者在当前K线收盘时间取相关数据执行一次命令?

回复:https://bbs.tbquant.net/thread/20250313112455270184 https://bbs.tbquant.net/thread/20250314223813923731 你的问题是非常合理的,但是比较复杂,这两个帖子结合看一下

回复:系统提供的就是onbarclose机制但是现实世界是不可能收盘去干活

回复:谢谢。您的答复很重要。