8评论

0收藏

悬赏求助:【时间段平仓EA】 时间段内循环平仓,附大神函数源码,实在没能力编成EA

avatar scavengers | 1423 人阅读 | 8 人评论 | 2019-11-03

20金币
本帖最后由 scavengers 于 2019-11-3 10:32 编辑

需求:指定【时间段】内循环平仓EA,有现成的【时间点平仓EA】,有大神提供的【时间段平仓函数源码】,实在没能力编成EA
背景:经常忍不住在 四颗星或者五颗星等级的 财经事件和经济数据前后下单,这种单子通常都是巨亏,所以想实现一个功能,就是在设定的时间段内,如果有单子,自动平仓,反复平仓,来实现该时间段内不能开仓,开仓也会被平。
社区里有很多时间点,到时间,平仓EA,但是没有时间段的平仓EA,拜托大神举手之劳以下

为其他大神提供的【时间点平仓】函数,【时间段平仓】函数,【时间点平仓】EA


-------------------------------------------------- ----------------------------------
【时间点平仓】函数
  • extern double Lots = 0.1;
  • extern int ChasStart = 10;
  • extern int ChasStop = 22;
  • extern int Step = 15;
  • extern int TP = 200;
  • 如果(TimeHour(TimeCurrent())== ChasStop && TimeMinute(TimeCurrent())== 0)
  • {
  • i = 0;
  • 总计= OrdersTotal();
  • for(i = 0; i <=总数; i ++)
  • {
  • OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
  • if(OrderMagicNumber()== 12321)
  • {
  • 如果(OrderType()== OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,3,Green);
  • 如果(OrderType()== OP_SELL)OrderClose(OrderTicket(),OrderLots(),Ask,3,Green);
  • 如果(OrderType()> 1)OrderDelete(OrderTicket());
  • }
  • }
  • }

-----------------------------------------------------------------------------

时间段平仓函数
  • if((TimeHour(CurTime())<StartHour)||(TimeHour(CurTime())> = EndHour)||
  • (DayOfWeek()== KillDay && TimeHour(CurTime())== KillHour))
  • {
  • / *评论(“非交易时间,正在退出...”,
  • “ \ n”,“版本0.0.4”,
  • “ \ n”,Symbol(),
  • “ \ n”,“ sig:”,MACD_Signal,“ main:”,MACD_Main); * /
  • 总计= OrdersTotal();
  • // ----
  • for(cnt = 0; cnt <总计; cnt ++)
  • {// 3
  • OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
  • // ----
  • if(OrderSymbol()== Symbol())
  • {// 4
  • if(OrderType()== OP_BUY)
  • {// 5
  • OrderClose(OrderTicket(),Lots,Bid,Slippage,Green);
  • 返回(0);
  • } // 5
  • // ----
  • if(OrderType()== OP_SELL)
  • {// 5
  • OrderClose(OrderTicket(),手数,卖价,滑点,绿色);
  • 返回(0);
  • } // 5
  • } // 4
  • } // 3
  • 返回(0);
  • }

-------------------------------------------------- --------------------


时间点平仓EA(这个是现成的EA,可以用)


// + -------------------------------- ---------------------------------- +
// | 在Time.mq4上关闭|
// | ..... h |
// | hayseedville.com |
// + ----------------------------------------------- ------------------- + http://www.forexfactory.com/showthread.php?p=3096542#post3096542
#property copyright“ ..... h”
#property链接“ hayseedville.com”

extern字符串警告=“这将尝试关闭所有订单”;
extern string ThatMeans =“无论符号或类型如何,所有顺序”;
extern bool CloseAll = false;
exint int天= 5;
extern int hour = 19;
extern int分钟= 55;




int start()
{

if(CloseAll && DayOfWeek()==天&& Hour()==小时&& Minute()> =分钟)
  {
  closeall();
  关闭所有();
  关闭所有();
  }


  return(0);
}



void closeall()

  {
  int total = OrdersTotal();
  for(int i = total-1; i> = 0;     i-- )
  {
OrderSelect(i,SELECT_BY_POS);
    int类型= OrderType();

    布尔结果=假;

    switch(type)
    {
      //关闭打开的多头头寸
      情况OP_BUY:结果= OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,红色);
                          打破;

      //平仓未平仓空头
      案例OP_SELL:result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,Red);
                          打破;

      //关闭待处理订单
      case OP_BUYLIMIT:
      案例OP_BUYSTOP:
      案例OP_SELLLIMIT:
      案例OP_SELLSTOP:结果= OrderDelete(OrderTicket());
    }

    if(result == false)
    {
      Alert(“ Order”,OrderTicket(),“无法关闭。错误:”,GetLastError());
      睡眠(3000);
    }  
   }


-------------------------------------------------------------------------------------

""
还没有人打赏,支持一下

评论|共 8 个

scavengers

发表于 2020-3-10 06:58:05 | 显示全部楼层

没人回答,我自己结束帖子吧。

以后的以后

发表于 2020-3-10 07:08:18 | 显示全部楼层

大神出来了

左右

发表于 2020-11-17 16:09:52 | 显示全部楼层

bobing163

发表于 2020-11-17 16:30:02 | 显示全部楼层

你这个解决了吗?能不能分享一下看看

创业与钱

发表于 2021-7-31 15:43:29 | 显示全部楼层

顶下

521EA.com

发表于 2021-7-31 15:52:06 | 显示全部楼层

               
   
  Reply   5#
bobing163 小学一年级 主题 4个  2020-11-17 16:30:02
你这个解决了吗?能不能分享一下看看

明年将快量

发表于 2021-8-3 10:57:14 | 显示全部楼层

顶下

521EA.com

发表于 2022-7-21 23:01:32 | 显示全部楼层

iuhiu

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

EA之家评论守则