MT4 日本云图指标交易系统


云图指标-Ichimoku kinko hyo 或一目均衡表指标,该指标是由笔名为Ichimoku Sanjin的日本记者在1930年代发明的,它是显示市场趋势,支撑、阻力位,还有买卖信号的一个指标,它一般多用于日图、周图等大周期上,若是短周期上交易,则效果没有大周期上的好。

它有五条不同颜色的线组成

Tenkan-sen —转折线(红色线)
Kijun-sen —基准线(蓝色线)
Senkou Span A —先行上线
Senkou Span B—先行下线
Chinkou Span—延迟线(绿色线)
Ichimoku,云图指标

Ichimoku云图指标计算方法及各指标线意义

Tenkan-sen —转折线:

转折线主要用来衡量短期的动力,一般的默认值(可以更改)为7-9,它一般和Kijun-sen—(基准线)结合一起用来预测将来的动力。

其计算公式为:转折线=(默认值周期内的最高的最高价 — 默认值周期内的最低的最低价)/2

 

Kijun-sen —基准线:

基准线主要用来衡量中期的动力,一般的默认值(可以更改)为26,这是它和转折线的区别,它一般和转折线结合一起用来预测将来的动力。

其计算公式为:基准线=(默认值周期内的最高的最高价 — 默认值周期内的最低的最低价)/2

 

Senkou Span A —先行上线:

它用来衡量动力和以后的支撑/阻力区。它和B线是一组的,A、B两条线之间所包围的区域称作云(kumo),当A线在B线之下时,是一个下降趋势,当A线在B线之上时,是一个上升趋势,当A、B线交叉时,则有可能有逆转现象。

它的计算公式为:A线=(T线-K线)/2

 

Senkou Span B—先行下线 :

它用来衡量动力和以后的支撑/阻力区。它和A线是一组的,A、B两条线之间所包围的区域称作云(kumo),当B线在A线之上时,是一个下降趋势,当B线在A线之下时,是一个上升趋势,当A、B线交叉时,则有可能有逆转现象。

它的计算公式为:B线=(默认值周期内的最高的最高价—默认值周期内的最低的最低价)/2     需要注意的是,它的默认参数(可以更改的)是一般是52

 

Chinkou Span—延迟线:

它是把现在的价格画在了26个时段之前的线图,其目的就是产生交易的信号

 

Ichimoku云图指标的一般分析使用方法

Tenkan-sen 线上穿Kijun-sen线,价格在云之上时,Chinkou Span线在收盘价之上,是很强的做多(买进)信号
Tenkan-sen 线下穿Kijun-sen线,价格在云之下时,Chinkou Span线在收盘价之下,是很强的做空(卖出)信号
Tenkan-sen 线上穿Kijun-sen线,价格在云之中,是一般的做多(买进)信号
Tenkan-sen 线下穿Kijun-sen线,价格在云之中,是一般的做空(卖出)信号
Tenkan-sen 线上穿Kijun-sen线,价格在云之下,是较弱的做多(买进)信号
Tenkan-sen 线上穿Kijun-sen线,价格在云之上,是较弱的做空(卖出)信号
 

另外,云图是出现在价格之前的,所以它显示了可能的支撑/阻力区域,云图的分析使用方法为:

如果说价格在云图的上面,那么云的上线为第一支撑位,下线为第二支撑位
如果说价格在云图的下面,那么云的下线为第一阻力位,上线为第二阻力位
如果说价格在云图之间,那么云的上线为阻力位,下线为支撑位
 

Ichimoku云图指标主要参数相关说明和使用

Mode(指标线):
Tenkan-sen :
Kijun-sen
Senkou Span A(Up Kumo),即Senkou Span A —先行上线
Senkou Span B(Down Kumo),即Senkou Span B —先行下线
Chinkou Span
Tenkan-sen: Tenkan-sen指标线的计算周期,默认为9
kijun-sen: Kijun-sen指标线的计算周期,默认为26
Senkou Span B: Senkou Span B指标线的计算周期,默认为52

点击下载程序与源码 文件大小:2.96 KB

MQL4/ MQL4/Indicators/ MQL4/Indicators/Ichimoku.mq4 templates/ templates/云图.tpl 必须读我.txt 策汇在线.url

MQL4/Indicators/Ichimoku.mq4代码片段:

#property copyright "Copyright ?2004, MetaQuotes Software Corp." #property link "http://www.metaquotes.net/" #property indicator_chart_window #property indicator_buffers 7 #property indicator_color1 Red #property indicator_color2 Blue #property indicator_color3 SandyBrown #property indicator_color4 Thistle #property indicator_color5 Lime #property indicator_color6 SandyBrown #property indicator_color7 Thistle extern int Tenkan = 9; extern int Kijun = 26; extern int Senkou = 52; double G_ibuf_88[]; double G_ibuf_92[]; double G_ibuf_96[]; double G_ibuf_100[]; double G_ibuf_104[]; double G_ibuf_108[]; double G_ibuf_112[]; int Gi_116; int init() { SetIndexStyle(0, DRAW_LINE); SetIndexBuffer(0, G_ibuf_88); SetIndexDrawBegin(0, Tenkan - 1); SetIndexLabel(0, "Tenkan Sen"); SetIndexStyle(1, DRAW_LINE); SetIndexBuffer(1, G_ibuf_92); SetIndexDrawBegin(1, Kijun - 1); SetIndexLabel(1, "Kijun Sen"); Gi_116 = Kijun; if (Gi_116 < Tenkan) Gi_116 = Tenkan; SetIndexStyle(2, DRAW_HISTOGRAM, STYLE_DOT); SetIndexBuffer(2, G_ibuf_96); SetIndexDrawBegin(2, Kijun + Gi_116 - 1); SetIndexShift(2, Kijun); SetIndexLabel(2, NULL); SetIndexStyle(5, DRAW_LINE, STYLE_DOT); SetIndexBuffer(5, G_ibuf_108); SetIndexDrawBegin(5, Kijun + Gi_116 - 1); SetIndexShift(5, Kijun); SetIndexLabel(5, "Senkou Span A"); SetIndexStyle(3, DRAW_HISTOGRAM, STYLE_DOT); SetIndexBuffer(3, G_ibuf_100); SetIndexDrawBegin(3, Kijun + Senkou - 1); SetIndexShift(3, Kijun); SetIndexLabel(3, NULL); SetIndexStyle(6, DRAW_LINE, STYLE_DOT); SetIndexBuffer(6, G_ibuf_112); SetIndexDrawBegin(6, Kijun + Senkou - 1); SetIndexShift(6, Kijun); SetIndexLabel(6, "Senkou Span B"); SetIndexStyle(4, DRAW_LINE); SetIndexBuffer(4, G_ibuf_104); SetIndexShift(4, -Kijun); SetIndexLabel(4, "Chinkou Span"); return (0); } int start() { double Ld_12; double Ld_20; double Ld_28; int ind_counted_8 = IndicatorCounted(); if (Bars <= Tenkan || Bars <= Kijun || Bars <= Senkou) return (0); if (ind_counted_8 < 1) { for (int Li_0 = 1; Li_0 <= Tenkan; Li_0++) G_ibuf_88[Bars - Li_0] = 0; for (Li_0 = 1; Li_0 <= Kijun; Li_0++) G_ibuf_92[Bars - Li_0] = 0; for (Li_0 = 1; Li_0 <= Gi_116; Li_0++) { G_ibuf_96[Bars - Li_0] = 0; G_ibuf_108[Bars - Li_0] = 0; } for (Li_0 = 1; Li_0 <= Senkou; Li_0++) { G_ibuf_100[Bars - Li_0] = 0; G_ibuf_112[Bars - Li_0] = 0; } } Li_0 = Bars - Tenkan; if (ind_counted_8 > Tenkan) Li_0 = Bars - ind_counted_8 - 1; while (Li_0 >= 0) { Ld_12 = High[Li_0]; Ld_20 = Low[Li_0]; for (int Li_4 = Li_0 - 1 + Tenkan; Li_4 >= Li_0; Li_4--) { Ld_28 = High[Li_4]; if (Ld_12 < Ld_28) Ld_12 = Ld_28; Ld_28 = Low[Li_4]; if (Ld_20 > Ld_28) Ld_20 = Ld_28; } G_ibuf_88[Li_0] = (Ld_12 + Ld_20) / 2.0; Li_0--; } Li_0 = Bars - Kijun; if (ind_counted_8 > Kijun) Li_0 = Bars - ind_counted_8 - 1; while (Li_0 >= 0) { Ld_12 = High[Li_0]; Ld_20 = Low[Li_0]; for (Li_4 = Li_0 - 1 + Kijun; Li_4 >= Li_0; Li_4--) { Ld_28 = High[Li_4]; if (Ld_12 < Ld_28) Ld_12 = Ld_28; Ld_28 = Low[Li_4]; if (Ld_20 > Ld_28) Ld_20 = Ld_28; } G_ibuf_92[Li_0] = (Ld_12 + Ld_20) / 2.0; Li_0--; } Li_0 = Bars - Gi_116 + 1; if (ind_counted_8 > Gi_116 - 1) Li_0 = Bars - ind_counted_8 - 1; while (Li_0 >= 0) { Ld_28 = (G_ibuf_92[Li_0] + G_ibuf_88[Li_0]) / 2.0; G_ibuf_96[Li_0] = Ld_28; G_ibuf_108[Li_0] = Ld_28; Li_0--; } Li_0 = Bars - Senkou; if (ind_counted_8 > Senkou) Li_0 = Bars - ind_counted_8 - 1; while (Li_0 >= 0) { Ld_12 = High[Li_0]; Ld_20 = Low[Li_0]; for (Li_4 = Li_0 - 1 + Senkou; Li_4 >= Li_0; Li_4--) { Ld_28 = High[Li_4]; if (Ld_12 < Ld_28) Ld_12 = Ld_28; Ld_28 = Low[Li_4]; if (Ld_20 > Ld_28) Ld_20 = Ld_28; } Ld_28 = (Ld_12 + Ld_20) / 2.0; G_ibuf_100[Li_0] = Ld_28; G_ibuf_112[Li_0] = Ld_28; Li_0--; } Li_0 = Bars - 1; if (ind_counted_8 > 1) Li_0 = Bars - ind_counted_8 - 1; while (Li_0 >= 0) { G_ibuf_104[Li_0] = Close[Li_0]; Li_0--; } return (0); }