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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → ref函数没办法用

   

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


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

主题:ref函数没办法用

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


加好友 发短信
等级:新手上路 帖子:81 积分:0 威望:0 精华:0 注册:2017/1/5 21:29:57
ref函数没办法用  发帖心情 Post By:2017/3/8 23:02:35    Post IP:183.11.37.211[只看该作者]

 ref语句不能用在for语句和if语句里,我发现如果我要统计前60根K线的收盘价,成交量,持仓量,除了一个个赋值,没有更好的办法。

 回到顶部
帅哥哟,离线,有人找我吗?
netfox
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 搬砖的
等级:小飞侠 帖子:1670 积分:397 威望:0 精华:0 注册:2012/3/19 20:34:34
  发帖心情 Post By:2017/3/8 23:46:52    Post IP:58.101.98.230[只看该作者]

count 不是统计吗?

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2017/3/9 9:08:45    Post IP:180.173.193.42[只看该作者]

是不能直接用,可以间接用,你看下编译给你的提示链接


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
牤牛
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:81 积分:0 威望:0 精华:0 注册:2017/1/5 21:29:57
  发帖心情 Post By:2017/3/9 9:51:24    Post IP:120.236.234.142[只看该作者]

 当对前几十个周期进行稍微复杂点的运算,count是不能完成的。
间接用还是只能一个一个赋值。比如:
variable:cj[61]=0,cc[60]=0;
for i=1 to 60 do cj[i]=ref(vol,i);
for i=1 to 60 do cc[i]=cj[i]-cj[i+1];
请问怎么间接用。

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2017/3/9 9:58:09    Post IP:180.173.41.99[只看该作者]

编译时给你的提示连接
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
牤牛
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:81 积分:0 威望:0 精华:0 注册:2017/1/5 21:29:57
  发帖心情 Post By:2017/3/9 10:23:12    Post IP:120.236.234.142[只看该作者]

你是不懂我们上班族电脑有监控的苦恼啊,我上班时间要能把这个软件打开,我早打开看了。我只能晚上回家看,然后有新问题第二天您才能回复。那么周期就太长了。

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2017/3/9 10:24:13    Post IP:180.173.41.99[只看该作者]



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2017/3/9 10:25:49    Post IP:180.173.41.99[只看该作者]

IF THEN 语句的描述

例如:

input:atrn1(1,1,10),atrn2(5,2,20);

if atrn1<atrn2 and vol>20000 then
begin
    TR1:= MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
    ATRn_1:= MA(TR1,atrn1);
    ATRn_2:= MA(TR1,atrn2);
end;

上述公式语句由于将REF和MA函数放在了IF语句之中,所以该公式无法正常编译。解决办法是将他们放到IF语句之外去执行:

input:atrn1(1,1,10),atrn2(5,2,20);

A1:=REF(CLOSE,1);
MA1:=MA(TR1,atrn1);
MA2:=MA(TR1,atrn2);

if atrn1<atrn2 and vol>20000 then
begin
    TR1:= MAX(MAX((HIGH-LOW),ABS(A1-HIGH)),ABS(A1-LOW));
    ATRn_1:= MA1;
    ATRn_2:= MA2;
end;

这样经过修正的公式就可以正常编译了,此外公式还将两次REF语句引用合并到一个语句中,这样做还可以提高公式系统的运行效率,因为REF统计语句只执行了一次。

 

 

 

对于REF较为有效率的使用改进方案

金字塔提供了强大的数组功能,完成可以代替REF函数,使用数组代替REF不仅可以解决不能再IF THEN语句的限制,还可以提高运行效率,我们举例如下:

If   Barpos-1 = N   then
BEGIN
   UpperMove := ref(High,1) ;
end

 

将REF修改为数组模式的代码为

If   Barpos-1 = N   then
BEGIN
   UpperMove := High[Barpos-1] ; //取上一个K线高点
end



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
牤牛
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:81 积分:0 威望:0 精华:0 注册:2017/1/5 21:29:57
  发帖心情 Post By:2017/3/9 16:49:02    Post IP:120.236.234.142[只看该作者]

请问成交量,持仓量也可以直接这样转成数组吗?
上根K线的成交量vol[Barpos-1] ,持仓量openint[Barpos-1],系统能识别?

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2017/3/9 17:01:57    Post IP:180.169.30.6[只看该作者]

也可以,这些都是有k线数据的,即每根k线上都有对应的数据


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
总数 12 1 2 下一页