查看消息出现信号闪烁,13:50 实际是开仓成功,但是图表又没有信号标记。 14:57 分又重新开仓了,使用MarketPosition 也没有持仓数据。
if(MarketPosition == 0 )
{
if( Close < 20 日均线 ) //可能是这里产生信号闪烁
{
SellShort(1, MyEntryPrice);
}
}


我的问题是:是不是出现了信号闪烁的情况下,产生的开平仓数据,系统是无法检测的?查看 K 线图表上没有信号显示,使用MarketPosition 也获取不到?
开仓的逻辑,为了简化我的问题,我写了一个伪代码。
13:50 开仓成功 - 产生了信号闪烁。
14:57 因为MarketPosition没有持仓,又满足了开仓条件,所以又重新开仓了。(理论上有持仓,就不应该开仓了)
marketposition返回的是图表的持仓,不是你真实账户里的持仓
你这个逻辑我理解,但是我现在真实账户里的持仓,也是通过图表的SellShort开仓产生的😀

上面已经回答了,

所以新的问题是?
看来本质还是要解决信号闪烁的问题。根据盘中Close开平仓,怎么解决信号闪烁呢?
就比如这个条件: if( Close < 20 日均线 )
这个条件换成low<20日均线
不过仅限这个表述
如果你还有其他的逻辑判断,这个不一定有效
这不就是信号闪烁么?
所以你的问题是什么?
你这个代码也挺奇怪的,按照你这个逻辑,虽然下影阴线不开仓,但是后面几根也都是收盘价低于均线的,为什么没开空?一直要到第六根跌了那么多了才开空?你给的代码不是模型原文吧?这么写是不可能这样出信号的
第六根开空是因为重新满足了开仓条件,代码只是部分的伪代码。