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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → [注意]RM00 13年1月4日是不是有问题啊?

   

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


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

主题:[注意]RM00 13年1月4日是不是有问题啊?

帅哥哟,离线,有人找我吗?
netfox
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 搬砖的
等级:小飞侠 帖子:1670 积分:397 威望:0 精华:0 注册:2012/3/19 20:34:34
[注意]RM00 13年1月4日是不是有问题啊?  发帖心情 Post By:2014/8/6 22:01:48 [显示全部帖子]

RM00 13年1月4日是不是有问题啊?

 

图表显示2手

但是程序测试时候是8手, 这是没开启F11 ,开了F11直接成10手。

 

似乎就是 1月4日这1天

 

 


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

 

改成1月7日立马就2手起步。。 唯独1月4日。 

[此贴子已经被作者于2014/8/6 22:02:59编辑过]

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


加好友 发短信 搬砖的
等级:小飞侠 帖子:1670 积分:397 威望:0 精华:0 注册:2012/3/19 20:34:34
  发帖心情 Post By:2014/8/7 9:15:13 [显示全部帖子]

以下是引用FexTel在2014/8/7 8:50:18的发言:
1,对比下成交价格,一致么?而且限定下k线图的起止时间和测试一致

 

价格绝对没错。 就是手数不对。 时间也绝对一致。

  而且就只有1月4日那1次。   我把日期换成1月5日(7日) 开启就无问题。

 

关键是开仓手绝对是错误的~ 因为我虽然算动态,但动态阈值是手工参数(常数),所以理论上不改参数状态下默认开仓只有2.

 

然后图表一致,唯独测试时刻就那1次仓位不对。


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


加好友 发短信 搬砖的
等级:小飞侠 帖子:1670 积分:397 威望:0 精华:0 注册:2012/3/19 20:34:34
  发帖心情 Post By:2014/8/7 9:34:44 [显示全部帖子]

开多:BUY(JD<ZCC,SS*hh,LIMITR,open);

 

手数是通过代码控制

 

SS*HH

 

其中  SS是常数=4

 HH依据状态 会是  0.7 与0.3

0.7*4 = 2.8 金字塔会开2手,  但图表上没错, 到了测试时刻就成了10手(开启除权)8手(不开除权)

 

JD<ZCC 应当无关,这是控制开仓几次的。


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


加好友 发短信 搬砖的
等级:小飞侠 帖子:1670 积分:397 威望:0 精华:0 注册:2012/3/19 20:34:34
  发帖心情 Post By:2014/8/7 10:10:28 [显示全部帖子]

VARIABLE:JD=0,JK=0; //计开仓次数
VARIABLE:num=0; //当日开几次
INPUT:SS(4,4,60,2); //单次开仓数
INPUT:NMIN1(25,5,50,5),N1(0,0,40,1); //时间与周期参数
INPUT:ZCC(2,1,4,1); //加仓次数
INPUT:YDD(18,10,40,1); //止损系数

// 标记
上轨:=EMA(C,5);
下轨:=EMA(C,10);

//开仓条件
开多条件:=ref(CROSS(Close,上轨),1);
开空条件:=ref(CROSS(下轨,Close),1);

//交易代码,先平后开

IF 开多条件 and num=0 THEN BEGIN
if jd=1 then hh:=0.3;
开多:BUY(JDJD:=JD+1;
num:=num+1;
end

IF 开空条件 and num=0 THEN BEGIN
if jk=1 then hh:=0.3;
开空:BUYSHORT(JKJK:=JK+1;
num:=num+1;
END

IF L<下轨 and holding>0 THEN BEGIN
平多:SELL(holding>0,holding,MARKETR);
JD:=0;
if jd=0 then hh:=0.7;
END

IF H>上轨 and holding<0 THEN BEGIN
平空:SELLSHORT(holding<0,holding,MARKETR);
JK:=0;
if jk=0 then hh:=0.7;
END

// 移动止损
最高:=HHV(H,OPENBAR+1);
最低:=LLV(L,OPENBAR+1);

多头止损:if(holding>0,最高-YDD,DRAWNULL);
空头止损:if(holding<0,最低+YDD,DRAWNULL);

IF L<最高-YDD and h-l多损:SELL(holding>0,holding,MARKETR);
JD:=0;
END

IF H>最低+YDD and h-l空损:SELLSHORT(holding<0,holding,MARKETR);
JK:=0;
END

if time=closetime(0) then num:=0;// 商品期货,收盘的同时,num赋值为0

 

   简单测试提供 ,  RM00  5分钟  2013年1-1  2014年1-1

1月4日开仓数不对, 价格等都对。

 

以及有疑惑,这代码为何在 RB00,M00 图表有信号, 但测试时候确实空的。

 


此主题相关图片如下:捕获2.jpg
按此在新窗口浏览图片

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


加好友 发短信 搬砖的
等级:小飞侠 帖子:1670 积分:397 威望:0 精华:0 注册:2012/3/19 20:34:34
  发帖心情 Post By:2014/8/7 10:22:40 [显示全部帖子]

以下是引用FexTel在2014/8/7 10:17:29的发言:

1,开仓条件不完整

2,软件是V3.24么?使用专业测试报告看看

 

1 , 代码提供了,直接测试即可。

2, 必须3.24 。 我都提供代码了就不用我上传报告了吧?

3, 不管是专业还是标准报告。  说了 RB00,M00 图表有信号 但测试无信号。  这个代码在RM00是有图表信号以及测试信号。


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


加好友 发短信 搬砖的
等级:小飞侠 帖子:1670 积分:397 威望:0 精华:0 注册:2012/3/19 20:34:34
  发帖心情 Post By:2014/8/7 10:55:14 [显示全部帖子]

以下是引用FexTel在2014/8/7 10:51:14的发言:
IF 开多条件 and num=0 THEN BEGIN
if jd=1 then hh:=0.3;
开多:BUY(JDJD:=JD+1;
num:=num+1;
end

IF 开空条件 and num=0 THEN BEGIN
if jk=1 then hh:=0.3;
开空:BUYSHORT(JKJK:=JK+1;
num:=num+1;
END   //您这里开仓条件都不完整,让我怎测啊!

 

我靠,还真。。。符号被论坛吃掉了 {用了引用模式就被吃掉}

 

以下内容为程序代码:

VARIABLE:JD=0,JK=0;  //计开仓次数
VARIABLE:num=0;    //当日开几次
INPUT:SS(4,4,60,2); //单次开仓数
INPUT:NMIN1(25,5,50,5),N1(0,0,40,1); //时间与周期参数
INPUT:ZCC(2,1,4,1); //加仓次数
INPUT:YDD(18,10,40,1); //止损系数

// 标记
上轨:=EMA(C,5);
下轨:=EMA(C,10);

//开仓条件
开多条件:=ref(CROSS(Close,上轨),1);
开空条件:=ref(CROSS(下轨,Close),1);

//交易代码,先平后开

IF 开多条件 and num=0 THEN BEGIN
if jd=1 then hh:=0.3;
开多:BUY(JD<ZCC,SS*hh,LIMITR,open);
JD:=JD+1;
num:=num+1;
end

IF 开空条件 and num=0 THEN BEGIN
if jk=1 then hh:=0.3;
开空:BUYSHORT(JK<ZCC,SS*hh,LIMITR,open);
JK:=JK+1;
num:=num+1;
END

IF L<下轨 and holding>0 THEN BEGIN
平多:SELL(holding>0,holding,MARKETR);
JD:=0;
if jd=0 then hh:=0.7;
END

IF H>上轨 and holding<0 THEN BEGIN
平空:SELLSHORT(holding<0,holding,MARKETR);
JK:=0;
if jk=0 then hh:=0.7;
END

// 移动止损
最高:=HHV(H,OPENBAR+1);
最低:=LLV(L,OPENBAR+1);

多头止损:if(holding>0,最高-YDD,DRAWNULL);
空头止损:if(holding<0,最低+YDD,DRAWNULL);

IF L<最高-YDD and h-l<YDD THEN BEGIN
多损:SELL(holding>0,holding,MARKETR);
JD:=0;
END

IF H>最低+YDD and h-l<YDD THEN BEGIN
空损:SELLSHORT(holding<0,holding,MARKETR);
JK:=0;
END

if time=closetime(0) then num:=0;// 商品期货,收盘的同时,num赋值为0

[此贴子已经被作者于2014/8/7 10:56:15编辑过]

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


加好友 发短信 搬砖的
等级:小飞侠 帖子:1670 积分:397 威望:0 精华:0 注册:2012/3/19 20:34:34
  发帖心情 Post By:2014/8/7 12:31:02 [显示全部帖子]

哪儿问题哪?  我代码还是数据?

[此贴子已经被作者于2014/8/7 12:32:07编辑过]

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


加好友 发短信 搬砖的
等级:小飞侠 帖子:1670 积分:397 威望:0 精华:0 注册:2012/3/19 20:34:34
  发帖心情 Post By:2014/8/7 13:42:08 [显示全部帖子]

以下是引用FexTel在2014/8/7 13:29:13的发言:

1,仔细看了下,hh的取值是存在问题的。它的初始值为0

 

因为刚开始您对应HH没有取值,初始值为0.buy(1,SS*HH,MARKET)   当手数为0时表示使用全部资金开仓

 

2,你直接赋值HH:=0.7,最后HH图上返回是最后一次记录的值

使用VARIABLE定义下HH

[此贴子已经被作者于2014/8/7 13:38:07编辑过]

 

谢谢,原来没有初始化变量关系。

 

   确实解决了, 那么还有疑问。  在RB00图表有信号,但测试是0 这是什么状况导致的。


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


加好友 发短信 搬砖的
等级:小飞侠 帖子:1670 积分:397 威望:0 精华:0 注册:2012/3/19 20:34:34
  发帖心情 Post By:2014/8/7 14:33:29 [显示全部帖子]

以下是引用FexTel在2014/8/7 13:48:58的发言:
是不是全部资金开掉后,没有平仓。 使用VARIABLE定义下初始值试试,看有没信号

 

你看 RB00 连开仓动作都没(测试的时候) ,但图表有信号。


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


加好友 发短信 搬砖的
等级:小飞侠 帖子:1670 积分:397 威望:0 精华:0 注册:2012/3/19 20:34:34
  发帖心情 Post By:2014/8/7 14:52:31 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:品种rm_test3(4,25,0,2,18) 测试结果.zip

奇怪了。。。。 依据上图显示,选择右键公式测试 , 是有数据的。

 

但是在左侧管理面板 公式测试  选择 2013年1月1日 --  2014年8月1日  5分钟   不除权(除权)  不严格时间测试(严格时间测试)

   都是没有测试数据出现的。。。

 

提供ZIP附件。


 回到顶部
总数 12 1 2 下一页