22评论

1收藏

MT4编程报警问题

avatar ozyamhct | 11481 人阅读 | 22 人评论 | 2011-10-03

我想实现在下列代码中,当价格到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);
    }
  //+------------------------------------------------------------------+
""
还没有人打赏,支持一下

评论|共 22 个

龙行天下

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

支持~~  

myecr

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

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

醉卧花丛

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

今天无聊来逛逛  

nihaoya78

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

抢座位来了  

whyhui

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

楼主good  

印度阿三

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

来几句吧  

与你同行

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

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

幸福的旋律

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

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

今天肚子痛

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

看看什么EA,,,

123下一页
您需要登录后才可以回帖 登录 | 注册 微信登录

EA之家评论守则