以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  [求助]实战中,信号延迟出现,并没有执行操作  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=167321)

--  作者:topfun
--  发布时间:2018/12/25 10:24:22
--  [求助]实战中,信号延迟出现,并没有执行操作
背景:
0.使用及购买的是标准版;
1.写程序的时候,选了序列不行,必须选逐K线模式;
2.信号执行选择的是固定间隔15秒。
3.下单品种另制定。
4.相关程序:
INPUT:tq(75);
K终:=(time0-timetot0(dynainfo(207))<=tq) or not(ISLASTBAR);   //tq自己指定一个秒数
if K终=1 then begin

sellshort(conbpk,0,thisclose),orderqueue,ignorecheckprice;
buy(conbpk and holding=0,ss,thisclose),orderqueue,ignorecheckprice;
sell(conspk,0,thisclose),orderqueue,ignorecheckprice;
buyshort(conspk and holding=0,ss,thisclose),orderqueue,ignorecheckprice;

end

问题:
理应在10:00前75秒信号出现并执行,但没发生,于是我在9:59:09秒手动操作。
后来k线上也出信号了。
为什么,应该怎么解决?

--  作者:FireScript
--  发布时间:2018/12/25 10:38:37
--  
 你这是信号闪烁了吧。
你的开平仓的条件conbpk conspk  如何定义的呢?如果代码里面有闪烁和变动的情况,那就会出现你说的情况。时间条件是其一,你这个开仓条件本身也是影响因素啊。

--  作者:topfun
--  发布时间:2018/12/25 10:43:01
--  
我正想补充一点,当时信号并不闪烁,至少在9:55分之后,价格比信号临界点少3点以上。
如果写得没问题,那为安全起见,固定间隔调到1秒,tick级别刷新比较好咯?

--  作者:wenarm
--  发布时间:2018/12/25 10:53:30
--  

1.信号是否闪烁,你可以直接使用debugfile输出条件定位当时的成立状态。

2.语法逻辑上没问题,至于间隔时间是你根据自己实际需求使用的,时间间隔越短对计算机的资源消耗也会不断增加。


--  作者:topfun
--  发布时间:2018/12/25 11:09:03
--  
请问怎么使用debugfile输出条件定位当时的成立状态?


--  作者:wenarm
--  发布时间:2018/12/25 11:16:44
--  

在条件处不断输出其结果,在出现疑问的条件问题时,直接查信息

使用调试函数方法

http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=49428

 


--  作者:topfun
--  发布时间:2018/12/25 14:30:03
--  
我加了这一行

Sign:=conbpk or conspk;
if islastbar then   

    DEBUGFILE(\'D:\\00投资投机\\Weisoft Stock(x64)\\Setting\\TEST.TXT\' ,‘信号\',sign);//输出开仓条件  @@@@注意:如果是序列工作模式,请使用 CONST 函数将buycond等序列变量转化为单值数据以提高字符串操作的工作效率。@@@@@@

那以后就能在日志里看到了吧。如果有信号的话。

--  作者:wenarm
--  发布时间:2018/12/26 7:16:16
--  
DEBUGFILE(\'D:\\00投资投机\\Weisoft Stock(x64)\\Setting\\TEST.TXT\' ,\'信号%.2f\',sign);