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

    回答|共 47 个

    陈小熊 LV8

    发表于 2015-8-14 12:42:50 | 显示全部楼层

    1218138 发表于 2015-8-14 12:38
    时间功能是次要,我想要后面的那个功能,代码是直接添加进去就行了吗?

    “代码是直接添加进去就行了吗?”这个怎么说呢,是直接添加,但要找准添加的位置才行。

    陈小熊 LV8

    发表于 2015-8-14 13:01:27 | 显示全部楼层

    本帖最后由 陈小熊 于 2015-8-14 13:03 编辑
    1218138 发表于 2015-8-14 12:38
    时间功能是次要,我想要后面的那个功能,代码是直接添加进去就行了吗?

    //+------------------------------------------------------------------+
    //|                                                        test1.mq4 |
    //|                        Copyright 2015, MetaQuotes Software Corp. |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2015, 外汇之家-陈小熊."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    #property strict
    //+------------------------------------------------------------------+
    //| Expert initialization function                                   |
    //+------------------------------------------------------------------+
    extern string flag1 = "开始时间,这个不是北京时间,具体自己换算";
    input int starttime = 6;
    extern string flag2 = "停止时间";
    input int endtime = 11;
    extern string flag3 = "K线长度(小点计算)";
    input int K_len = 100;

    bool ispause = flase;
    int OnInit()
      {
    //--- create timer
       EventSetTimer(60);
       Print(Hour());
    //---
       return(INIT_SUCCEEDED);
      }
    //+------------------------------------------------------------------+
    //| Expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    void OnDeinit(const int reason)
      {
    //--- destroy timer
       EventKillTimer();
          
      }
    //+------------------------------------------------------------------+
    //| Expert tick function                                             |
    //+------------------------------------------------------------------+
    void OnTick()
      {
    //--    if(ispause)
           return ;
       //设置的时间之外不交易
       if(Hour() < starttime || Hour() > endtime || starttime >= endtime)
          return ;
       //当K线最高价和最低价之差大于设置的值,全平
       double point = MathAbs(iHigh(Symbol(), PERIOD_M15, 1) - iLow(Symbol(), PERIOD_M15, 1)) / Point;
       if(point > K_len)
       {
          ispause = true;
          for(int i = 0; i < OrdersTotal(); i ++)
          {
             int os = OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
             if(OrderType() == OP_SELL)
             {
                while(!OrderClose(OrderTicket(), OrderLots(), Ask, 10, clrWhite))
                {
                   Sleep(1000);
                }
             }
             else if(OrderType() == OP_BUY)
             {
                while(!OrderClose(OrderTicket(), OrderLots(), Bid, 10, clrWhite))
                {
                   Sleep(1000);
                }
             }
          }
       }
      }
    //+------------------------------------------------------------------+
    //| Timer function                                                   |
    //+------------------------------------------------------------------+
    void OnTimer()
      {
    //---
       
      }
    //+------------------------------------------------------------------+
    //| Tester function                                                  |
    //+------------------------------------------------------------------+
    double OnTester()
      {
    //---
       double ret=0.0;
    //---

    //---
       return(ret);
      }
    //+------------------------------------------------------------------+
    //| ChartEvent function                                              |
    //+------------------------------------------------------------------+
    void OnChartEvent(const int id,
                      const long &lparam,
                      const double &dparam,
                      const string &sparam)
      {
    //---
       
      }
    //+------------------------------------------------------------------+

    1218138 LV4

    发表于 2015-8-14 18:15:52 | 显示全部楼层

    陈小熊 发表于 2015-8-14 13:01
    //+------------------------------------------------------------------+
    //|                        ...

    楼主好厉害啊,我发个EA你,你看方案怎样?就是加入我所讲的条件。你这个代码是直接加入去就行了吗?

    1218138 LV4

    发表于 2015-8-14 18:45:12 | 显示全部楼层

    陈小熊 发表于 2015-8-14 13:01
    //+------------------------------------------------------------------+
    //|                        ...

    我测试时,出现了这2个错误'OnInit' - function already defined and has body        060.mq4        147        7

    'OnDeinit' - function already defined and has body        060 .mq4        158        6

    可是我查找本来的EA里面并没有定义这两个

    陈小熊 LV8

    发表于 2015-8-17 08:48:47 | 显示全部楼层

    1218138 发表于 2015-8-14 18:45
    我测试时,出现了这2个错误'OnInit' - function already defined and has body        060.mq4        147        7

    'OnDein ...

    代码不能乱加的。。随便加肯定回报错的啊。

    1218138 LV4

    发表于 2015-8-17 17:27:45 | 显示全部楼层

    陈小熊 发表于 2015-8-17 08:48
    代码不能乱加的。。随便加肯定回报错的啊。

    我能发个EA给你添加吗[s:142]

    xinyu8079 LV7

    发表于 2015-8-17 20:03:49 | 显示全部楼层

    我觉得,见好就收,及时止损的EA,是好EA,我不会写

    xinyu8079 LV7

    发表于 2015-8-17 20:05:05 | 显示全部楼层

    我遇到一个挂对冲单,然后趋势正向加倍的EA。好象可以盈利。

    陈小熊 LV8

    发表于 2015-8-18 09:19:27 | 显示全部楼层

    xinyu8079 发表于 2015-8-17 20:03
    我觉得,见好就收,及时止损的EA,是好EA,我不会写

    话是这样说,但EA如果随便止损必然会亏损的,止损需要配合优秀的策略才行。

    陈小熊 LV8

    发表于 2015-8-18 09:22:37 | 显示全部楼层

    1218138 发表于 2015-8-17 17:27
    我能发个EA给你添加吗

    嗯,发我邮箱吧。。顺便把你要修改的需求用word文档描述一下。1056387521@qq.com
    您需要登录后才可以回帖 登录 | 注册

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

    微信二维码

    有问题联系客服