以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  金字塔软件问题提交  (http://222.73.7.161/bbs/list.asp?boardid=2)
----  模拟交易信号和交易评测信号不一致,导致开仓错误  (http://222.73.7.161/bbs/dispbbs.asp?boardid=2&id=11886)

--  作者:蓝色闪电
--  发布时间:2012/5/22 21:01:27
--  模拟交易信号和交易评测信号不一致,导致开仓错误

按照交易系统在交易评测和事后回盘显示,今天我的交易系统应该对股指期货开多。但是模拟交易却开空,导致整个交易相反了。分析原因,估计是我判断交易方向时,把变量放在判断日期变化的代码段时中赋值,而此代码段在模拟交易中没有执行而导致的。请大家帮忙分析下原因

IF DATE<>REF(DATE,1) THEN BEGIN

   S:=XXX;

   K:=XXX;

END

 

BPK:=S>K;
SPK:=S<=K;

 

 IF BPK THEN BEGIN
    开多1:BUY(BPK,1,MARKET,0);{开多}
 END
 ELSE BEGIN
    开空1:BUYSHORT(SPK,1,MARKET,0);{开空}
 END


图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看

--  作者:蓝色闪电
--  发布时间:2012/5/22 21:22:55
--  
我当天第1单开仓方向只和历史数据有关,和当天第1根K线无关的。
所以一定是决定开仓方向的S、K两个变量的值出错了。

--  作者:蓝色闪电
--  发布时间:2012/5/22 21:28:38
--  

或是BPK、SPK存在问题
也有可能在模拟交易中DATE<>REF(DATE,1) 的判断出错了,根本没有执行IF判断里面的代码
还有,我的S、K变量在if判断中第一次使用,随后在if判断外面使用S、K变量来做判断,是不是也会出现问题?

 

请金字塔自己测试下,看看到底怎回事。


--  作者:蓝色闪电
--  发布时间:2012/5/22 21:44:04
--  

对了,今天我用了自定义的框架,对两个品种分别使用不同的公式下单。这会不会也可能是出现问题原因?

 


--  作者:jinzhe
--  发布时间:2012/5/23 9:31:53
--  
把完整的策略贴上来看一下
--  作者:admin
--  发布时间:2012/5/23 10:01:57
--  

公式中的逻辑问题,是很难通过猜理去解决的,希望你能仔细的看看

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

中的调试技巧,将公式运行时的一些关键变量记录下来,出现问题后通过日志的记录来寻找逻辑错误的蛛丝马迹


--  作者:蓝色闪电
--  发布时间:2012/5/29 12:32:15
--  
找到原因了:1分钟取2小时跨周期指标,发现评测可以取到昨天的指标数据。而模拟交易只能取到前天的,不能取到昨天的。导致两者的信号不一致。这好象是由两者使用的历史K线数不同引起的。 这应该是一个缺陷吧。期望修正