以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=181904)

--  作者:llz1124
--  发布时间:2020/8/26 9:39:51
--  选择下单

做了这样一个 多品种监控指标。金字塔公式能不能实现自动捕捉到最高值的品种下单? 要知道某个品种排在第几个用什么函数?


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

--  作者:FireScript
--  发布时间:2020/8/26 9:51:47
--  
 
如果是相同指标,不同品种的值,可以用hod2函数。下单时候只需要判断当前品种在这个指标上的排名是否满足即可。


求数组按从高到低排序的名次。

用法:
HOD2(X,N,K):求某一周期X数组内N个元素(N <= 最大元素数)的K值依照从高到低排序后为第几个高值,返回值为排序名次。N=0则表示数组全部元素参与计算

例如:
我们根据KDJ的K值由大到小排序,品种为CU,RU,M,CF,IF
1、首先建立数组
VARIABLE: X[5]:=0;
X[1]:=STKINDI(\'CU00\',\'KDJ.K\',0,6,0);
X[2]:=STKINDI(\'RU00\',\'KDJ.K\',0,6,0);
X[3]:=STKINDI(\'M00\',\'KDJ.K\',0,6,0);
X[4]:=STKINDI(\'CF00\',\'KDJ.K\',0,6,0);
X[5]:=STKINDI(\'IF00\',\'KDJ.K\',0,6,0);
2、通过HOD2函数排序
CU排名:HOD2(X,5,X[1]),LINETHICK0;
RU排名:HOD2(X,5,X[2]),LINETHICK0;
M排名:HOD2(X,5,X[3]),LINETHICK0;
CF排名:HOD2(X,5,X[4]),LINETHICK0;
IF排名:HOD2(X,5,X[5]),LINETHICK0;
所属函数组:引用函数
--  作者:llz1124
--  发布时间:2020/8/26 9:58:23
--  
这个必须在逐k模式下是吧?


--  作者:llz1124
--  发布时间:2020/8/26 10:08:46
--  
请问 这个排名可不可以 REF(CU排名,1) 这样引用上周期的排名?
--  作者:FireScript
--  发布时间:2020/8/26 10:09:40
--  
 是的。涉及到数组的必须这样逐K模式。


--  作者:llz1124
--  发布时间:2020/8/26 16:33:12
--  

是不是图表 没办法二次引用 。比如我要做10个品种的kdj排序 ,然后再引用这个排序结果 找适合的品种下单 。


--  作者:FireScript
--  发布时间:2020/8/26 16:43:13
--  
 不是,只要不存在循环引用即可。可以二次引用。

只是这里,我建议 考虑下用自定义数据做排序。这样省的做很多个跨周期调用。

http://www.weistock.com/bbs/dispbbs.asp?boardid=17&Id=173925

把若干品种纳入到自定义数据统计的一个版块内,然后就可以进行统计了,可以统计指标值,也可以获取排名情况。

--  作者:llz1124
--  发布时间:2020/8/26 17:24:37
--  

谢谢,金字塔功能很强大,但是也好复杂,慢慢学习吧


--  作者:llz1124
--  发布时间:2020/8/26 21:35:00
--  

不行啊老师  这个数组排序结果 再被引用的时候  可以输出数值, 但是   总是提示 应用错误估计是 VARIABLE 的问题, 在哪里可以去掉这个限制呢?

 


--  作者:FireScript
--  发布时间:2020/8/27 8:41:26
--  
 应用错误?截图看下报错的信息。