欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教一句代码的意思

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3075人关注过本帖树形打印复制链接

主题:请教一句代码的意思

帅哥哟,离线,有人找我吗?
m1978xz
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:193 积分:0 威望:0 精华:0 注册:2018/12/18 15:40:26
请教一句代码的意思  发帖心情 Post By:2019/1/3 19:34:24    Post IP:123.168.88.72[显示全部帖子]

下边这个策略是之前阿火版主在论坛发的,其中紫色这一行的我看不懂。这个date我在系统函数中查到是年月日的意思。但我取消这个变量后边的=号之后,在主图左上角显示的NN数值总是介于1到100之间,请问这是怎么计算出来的?


INPUT:m(2,2,100,1);//设定参数M的默认值为2,最小值为2,最大值为100,步长为1

variable:zs=c,maxhl=c;//设定全局变量:zs=收盘价  maxhl=收盘价

 

DISTL:=NEWLBARS(L,1);//DISTL赋值:今天的最低价,创了最近多少天的新低

DISTH:=NEWHBARS(H,1);//disth赋值,今天的最高价,创了最近多少天的新高

HI20:=REF(HHV(H,20),1);//hi20赋值:从一天 前开始算的20天中最高价的最高值。

LO20:=REF(LLV(L,20),1);//Lo20赋值:从一天前开始算的20天内最低价的最低值。

GBD1:=REF(L,DISTL);//GBD1赋值:前低的值

GBD2:=REF(GBD1,DISTL);//前前低值

GBD:=IF(GBD2>0,MAX(LLV(L,20),GBD2),LLV(L,20));//如果前前低的值大于零,返回20天内最低值或者前前低的值,选其中最大的那个。否则返回20天内的最低值。

 

GBG1:=REF(H,DISTH);//GBG1赋值:前高的值

GBG2:=REF(GBG1,DISTH);//GBG2赋值:前前高的值

GBG:=IF(GBG2>0,MIN(HHV(H,20),GBG2),HHV(H,20));//如果前前高的值大于零,返回20天内最高值或者前前高的值,选其中最小的那个。否则返回20天内的最高值。

 

nn:=barslast(date<>ref(date,1))+1;

entertime:=nn>=m and time<=144500;

exittime:=time>=150900;

if holding>0 then 止损1:zs;

if holding<0 then 止损2:zs;

ma5:=ma(c,5);

ma30:=ma(c,30);

long:=cross(ma5,ma30);//多单进场条件

short:=cross(ma30,ma5);//空单进场条件

 

 

 

//下破移动止损线后离场

if holding>0 and (c<zs or exittime) then sell(1,1,limitr,c);

if holding<0 and (c>zs or exittime) then sellshort(1,1,limitr,c);

 

 

 

//开仓语句

 

if holding=0 and entertime and long then begin

 buy(1,1,limitr,c);

 zs:=gbd;//调用顾比倒数线做为止损

 maxhl:=h;//记录当时的高点

end

 

 

 

if holding=0 and entertime and short then begin

 buyshort(1,1,limitr,c);

 zs:=gbg;//调用顾比倒数线做为止损

 maxhl:=L;

end

 

 

 

if holding<0 and l<maxhl then begin //创新低后,重新定位离场位,以实现浮动止损

 maxhl:=l;

 zs:=gbg;

end

 

 

 

if holding>0 and h>maxhl then begin //创新高后,重新定位离场位,以实现浮动止损

 zs:=gbd;

 maxhl:=h;

end


 回到顶部