打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【新提醒】飞狐公式系统,循环、分支语句入门二
上一讲,介绍了序列变量、数组等概念,这一讲介绍循环语句。
  1、FOR递增循环:
先从一个的实例开始,求当前股票收盘价的2日算术平均价,为了方便起见,以刚上市不久的600340国祥股价来说明,首先定义序列变量fc为收盘价,根据上一讲我们知道,fc可以看成是一个数组,因此,数组fc的每一个元素如下表所示:

600340        国祥股份
             时间        收盘
fc[1]         2003/12/30        8.92
fc[2]         2003/12/31        8.96
fc[3]         2004/01/02        9.25
fc[4]         2004/01/05        9.64
fc[5]         2004/01/06        9.92
fc[6]         2004/01/07        9.74
fc[7]         2004/01/08        10.44
fc[8]         2004/01/09        9.99

  显然, 2日平均收盘价必须是从第2根K线即上市后第2日开始,到最后一天结束,设2日平均股价用序列变量ma2来表示,由于2日平均收盘价等于当日收盘价加昨收盘除以2,如果手工一行一行来写代码计算,则:
ma2[2]:=(fc[1]+fc[2])/2;  //今收盘与昨收盘之和除以2,等于今2日平均收盘价
ma2[3]:=(fc[2]+fc[3])/2;
ma2[4]:=(fc[3]+fc[4])/2;
ma2[5]:=(fc[4]+fc[5])/2;
ma2[6]:=(fc[5]+fc[6])/2;
ma2[7]:=(fc[6]+fc[7])/2;
ma2[8]:=(fc[7]+fc[8])/2;

  分析上面代码,2日平均价的计算特点是:
  ①从第2根K线开始计算的
  ②每天的均价都等于(今收盘+昨收盘)/2
  ③直到最后1根K线结束
  容易知道,如果有1000根K线,则要写999行代码,显然效率太低了。
我们来找找规律,如果是中间的某天即第i天,则上面的表达式可以写为ma2[i]:=(fc[i-1]+fc[i])/2,这个i是从第2根K线开始直到最后1根K线。这些计算都是重复同样的计算,只不过i不同罢了。如果有一种方法,可以自动重复计算这些表达式,并且每重复一次,i自动增加1,就可以达到目的了。由此我们定义一种循环语句,可以自动循环重复运行某一行代码。在飞狐中,循环语句有2种,下面先介绍FOR循环语句

语法:FOR var=n1 TO n2 DO expr;
从 var=n1 开始到 var=n2 开始循环执行 expr 语句,每执行一次var加1。这里,var称之为循环变量。

  用循环语句表达上面计算2日平均收盘价,公式代码如下:
fc:=close;  //定义序列变量为收盘价
for  i=2  to  datacount  do  ma2[i] : (fc[i-1]+fc[i])/2;
//从i=2到i=datacount循环执行ma2[i] : (fc[i-1]+fc[i])/2

  在飞狐中新建一个主图叠加公式,如下图所示,正是我们所需要的结果:
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
飞狐公式函数系统,循环、分支语句入门
飞狐のVBS
工作模式 | 迅投知识库
【图】飞狐内置循环、判断等控制语句入门三
笔记
通达信指标公式编写教程 第二节公式编写规则
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服