全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
marketposition函数是否也会闪烁
2022-06-29 21:21

比如说当前K线内,每个新的tick到来 marketposition都会先归零,然后在tick末尾判断一下吗?

那么假设前10秒满足下单条件,那么tick末尾marketpostion会变成1的话,

假设后50秒不满足下单条件,是不是marketpostion就会变成0呢?是不是每个bar结尾会记录最后一个marketpostion的状态。

另外marketpostion是属于序列变量吗。

tblaocai

MarketPosition在一个BAR的值在BAR走完之前是会一直变化的,但这个不叫闪烁,也跟信号闪烁没有啥关系。如果您刻意去规避MarketPosition的变化,那反而会导致信号闪烁。这段话,我估计您可能需要把TB机制搞清楚了才理解得了。

我举个例子,您仔细体会下。假如,我们在1分钟周期上做交易,我写个死的交易规则,今天晚上开盘21:00开盘第一根1分钟线开多1手。

If(Date==20220629 And Time==0.21 And MarketPosition==0) Buy(1,Open);

请问:

1、第一个Tick,刚运行时,MarketPosition 的值是多少?执行完Buy(1,Open)后,MarketPosition的值是多少?

2、第二个Tick,刚运行时,MarketPosition 的值是多少?执行完Buy(1,Open)后,MarketPosition的值是多少?如果MarketPosition维持上个Tick末的值不变,第二个Tick执行结果会是怎样?系统为什么会这么处理?

我先说答案:

1、第一个Tick,刚运行时,MarketPosition为0;执行完Buy指令后,MarketPosition为1。

2、第二个Tick,刚运行时,MarketPosition为0;执行完Buy指令后,MarketPosition为1;如果第二个Tick, MarketPosition维持上个Tick末的值不变,那第二个Tick执行时,因为MarketPositon<>0,从而Buy指令不满足做单条件,将不会产生信号,也就是信号消失了,这样反而会信号闪烁。而真实的交易条件变了吗?没变,还是今天21点的1分钟K线,条件没变啊,那信号为啥闪烁呢?这就是MarketPositon为什么下个Tick要回到最初始的状态的原因,因为只有这样信号才不会闪烁。

好好体味下上面这个例子吧,真正搞懂了,您问的问题也就有答案了。

 

 

2022-06-29 22:06
foolfish
@tblaocai

那这个bar中到底执行的是哪个buy委托?

2022-10-11 18:18
您未登录,请先 登录注册 后发表评论
顶部