建仓和平仓的代码上一行打印了这个日志
但是实盘没有卖出去
请问这种触发平仓的逻辑,但实盘里没有平掉是什么原因导致的?
说实话,帖子里的信息连确认问题是否存在都很难,就不要说回答问题了
第一个图片打印空头平仓,绝对会执行BuyToCover
第二个图片代表的确触发了空头平仓
第三个图片明显就代表在这个时间段只有开仓没有平仓。
要么就是BuyToCover参数不对,要么就是对BuyToCover的全局或局部变量理解的问题。
这个问题这么明显,我没理解问题的难点在哪。
没有平仓可能是很多原因导致的
如果是BuyToCover函数存在问题 这么多年,不可能没人发现吧
你要老师分析 ,至少让老师可以复现你的问题
你就说现在发的这些 能不能复现吧
没有平仓可能是很多原因导致的:你说这句话没有任何意义,很多是多少100种,1亿种?
首先图片证明了是有空仓的。然后BuyToCover上面执行了日志,说明BuyToCover这个函数的确执行了。然后BuyToCover传参在上面是1,0. 如果你稍微懂一点软件开发,就知道应该怎样往下推理。并且我上面的回复也给你建议了推理方向,跟着源码推理就好了。这已经很明显了。具体我再教你:
1.你0仓,调一下BuyToCover(1,0) (这是我说的参数问题)
2.你手动买一手1手空仓,然后代码调一下BuyToCover(1,0)(这是我说的全局变量的问题)
日志打印出来说明BuyToCover这里已经执行了,你说的“没有平仓可能是很多原因导致的”请问是什么原因呢?
图表交易的逻辑 和你想象的逻辑可能不太一样
理论上 ,手动买入空单 ,非图表信号产生的空单,是不会被图表信号平掉的。按照这种方式是没法复现你的问题的
有可能 有人能一下猜中你的问题在哪
但不能理所当然的认为 就该能猜中吧
https://video.tbquant.net/video?id=20250310103731783228
执行 不代表执行成功。
也许会执行失败
执行失败也有原因,比如,图表资金不够了
但是你这个既然报单了,就说明信号一定是出了。
至于为什么后来没了,那就肯定是因为信号消失了,所以按照信号闪烁去分析
上面视频就是一个实例。
分析信号闪烁,有经验的开发者也许能一眼看出逻辑问题。
但是最靠谱的办法还是写日志,记录变量信息,当发生这种现象时就去查当时的日志记录,看看变量值到底是怎么变化的,最后导致信号没了。
你如果提供代码,那我们复现也是加日志语句,然后看日志输出来分析。
你如果不提供代码,那就你自己写日志语句,自己分析。
目前为止,我帮很多人分析过信号闪烁问题,都是这么解决的。