21评论

0收藏

求助写一个晚上2点55分自动平掉所有仓位的EA

avatar LIJIASHUANG | 7841 人阅读 | 21 人评论 | 2014-12-18

本帖最后由 LIJIASHUANG 于 2014-12-18 16:44 编辑

求助写一个晚上2点55分自动平掉所有仓位的EA

各位大师好,本人主要做德国指数,但由于他隔天跳空点数很大(常常100多点),我都是当日在收盘前全部单子都平掉。
但由于要上班,晚上12:00就要休息了。可是,有时12:00手上还有趋势单在手上,这时平了又可惜了。如果开着电脑,到了晚上2:55分电脑能自动平仓就好了,那位帮我写一个晚上2:55分自动平仓的EA,万分感谢!

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

评论|共 21 个

admin

发表于 2014-12-18 16:49:57 | 显示全部楼层

lixun66

发表于 2014-12-18 16:49:58 | 显示全部楼层


呵呵

igsnefek

发表于 2014-12-18 16:55:50 | 显示全部楼层

亏损中……………………

A6113709

发表于 2014-12-18 16:58:06 | 显示全部楼层

定时平仓.zip

setalong

发表于 2014-12-18 16:58:59 | 显示全部楼层

xiexiefenxiang

yongjie612

发表于 2014-12-18 18:08:39 | 显示全部楼层

//+------------------------------------------------------------------+
//|                                                        14点开仓.mq4 |
//|                        Copyright 2014, MetaQuotes Software Corp. |
//|                                                     http://www.m |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link      "http://www.m"
#property version   "1.00"
#property strict
input int      openhour;
input int      openminite;
input int      openseconds;
input int      closehour;
input int      closeminut;
input int      closeseconds;

input int      deadclosehour;
input int      deadcloseminut;
input int      deadcloseseconds;
input double  toplosepersent=0.1;



double   stoplose;
double closeprice_14hour=0.0;

double  calclots()
{
  return (AccountBalance()*toplosepersent)/stoplose;
}

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
//---  
       stoplose=(iATR(NULL,PERIOD_D1,12,0)*10000);
       if((Hour()==openhour) && (Minute()==openminite) /*&& (Seconds()==openseconds)*/)
       {
         order_open();
       }
       if( (Hour()==closehour) && (Minute()==closeminut) /*&& (Seconds()==closeseconds)*/)
       {
         order_close();
       }
       if( (Hour()==deadclosehour) && (Minute()==deadcloseminut) /*&& (Seconds()==deadcloseseconds)*/)
       {  
         closeall();
       }
       return;
        
  }
//+------------------------------------------------------------------+

void order_open()
{
  closeprice_14hour=0.0;
  if(OrdersTotal()>0)  return;
  
     if(iMACD(NULL,1,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0)>0)//开多单
     
        {
          if(OrderSend(Symbol(),OP_BUY,calclots(),Ask,3,Ask-stoplose*Point*10,0,"14点的买单",12345,0,Green)<0)
             {
              printf("ordersend error",GetLastError());
               return;
             }
            
            
        }
     if(iMACD(NULL,1,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0)<0)
     {
        if(OrderSend(Symbol(),OP_SELL,calclots(),Bid,3,Bid+stoplose*Point*10,0,"14点的卖单",12345,0,Green)<0)
             {
              printf("ordersend error",GetLastError());
               return;
             }
     }
     if(iMACD(NULL,15,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0)==0)
     {
       return ;
     }
  
  return;
}
void closeall()
{
  
  
  
  int total=OrdersTotal();
  int cnt=0;
  if (total<1) return ;
  
  
  for(cnt=0;cnt<total;cnt++)
  {
     if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)==TRUE)            ///仅仅有一个单子
        {
          if(OrderType()==OP_BUY)
          {     
            
                if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet))
                 {
                   Print("OrderClose error ",GetLastError());
                   return ;
                  }
              
         
           }
         
           if(OrderType()==OP_SELL)
           {
            
                 if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet))
                   {
                    Print("OrderClose error ",GetLastError());
                    return ;
                   }
              
           }     
          }
  }
  
return;
}

void order_close()
{

int total=OrdersTotal();

  int cnt=0;
  if (total<1) return ;
  
  
  for(cnt=0;cnt<total;cnt++)
  {
     if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)==TRUE)            ///仅仅有一个单子
        {
          if(OrderType()==OP_BUY)
          {     
             if(iClose(NULL,15,0)>iClose(NULL,15,18))
              {Print("多单10点30平仓");
                if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet))
                 {
                   Print("OrderClose error ",GetLastError());
                   return ;
                  }
              }
              
         
           }
         
           if(OrderType()==OP_SELL)
           {
              if(iClose(NULL,15,0)<iClose(NULL,15,18))
                {Print("空单10点30平仓");
                 if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet))
                   {
                    Print("OrderClose error ",GetLastError());
                    return ;
                   }
                }
              
           }     
          }
  }
  
return;
        
}

        

chinahugo

发表于 2015-1-14 12:56:52 | 显示全部楼层

支持楼主

金银汇si

发表于 2015-1-14 19:25:23 | 显示全部楼层

看看吧,谢谢分享

MR朱

发表于 2015-1-25 21:48:14 | 显示全部楼层

[s:136]看看学习一下11111111

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

EA之家评论守则