function [trix,mtrix] = TRIX_L(CP,CQ,n,m)
%程序功能:本程序计算经典的三重移动均线指标
%编写时间:2020年4月17日
%注释:参数n为计算移动均线的周期数,m为均线增长率均线的周期数
%% 变量定义
ema1 = zeros(size(CP));
ema2 = zeros(size(CP));
ema3 = zeros(size(CP));
trix = zeros(size(CP));
mtrix = zeros(size(CP));
%% 指标计算
ema1(:,1) = CP(:,1);
ema2(:,1) = CP(:,1);
ema3(:,1) = CP(:,1);
for t = 2:size(CP,2)
id = CQ(:,t)==0;
ema1(id,t) = ema1(id,t-1);
ema2(id,t) = ema2(id,t-1);
ema3(id,t) = ema3(id,t-1);
trix(id,t) = trix(id,t-1);
mtrix(id,t) = mtrix(id,t-1);
id = CQ(:,t)>0;
ema1(id,t) = 2*CP(id,t)/(n+1)+(n-1)*ema1(id,t-1)/(n+1);
ema2(id,t) = 2*ema1(id,t)/(n+1)+(n-1)*ema2(id,t-1)/(n+1);
ema3(id,t) = 2*ema2(id,t)/(n+1)+(n-1)*ema3(id,t-1)/(n+1);
trix(id,t) = (ema3(id,t)-ema3(id,t-1))./ema3(id,t-1)*100;
mtrix(id,t) = 2*trix(id,t)/(m+1)+(m-1)*mtrix(id,t-1)/(m+1);
end
end