欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 数组的ma

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4316人关注过本帖树形打印复制链接

主题:数组的ma

帅哥哟,离线,有人找我吗?
天三
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:18 积分:125 威望:0 精华:0 注册:2012/11/1 12:23:44
数组的ma  发帖心情 Post By:2012/11/8 12:07:54 [只看该作者]

基于1分钟
variable:a[5]=0;ra[5]=0,i=1,j=1;

if i>5 then i:=1;
if j>5 then j:=1;
cond==(minute:=00min,10min,20min,30min,40min,50min)取1次收盘价;只存最近的5个收盘价;


if cond then begin
a[i]:=c;
i:=i+1;
if i=1 then begin
ra1:=a[4];
a1:=a[5];
end
else begin 
ra1:=a[i-1];
a1:=a[i];
end
ra[j]:=ra1;
j:=j+1;

ma1:ma(ra1,5);
ma2:ma(ra,5);
ma3:ma(a1,5);
ma4:ref(ma2,1);
这样算出来的ma4,ma1,ma2的值用debugfile输出,看了一天的记录,都是相等的
所以2.932的MA,SUM等统计函数支持对VARIABLE支持的数组的运算
VARIABLE X[5]=0;
X[1]:=1;
X[2]:=2;
X[3]:=3;
X[4]:=4;
X[5]:=5;
S:MA(X,5);
实际是等同于
s:ma(x[i],5);
的?
是这样吗?还是不同?
ref也是对数组的前一个值得获取,而不是上一根当前周期K线上的值获取?
例如:最新值A是20分钟的时候取得的,那么前一个值B应该是10分取得的,那么现在是23分,ref取的是10分的时候得值B,而不是22分时候得值A?
整个10-19分钟都是10分的值B,20-29分钟都是20的值A,取值只在整10分钟取。
呃,有点绕,我这个表达清楚了么?我运行输出的结果是这样,是不是对的?

[此贴子已经被作者于2012-11-8 12:09:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2012/11/8 13:04:45 [只看该作者]

VARIABLE X[5]=0;
X[1]:=1;
X[2]:=2;
X[3]:=3;
X[4]:=4;
X[5]:=5;
S:MA(X,5);
实际是等同于
s:ma(x[i],5);
的?
 
两个概念,S:MA(X,5); 是把X数组5个值进行平均计算
s:ma(x[i],5);
只是将X数组的第5个值反复的进行加权平均计算,是个常数了


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
天三
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:18 积分:125 威望:0 精华:0 注册:2012/11/1 12:23:44
  发帖心情 Post By:2012/11/8 14:15:07 [只看该作者]


VARIABLE X[5]=0;
X[1]:=1;
X[2]:=2;
X[3]:=3;
X[4]:=4;
X[5]:=5;
S:MA(X,3);

这个取值是前3个还是后3个呢?还是最新插入的数值?

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2012/11/8 14:29:26 [只看该作者]

X数组后3个元素的平均



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
天三
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:18 积分:125 威望:0 精华:0 注册:2012/11/1 12:23:44
  发帖心情 Post By:2012/11/8 17:01:06 [只看该作者]

ma不能在if cond then begin 里用

variable a1[10]=10,a2[10]=0,i=1;

//注1
if cond = i then begin
...
...
a1[i]:=c;
i:=i+1;
end
ma1:=ma(a1,10);
if cond = i then begin
...
...
a2[i]:=ma1;
i:=i+1;
end
改为
//注2
ma1:=ma(a1,10); 
if cond = i then begin
...
...
a1[i]:=c;
a2[i]:=ma1;
i:=i+1;
end

想要a1[i]和a2[i]的值对应起来,这样的注2可行吗?还是把注1的第2个if的改为cond = i-1?
if cond = i-1 then begin
...
...
a2[i]:=ma1;
i:=i+1;
end

或者应该怎么写比较好呢

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2012/11/8 17:18:15 [只看该作者]

没完全看懂你的描述,建议使用金字塔的调试功能,使用单步跟踪来自行调试.

参考 http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332 问题4



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
天三
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:18 积分:125 威望:0 精华:0 注册:2012/11/1 12:23:44
  发帖心情 Post By:2012/11/8 18:09:26 [只看该作者]

就是我2个数组a1[]和a2[]
先把一些固定时间的价格放到a1[],
再对a1[]做一次ma的计算
然后把计算出来的值放到a2[],
最后调用a2[]里的数值.
但是a1[]和a2[]的执行都是基于相同的一个时间序列,存放数据的序列也相同,这样顺序执行下去,
如果我把ma1:=ma(a,10);放到if cond=t[j]的前面来,把2个if 中的内容放到一个if里面去,都赋完值,再自加i和j.这样可以么,数据会有什么变化吗?

variable:a[10]=0;ra[10]=0,t[6]=0,i=1,j=1;
if i>5 then i:=1;
if j>6 then j:=1;
cond==(minute:=00min,10min,20min,30min,40min,50min)取1次收盘价;
if cond = t[j] then begin
...
...
a[i]:=c;
i:=i+1;
j:=j+1;
end
ma1:=ma(a,10);
if cond = t[j-1] then begin
...
...
i:=i-1;
ra[i]:=ma1;
i:=i+1;
j:=j+1;
end

 回到顶部
帅哥哟,离线,有人找我吗?
天三
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:18 积分:125 威望:0 精华:0 注册:2012/11/1 12:23:44
  发帖心情 Post By:2012/11/8 18:11:15 [只看该作者]

或者我的第一条if的时间变量j不用自加?

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2012/11/8 20:22:04 [只看该作者]

建议参考

参考 http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332 问题4 好吗



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部