龙听期货论坛's Archiver

C
+
+


 微信: QQ:

龙听 发表于 2017-11-1 16:17

关于信号消失的技术探讨 [开拓者 TB]

咨询内容: 信号消失应该是由于判断条件发生了变化导致条件不符而取消交易行为,本人也困惑于其中的一些消失原因,特发帖探讨消失的技术原因,希望大家积极参与讨论,提高对判断条件运行机制的认识。我所认为信号消失的原因大致如下:
第一,序列变量如果取值为invalid 那从第一根bar开始重新计算,因此在条件判断中是否有序列变量存在invalid值导致信号消失?
第二,条件判断一般总是以类似如下形式出现
A=close;
if (marketposition==0 && A>open)
buy(0,0);
如此简单的语句,我想大家都知道会产生信号消失问题,那我不禁想深入研究下,当A>open的条件符合的时候,系统会开仓,在当前bar上行情继续更新,之后A<open的时候那开仓信号就会消失,那为何marketposition变为了1,而A还是>open的时候为何信号不会消失呢?
第三,复杂化上述代码
numeric        A;
numericseries B;
A=close;
//假设close在2000点,open在1999点
if (marketposition==0 && A>open)
{
   buy(0,A);
   B=A;
}
if (marketposition==1 && 2001-B>0)
{
buy(1,B);
B=B+1;
}
这段代码开仓成功后到加仓部分第一次加仓信号会出现,当运行了B=B+1后,B赋值为2001之后,下一个tick信号就会消失,2001-B<0不符合加仓条件了,信号就消失了?

如何解决类似情况,希望有解决经验的同学提出宝贵见解。

TB技术人员: 看来没有人能搞定?

TB客服: 之前听某大大说,这个是TB底层判断的问题,有点复杂~

网友回复:
lanchongms 发表于 2012-7-2 08:16
之前听某大大说,这个是TB底层判断的问题,有点复杂~

信号消失就是信号闪烁,代码中存在未来函数。没有什么底层判断一说。

网友回复: 具体看了楼主的要求。在同一个bar上实现开仓和加码,还真没有试过。因为这不符合策略的要求。加码跟开仓基本等于同时进行,没有意义
但这样的尝试还是好的。

页: [1]