收盘价判断开盘价操作在实盘中仍然产生信号闪烁问题

我的实盘策略是多空分离的,做空策略的开仓条件只有一个。

       If(MarketPosition <> -1 and c[1] < LowerBand[1])

           {

               Sellshort(1, Open);            

         }

就是上个收盘价在布林线下轨下,就开空单。

苯乙烯连续90分钟周期。4月10日上午10:30-11:30的K线显示跟踪止损。这根K线的收盘价是10251,下轨的价格是10441。按照策略公式,下根K线肯定会再开空仓。

13:30,新的K线开始了,果然显示一单做空,于是我手动开了空单。

可是时间来到14:08:54,系统突然说信号闪烁了,开空仓的标志闪了几下消失了。

我百思不得其解,究竟是怎么回事?以前没遇到过这种情况。

老师可以通过远程控制,查看我的代码、图表和信息。


回测无信号闪烁,实盘中出现信号问题。
收盘价策里,信号闪烁的问题.
信号闪烁问题处理?
信号闪烁问题
使用ma均线价格作为判断条件,导致信号闪烁
关于信号闪烁的问题
信号闪烁问题
关于信号闪烁在是盘中成交还是不成交的逻辑问题
实盘消息提示信号闪烁
数据对齐与信号闪烁

最近策略代写任务太多了,实在是没时间分析这个问题

建议投稿,看直播的时候有没有时间分析下

闪烁的根本原因就是IF条件有变化

代码中

只有LowerBand存在风险

策略单元和图表不要同时开

否则应该是执行了两次


MarketPosition按理说没问题

如果你排除了其他问题

那只能检查LowerBand相关的一切

晚上九点开盘又出现了两个空单。为什么前一根K线的信号会闪烁呢?

下单映射到主力合约了吗?

代码上看不出问题

要检查LowerBand类型、计算

但是能画线输出也没问题

我又刷新了一下,信号又回复到原来的位置了。实在找不到问题在哪里?请老师加我Q76878814, 或者微信18734933865,请用向日葵远程帮我看看是什么问题?

映射到主力合约了,lowband用得是前根K线的收盘价,应该没问题。

以我的水平看不出什么问题

但是,老师之前调试过一个类似的案例

用了SetBasePeriod函数

你可以先参考看看自己能不能通过打断点输出的方式找到问题

案例视频: https://video.tbquant.net/video?id=20250310103731783228

他这个是marketposition的位置问题,marketposition是序列变量

咱先捋一捋

既然多空策略分开

1设置成双向交易

做多和做空互不相干

2在1的基础上

不要用MarketPosition了

有图标函数取多头、空头持仓量

符合条件后

多单量为0开多

空单量为0开空

3你代码明显写的开仓量为1

你的图表为啥有2得情况?

多空策略分开后

是不是重复挂了

4如果你代码并不复杂

贴一下

很快就能解决问题

  AveMa = Average(Close, Length);
  StdValue = StandardDev(Close, Length, 2);
  UpperBand = Avema + beishu * StdValue;
  LowerBand = Avema - beishu * StdValue;

lowband应该也没有问题,就是布林线的下轨。

我贴的代码,在开仓数量并不是1,而一个变量,这个变量与长短期ATR的比率相关。我怀疑是变量与收盘价相关,导致开仓bar期间,开仓数量发生变动。但是转念一想,即使开仓量由1变成2,也不会造成信号消失哪。

总而言之,非常感谢wgy_king您的耐心回答。如果方便可以加我。如果不方便也没有关系,我再仔细检查下开仓量是不是会随时变化。此次信号闪烁是第一次出现,如果再发生,我就把代码贴出来,请您帮我找找原因。

用close会闪烁

实盘状态

close会变化

布林带也会变化

所以IF条件会变化

就会引起闪烁

而且那个数字就是仓位

你是不是既打开了策略运行

又打开了图表

并发交易了

不对

我看错了

晚点我再想想

76878814  我的Q