以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  继续请教关于寻找高点的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=84134)

--  作者:gzcoolfire
--  发布时间:2015/8/18 15:31:54
--  继续请教关于寻找高点的问题
我需要在日周期找出比今天最高点还要高的最近前一高点,然后在1分钟周期计算出现该前一高点与当前的K线数量值,我用了下面的语句:
//寻找今天之前的高点
N:BARSLAST(DATE<>REF(DATE,1))+1,NODRAW;
DH:HHV(H,N),NODRAW;
I:0,NODRAW;
HSTH=DH;
WHILE HSTH<=DH DO
BEGIN
   I:=I-1;
   H1:=CALLSTOCK(STKLABEL,VTHIGH,6,I);
   IF H1> HSTH THEN HSTH:=H1;
END  
HSTHB:BARSLAST(H=HSTH),NODRAW;

这样有两个问题:
1、感觉效率不高,运行起来有点卡,不知道是否因为往前搜索时加载了太多K线的原因,是否有更优的语句?
2、是否我在选项-》维护中设置了内存保留的K线数量后,即使图表不显示,但公式仍能正常工作?

请老师帮忙解答一下,非常感谢!

--  作者:jinzhe
--  发布时间:2015/8/18 15:43:10
--  

1.这个我没有好的算法,毕竟1分钟上离今天高点最近的点,不一定是日线最高点

2.不行,公式要在图表上运行,必须是要应用在图表上


--  作者:gzcoolfire
--  发布时间:2015/8/18 15:48:34
--  
第2点,我指的是图表加载了默认的360条k线,但我往前寻找可能是一千多条,这会影响到运算结果的。我想确认一下就是公式计算的依据是以图表显示的360条为准,还是以我设定的内存5000根为准?
--  作者:jinzhe
--  发布时间:2015/8/18 15:56:55
--  

以图形显示360周期为准

 


--  作者:gzcoolfire
--  发布时间:2015/8/18 16:08:11
--  
这样可能会影响运算结果的哦,有什么办法修正?等于我在框架的设置时候,就默认打开比如2000根k线那样?
--  作者:jinzhe
--  发布时间:2015/8/18 16:13:31
--  
在这里设定好当前显示的k线数量
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:gzcoolfire
--  发布时间:2015/8/18 19:02:55
--  
以下是引用jinzhe在2015/8/18 15:43:10的发言:

1.这个我没有好的算法,毕竟1分钟上离今天高点最近的点,不一定是日线最高点

2.不行,公式要在图表上运行,必须是要应用在图表上


如果就是在1分钟周期寻找的话,是不是用下面的语句:
A:SETVAL(ISLASTBAR,DH,-DATACOUNT,DH),LINETHICK0,NODRAW;
HSTHB:BARSLAST(H>A),NODRAW;
HSTH:=REF(H,HSTHB),NODRAW;

--  作者:jinzhe
--  发布时间:2015/8/19 8:50:35
--  

hh:=valuewhen(islastbar,hhv(h,todaybar));
ss:=CONST(hh );

nn:barslast(h>ss);

nn为所求值


--  作者:gzcoolfire
--  发布时间:2015/8/19 12:34:57
--  
谢谢老师。这个PEL逻辑还不熟悉,要慢慢学。
--  作者:chenyan9988q
--  发布时间:2015/10/23 0:20:05
--  
老师:

nn:barslast(h>ss);这个语句 是不是能这么理解,涨停板位置附近开空,c>涨停板止损空,能成立吗?



barslast