这里以1分钟引用3分钟的macd为例,常规方法只能在1分钟K线上显示3分钟K线的macd走势,至于3分钟内部每根1分钟K线的macd走势不知道
方法原理:获取上一根3分钟的diff、dea、macd,然后配合1分钟的CLOSE计算出实际的diff、dea、macd
第一步、首先在macd指标里加入以下2句:
ema12: ema(c,12),linethick0;
ema26: ema(c,26),linethick0;
第二步、复制以下代码即可
runmode:1;
em1:=stkindi(stklabel,macd.ema12,0,17,-1);
em2:=stkindi(stklabel,macd.ema26,0,17,-1);
ema12:=em1*11/13+c*2/13;
ema26:=25/27* em2 +c*2/27;
diff:ema12-ema26;
dea1:=stkindi(stklabel,macd.dea,0,17,-1);
dea:dea1*4/5+diff/5;
(日内重新计算指标(macd)的方法,以避免跳空对指标造成的影响。)
这里顺带介绍一下日内重新计算指标的方法,这样可以避免跳空对指标造成的影响。
比较难的是macd,kdj之类的,均线之类的简单
这里依然以macd为例 ()
runmode:0;
variable:ema12=c,ema26=c,dea=0;
if dayref(day,1) then begin
ema12:=c;
ema26:=c;
dea:=0;
end
ema12:=ema12*11/13+c*2/13;
ema26:=ema26*25/27+c*2/27;
diff:ema12-ema26;
dea:=dea*4/5+diff/5;
dea1:dea;
macd:2*(diff-dea),colorstick;