以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- [求助]请问如何实现以下主买主卖统计? (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=173282) |
-- 作者:saintlucifer -- 发布时间:2019/11/26 9:32:22 -- [求助]请问如何实现以下主买主卖统计? 商品期货框架下,以昨日成交总金额为分母,今日分笔成交下单笔主动买跟主动卖为分子,即A=单笔成交/昨日成交总金额,并从大到小排序,并分别统计排在前面的5%,5%-15%,15%-35%,35%-75%这4个区间的主动买跟主动卖之和是多少?请问如何实现? |
-- 作者:FireScript -- 发布时间:2019/11/26 9:57:22 -- 抱歉这个在PEL上实现不了。 |
-- 作者:saintlucifer -- 发布时间:2019/11/26 10:07:17 -- 那如果我不排序,而是只要A>1%的分笔主买主卖之和,然后还有1%>A>0.5%,0.5%>A>0.25%,0.25%>A>0.125%这几个区间的主买主卖之和呢? |
-- 作者:FireScript -- 发布时间:2019/11/26 10:22:12 -- 如果只看A的值,不进行统计是可以的。1楼那个难点在于 “别统计排在前面的5%,5%-15%,15%-35%,35%-75%这4个区间的主动买跟主动卖之和是多少?
” 这个统计是做不到的。 如果只根据A值所在区间不同进行统计倒是可以。 de:CALLSTOCK(\'\',vtAMOUNT,6,-1); a:AMOUNT/de; sum1:sum(if(a>=0.01,AMOUNT,0),TODAYBAR);//a 在0.01以上 sum2:sum(if(a>=0.005 and a<0.1,AMOUNT,0),TODAYBAR);//a在[0.05,0.1) 之间 . . . 后面的照着上面写下就行了。
|
-- 作者:saintlucifer -- 发布时间:2019/11/26 10:36:07 -- 但这里怎么体现A是每一份单笔成交的数值呢?用在分笔周期上面吗?然后怎么区分主动买和主动卖? |
-- 作者:FireScript -- 发布时间:2019/11/26 10:44:39 -- 对的,要单独体现每一笔的话,就得用在分笔上了。 如果你还要区分主买和主卖,需要在分笔上用BUYVOL和
SELLVOL 函数进行判断才行。 |
-- 作者:saintlucifer -- 发布时间:2019/11/26 13:30:15 -- 追加提问: 我现在弄好了一个如下的程序,在分笔周期可以运行,但我想在其他周期引用它的结果,例如在分钟周期最新k引用它的最后一个结果,如果是分钟周期昨k则引用昨k里面最后一刻的结果,但我尝试跨周期引用A_H等4个结果时,程序一直卡着,然后报错说运行过长,暂停运行让你关闭之类的,请问怎么解决?
D_A := CALLSTOCK(\'\',VTAMOUNT,6,-1);
BUY_H := SUM(IF(BUY_A >=0.01,AMOUNT,0),TODAYBAR)/100000000,LINETHICK0;;//a 在0.01以上
SELL_H := SUM(IF(SELL_A >=0.01,AMOUNT,0),TODAYBAR)/100000000,LINETHICK0;;//a 在0.01以上
A_H : BUY_H - SELL_H,COLORRED,COLORSTICK; |
-- 作者:FireScript -- 发布时间:2019/11/26 14:07:29 -- 因为每一句引用都是单独创建了一个被引用指标的副本,相当于你当前加载了四个图的指标。分笔上本身K线量大,因此会导致资源占用快速增长。你可以考虑这个指标放到自定义数据里面去吧。不用一直刷新,改成定期刷新计算下。然后再调用。 |