MT4 Crocodile鳄鱼指标交易系统
鳄鱼交易系统主图用均线MA金叉死叉区分上涨及下跌行情、用SR做止损水平、用BBands Stop指标创建两种颜色的箭头给出做多和做空入场信号。
副图集合了熊牛、RSI、KD三个指标,也可以说是经典集合。
从交易的实际需求可以感悟到系统作者非凡的构建思路。
这里整理的鳄鱼交易系统可能会与原版有所出入,希望对您学习此类型的交易系统有所帮助。
必须读我.txt MQL4\Indicators\FOREX STRATEGIST BB.mq4 MQL4\Indicators\FOREX STRATEGIST DI.mq4 MQL4\Indicators\FOREX STRATEGIST MA.mq4 MQL4\Indicators\FOREX STRATEGIST RSI.mq4 MQL4\Indicators\FOREX STRATEGIST SR.mq4 MQL4\Indicators\FOREX STRATEGIST STOCH.mq4 MQL4\Indicators\FOREX STRATEGIST STOPS.mq4 templates\Forex Crocodile.tpl 策汇在线.urlMQL4\Indicators\FOREX STRATEGIST BB.mq4代码片段:
#pro#property copyright "Copyright 2013, Forex Strategies Mentor." #property link "http://www.forexstrategist.com/" #property indicator_chart_window #property indicator_buffers 6 #property indicator_color1 Lime #property indicator_color2 Gold #property indicator_color3 Lime #property indicator_color4 Gold #property indicator_color5 Lime #property indicator_color6 Gold extern int Length = 8; extern int Deviation = 1; extern double MoneyRisk = 1.0; extern int Signal = 1; extern int Line = 1; extern int Nbars = 1000; double G_ibuf_104[]; double G_ibuf_108[]; double G_ibuf_112[]; double G_ibuf_116[]; double G_ibuf_120[]; double G_ibuf_124[]; extern bool SoundON = TRUE; bool Gi_132 = FALSE; bool Gi_136 = FALSE; // E37F0136AA3FFAF149B351F6A4C948E9 int init() { SetIndexBuffer(0, G_ibuf_104); SetIndexBuffer(1, G_ibuf_108); SetIndexBuffer(2, G_ibuf_112); SetIndexBuffer(3, G_ibuf_116); SetIndexBuffer(4, G_ibuf_120); SetIndexBuffer(5, G_ibuf_124); SetIndexStyle(0, DRAW_ARROW, STYLE_SOLID, 0); SetIndexStyle(1, DRAW_ARROW, STYLE_SOLID, 0); SetIndexStyle(2, DRAW_ARROW, STYLE_SOLID, 1); SetIndexStyle(3, DRAW_ARROW, STYLE_SOLID, 1); SetIndexStyle(4, DRAW_LINE); SetIndexStyle(5, DRAW_LINE); SetIndexArrow(0, 159); SetIndexArrow(1, 159); SetIndexArrow(2, 233); SetIndexArrow(3, 234); IndicatorDigits(MarketInfo(Symbol(), MODE_DIGITS)); string Ls_0 = "BBands Stop(" + Length + "," + Deviation + ")"; IndicatorShortName(Ls_0); SetIndexLabel(0, "UpTrend Stop"); SetIndexLabel(1, "DownTrend Stop"); SetIndexLabel(2, "UpTrend Signal"); SetIndexLabel(3, "DownTrend Signal"); SetIndexLabel(4, "UpTrend Line"); SetIndexLabel(5, "DownTrend Line"); SetIndexDrawBegin(0, Length); SetIndexDrawBegin(1, Length); SetIndexDrawBegin(2, Length); SetIndexDrawBegin(3, Length); SetIndexDrawBegin(4, Length); SetIndexDrawBegin(5, Length); return (0); } // EA2B2676C28C0DB26D39331A336C6B92 int start() { int Li_8; double Lda_12[25000]; double Lda_16[25000]; double Lda_20[25000]; double Lda_24[25000]; for (int shift_4 = Nbars; shift_4 >= 0; shift_4--) { G_ibuf_104[shift_4] = 0; G_ibuf_108[shift_4] = 0; G_ibuf_112[shift_4] = 0; G_ibuf_116[shift_4] = 0; G_ibuf_120[shift_4] = EMPTY_VALUE; G_ibuf_124[shift_4] = EMPTY_VALUE; } for (shift_4 = Nbars - Length - 1; shift_4 >= 0; shift_4--) { Lda_12[shift_4] = iBands(NULL, 0, Length, Deviation, 0, PRICE_CLOSE, MODE_UPPER, shift_4); Lda_16[shift_4] = iBands(NULL, 0, Length, Deviation, 0, PRICE_CLOSE, MODE_LOWER, shift_4); if (Close[shift_4] > Lda_12[shift_4 + 1]) Li_8 = 1; if (Close[shift_4] < Lda_16[shift_4 + 1]) Li_8 = -1; if (Li_8 > 0 && Lda_16[shift_4] < Lda_16[shift_4 + 1]) Lda_16[shift_4] = Lda_16[shift_4 + 1]; if (Li_8 < 0 && Lda_12[shift_4] > Lda_12[shift_4 + 1]) Lda_12[shift_4] = Lda_12[shift_4 + 1]; Lda_20[shift_4] = Lda_12[shift_4] + (MoneyRisk - 1.0) / 2.0 * (Lda_12[shift_4] - Lda_16[shift_4]); Lda_24[shift_4] = Lda_16[shift_4] - (MoneyRisk - 1.0) / 2.0 * (Lda_12[shift_4] - Lda_16[shift_4]); if (Li_8 > 0 && Lda_24[shift_4] < Lda_24[shift_4 + 1]) Lda_24[shift_4] = Lda_24[shift_4 + 1]; if (Li_8 < 0 && Lda_20[shift_4] > Lda_20[shift_4 + 1]) Lda_20[shift_4] = Lda_20[shift_4 + 1]; if (Li_8 > 0) { if (Signal > 0 && G_ibuf_104[shift_4 + 1] == -1.0) { G_ibuf_112[shift_4] = Lda_24[shift_4]; G_ibuf_104[shift_4] = Lda_24[shift_4]; if (Line > 0) G_ibuf_120[shift_4] = Lda_24[shift_4]; if (SoundON == TRUE && shift_4 == 0 && (!Gi_132)) { Alert("BBands Stop Alert Buy --> ", Symbol(), "@TF", Period()); Gi_132 = TRUE; Gi_136 = FALSE; } } else { G_ibuf_104[shift_4] = Lda_24[shift_4]; if (Line > 0) G_ibuf_120[shift_4] = Lda_24[shift_4]; G_ibuf_112[shift_4] = -1; } if (Signal == 2) G_ibuf_104[shift_4] = 0; G_ibuf_116[shift_4] = -1; G_ibuf_108[shift_4] = -1.0; G_ibuf_124[shift_4] = EMPTY_VALUE; } if (Li_8 < 0) { if (Signal > 0 && G_ibuf_108[shift_4 + 1] == -1.0) { G_ibuf_116[shift_4] = Lda_20[shift_4]; G_ibuf_108[shift_4] = Lda_20[shift_4]; if (Line > 0) G_ibuf_124[shift_4] = Lda_20[shift_4]; if (SoundON == TRUE && shift_4 == 0 && (!Gi_136)) { Alert("Bbands Stop Alert Sell --> ", Symbol(), "@TF", Period()); Gi_136 = TRUE; Gi_132 = FALSE; } } else { G_ibuf_108[shift_4] = Lda_20[shift_4]; if (Line > 0) G_ibuf_124[shift_4] = Lda_20[shift_4]; G_ibuf_116[shift_4] = -1; } if (Signal == 2) G_ibuf_108[shift_4] = 0; G_ibuf_112[shift_4] = -1; G_ibuf_104[shift_4] = -1.0; G_ibuf_120[shift_4] = EMPTY_VALUE; } } return (0); }
