在小周期级别上记录大周期指标的实际走势的方法
这里以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;
------------------------------------------
看完后该方法后,还是不太懂的使用,
我想实现5分钟周期图中记录60分钟周期macd值的实际变化
麻烦老师帮忙修改一下能直接使用的代码,谢谢老师了
额,这个要稍微改下才行。 我先本地改下,后面发你参考下即可。
其实不麻烦。稍微改下参数就行了。
另外注意这里是macd参数在12,26,9情况下的。如果是其他参数 后面代码里也是要做额外修改的。你先在固定参数下核对下效果。如果你还要拓展到任意参数下,到时候再改下。
em1:=stkindi(stklabel,'macd.ema12',0,5,-1);
em2:=stkindi(stklabel,'macd.ema26',0,5,-1);
ema12:=em1*11/13+c*2/13;//这个的计算方式和参数有关
ema26:=25/27* em2 +c*2/27;//这个的计算方式和参数有关
diff:ema12-ema26;
dea1:=stkindi(stklabel,'macd.dea',0,5,-1);
dea:dea1*4/5+diff/5;//这个的计算方式和参数有关
老师,加载后,1、请问那个是60分钟的macd值?
2、加了这个公式后K线图被压缩成一条线了
1.你要拿dea和diff算下macd.
加一句即可:
MACD1 :2*(DIFF-DEA), COLORSTICK;
2.
此主题相关图片如下:temp.png
Y轴上右键 这个勾选下
EM1:=STKINDI(STKLABEL,'MACD.EMA12',0,5,-1);
EM2:=STKINDI(STKLABEL,'MACD.EMA26',0,5,-1);
EMA12:=EM1*11/13+C*2/13;//这个的计算方式和参数有关
EMA26:=25/27* EM2 +C*2/27;//这个的计算方式和参数有关
DIFF60:=EMA12-EMA26;
DEA1:=STKINDI(STKLABEL,'MACD.DEA',0,5,-1);
DEA60:=DEA1*4/5+DIFF60/5,LINETHICK0;//这个的计算方式和参数有关
MACD60 :2*(DIFF60-DEA60), LINETHICK0;
通过以上代码,已可以在5分周期图获取60分周期macd具体的数值
老师,我想请问一下,在5分钟周期级别上如何获取60分钟图中的上一根macd值?
这个就直接调用了呗。
用STKINDI就行了。STKINDI(STKLABEL,'MACD.macd1',0,5,-1);