以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://www.weistock.com/bbs/list.asp?boardid=4) ---- 前一天的数据由大到小排列并取出 (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=140507) |
|
-- 作者:chyhao -- 发布时间:2016/10/10 13:38:51 -- 前一天的数据由大到小排列并取出 1分钟周期,把前一天的ABS(C-O)按照由大到小的顺序排列,并且取出最大的N个相加得到P,请问用公式应该怎么写呢,谢谢 |
|
-- 作者:jinzhe -- 发布时间:2016/10/10 13:53:46 -- 假设n为6:
h1:ref(large(abs(c-o),todaybar,1),todaybar); h2:ref(large(abs(c-o),todaybar,2),todaybar); h3:ref(large(abs(c-o),todaybar,3),todaybar); h4:ref(large(abs(c-o),todaybar,4),todaybar); h5:ref(large(abs(c-o),todaybar,5),todaybar); h6:ref(large(abs(c-o),todaybar,6),todaybar); p:h1+h2+h3+h4+h5+h6; |
|
-- 作者:chyhao -- 发布时间:2016/10/10 16:52:14 -- 如果我想取N,N的数量是使其对应的VOL累加能超过全天成交量的10%,这种情况下这个p应该怎么写呢? |
|
-- 作者:jinzhe -- 发布时间:2016/10/10 17:20:16 -- ss:=0; vv:callstock(stklabel,vtvol,6); n:ref(valuewhen(cross(sum(vol,todaybar)/vv>0.1,0.5),todaybar),todaybar); for i=1 to n do begin ss:=ss+ref(large(abs(c-o),todaybar,i),todaybar); end p:ss; |
|
-- 作者:chyhao -- 发布时间:2016/10/11 9:55:04 -- cross(sum(vol,todaybar)/vv>0.1,0.5); 为什么是0.5的,这句怎么理解? |
|
-- 作者:jinzhe -- 发布时间:2016/10/11 10:05:22 -- 这句是判断条件由不成立到成立的那个点的。条件判断就只有两个结果,0和1,那么结果上穿0.5必然是正好从0变成1,也就是条件刚好从不成立变成成立 |
|
-- 作者:chyhao -- 发布时间:2016/10/11 17:06:12 -- 再请问一下,如果我想取昨天第3大的ABS(C-O)对应的收盘价和成交量,应该怎么写呢? |
|
-- 作者:jinzhe -- 发布时间:2016/10/11 17:12:55 -- 这个不好定位 |
|
-- 作者:chyhao -- 发布时间:2016/10/11 17:26:27 --
这个好像不符合我的条件,我想前一天的ABS(C-O)从大到小排列,然后从大到小取出N个值,这N个值对应的VOL累加能达到前一天成交量的0.1,然后计算这N个ABS(C-O)的总和,但上边的写法n:ref(valuewhen(cross(sum(vol,todaybar)/vv>0.1,0.5),todaybar),todaybar) 应该是从昨天开盘按时间先后一直取的,并不是我想要的排列后按照大小取,老师们能帮忙再看看吗,谢谢? |
|
-- 作者:jinzhe -- 发布时间:2016/10/11 17:31:40 -- 那你这样的,实在是算不出 |