以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  5分钟k线的最大波幅  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=163539)

--  作者:独钓_寒江雪
--  发布时间:2018/5/20 18:12:05
--  5分钟k线的最大波幅
在1分钟K线图表中,分2种情况计算5分钟K线的最大波幅:
第一种情况:当日第1次开仓之前,5分钟K线波幅最大值(假定开仓,是在当日开盘5分钟以后开的仓);
第二种情况:当日第2次以后开仓时,求前1次平仓以后到本次开仓之前,5分钟k线波幅最大值;
说明:5分钟K线波幅,指的是5分钟图表k线的最高价与最低价的差值;

--  作者:FireScript
--  发布时间:2018/5/21 9:14:51
--  
被引用指标A:
bf:h-l;
maxbf:hhv(bf,TODAYBAR);

当前指标:
temp1:=STKINDI(\'\',\'A.maxbf\',0,2,0);
if count(buycond,TODAYBAR)<=1 then result1:=temp;//buycond是你的开仓条件,开仓条件需要写完整

temp2:=hhv(temp1,BARSLAST(sellcond));//sellcond是你平仓条件,平仓条件需要写完整
if count(buycond,TODAYBAR)>1 and count(sellcond,TODAYBAR)>0 then result2:=temp2;

你看下处理方式,然后再根据你具体代码做修改。

--  作者:独钓_寒江雪
--  发布时间:2018/5/21 9:26:35
--  
能不能不引用指标A,而直接在1分钟K线图表中实现
--  作者:FireScript
--  发布时间:2018/5/21 9:34:22
--  
不行,如果你想要不用引用函数,你只能自行尝试了。
--  作者:独钓_寒江雪
--  发布时间:2018/5/28 18:59:46
--  
今天测试了下,第2种情况下 求的结果resuit2不对,求得的是当日开盘以来的5k最大波幅,而不是前次平仓以来的最大波幅
--  作者:独钓_寒江雪
--  发布时间:2018/5/29 22:16:08
--  
问题同5楼 代码该如何改写?
--  作者:yukizzc
--  发布时间:2018/5/30 9:22:24
--  

variabile:resu2=100;

if 平仓条件 then

begin

sell();

resu2:=0;

end

 

if temp1>resu2 and resu2=0 then tem1:=resu2;

 

if 开仓条件 then

begin

buy();

resu2:=0;

end

 

dd:ref(resu2,exitbars);


--  作者:FireScript
--  发布时间:2018/5/30 9:50:43
--  
 你这个是小引大,如果连续的开平仓的小周期K对应的都是同一个的大周期K,那么引用到的值可能是一样的。