请老师帮忙解释一下这个做多的模型,想用在铁矿上,网格宽度为2,每两个点加多1手,midline=600
variable:level=0;//定义一个全局变量level数值为0
//dist:=barslast(date<>ref(date,1));
//oo:=ref(open,dist);
oo:=midline;
//这段代码描述持仓为0时,开多单的条件
if holding=0 then begin
dnprice:=oo-grid*mindiff;
if low<=dnprice then begin
buy(1,1,limitr,dnprice);
level:=-1;
end
end
//这段代码描述持仓为多单时,平多和开多的条件
if holding>0 then begin
upprice:=oo+(level+1)*grid*mindiff;
dnprice:=oo+(level-1)*grid*mindiff;
if high>=upprice then begin
sell(1,1,limitr,upprice);
level:=level+1;
end
if low<=dnprice then begin
buy(1,1,limitr,dnprice);
level:=level-1;
end
if time=closetime(0) then
sell(1,holding,limitr,close);
end
盈亏:asset,noaxis,colormagenta;
收益:(asset-50000)/50000,linethick0;
次数:totaltrade,linethick0;
胜率:percentwin,linethick0;
连亏:maxseqloss,linethick0;
连赢:maxseqwin,linethick0;
持仓:HOLDING,linethick0;
{
信号语句排列规则——先平后开
“费率设置”按钮——用于合理设置模型“费率”,以便在图形上正确输出如下帐户信息:
持仓:holding,linethick0;
资产:asset,noaxis;
可用现金:cash(0),linethick0;
您可以在查看菜单->交易系统模板 中设置自己需要的模板
}
[此贴子已经被作者于2017-1-11 14:23:00编辑过]
改写,老师,因为我可能还要做一些修改,我不太理解里面的东西所以也烦请老师改写的过程中给我标注的详细一些谢谢
variable:level=0;//定义一个全局变量level数值为0
midline:=600;
grid:=2;//网格的一个阶
oo:=midline;//网格起点
//这段代码描述持仓为0时,开多单的条件
if holding=0 then begin
dnprice:=oo-grid*mindiff;//设定初始的网格
if low<=dnprice then begin//价格满足初始设定的网格价格后下单
buy(1,1,limitr,dnprice);//初始的开仓语句
level:=-1;//设定第一阶的网格值
end
end
//这段代码描述持仓为多单时,平多和开多的条件
if holding>0 then begin
upprice:=oo+(level+1)*grid*mindiff;//这里定义的是回调后的价格,满足这个价格就平仓
dnprice:=oo+(level-1)*grid*mindiff;//这里定义的是网格趋势的价格,满足这个价格就开仓
if high>=upprice then begin
sell(1,1,limitr,upprice);//平仓语句
level:=level+1;//平仓之后,把网格回调一阶
end
if low<=dnprice then begin
buy(1,1,limitr,dnprice);//开仓语句
level:=level-1;//开仓之后,根据网格的趋势,再顺势加一阶
end
if time=closetime(0) then
sell(1,holding,limitr,close);
end //收盘清仓
如果我想把下单手数设定为一个参数为xdss的话,那么把所有的
(1,1,limitr,dnprice)改成(1,xdss,limitr,dnprice),然后在设置参数那里设置 一下就行了?
[此贴子已经被作者于2017-1-11 15:42:12编辑过]