查看: 16385|回复: 31
打印 上一主题 下一主题

[公式] 编程实例:一个很有用的函数ValueWhen

[复制链接]
跳转到指定楼层
1
发表于 2012-6-5 18:37:09 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
声明:
    Numeric ValueWhen(Bool Condition, Numeric Data);
作用:
    如果条件Condition为真,就返回Data值,否则返回上次满足条件时的Data值

调用示例代码
//--------------------------------------------------------------
// 简称: TestValueWhen
// 类型:交易指令
//--------------------------------------------------------------
Params

Begin
         //如果当前K线收盘价大于开盘价,则返回当前K线的最高价,否则,返回上次收盘价大于开盘价的K线最高价
         PlotNumeric("Line",ValueWhen(Close>Open,High);
End




函数代码:
//--------------------------------------------------------------
// 简称: ValueWhen
// 名称: 返回最后一次满足条件的值
// 类型: 用户函数
// 输出: Numeric
//--------------------------------------------------------------
Params
      Bool Condition;
      Numeric Data;
Vars
NumericSeries lastData;
Begin
if(Condition)   //如果满足条件,将当前值赋值给序列变量
{
  lastData = Data;
}
Else           //如果不满足条件,序列变量的值仍设置为上次的值
{
  lastData = lastData[1];
}
Return lastData;
End







2
 楼主| 发表于 2012-6-5 18:41:01 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册入住  

x
3
 楼主| 发表于 2012-7-5 17:13:35 | 显示全部楼层
函数:将一个功能模块封装成一个函数,供别的地方调用。
比如我可以封装一个求N周期均线的函数Average(价格,周期)
在想求收盘价的10周期均线时,只需要调用 Average(Close,10)就可以了。而不用管求10周期均线具体是怎么算的。
您需要登录后才可以回帖 登录 | 注册入住  

本版积分规则

易家网  ©2015-2023  郑州期米信息技术有限公司版权所有  豫公网安备 41010502005136号 豫ICP备16010300号