Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共4 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
单刀赴会 发表于:2019/6/24 11:15:56
//--------------------------------------------------------------
// 简称: 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编辑过]
2楼
FireScript 发表于:2019/6/24 11:20:12
直接用这个 EMA函数不就可以了。
3楼
FireScript 发表于:2019/6/24 11:27:28
 它这个是对数组里面的数值进行ema的计算。处理得话,需要时间尝试下,不能确定一定可以。
4楼
yukizzc 发表于:2019/6/24 13:32:26
就是ema的上一根
共4 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01953 s, 3 queries.