客服热线:18391752892

统计某个时间段的总成交单数和总成交量【源码】

   日期:2019-01-12     浏览:431    
马上注册,结交更多好友,下载更多资源

您需要 登录 才可以下载或查看,没有帐号?注册 //+------------------------------------------------------------------+
//|                                   统计交易量.mq4 |
//|                  统计某个时间段内的已成交订单的总交易单数 |
//|                                   QQ:1053029 |
//+------------------------------------------------------------------+
#property copyright Copyright,老头,QQ:10353029
#property show_inputs
extern datetime startTime=D'2014.10.26',endTime=D'2014.10.31';
int start()
{
     int    iLots = iCountOrdersLots( startTime, endTime );
     string str   = 账户:        + AccountNumber() +  nn +
                时间段:        + TimeToStr(startTime,TIME_DATE) + ~ + TimeToStr(endTime,TIME_DATE) + nn +
                总成交单数:    + iCountOrdersTotal( startTime, endTime ) + 单nn +
                已平仓总交易量: + iCountOrdersLots( startTime, endTime )   + 手
     
     MessageBox(str, 注意 ,MB_OK);
     return(0);
}
//+------------------------------------------------------------------+
//| 函数名称:iCountOrdersTotal()                         |
//| 函数功能:统计某个时间段内的已成交订单的总交易单数           |
//| 函数参数:datetime timeStart = 统计交易量的开始时间         |
//|       datetime timeEnd   = 统计交易量的结束时间         |
//| 函数说明:                                      |
//| 返 回 值:时段内的总成交单数                          |
//+------------------------------------------------------------------+
double iCountOrdersTotal( datetime timeStart, datetime timeEnd )
{   
     int    iOrdTrade = 0;     
     
        
     int    orders = OrdersHistoryTotal();
     for(int i=0;i orders-1;i++)
     {
         if( OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) (OrderType() =OP_SELL) )
         {
             iOrdTrade++;
         }
     } 
     return(iOrdTrade);
}
//+------------------------------------------------------------------+
//| 函数名称:iCountOrdersLots()                          |
//| 函数功能:统计某个时间段内的已成交订单的总交易手数           |
//| 函数参数:datetime timeStart = 统计交易量的开始时间         |
//|       datetime timeEnd   = 统计交易量的结束时间         |
//| 函数说明:                                      |
//| 返 回 值:时段内的总成交手数                          |
//+------------------------------------------------------------------+
double iCountOrdersLots( datetime timeStart, datetime timeEnd )
{   
     int    iTicket[500];     
     int    iOrdTrade = 0;     
     double LotsSum   = 0;     
     
        
     int    orders = OrdersHistoryTotal();
     for(int i=0;i orders-1;i++)
     {
         if( OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) (OrderType() =OP_SELL) )
         {
             iTicket[iOrdTrade] = OrderTicket();
             iOrdTrade++;
         }
     }     
     
     for( i=0; i iOrdTrade-1; i++ )
     {
         if( OrderSelect(iTicket,SELECT_BY_TICKET,MODE_HISTORY) )
         {                   
              
             datetime dStart = StrToTime( TimeToStr(timeStart,     TIME_DATE) );
             datetime dEnd   = StrToTime( TimeToStr(timeEnd,     TIME_DATE) );
             datetime dOrder = StrToTime( TimeToStr(OrderOpenTime(),TIME_DATE) );
             
             if( dOrder =dStart dOrder =dEnd )
             {
                 LotsSum += OrderLots();             
             }
         }else{
             //if( MessageBox( 订单选择错误: +iTicket, 注意 ,MB_YESNO) ==IDNO )break;
         }   
     }
     return(LotsSum);
}

外汇交易有很大的风险性,本站所有资源均来自网络,请选择使用,如若出现亏损,本站不承担任何责任!


特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关行情
推荐行情
点击排行