以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  代码顺序不同,交易明细显著差异?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=67889)

--  作者:cssfortune
--  发布时间:2014/7/27 15:30:40
--  代码顺序不同,交易明细显著差异?

开空开多代码的相对位置为何出现完全不同的测试结果?

 

日内策略,1分钟线,测试近2年,结果如下、太诡异了:

开多代码放在前面,交易报告出来:净利润844.18,多头交易:844.18,空头交易:00.00,空头交易次数为0,多头交易次数10;

开空代码放在前面,交易报告出来:净利润-16 542.89,多头交易:00.00,空头交易:-16 542.89,多头交易次数为0,空头交易次数11;

 

说明:开仓条件中有限制要满足holding=0,并且限制了一天内只能开仓一次;金字塔里面的语句执行到底是个什么机制啊?


--  作者:pyd
--  发布时间:2014/7/27 20:28:32
--  
代码从上到下的顺序运行,条件达到就开仓;图表不支持锁仓。
--  作者:cssfortune
--  发布时间:2014/7/28 11:34:28
--  

教材里给的交易系统下单代码一般都是

 

if entertime and holding=0 then

  buy(buycond,,,);

  sell(sellcond,,,);

 

结果我跑出来程序几乎只在执行buy;但是buycond和sellcond是互斥的吧,那应该二者都有机会的呀,为什么会集中执行前面的buy呢?

 

 

 


--  作者:cssfortune
--  发布时间:2014/7/28 11:37:02
--  

后来我就自己尝试着改了一下

 

if entertime and holding=0 then

begin

  if buycond then

  buy(1,,,);

  else if sellcond then

  sell(1,,,);

end

 

这样子才显得正常了,buy和sell的确有交替执行、而不是说排在前面的就先执行。


--  作者:jinzhe
--  发布时间:2014/7/28 13:14:27
--  

 

[此贴子已经被作者于2014/7/28 13:14:37编辑过]

--  作者:jinzhe
--  发布时间:2014/7/28 13:19:26
--  
如果你两段代码里面的sellcond和buycond是一样的话,那么绝对不会你所说的那样出现两种情况,这两段代码的下单信号是一样的