📅 财经日历 📊 实时波动 📈 大盘云图 📶 行情走势 🆚 投机情绪 🚀 今日热点

    MT4编程报警问题

    2011-10-03 · 14761 阅读
    我想实现在下列代码中,当价格到r1 r2 r3 P S1 S2 S3的时候发出报警,我加上代码
      if(Bid==s2)
      Alert(Symbol(),\"现在价格\"+DoubleToStr(s2,4));
      程序测试没错,但不报警,请斑主帮忙看下!
      
      #property copyright \"Copyright ?2004, MetaQuotes Software Corp.\"
      #property link      \"http://www.metaquotes.net\"
      #property indicator_buffers 5
      #property indicator_chart_window
      //----
      extern int TimeZone=0;
      extern bool pivots=true;
      extern bool camarilla=false;
      extern bool midpivots=false;
      //----
      double day_high=0;
      double day_low=0;
      double yesterday_high=0;
      double yesterday_open=0;
      double yesterday_low=0;
      double yesterday_close=0;
      double today_open=0;
      double today_high=0;
      double today_low=0;
      double P=0;
      double Q=0;
      double R1,R2,R3;
      double M0,M1,M2,M3,M4,M5;
      double S1,S2,S3;
      double H4,H3,L4,L3;
      double nQ=0;
      double nD=0;
      double D=0;
      double rates_h1[2][6];
      double rates_d1[2][6];
      double pivotbuffer[];
      double s1buffer[];
      double r1buffer[];
      double s2buffer[];
      double r2buffer[];
      //+------------------------------------------------------------------+
      //| Custom indicator initialization function                         |
      //+------------------------------------------------------------------+
      int init()
        {
      //---- indicators
         R1=0; R2=0; R3=0;
         M0=0; M1=0; M2=0; M3=0; M4=0; M5=0;
         S1=0; S2=0; S3=0;
         H4=0; H3=0; L4=0; L3=0;
      //----
         SetIndexStyle(0,DRAW_LINE,EMPTY);
         SetIndexBuffer(0, pivotbuffer);
         SetIndexStyle(1,DRAW_LINE,EMPTY);
         SetIndexBuffer(1, s1buffer);
         SetIndexStyle(2,DRAW_LINE,EMPTY);
         SetIndexBuffer(2, r1buffer);
         SetIndexStyle(3,DRAW_LINE,EMPTY);
         SetIndexBuffer(4, s2buffer);
         SetIndexStyle(5,DRAW_LINE,EMPTY);
         SetIndexBuffer(5, r2buffer);
      //----
         return(0);
        }
      //+------------------------------------------------------------------+
      //| Custor indicator deinitialization function                       |
      //+------------------------------------------------------------------+
      int deinit()
        {
      //---- TODO: add your code here
         ObjectDelete(\"R1 Label\");
         ObjectDelete(\"R1 Line\");
         ObjectDelete(\"R2 Label\");
         ObjectDelete(\"R2 Line\");
         ObjectDelete(\"R3 Label\");
         ObjectDelete(\"R3 Line\");
         ObjectDelete(\"S1 Label\");
         ObjectDelete(\"S1 Line\");
         ObjectDelete(\"S2 Label\");
         ObjectDelete(\"S2 Line\");
         ObjectDelete(\"S3 Label\");
         ObjectDelete(\"S3 Line\");
         ObjectDelete(\"P Label\");
         ObjectDelete(\"P Line\");
         ObjectDelete(\"H4 Label\");
         ObjectDelete(\"H4 Line\");
         ObjectDelete(\"H3 Label\");
         ObjectDelete(\"H3 Line\");
         ObjectDelete(\"L3 Label\");
         ObjectDelete(\"L3 Line\");
         ObjectDelete(\"L4 Label\");
         ObjectDelete(\"L4 Line\");
         ObjectDelete(\"M5 Label\");
         ObjectDelete(\"M5 Line\");
         ObjectDelete(\"M4 Label\");
         ObjectDelete(\"M4 Line\");
         ObjectDelete(\"M3 Label\");
         ObjectDelete(\"M3 Line\");
         ObjectDelete(\"M2 Label\");
         ObjectDelete(\"M2 Line\");
         ObjectDelete(\"M1 Label\");
         ObjectDelete(\"M1 Line\");
         ObjectDelete(\"M0 Label\");
         ObjectDelete(\"M0 Line\");
      //----
         return(0);
        }
      //+------------------------------------------------------------------+
      //| Custom indicator iteration function                              |
      //+------------------------------------------------------------------+
      int start()
        {
         int i=0, j=0;
      //---- TODO: add your code here
      //---- exit if period is greater than daily charts
         if(Period() > 1440)
           {
            Print(\"Error - Chart period is greater than 1 day.\");
            return(-1); // then exit
           }
      //---- Get new daily prices
         ArrayCopyRates(rates_d1, Symbol(), PERIOD_D1);
         yesterday_high=rates_d1[1][3];
         yesterday_low=rates_d1[1][2];
         day_high=rates_d1[0][3];
         day_low=rates_d1[0][2];
      //----
         ArrayCopyRates(rates_h1, Symbol(), PERIOD_H1);
         for(i=0;i 5)
           {
            nQ=Q;
           }
         else
           {
            nQ=Q*10000;
           }
         if (D > 5)
           {
            nD=D;
           }
         else
           {
            nD=D*10000;
           }
         Comment(\"High= \",yesterday_high,\"    Previous Days Range= \",nQ,\"nLow= \",yesterday_low,\"    Current Days Range= \",nD,\"nClose= \",yesterday_close,\"nOpen= \",yesterday_open);
      //---- Set line labels on chart window
      //---- Pivot Lines
         if (pivots==true)
           {
            if(ObjectFind(\"R1 label\")!=0)
              {
               ObjectCreate(\"R1 label\", OBJ_TEXT, 0, Time[20], R1);
               ObjectSetText(\"R1 label\", \" R1\", 8, \"Arial\", White);
              }
            else
              {
               ObjectMove(\"R1 label\", 0, Time[20], R1);
              }
            r1buffer[0]=R1;
      //----
            if(ObjectFind(\"R2 label\")!=0)
              {
               ObjectCreate(\"R2 label\", OBJ_TEXT, 0, Time[20], R2);
               ObjectSetText(\"R2 label\", \" R2\", 8, \"Arial\", White);
              }
            else
              {
               ObjectMove(\"R2 label\", 0, Time[20], R2);
              }
            r2buffer[0]=R2;
      //----
            if(ObjectFind(\"R3 label\")!=0)
              {
               ObjectCreate(\"R3 label\", OBJ_TEXT, 0, Time[20], R3);
               ObjectSetText(\"R3 label\", \" R3\", 8, \"Arial\", White);
              }
            else
              {
               ObjectMove(\"R3 label\", 0, Time[20], R3);
              }
            if(ObjectFind(\"P label\")!=0)
              {
               ObjectCreate(\"P label\", OBJ_TEXT, 0, Time[20], P);
               ObjectSetText(\"P label\", \"Pivot\", 8, \"Arial\", White);
              }
            else
              {
               ObjectMove(\"P label\", 0, Time[20], P);
              }
            pivotbuffer[0]=P;
      //----
            if(ObjectFind(\"S1 label\")!=0)
              {
               ObjectCreate(\"S1 label\", OBJ_TEXT, 0, Time[20], S1);
               ObjectSetText(\"S1 label\", \"S1\", 8, \"Arial\", White);
              }
            else
              {
               ObjectMove(\"S1 label\", 0, Time[20], S1);
              }
            s1buffer[0]=S1;
      //----
            if(ObjectFind(\"S2 label\")!=0)
              {
               ObjectCreate(\"S2 label\", OBJ_TEXT, 0, Time[20], S2);
               ObjectSetText(\"S2 label\", \"S2\", 8, \"Arial\", White);
              }
            else
              {
               ObjectMove(\"S2 label\", 0, Time[20], S2);
              }
            s2buffer[0]=S2;
      //----
            if(ObjectFind(\"S3 label\")!=0)
              {
               ObjectCreate(\"S3 label\", OBJ_TEXT, 0, Time[20], S3);
               ObjectSetText(\"S3 label\", \"S3\", 8, \"Arial\", White);
              }
            else
              {
               ObjectMove(\"S3 label\", 0, Time[20], S3);
              }
            //---  Draw  Pivot lines on chart
            if(ObjectFind(\"S1 line\")!=0)
              {
               ObjectCreate(\"S1 line\", OBJ_HLINE, 0, Time[40], S1);
               ObjectSet(\"S1 line\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
               ObjectSet(\"S1 line\", OBJPROP_COLOR, Red);
              }
            else
              {
               ObjectMove(\"S1 line\", 0, Time[40], S1);
              }
            if(ObjectFind(\"S2 line\")!=0)
              {
               ObjectCreate(\"S2 line\", OBJ_HLINE, 0, Time[40], S2);
               ObjectSet(\"S2 line\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
               ObjectSet(\"S2 line\", OBJPROP_COLOR, Red);
              }
            else
              {
               ObjectMove(\"S2 line\", 0, Time[40], S2);
              }
            if(ObjectFind(\"S3 line\")!=0)
              {
               ObjectCreate(\"S3 line\", OBJ_HLINE, 0, Time[40], S3);
               ObjectSet(\"S3 line\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
               ObjectSet(\"S3 line\", OBJPROP_COLOR, Red);
              }
            else
              {
               ObjectMove(\"S3 line\", 0, Time[40], S3);
              }
            if(ObjectFind(\"P line\")!=0)
              {
               ObjectCreate(\"P line\", OBJ_HLINE, 0, Time[40], P);
               ObjectSet(\"P line\", OBJPROP_STYLE, STYLE_DOT);
               ObjectSet(\"P line\", OBJPROP_COLOR, Magenta);
              }
            else
              {
               ObjectMove(\"P line\", 0, Time[40], P);
              }
            if(ObjectFind(\"R1 line\")!=0)
              {
               ObjectCreate(\"R1 line\", OBJ_HLINE, 0, Time[40], R1);
               ObjectSet(\"R1 line\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
               ObjectSet(\"R1 line\", OBJPROP_COLOR, LimeGreen);
              }
            else
              {
               ObjectMove(\"R1 line\", 0, Time[40], R1);
              }
            if(ObjectFind(\"R2 line\")!=0)
              {
               ObjectCreate(\"R2 line\", OBJ_HLINE, 0, Time[40], R2);
               ObjectSet(\"R2 line\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
               ObjectSet(\"R2 line\", OBJPROP_COLOR, LimeGreen);
              }
            else
              {
               ObjectMove(\"R2 line\", 0, Time[40], R2);
              }
            if(ObjectFind(\"R3 line\")!=0)
              {
               ObjectCreate(\"R3 line\", OBJ_HLINE, 0, Time[40], R3);
               ObjectSet(\"R3 line\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
               ObjectSet(\"R3 line\", OBJPROP_COLOR, LimeGreen);
              }
            else
              {
               ObjectMove(\"R3 line\", 0, Time[40], R3);
              }
           }
      //---- End of Pivot Line Draw
      //----- Camarilla Lines
         if (camarilla==true)
           {
            if(ObjectFind(\"H4 label\")!=0)
              {
               ObjectCreate(\"H4 label\", OBJ_TEXT, 0, Time[20], H4);
               ObjectSetText(\"H4 label\", \" H4\", 8, \"Arial\", White);
              }
            else
              {
               ObjectMove(\"H4 label\", 0, Time[20], H4);
              }
            if(ObjectFind(\"H3 label\")!=0)
              {
               ObjectCreate(\"H3 label\", OBJ_TEXT, 0, Time[20], H3);
               ObjectSetText(\"H3 label\", \" H3\", 8, \"Arial\", White);
              }
            else
              {
               ObjectMove(\"H3 label\", 0, Time[20], H3);
              }
            if(ObjectFind(\"L3 label\")!=0)
              {
               ObjectCreate(\"L3 label\", OBJ_TEXT, 0, Time[20], L3);
               ObjectSetText(\"L3 label\", \" L3\", 8, \"Arial\", White);
              }
            else
              {
               ObjectMove(\"L3 label\", 0, Time[20], L3);
              }
            if(ObjectFind(\"L4 label\")!=0)
              {
               ObjectCreate(\"L4 label\", OBJ_TEXT, 0, Time[20], L4);
               ObjectSetText(\"L4 label\", \" L4\", 8, \"Arial\", White);
              }
            else
              {
               ObjectMove(\"L4 label\", 0, Time[20], L4);
              }
            //---- Draw Camarilla lines on Chart
            if(ObjectFind(\"H4 line\")!=0)
              {
               ObjectCreate(\"H4 line\", OBJ_HLINE, 0, Time[40], H4);
               ObjectSet(\"H4 line\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
               ObjectSet(\"H4 line\", OBJPROP_COLOR, Yellow);
              }
            else
              {
               ObjectMove(\"H4 line\", 0, Time[40], H4);
              }
            if(ObjectFind(\"H3 line\")!=0)
              {
               ObjectCreate(\"H3 line\", OBJ_HLINE, 0, Time[40], H3);
               ObjectSet(\"H3 line\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
               ObjectSet(\"H3 line\", OBJPROP_COLOR, Yellow);
              }
            else
              {
               ObjectMove(\"H3 line\", 0, Time[40], H3);
              }
            if(ObjectFind(\"L3 line\")!=0)
              {
               ObjectCreate(\"L3 line\", OBJ_HLINE, 0, Time[40], L3);
               ObjectSet(\"L3 line\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
               ObjectSet(\"L3 line\", OBJPROP_COLOR, Yellow);
              }
            else
              {
               ObjectMove(\"L3 line\", 0, Time[40], L3);
              }
            if(ObjectFind(\"L4 line\")!=0)
              {
               ObjectCreate(\"L4 line\", OBJ_HLINE, 0, Time[40], L4);
               ObjectSet(\"L4 line\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
               ObjectSet(\"L4 line\", OBJPROP_COLOR, Yellow);
              }
            else
              {
               ObjectMove(\"L4 line\", 0, Time[40], L4);
              }
           }
      //-------End of Draw Camarilla Lines
      //------ Midpoints Pivots
         if (midpivots==true)
           {
            if(ObjectFind(\"M5 label\")!=0)
              {
               ObjectCreate(\"M5 label\", OBJ_TEXT, 0, Time[20], M5);
               ObjectSetText(\"M5 label\", \" M5\", 8, \"Arial\", White);
              }
            else
              {
               ObjectMove(\"M5 label\", 0, Time[20], M5);
              }
            if(ObjectFind(\"M4 label\")!=0)
              {
               ObjectCreate(\"M4 label\", OBJ_TEXT, 0, Time[20], M4);
               ObjectSetText(\"M4 label\", \" M4\", 8, \"Arial\", White);
              }
            else
              {
               ObjectMove(\"M4 label\", 0, Time[20], M4);
              }
            if(ObjectFind(\"M3 label\")!=0)
              {
               ObjectCreate(\"M3 label\", OBJ_TEXT, 0, Time[20], M3);
               ObjectSetText(\"M3 label\", \" M3\", 8, \"Arial\", White);
              }
            else
              {
               ObjectMove(\"M3 label\", 0, Time[20], M3);
              }
            if(ObjectFind(\"M2 label\")!=0)
              {
               ObjectCreate(\"M2 label\", OBJ_TEXT, 0, Time[20], M2);
               ObjectSetText(\"M2 label\", \" M2\", 8, \"Arial\", White);
              }
            else
              {
               ObjectMove(\"M2 label\", 0, Time[20], M2);
              }
            if(ObjectFind(\"M1 label\")!=0)
              {
               ObjectCreate(\"M1 label\", OBJ_TEXT, 0, Time[20], M1);
               ObjectSetText(\"M1 label\", \" M1\", 8, \"Arial\", White);
              }
            else
              {
               ObjectMove(\"M1 label\", 0, Time[20], M1);
              }
            if(ObjectFind(\"M0 label\")!=0)
              {
               ObjectCreate(\"M0 label\", OBJ_TEXT, 0, Time[20], M0);
               ObjectSetText(\"M0 label\", \" M0\", 8, \"Arial\", White);
              }
            else
              {
               ObjectMove(\"M0 label\", 0, Time[20], M0);
              }
            //---- Draw Midpoint Pivots on Chart
            if(ObjectFind(\"M5 line\")!=0)
              {
               ObjectCreate(\"M5 line\", OBJ_HLINE, 0, Time[40], M5);
               ObjectSet(\"M5 line\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
               ObjectSet(\"M5 line\", OBJPROP_COLOR, Blue);
              }
            else
              {
               ObjectMove(\"M5 line\", 0, Time[40], M5);
              }
            if(ObjectFind(\"M4 line\")!=0)
              {
               ObjectCreate(\"M4 line\", OBJ_HLINE, 0, Time[40], M4);
               ObjectSet(\"M4 line\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
               ObjectSet(\"M4 line\", OBJPROP_COLOR, Blue);
              }
            else
              {
               ObjectMove(\"M4 line\", 0, Time[40], M4);
              }
            if(ObjectFind(\"M3 line\")!=0)
              {
               ObjectCreate(\"M3 line\", OBJ_HLINE, 0, Time[40], M3);
               ObjectSet(\"M3 line\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
               ObjectSet(\"M3 line\", OBJPROP_COLOR, Blue);
              }
            else
              {
               ObjectMove(\"M3 line\", 0, Time[40], M3);
              }
            if(ObjectFind(\"M2 line\")!=0)
              {
               ObjectCreate(\"M2 line\", OBJ_HLINE, 0, Time[40], M2);
               ObjectSet(\"M2 line\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
               ObjectSet(\"M2 line\", OBJPROP_COLOR, Blue);
              }
            else
              {
               ObjectMove(\"M2 line\", 0, Time[40], M2);
              }
            if(ObjectFind(\"M1 line\")!=0)
              {
               ObjectCreate(\"M1 line\", OBJ_HLINE, 0, Time[40], M1);
               ObjectSet(\"M1 line\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
               ObjectSet(\"M1 line\", OBJPROP_COLOR, Blue);
              }
            else
              {
               ObjectMove(\"M1 line\", 0, Time[40], M1);
              }
            if(ObjectFind(\"M0 line\")!=0)
              {
               ObjectCreate(\"M0 line\", OBJ_HLINE, 0, Time[40], M0);
               ObjectSet(\"M0 line\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
               ObjectSet(\"M0 line\", OBJPROP_COLOR, Blue);
              }
            else
              {
               ObjectMove(\"M0 line\", 0, Time[40], M0);
              }
           }
      //----End of Midpoint Pivots Draw
      //---- End Of Program
         return(0);
        }
      //+------------------------------------------------------------------+
    ""
    还没有人打赏,支持一下
    回复

    举报

     

    回答|共 26 个

    龙行天下 LV5

    发表于 2012-11-22 02:15:12 | 显示全部楼层

    支持~~  

    myecr LV4

    发表于 2012-11-22 02:15:12 | 显示全部楼层

    ea编程高手有偿开发MT4指标和ea系统,并有稳定盈利ea出售,非大资金勿扰  

    醉卧花丛 LV5

    发表于 2012-11-22 02:15:12 | 显示全部楼层

    今天无聊来逛逛  

    nihaoya78 LV5

    发表于 2012-11-22 02:15:12 | 显示全部楼层

    抢座位来了  

    whyhui LV5

    发表于 2012-11-22 02:15:12 | 显示全部楼层

    楼主good  

    印度阿三 LV5

    发表于 2012-11-22 02:15:12 | 显示全部楼层

    来几句吧  

    与你同行 LV4

    发表于 2012-11-22 02:15:12 | 显示全部楼层

    EA水很深 并不是一般人就能玩的了的 打消这个念头吧~~  

    幸福的旋律 LV3

    发表于 2014-11-9 10:04:40 | 显示全部楼层

    nice!!!!!!!!!!!!

    今天肚子痛 LV3

    发表于 2014-11-9 10:16:17 | 显示全部楼层

    看看什么EA,,,
    123下一页
    您需要登录后才可以回帖 登录 | 注册

    提醒: 禁止引战、谩骂、灌水内容

    微信二维码

    有问题联系客服