分号都不知道该加在哪里了h20:=ref(hhv(h,20),1);
h10:=ref(hhv(h,10),1);
L20:=ref(LLV(l,20),1);
l10:=ref(llv(l,10),1);
//多头建立条件
long=h>h20 and time>093000 and time <145000;
if long then
begin
sellshort(holding,0,holding,limitr,h20)
buy (holding=0,limitr,h20)
END;
//多头止损条件
longx:=(l10 and holding>0);
if longx then
begin
sell (1,0,limitr,l10).
END;
//线条颜色
partline (holding>0,l20,colorred);
partline (holding<0,h20,colorgreen);
//空头建立条件
short:=l<l20 and time >093000 and time <145000;
if short then
begin
sell(holding>0,0,li,itr,l20).
buyshort (holding=0,1,limitr,l20).
end;
//空头止损条件
shortx:=h<h10 and holding<0;
if shortx then
begin
sellshort (1,0,limitr,h10)
end ;
//收盘前全部平仓
sell(time>145500 and holding>0,0,thisclose);
sellshort (time>145500 and holding <0,0,thisclose);
持仓:holding,linethick0;
资产:asset,noaxis;
可用现金:cash(0),linethick0;
这里的语句后面都需要加分号,策略里所有符号都用英文状态下的,另外看下下单函数说明,比如buy里的参数都是不准确的,下单数量未填写,sellshort也是如此都有问题
sellshort(holding,0,holding,limitr,h20);
buy (holding=0,limitr,h20);
1.建议你下载下我们关于代码编写的视频教程。你上面的问题还是需要熟悉下基本编写规范,才能避免。
2.
除了没定义的部分。其他地方应该没有错误了。
h20:=ref(hhv(h,20),1);
h10:=ref(hhv(h,10),1);
L20:=ref(LLV(l,20),1);
l10:=ref(llv(l,10),1);
//多头建立条件
long=h>h20 and time>093000 and time <145000;
if long then
begin
sellshort(1,holding,limitr,h20);
buy(holding=0,ss,limitr,h20);
END
//多头止损条件
longx:=(l10 and holding>0);
if longx then
begin
sell (1,0,limitr,l10);
END
//线条颜色
partline (holding>0,l20,colorred);
partline (holding<0,h20,colorgreen);
//空头建立条件
short:=l<l20 and time >093000 and time <145000;
if short then
begin
sell(holding>0,0,li,itr,l20);
buyshort (holding=0,1,limitr,l20);
end;
//空头止损条件
shortx:=h<h10 and holding<0;
if shortx then
begin
sellshort (1,0,limitr,h10);
end ;
//收盘前全部平仓
sell(time>145500 and holding>0,0,thisclose);
sellshort (time>145500 and holding <0,0,thisclose);
持仓:holding,linethick0;
资产:asset,noaxis;
可用现金:cash(0),linethick0;
代码结尾是“;”而不是“.”号。
sell (1,0,limitr,l10).
开仓函数的参数要符合规范,可以在函数说明中具体看下。你在函数上右键-定位到参考位置就能看到函数说明了。这些参数不能随便写的。也不能错位。
sellshort(holding,0,holding,limitr,h20)
buy (holding=0,limitr,h20)
改成
sellshort(1,holding,limitr,h20);
buy(holding=0,ss,limitr,h20);