以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- [求助]求助数组的如下运用 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=90867) |
-- 作者:saintlucifer -- 发布时间:2016/2/1 12:42:28 -- [求助]求助数组的如下运用 请问如何实现如下描述: 现有i=1 to 100, 定义数组A[i] = ma(c,i) - ref(ma(c,i),1), 然后求出数组A[i]中最大最小值。
|
-- 作者:jinzhe -- 发布时间:2016/2/1 13:11:46 -- LARGE(A,100,1) |
-- 作者:saintlucifer -- 发布时间:2016/2/1 15:43:39 -- VARIABLE : A[80] = 0;
MA_N := 10; MA_PER : MA(C,MA_N) - REF(C,MA_N),LINETHICK0;
我在白银连续日线周期图表上定义了如上语句,但是出来的结果有问题,上面的MA_PER是用10日均线增速,图上现值是27.6,而MA_MAX却只有6.5,作为数组A[I],应该是包含了从MA2到MA80均线与昨日均线的差,最大值理论上是应该大于等于MA10的吧,为什么这里会有错误?另外在编译的时候老是提醒我FOR语句里面最好不要加入MA或者REF语句,但是我在它弹出来的那个连接里面看,也没有具体能对应的改法,请问如何修改好? |
-- 作者:jinzhe -- 发布时间:2016/2/1 15:51:01 -- 你是不是序列计算了?序列计算只计算一次,也就是第一次计算的结果,所以你看到的结果是k线图从左往右数第81根k线的值 你改逐k线计算,这样就是每根k线都算一边了 |
-- 作者:jinzhe -- 发布时间:2016/2/1 15:53:08 -- MA_PER : MA(C,MA_N) - REF(C,MA_N),LINETHICK0;
最后这个是干什么用的?要调试的话完全不对啊 |
-- 作者:saintlucifer -- 发布时间:2016/2/1 16:09:41 -- 知道问题出在哪了,那现在如果我想要找出数组里面最大值最小值所对应的I的位置呢,就是这个最大最小值是第几号数据的话,要怎么求? |
-- 作者:jinzhe -- 发布时间:2016/2/1 16:17:24 -- VARIABLE : A[80] = 0;
ii为所求值 |
-- 作者:saintlucifer -- 发布时间:2016/2/1 16:33:20 -- INPUT : MA_N(10,2,80); MA_PER : MA(C,MA_N) - REF(MA(C,MA_N),1),LINETHICK0;
VARIABLE : A[80] = 0;
FOR I = 2 TO 80 DO BEGIN
ABC@ II : I,LINETHICK0;
修改成这样,但是输出的II与在MA_PER里面输出的结果也不一样,就是求出II之后,在MA_PER里面输入对应的数值来调试,输出的数值与数组里面的最大值不同 |
-- 作者:jinzhe -- 发布时间:2016/2/1 16:36:09 -- ma_per是固定的ma10-ref(ma10,1) 你的公式是ma2-ref(ma2,1)一直到ma80-ref(ma80,1)怎么就一样了? |
-- 作者:saintlucifer -- 发布时间:2016/2/1 16:39:28 -- 我意思是在数组里面求出一个最大值了,然后求到II例如是5,那么就表示5日均线与昨5日均线之差是在数组里面的最大值,然后我把5代入在MA_PER里面(因为是input的参数),但是这时候MA_PER输出的数值跟数组里面输出的MA_MAX数值不同啊 |