|
发表于 2023-10-8 22:55:50
|
显示全部楼层
这样就是 三根 EMA2 了,分别是 5,20,60.
修改后,需要按 F7编译一下
//------------------------------------------------------------------------
// 简称:EMA2
// 名称:EMA2
// 类别: 交易指令
// 类型: 用户应用
//------------------------------------------------------------------------
Params
//参数定义
Integer N(5);
Integer N2(20);
Integer N3(60);
GlobalVars
//全局变量定义
Vars
//局部变量定义
Begin
//策略执行区
//EMA2(X,N)=[N*X0+(N-1)*X1+(N-2)*X2+...+1*X(N-1)]/[N+(N-1)+(N-2)+...+1]
Numeric FenZi = 0;
Numeric FenMu = 0;
for(int i=0;i<N;i++)
{
FenZi+=(N-i)*Close[i];
FenMu+=(N-i);
}
Numeric ret1 = FenZi/FenMu;
if(N<1)ret1=Close;
PlotNumeric("EMA2 10",ret1);
Numeric FenZi2 = 0;
Numeric FenMu2 = 0;
for(int i=0;i<N2;i++)
{
FenZi2+=(N2-i)*Close[i];
FenMu2+=(N2-i);
}
Numeric ret2 = FenZi2/FenMu2;
if(N2<1)ret2=Close;
PlotNumeric("EMA2 20",ret2);
Numeric FenZi3 = 0;
Numeric FenMu3 = 0;
for(int i=0;i<N3;i++)
{
FenZi3+=(N3-i)*Close[i];
FenMu3+=(N3-i);
}
Numeric ret3 = FenZi3/FenMu3;
if(N3<1)ret3=Close;
PlotNumeric("EMA2 60",ret3);
End
|
|