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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 易盛9.2代码转金字塔

   

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


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

主题:易盛9.2代码转金字塔

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


加好友 发短信
等级:论坛游侠 帖子:102 积分:0 威望:0 精华:0 注册:2017/5/18 22:49:30
易盛9.2代码转金字塔  发帖心情 Post By:2019/6/24 11:15:56    Post IP:1.199.195.120[显示全部帖子]

//--------------------------------------------------------------
// 简称: iEMA
// 名称: iEMA
// 类型: 用户函数
// 输出: Numeric
//--------------------------------------------------------------

Params
NumericArray Arr;
Numeric Length(10);
Numeric Pos(0);  //0:当前周期,如果计算上一周期,Pos为1,依次类推
  
Begin
Integer arrLen = ArrLength(arr);
if(arrLen<1) Return 0;
if(Pos<0 || Pos>= arrLen ) Return Arr[arrLen-1]; //参数合法性验证
Numeric sFcactor = 2 / ( Length + 1 );  //平滑系数
Integer start = arrLen-1;
if(start>Pos+200) start=Pos+200;  //最多值计算200个元素,太多没有意义,效率也低
Numeric result;
for(Integer i=start;i>=Pos;i--)
{
if(i == start)
{
result = Arr[i];
}
Else
{
result = result + sFcactor * (Arr[i] - result);
}
}
Return result;
End

iEMA

说明 求数组中元素的指数平滑平均值
语法 Numeric iEMA(NumericArray Arr,Numeric Length=10,Numeric Pos=0)
参数 Arr 数组
Length 求平均值的元素个数
Pos 从第几个元素开始
备注 Pos+Length的值必须小于数组Arr的长度
示例 求数组arr中前1个元素的5周期指数平均
Numeric result = iEMA(arr,5,1);

[此贴子已经被作者于2019/6/24 11:17:01编辑过]

 回到顶部