欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 测试问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2933人关注过本帖树形打印复制链接

主题:测试问题

帅哥哟,离线,有人找我吗?
投资老友-WAN
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:217 积分:390 威望:0 精华:0 注册:2012/11/3 10:14:55
测试问题  发帖心情 Post By:2013/7/29 11:03:04 [只看该作者]

我最近开发一个模型,加载到图表上一切正常(见第一张图),但是在测试平台上测试时,完全没有成交数据(见第二张图),行情数据和测试平台都是正常的(用其他模型测试验证),请问可能是什么原因??
图片点击可在新窗口打开查看此主题相关图片如下:捕获1.jpg
图片点击可在新窗口打开查看

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

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2013/7/29 11:07:41 [只看该作者]

测评没有结果,有如下几种可能:

1.没有历史数据

2.测试时间设置错误

3.费率设置错误



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
jsh578
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:239 积分:746 威望:0 精华:0 注册:2013/2/24 9:55:42
  发帖心情 Post By:2013/7/29 11:13:08 [只看该作者]

有没有类似这样的开仓语句: IF aa=0 and holding=0 and……

 回到顶部
帅哥哟,离线,有人找我吗?
投资老友-WAN
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:217 积分:390 威望:0 精华:0 注册:2012/11/3 10:14:55
  发帖心情 Post By:2013/7/29 11:19:34 [只看该作者]

您说的这三点好像都不是,同样的平台(品种和时间都不变),另外模型测就没问题。检查费率设置也没问题。

 回到顶部
帅哥哟,离线,有人找我吗?
jsh578
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:239 积分:746 威望:0 精华:0 注册:2013/2/24 9:55:42
  发帖心情 Post By:2013/7/29 11:32:27 [只看该作者]


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

这位朋友你用这个代码测一下,你只要起始时间不是20100416,你的回测就是零!!!
[此贴子已经被作者于2013/7/29 11:33:06编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
投资老友-WAN
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:217 积分:390 威望:0 精华:0 注册:2012/11/3 10:14:55
  发帖心情 Post By:2013/7/29 11:37:23 [只看该作者]

开仓语句是:

 

 IF TRADESIGN=0 and (BPK1 OR BPKS1) THEN BEGIN{开多仓}
  BUY(1,ORDERNO,THISCLOSE);
  TRADESIGN:=1;
  GOTO CONTINUELINE;
 END
 
 IF TRADESIGN=1 and (PWIN) THEN BEGIN{平多仓}
  SELL(1,HOLDING,THISCLOSE);
  TRADESIGN:=0;HHPROFIT:=0;//drawnumber(1,H,FPROFIT,0);
  IF  (POSC>5 AND P5<P4) THEN BEGIN{如果下穿MA线的同时,也下穿LL线,开空仓}
  BUYSHORT(1,ORDERNO,THISCLOSE);
  TRADESIGN:=-1;
  END
  GOTO CONTINUELINE;
 END

 IF TRADESIGN=0 and (SPK1 OR SPKS1) THEN BEGIN{开空单}
  BUYSHORT(1,ORDERNO,THISCLOSE);
  TRADESIGN:=-1;
  GOTO CONTINUELINE;
 END


 回到顶部
帅哥哟,离线,有人找我吗?
jsh578
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:239 积分:746 威望:0 精华:0 注册:2013/2/24 9:55:42
  发帖心情 Post By:2013/7/29 11:45:38 [只看该作者]


依我看可能就是出现在你的这个条件判断上 TRADESIGN=0,你把它改成holding试试


我上面的代码,是金字塔的一个bug,曾经和他们反应过,他们说等后续的版本解决,也和他们电话沟通过!

 回到顶部
帅哥哟,离线,有人找我吗?
投资老友-WAN
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:217 积分:390 威望:0 精华:0 注册:2012/11/3 10:14:55
  发帖心情 Post By:2013/7/29 15:48:54 [只看该作者]

模型改了一些语句以后,可以测了,但是还是原来不知道原来不能测的原因,问金字塔客服也说不清楚什么问题


 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2013/7/29 15:50:16 [只看该作者]

不能测试基本都是从上面几点入手的,如果还检查不出问题,就要从代码入手


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
董小球
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 大哥
等级:超级版主 帖子:2837 积分:13237 威望:0 精华:2 注册:2010/7/14 17:31:54
  发帖心情 Post By:2013/7/30 15:00:19 [只看该作者]

以下是引用jsh578在2013/7/29 11:32:27的发言:

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

这位朋友你用这个代码测一下,你只要起始时间不是20100416,你的回测就是零!!!
[此贴子已经被作者于2013/7/29 11:33:06编辑过]

这个代码运行的问题在于,你使用了全局变量,而全局变量只在第一根K初始化为0,其余的就都不是0了,所以比如你本地第一根K是股指的20100416时,如果你从非0416这一天开始测试也就变成了,aa始终都是等于1的,因此也就没有任何测试结果了,这不是软件BUG。
了解了全局变量的运行机制后,应当避免这种情况,比如你写的这段代码应该是为了区分第一次开仓的不同吧,直接用普通变量就行了,不需要全局变量。



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部