全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
已解决
请教实盘出现的错误止损问题
xingyi 分享到
2024-08-13 15:37

{

SellShort(1,Close);

}


If(MarketPosition == -1 && High > EntryPrice + 1* ATR)

{

BuyToCover(1,Close);

}

我用上面这个代码建空仓并设置了止损,今天出现了一个情况,前一根K线结束出现建空仓信号,当根K线开盘以最新对手价开了空仓,当根K线快速下跌以致K线的最高价减去最低价大于1个atr把空仓止损了。但是实际上当根K线的最高价就是开盘价,我的空仓建于当根K线开盘价位置。请教一下为什么会出现这个情况?

wangkaiming

算法不严谨

然后当根K线不要多个信号操作,也就是开仓操作当根K就禁止平仓了

2024-08-13 16:04
xingyi
@wangkaiming

不能开仓当根K线禁止平仓,因为如果方向反了还要止损平仓。我现在的问题是EntryPrice没有记录我的开仓价格,如果EntryPrice记录了我的开仓价格就不会出现止损平仓了,不知道为什么会这样?

2024-08-13 16:21
wangkaiming
@xingyi

图表系统不建议当根再操作,说明你交易的周期跟你的想法差距较大

2024-08-14 09:12
xingyi
@wangkaiming

EntryPrice好像都是K线的收盘价,我把 High > EntryPrice + 1* ATR中的EntryPrice改成A_SellAvgPrice,就是用High > A_SellAvgPrice + 1* ATR作为空头止损条件,这样在实盘中是不是就是以我的实际成交价为基准进行止损了?

2024-08-14 12:00
wangkaiming

A_SellAvgPrice 是实时A函数,只会使你的图表更混乱

2024-08-15 09:18
xingyi
@wangkaiming

我要解决实盘中的问题,这样能解决吗

2024-08-15 10:46
xingyi

这个问题一般两种原因,1.数据的实时数据与历史数据存在细微差距导致的(数据是一个很复杂的存储),这个是几率很小,tb存在数据时会两者对比(这个要分清楚tb的运行机制,实时情况按tick运行,,历史数据逐bar运行),,2.策略有问题,比如不恰当的全局变量的使用,以及k线样本数对策略的影响等等,,,解决办法:这个问题可以用输出的办法解决,信号的机制是只要满足if里的条件判断就会出信号,只能用fileappend记录if判断里用到的变量,看看实时与历史对比哪个数据(变量)变了导致的信号实时与历史存在差异
https://www.tbquant.net/TrainDetail?id=464   //代码诊断
https://www.tbquant.net/TrainDetail?id=239  //信号闪烁产生的原因以及处理方法
https://www.tbquant.net/TrainDetail?id=371   //TB信号的运行原理
https://www.tbquant.net/TrainDetail?id=444   //避免未来数据的信号闪烁及偷价

2024-08-16 11:57
您未登录,请先 登录注册 后发表评论
顶部