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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]悬赏1个金币~求20个不等于0的数值求和..

   

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


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

主题:[求助]悬赏1个金币~求20个不等于0的数值求和..

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


加好友 发短信
等级:小飞侠 帖子:1609 积分:4924 威望:0 精华:0 注册:2010/10/28 14:02:46
[求助]悬赏1个金币~求20个不等于0的数值求和..  发帖心情 Post By:2011/3/14 14:04:34    Post IP:113.240.186.160[只看该作者]

一个类似于close一样的序列变量flag=[...1 2 0 -1 0 0 3 0 -1 -2]

我要找前面不等于0的20个数字~求个和值sum~怎么弄?

逐周期模式的...

f:=0;

addsum:=0;
for i=datacount downto 1 do
if not(flag[i]=0) then begin
addsum:=addsum+flag[i];
f:=f+1;//记录不为0的个数
end

if f=20 then break;

s_flag:addsum,linethick0;
=========================

这样好像不行

 

有些是序列模式的写法...需要转换回序列模式..

 

也可以把问题转换一下~

逐周期模式下

求满足前面最近20个不等于0的flag到当前的周期数...

 

 

哪位有好点的算法...??

[此贴子已经被作者于2011-3-14 14:04:58编辑过]


查看使用道具详细信息
悬赏金币帖,要悬赏 1 个金币
 回到顶部
帅哥哟,离线,有人找我吗?
阿火
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2011/3/14 15:13:38    Post IP:222.76.159.75[只看该作者]

首先算出第一次出现20个不为0的开始日期

然后用while语句

 

比如用收盘价,那么从第21根K线开始算起

 

if barpos>20 then begin
 num:=0;
 zongshu:0;
 i:=1;
 while num<20 do begin
  if c[barpos-i]<>0 then begin
   zongshu:=zongshu+c[barpos-i];
   num:=num+1;
  end
  i:=i+1;
 end
end

 


获得0个金币
 回到顶部
帅哥哟,离线,有人找我吗?
guotx2010
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2011/3/23 11:37:56    Post IP:58.60.36.193[只看该作者]

//将f,addsum两个变量设置为全局变量

variable:f=0,addsum=0;

for i=datacount downto 1 do
if not(flag[i]=0) then begin
addsum:=addsum+flag[i];
f:=f+1;//记录不为0的个数
end

if f=20 then break;

s_flag:addsum,linethick0;
=========================

[此贴子已经被作者于2011-3-23 11:38:14编辑过]

获得0个金币
 回到顶部