以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- [求助]ref 与 hhv (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=8913) |
-- 作者:zzzlondon -- 发布时间:2011/11/11 10:25:17 -- [求助]ref 与 hhv 用论坛上标准的求前一天的最高最低的代码,发现运行出来不对(CU1201,显示前一天最高为57990,实际应为55980) 代码如下 N:=BARSLAST(DATE>REF(DATE,1)); //调试 if time=90100 then begin
调试结果如下图
发现ref(hhv(h,NN),1) 和 hhv(ref(h,1),NN) 结果是不一样的,求帮助 |
-- 作者:jinzhe -- 发布时间:2011/11/11 10:30:23 -- n:=barslast(date<>ref(date,1)); predayhigh:valuewhen(date<>ref(date,1),ref(hhv(h,n+1),1));昨高 [此贴子已经被作者于2011-11-11 10:54:24编辑过]
|
-- 作者:zzzlondon -- 发布时间:2011/11/11 10:37:01 -- 以下是引用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 -- 发布时间: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线不等 |
-- 作者:zzzlondon -- 发布时间:2011/11/11 13:16:44 -- 以下是引用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 -- 发布时间:2011/11/11 16:05:06 -- 我再研究研究。 [此贴子已经被作者于2011-11-11 16:11:05编辑过]
|
-- 作者:阿火 -- 发布时间:2011/11/12 9:47:55 -- 不同位置的NN不一样造成的呗.要一样,数据要一样,NN也要一样。你调试比较这2个数值就行了
另外:昨日高点的写法何必那么复杂,如此即可: NN:=BARSLAST(DATE>REF(DATE,1))+1; [此贴子已经被作者于2011-11-12 9:48:21编辑过]
|
-- 作者:zzzlondon -- 发布时间:2011/11/12 10:21:55 -- 以下是引用leevolvo在2011-11-12 9:47:55的发言:
不同位置的NN不一样造成的呗.要一样,数据要一样,NN也要一样。你调试比较这2个数值就行了
调试在同一个bar上的 我把问题化简一下好了: N:BARSLAST(DATE>REF(DATE,1)); dd:hhv(ref(h,N+1),2);
当时间是当天第一个K线,即90100时,N应该=0,dd和ee应该相等,但实际不相等,如图
|
-- 作者:zzzlondon -- 发布时间:2011/11/17 14:15:21 -- 能解决吗? |