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编辑过]
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)也有交易。
????????
您好,用您给的代码测试结果没问题。个人怀疑是您测试周期选的不是3分钟
是三分钟的,而且在两台电脑上分别运行都是相同的结果
您好,我本地测试结果不为0。请您仔细检查下您本地的数据等各项设置

此主题相关图片如下:搜狗截图_2013-03-25_09-39-10.png

此主题相关图片如下:搜狗截图_2013-03-25_09-39-55.png
这两个是间隔不到十秒的两次回测,我实在是想不到的我的设置有什么问题。
我刚刚有点开这两个图片看了一下,上面的图片上有个最大回撤时间1899/12/30?????