以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  回测交易数为零  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=50165)

--  作者:jsh578
--  发布时间:2013/3/24 20:44:41
--  回测交易数为零
variable:aa=0;      //开仓控制变量
……
IF aa=0 and holding=0 and TIME<=150000 and kd THEN 
  begin 
     aa:=1;
      buy(1,1,limitr,o);
  end

//死叉平多
if aa=1 and holding=1 and pd then 
   begin
       aa:=0;
       sell(1,1,limitr,c);
   end
……
为什么,aa和holding输出时,数值是一样的,但同时在条件语句里,回测时交易数为零,我要是去掉其中一个话,就没问题。
[此贴子已经被作者于2013-3-24 20:46:07编辑过]

--  作者:jinzhe
--  发布时间:2013/3/24 22:13:54
--  
,你好,请帖一下交易测评的设置以及完整的公式代码
--  作者:jsh578
--  发布时间:2013/3/25 8:17:18
--  
if datatype<>17 then exit;  

RUNMODE:0;  
    
variable:aa=0; 

M1:MA(C,5);
M2:MA(C,10);

KD:=REF(CROSS(M1,m2),1);    //开多条件
PD:=REF(CROSS(m2,M1),1);    //平多条件

IF aa=0 and holding=0 and TIME<=150000 and kd THEN 
begin 
aa:=1;
buy(1,1,limitr,o);
end

if aa=1 and holding=1 and pd then 
begin
aa:=0;
sell(1,1,limitr,c);
end

您就用这个代码,回测一下,交易是零。如果把aa=0 and holding=0改成(aa=0 or holding=0)也有交易。
????????

--  作者:lichenghu
--  发布时间:2013/3/25 9:19:25
--  
您好,用您给的代码测试结果没问题。个人怀疑是您测试周期选的不是3分钟
--  作者:jsh578
--  发布时间:2013/3/25 9:33:50
--  
是三分钟的,而且在两台电脑上分别运行都是相同的结果
--  作者:lichenghu
--  发布时间:2013/3/25 9:37:00
--  
您好,我本地测试结果不为0。请您仔细检查下您本地的数据等各项设置
--  作者:jsh578
--  发布时间:2013/3/25 9:43:57
--  

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图_2013-03-25_09-39-10.png
图片点击可在新窗口打开查看

--  作者:jsh578
--  发布时间:2013/3/25 9:44:43
--  

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图_2013-03-25_09-39-55.png
图片点击可在新窗口打开查看

--  作者:jsh578
--  发布时间:2013/3/25 10:09:37
--  
这两个是间隔不到十秒的两次回测,我实在是想不到的我的设置有什么问题。
--  作者:jsh578
--  发布时间:2013/3/25 10:11:39
--  
我刚刚有点开这两个图片看了一下,上面的图片上有个最大回撤时间1899/12/30?????