以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 易盛9.2代码转金字塔 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=170613) |
||||||||||
-- 作者:单刀赴会 -- 发布时间:2019/6/24 11:15:56 -- 易盛9.2代码转金字塔 //-------------------------------------------------------------- // 简称: 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
[此贴子已经被作者于2019/6/24 11:17:01编辑过]
|
||||||||||
-- 作者:FireScript -- 发布时间:2019/6/24 11:20:12 -- 直接用这个 EMA函数不就可以了。 |
||||||||||
-- 作者:FireScript -- 发布时间:2019/6/24 11:27:28 -- 它这个是对数组里面的数值进行ema的计算。处理得话,需要时间尝试下,不能确定一定可以。 |
||||||||||
-- 作者:yukizzc -- 发布时间:2019/6/24 13:32:26 -- 就是ema的上一根 |