以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=87734) |
-- 作者:zxsd -- 发布时间:2015/11/25 16:54:56 -- 简单排序功能 逐K线模式下 本周期,5条MA(5)、MA(10)、MA(20)、MA(30)、MA(60)中,离1000这条线最近的是哪根线? 请指点 |
-- 作者:jinzhe -- 发布时间:2015/11/25 17:01:06 -- 使用hod2函数 赋值的5个数组为 x[1]:=abs(ma5-1000); ..... x[5]:=abs(ma60-1000);
然后按照hod2函数说明里面的范例做处理 [此贴子已经被作者于2015/11/25 17:01:12编辑过]
|
-- 作者:zxsd -- 发布时间:2015/11/25 17:22:06 -- 那么: CU排名:HOD2(X,5,X[1]),LINETHICK0; 这里面的三个参数X,5,X[1]还可以在括号内做计算么? 比如X[1]+aaa或者5-2之类的 [此贴子已经被作者于2015/11/25 17:22:44编辑过]
|
-- 作者:jinzhe -- 发布时间:2015/11/25 17:25:22 -- 那要重新再赋值一个数组了 y[1]:=x[1]+aaa; 类似这样的 |
-- 作者:zxsd -- 发布时间:2015/11/26 10:40:33 -- 斑竹,昨天还想到一个问题 就是说这5根线怎么区分开1000以上的和1000以下的?(就是说,1000以上的离1000最近排序,以及以下的最近排序)想不到一个简单直观的办法 |
-- 作者:jinzhe -- 发布时间:2015/11/26 10:45:17 -- 这个没办法处理 |
-- 作者:zxsd -- 发布时间:2015/11/26 12:35:55 -- 以下是引用jinzhe在2015/11/26 10:45:17的发言: 有没有这种办法,比如,设置两个数组一个放大于1000的线一个放小于1000的线这个没办法处理 线判断大于1000的还是小于1000后赋值给对应数组,不对应的赋DARWNULL,然后再分别给两个数组HOD2排序 那么这里有三个问题: 1。drawnull能否赋值给数组 2。drawnull能否参加比较,怎么个算法 3。如果不用drawnull而用零呢?能否赋值?算法是什么? |
-- 作者:fly -- 发布时间:2015/11/26 13:39:59 -- 2楼写的,就是求离1000最近的。
drawnull是无效数,不行
下面以IF为例写的,与3500比较的一个尝试例子,供您参考 runmode:0;
ma5:=ma(close,5);
ma5d:if(ma5>3500,ma5,3500);
ma5排名:LOD2(d,3,d[1]),LINETHICK0; [此贴子已经被作者于2015/11/26 14:15:07编辑过]
|
-- 作者:zxsd -- 发布时间:2015/11/26 17:07:04 -- 非常感谢 有一个不明白的就是: d[1]:=ma5d-3500;
ma5排名:LOD2(d,3,d[1]),LINETHICK0; 这个里面, 如果d[1]等于零,那么是排第一还是无效还是最后?如果排第一那么上面的方法里ma5d:if(ma5>3500,ma5,3500);只要不满足条件都会赋值3500,这些都是第一了 |
-- 作者:fly -- 发布时间:2015/11/26 17:13:58 -- 8楼写的代码 ,可以直接在图上加载显示。你可以分析一下
从逻辑上看,d[X]为0,说明对应均线已经在3500以下了,是你7楼说的另一个数组的数据了 |