以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请编一个公式  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=95165)

--  作者:longkun
--  发布时间:2016/3/27 22:40:20
--  请编一个公式
请帮助写一个公式:
求当日第一次涨幅大于4到现在的K线周期数。
周期:1分钟
请注意“当日”二字,不是针对所有1分钟数据。谢谢

--  作者:jinzhe
--  发布时间:2016/3/28 9:36:29
--  

variable:n=0;

if (c-ref(c,1))/ref(c,1)>=0.04 then n:=n+1;

nn:barslast(n=1 and ref(n=0,1));

if time=closetime(0) then n:=0;

 

nn为周期数


--  作者:longkun
--  发布时间:2016/3/28 9:49:30
--  


图片点击可在新窗口打开查看此主题相关图片如下:333.jpg
图片点击可在新窗口打开查看

 

9:48,从测试看,明显不对,请修改一下


--  作者:jinzhe
--  发布时间:2016/3/28 9:51:49
--  
你这个图我看不懂,请对上面截图进行说明,说明从图上哪点能反映出我写的是错的
--  作者:客人
--  发布时间:2016/3/28 9:58:58
--  
9:48时,我用你编写的公式NN指标对部分A股进行排序,如图第5行92明显不对,因为开盘才18分钟,而我要的是今天第一次涨幅大于4%时到计算时的1分钟周期数,所以明显错误。
--  作者:longkun
--  发布时间:2016/3/28 10:06:30
--  
比如说002768国恩股份今天9:34涨幅第一次大于4%,9:34距离开盘为4分钟,我要的就是这个4

--  作者:jinzhe
--  发布时间:2016/3/28 10:16:50
--  

那就是修改原来的要求了,

新要求的代码是:

variable:n=0;

if (c-ref(c,1))/ref(c,1)>=0.04 then n:=n+1;

nn:valuewhen(n=1 and ref(n=0,1),todaybar);

if time=closetime(0) then n:=0;


--  作者:longkun
--  发布时间:2016/3/28 11:06:08
--  
还是不对,你测试一下001768国恩股份(9:34第一次涨幅>4%),用你公式测试NN为0,应该为4才对啊




--  作者:jinzhe
--  发布时间:2016/3/28 11:31:01
--  

variable:n=0;

if (h-ref(c,todaybar))/ref(c,todaybar)>=0.04 then n:=n+1;

nn:valuewhen(n=1 and ref(n=0,1),todaybar);

if time=closetime(0) then n:=0;


--  作者:jinzhe
--  发布时间:2016/3/28 11:31:26
--  
涨幅的计算方式是我自己的理解,不知道用户的计算方式是什么?