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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]ref 与 hhv

   

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


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

主题:[求助]ref 与 hhv

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


加好友 发短信
等级:新手上路 帖子:54 积分:333 威望:0 精华:0 注册:2011/3/11 8:47:01
[求助]ref 与 hhv  发帖心情 Post By:2011/11/11 10:25:17    Post IP:116.228.231.42[只看该作者]

用论坛上标准的求前一天的最高最低的代码,发现运行出来不对(CU1201,显示前一天最高为57990,实际应为55980)

代码如下

N:=BARSLAST(DATE>REF(DATE,1));
NN:=ref(N,N+1)+1;
highy:=ref(hhv(h,NN),N+1);
lowy:=ref(llv(l,NN),N+1);

//调试

if time=90100 then begin
 aa:=0;
end
aa:=ref(N,1);
bb:=hhv(h,NN);
cc:=ref(hhv(h,NN),N+1);
dd:=ref(hhv(h,NN),1);
ee:=hhv(ref(h,1),NN);

 

调试结果如下图

图片点击可在新窗口打开查看

 

发现ref(hhv(h,NN),1) 和 hhv(ref(h,1),NN) 结果是不一样的,求帮助


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


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

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

predayhigh:valuewhen(date<>ref(date,1),ref(hhv(h,n+1),1));昨高
predaylow:valuewhen(date<>ref(date,1),ref(llv(l,n+1),1));昨低
predayclose:valuewhen(date<>ref(date,1),ref(c,1));昨收

[此贴子已经被作者于2011-11-11 10:54:24编辑过]


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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:54 积分:333 威望:0 精华:0 注册:2011/3/11 8:47:01
  发帖心情 Post By:2011/11/11 10:37:01    Post IP:116.228.231.42[只看该作者]

以下是引用jinzhe在2011-11-11 10:30:23的发言:
predayhigh:valuewhen(date<>ref(date,1),ref(hhv(h,n+1),1));昨高
predaylow:valuewhen(date<>ref(date,1),ref(llv(l,n+1),1));昨低
predayclose:valuewhen(date<>ref(date,1),ref(c,1));昨收

我用的是金字塔置顶的写法

http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332

问题19

 

我不知道你的写法对不对,但是至少没有解决我的写法哪里错了的问题,以及ref与hhv交换后数值为何不同的问题


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


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

NN代表一天的k线数,比如1分钟1天就是270根

ref(hhv(h,NN),n+1)代表n+1个周期前(也就是当日第一根k线)的270周期(一天)内最高价。

hhv(ref(h,1),NN)代表上一周期的270周期内最高价

dd:=ref(hhv(h,NN),1);只会在当日第一根k线上和昨天最高价相等,其余k线不等



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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:54 积分:333 威望:0 精华:0 注册:2011/3/11 8:47:01
  发帖心情 Post By:2011/11/11 13:16:44    Post IP:116.228.231.42[只看该作者]

以下是引用jinzhe在2011-11-11 11:23:25的发言:

NN代表一天的k线数,比如1分钟1天就是270根

ref(hhv(h,NN),n+1)代表n+1个周期前(也就是当日第一根k线)的270周期(一天)内最高价。

hhv(ref(h,1),NN)代表上一周期的270周期内最高价

dd:=ref(hhv(h,NN),1);只会在当日第一根k线上和昨天最高价相等,其余k线不等

事实上截图的地方就是第一根K线,if time=90100 之后断点的

发现hhv(ref(h,1),NN) 和 hhv(ref(h,N+1),NN)数值不等,why

图片点击可在新窗口打开查看

[此贴子已经被作者于2011-11-11 13:32:03编辑过]

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


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

我再研究研究。

[此贴子已经被作者于2011-11-11 16:11:05编辑过]


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

客户服务部

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

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

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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2011/11/12 9:47:55    Post IP:121.207.132.70[只看该作者]

不同位置的NN不一样造成的呗.要一样,数据要一样,NN也要一样。你调试比较这2个数值就行了

 

另外:昨日高点的写法何必那么复杂,如此即可:

NN:=BARSLAST(DATE>REF(DATE,1))+1;
highy:=ref(hhv(h,NN),NN);
lowy :=ref(LLv(l,NN),NN);

[此贴子已经被作者于2011-11-12 9:48:21编辑过]

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


加好友 发短信
等级:新手上路 帖子:54 积分:333 威望:0 精华:0 注册:2011/3/11 8:47:01
  发帖心情 Post By:2011/11/12 10:21:55    Post IP:124.160.188.132[只看该作者]

以下是引用leevolvo在2011-11-12 9:47:55的发言:

不同位置的NN不一样造成的呗.要一样,数据要一样,NN也要一样。你调试比较这2个数值就行了

 

调试在同一个bar上的

我把问题化简一下好了:

N:BARSLAST(DATE>REF(DATE,1));

dd:hhv(ref(h,N+1),2);
ee:hhv(ref(h,1),2);

 

当时间是当天第一个K线,即90100时,N应该=0,dd和ee应该相等,但实际不相等,如图

图片点击可在新窗口打开查看

 


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


加好友 发短信
等级:新手上路 帖子:54 积分:333 威望:0 精华:0 注册:2011/3/11 8:47:01
  发帖心情 Post By:2011/11/17 14:15:21    Post IP:116.228.231.42[只看该作者]

能解决吗?


 回到顶部