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

    想用EA测试一个指标,跪求高人指点

    2011-11-17 · 6271 阅读
    指标代码如下:想测试红色部分的参数,思路是把两个指标分别设置不同的参数加载在同一周期图上,然后跑EA选出合适的参数组合,就是每两个参数一组,比如 Length = 26Length = 20,然后测试这两个参数同时发出信号的胜率。希望能得到高人指点,小弟稍微能看懂一点代码,但是写起来困难,希望有人能给个提示或者有类似测试参数的代码能提供参考,先谢过了,指标在附近
      
      #property indicator_chart_window
      #property indicator_buffers 6
      #property indicator_color1 Blue
      #property indicator_color2 Red
      #property indicator_color3 White
      #property indicator_color4 Gold
      #property indicator_color5 Blue
      #property indicator_color6 Red
      
      extern int Length = 26;
      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;
      
      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, 1);
         SetIndexStyle(1, DRAW_ARROW, STYLE_SOLID, 1);
         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, 108);
         SetIndexArrow(3, 108);
         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);
      }
      
      int start() {
         int li_8;
         double lda_12[25000];
         double lda_16[25000];
         double lda_20[25000];
         double lda_24[25000];
         for (int l_shift_4 = Nbars; l_shift_4 >= 0; l_shift_4--) {
            g_ibuf_104[l_shift_4] = 0;
            g_ibuf_108[l_shift_4] = 0;
            g_ibuf_112[l_shift_4] = 0;
            g_ibuf_116[l_shift_4] = 0;
            g_ibuf_120[l_shift_4] = EMPTY_VALUE;
            g_ibuf_124[l_shift_4] = EMPTY_VALUE;
         }
         for (l_shift_4 = Nbars - Length - 1; l_shift_4 >= 0; l_shift_4--) {
            lda_12[l_shift_4] = iBands(NULL, 0, Length, Deviation, 0, PRICE_CLOSE, MODE_UPPER, l_shift_4);
            lda_16[l_shift_4] = iBands(NULL, 0, Length, Deviation, 0, PRICE_CLOSE, MODE_LOWER, l_shift_4);
            if (Close[l_shift_4] > lda_12[l_shift_4 + 1]) li_8 = 1;
            if (Close[l_shift_4] < lda_16[l_shift_4 + 1]) li_8 = -1;
            if (li_8 > 0 && lda_16[l_shift_4] < lda_16[l_shift_4 + 1]) lda_16[l_shift_4] = lda_16[l_shift_4 + 1];
            if (li_8 < 0 && lda_12[l_shift_4] > lda_12[l_shift_4 + 1]) lda_12[l_shift_4] = lda_12[l_shift_4 + 1];
            lda_20[l_shift_4] = lda_12[l_shift_4] + (MoneyRisk - 1.0) / 2.0 * (lda_12[l_shift_4] - lda_16[l_shift_4]);
            lda_24[l_shift_4] = lda_16[l_shift_4] - (MoneyRisk - 1.0) / 2.0 * (lda_12[l_shift_4] - lda_16[l_shift_4]);
            if (li_8 > 0 && lda_24[l_shift_4] < lda_24[l_shift_4 + 1]) lda_24[l_shift_4] = lda_24[l_shift_4 + 1];
            if (li_8 < 0 && lda_20[l_shift_4] > lda_20[l_shift_4 + 1]) lda_20[l_shift_4] = lda_20[l_shift_4 + 1];
            if (li_8 > 0) {
               if (Signal > 0 && g_ibuf_104[l_shift_4 + 1] == -1.0) {
                  g_ibuf_112[l_shift_4] = lda_24[l_shift_4];
                  g_ibuf_104[l_shift_4] = lda_24[l_shift_4];
                  if (Line > 0) g_ibuf_120[l_shift_4] = lda_24[l_shift_4];
                  if (SoundON == TRUE && l_shift_4 == 0 && !gi_132) {
                     Alert(\"BUY = DOT PUTIH, SS2009_B(BIRU), SS2009_C(BIRU) \", Symbol(), \"-\", Period());
                     gi_132 = TRUE;
                     gi_136 = FALSE;
                  }
               } else {
                  g_ibuf_104[l_shift_4] = lda_24[l_shift_4];
                  if (Line > 0) g_ibuf_120[l_shift_4] = lda_24[l_shift_4];
                  g_ibuf_112[l_shift_4] = -1;
               }
               if (Signal == 2) g_ibuf_104[l_shift_4] = 0;
               g_ibuf_116[l_shift_4] = -1;
               g_ibuf_108[l_shift_4] = -1.0;
               g_ibuf_124[l_shift_4] = EMPTY_VALUE;
            }
            if (li_8 < 0) {
               if (Signal > 0 && g_ibuf_108[l_shift_4 + 1] == -1.0) {
                  g_ibuf_116[l_shift_4] = lda_20[l_shift_4];
                  g_ibuf_108[l_shift_4] = lda_20[l_shift_4];
                  if (Line > 0) g_ibuf_124[l_shift_4] = lda_20[l_shift_4];
                  if (SoundON == TRUE && l_shift_4 == 0 && !gi_136) {
                     Alert(\"SELL = DOT KUNING, SS2009_B(MERAH), SS2009_C(MERAH) \", Symbol(), \"-\", Period());
                     gi_136 = TRUE;
                     gi_132 = FALSE;
                  }
               } else {
                  g_ibuf_108[l_shift_4] = lda_20[l_shift_4];
                  if (Line > 0) g_ibuf_124[l_shift_4] = lda_20[l_shift_4];
                  g_ibuf_116[l_shift_4] = -1;
               }
               if (Signal == 2) g_ibuf_108[l_shift_4] = 0;
               g_ibuf_112[l_shift_4] = -1;
               g_ibuf_104[l_shift_4] = -1.0;
               g_ibuf_120[l_shift_4] = EMPTY_VALUE;
            }
         }
         return (0);
      }
    ""
    还没有人打赏,支持一下
    回复

    举报

     

    回答|共 11 个

    龙行天下 LV5

    发表于 2012-11-21 23:00:05 | 显示全部楼层

    现在还真的要重视EA了  

    mt5mt5 LV5

    发表于 2012-11-21 23:00:05 | 显示全部楼层

    感謝樓主  

    副会他爹 LV4

    发表于 2012-11-21 23:00:05 | 显示全部楼层

    呵呵,找个机会...  

    印度阿三 LV5

    发表于 2012-11-21 23:00:05 | 显示全部楼层

    真笨,如果有那么好赚的话,就不用做广告给你们了!这些都是骗人的!就像股票软件一样。。。。  

    郁闷小甜甜 LV5

    发表于 2012-11-21 23:00:05 | 显示全部楼层

    不错的东西  持续关注  

    fxsin代理 LV5

    发表于 2014-10-28 17:15:20 | 显示全部楼层

    研究研究

    小狗臭臭 LV3

    发表于 2014-11-5 19:03:19 | 显示全部楼层

    路过。。看下先。

    henry888 LV3

    发表于 2014-11-8 01:39:50 | 显示全部楼层

    谢谢分享!!!!!

    xivaobqz LV3

    发表于 2014-11-10 14:52:23 | 显示全部楼层

    感谢分享
    12下一页
    您需要登录后才可以回帖 登录 | 注册

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

    微信二维码

    有问题联系客服