以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  大神麻烦帮忙看看哪出错了,第一次就这样,  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=184734)

--  作者:小白在线
--  发布时间:2021/3/16 15:47:17
--  大神麻烦帮忙看看哪出错了,第一次就这样,
分号都不知道该加在哪里了
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;

--  作者:小白在线
--  发布时间:2021/3/16 15:49:25
--  
如图显示
图片点击可在新窗口打开查看此主题相关图片如下:分号.png
图片点击可在新窗口打开查看

--  作者:banzhuan
--  发布时间:2021/3/16 15:57:19
--  
这里的语句后面都需要加分号,策略里所有符号都用英文状态下的,另外看下下单函数说明,比如buy里的参数都是不准确的,下单数量未填写,sellshort也是如此都有问题
sellshort(holding,0,holding,limitr,h20);
buy (holding=0,limitr,h20);

--  作者:FireScript
--  发布时间:2021/3/16 15:59:32
--  
 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);


--  作者:小白在线
--  发布时间:2021/3/16 16:05:31
--  
好的,刚接触两天,不太懂
--  作者:FireScript
--  发布时间:2021/3/16 16:10:56
--  
 可以加下培训群。群里不定期有培训课的。
99720338