47评论

0收藏

写EA遇到了瓶颈,希望大家能跟大家多多交流

 

评论|共 47 个

陈小熊

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

wangdelong 发表于 2015-8-13 22:41
这个你看看:http://v.youku.com/v_show/id_XMTI5MzQ3NTM0NA==.html?from=s1.8-1-1.2。能写出来的话。免费 ...

嗯。

陈小熊

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

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

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

陈小熊

发表于 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

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

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

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

1218138

发表于 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里面并没有定义这两个

陈小熊

发表于 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

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

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

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

xinyu8079

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

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

xinyu8079

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

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

陈小熊

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

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

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

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

EA之家评论守则