[MT4指标]均线交叉mt4指标
如果编译不成功 请下载源码
#property copyright "Copyright ?2004, by konKop,wellx"
#property link      "http://www.metaquotes.net"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Yellow
#property indicator_color2 White
extern int 均线周期1 = 10;
extern int 均线周期2 = 130;
extern int 类型1 = 1;
extern int 类型2 = 1;
extern string 类型说明 = "0-SMA; 1-EMA; 2-SMMA; 3-LWMA";
extern int 文字水平 = 0;
extern int 文字垂直 = 0;
extern int 文字大小 = 14;
extern string 文字标识 = "1";
extern color 文字颜色 = Yellow;
extern int 是否报警 = 1;
double g_ibuf_128;
double g_ibuf_132;
int gi_136;
int gi_140 = 0;
int init() {
   IndicatorBuffers(2);
   SetIndexStyle(0, DRAW_LINE);
   SetIndexStyle(1, DRAW_LINE);
   SetIndexBuffer(0, g_ibuf_128);
   SetIndexBuffer(1, g_ibuf_132);
   gi_136 = 0;
   return (0);
}
int start() {
   string ls_8;
   int li_16 = IndicatorCounted();
   if (li_16 < 0) return (-1);
   if (li_16 > 0) li_16--;
   int li_4 = Bars - li_16;
   for (int li_0 = li_4 - 1; li_0 >= 0; li_0--) {
      g_ibuf_128[li_0] = iMA(NULL, 0, 均线周期1, 0, 类型1, PRICE_CLOSE, li_0);
      g_ibuf_132[li_0] = iMA(NULL, 0, 均线周期2, 0, 类型2, PRICE_CLOSE, li_0);
      if (g_ibuf_128[li_0 + 1] < g_ibuf_132[li_0 + 1] && g_ibuf_128[li_0] > g_ibuf_132[li_0]) {
         ls_8 = "[" + Period() + "分钟]" + TimeMonth(Time[li_0] + gi_136) + "月" + TimeDay(Time[li_0] + gi_136) + "日" + TimeHour(Time[li_0] + gi_136) + "点" + TimeMinute(Time[li_0] +
            gi_136) + "分 " + Symbol() + "在价格" + DoubleToStr(Close[li_0], 4) + "发生" + 均线周期1 + "均线上穿" + 均线周期2 + "均线";
         writetext(文字标识, ls_8, 文字水平 + 20, 文字垂直 + 40, 文字颜色, 文字大小);
         if (li_0 == 0) {
            if (gi_140 == FALSE) {
               if (是否报警 == 1) Alert(ls_8);
               gi_140 = TRUE;
            }
         }
      } else {
         if (g_ibuf_128[li_0 + 1] > g_ibuf_132[li_0 + 1] && g_ibuf_128[li_0] < g_ibuf_132[li_0]) {
            ls_8 = "[" + Period() + "分钟]" + TimeMonth(Time[li_0] + gi_136) + "月" + TimeDay(Time[li_0] + gi_136) + "日" + TimeHour(Time[li_0] + gi_136) + "点" + TimeMinute(Time[li_0] +
               gi_136) + "分 " + Symbol() + "在价格" + DoubleToStr(Close[li_0], 4) + "发生" + 均线周期1 + "均线下穿" + 均线周期2 + "均线";
            writetext(文字标识, ls_8, 文字水平 + 20, 文字垂直 + 40, 文字颜色, 文字大小);
            if (li_0 == 0) {
               if (gi_140 == FALSE) {
                  if (是否报警 == 1) Alert(ls_8);
                  gi_140 = TRUE;
               }
            }
         } else gi_140 = FALSE;
      }
   }
   return (0);
}
void writetext(string a_name_0, string a_text_8, int a_x_16, int a_y_20, color a_color_24, int a_fontsize_28) {
   ObjectDelete(a_name_0);
   ObjectCreate(a_name_0, OBJ_LABEL, 0, 0, 0);
   ObjectSetText(a_name_0, a_text_8, a_fontsize_28, "Arial", a_color_24);
   ObjectSet(a_name_0, OBJPROP_CORNER, 0);
   ObjectSet(a_name_0, OBJPROP_XDISTANCE, a_x_16);
   ObjectSet(a_name_0, OBJPROP_YDISTANCE, a_y_20);
}
2MA_Cross.ex4
发表于:2015-02-09 11:58只看该作者
2楼 
谢谢分享
韬客社区www.talkfx.co











