RM00 13年1月4日是不是有问题啊?
图表显示2手
但是程序测试时候是8手, 这是没开启F11 ,开了F11直接成10手。
似乎就是 1月4日这1天
此主题相关图片如下:捕获.jpg

改成1月7日立马就2手起步。。 唯独1月4日。
[此贴子已经被作者于2014/8/6 22:02:59编辑过]
1,对比下成交价格,一致么?而且限定下k线图的起止时间和测试一致
以下是引用FexTel在2014/8/7 8:50:18的发言:
1,对比下成交价格,一致么?而且限定下k线图的起止时间和测试一致
价格绝对没错。 就是手数不对。 时间也绝对一致。
而且就只有1月4日那1次。 我把日期换成1月5日(7日) 开启就无问题。
关键是开仓手绝对是错误的~ 因为我虽然算动态,但动态阈值是手工参数(常数),所以理论上不改参数状态下默认开仓只有2.
然后图表一致,唯独测试时刻就那1次仓位不对。
1,测试和图上使用的数据都是一致的,怎么会差异如此之大。
按理说数据错误,对应测试和图上也一样是错的。
开多: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 应当无关,这是控制开仓几次的。
1,而且HH如果您不依据数据,值固定化的话 开仓几手和数据就没有任何关系
2,能否提供个简单反应问题的代码?
而且开仓价一样也不可能是用了价格反转,重新测试效果是不是一样的?
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
以下是引用FexTel在2014/8/7 10:17:29的发言:
1,开仓条件不完整
2,软件是V3.24么?使用专业测试报告看看
1 , 代码提供了,直接测试即可。
2, 必须3.24 。 我都提供代码了就不用我上传报告了吧?
3, 不管是专业还是标准报告。 说了 RB00,M00 图表有信号 但测试无信号。 这个代码在RM00是有图表信号以及测试信号。