MT5 遍历史订单信息

该代码段展示了如何使用MQL5语言在MetaTrader 5交易平台中获取特定货币对、魔术幻数、进出类型和订单方向的历史交易订单信息。函数遍历历史交易,筛选符合条件的订单,并打印或评论相关信息,包括订单币种、交易量、类型、订单号、魔术幻数、开盘价等。
摘要由CSDN通过智能技术生成

//--MT5 冻龄男孩

void   交易类:: 历史订单信息(string 币种,long Magic,ulong 起始时间,ENUM_DEAL_ENTRY 进出,ENUM_DEAL_TYPE 方向,int 倒数第几=1,ulong 截止时间=1,bool 是否打印=false)
  {
   long magic=魔术幻数(Magic);
   int 计数=0;
   HistorySelect(起始时间,截止时间);
   for(int i=HistoryDealsTotal()-1; i>=0; i--)
     {
      if(HistoryDealGetTicket(i)>0&&HistoryDealGetString(HistoryDealGetTicket(i),DEAL_SYMBOL)==币种&&HistoryDealGetInteger(HistoryDealGetTicket(i),DEAL_MAGIC)==magic&&HistoryDealGetInteger(HistoryDealGetTicket(i),DEAL_ENTRY)==进出)
        {
         if(HistoryDealGetInteger(HistoryDealGetTicket(i),DEAL_TYPE)==方向)
           {
            string         历史持仓币种=HistoryDealGetString(HistoryDealGetTicket(i),DEAL_SYMBOL);
            double         历史持仓交易量=HistoryDealGetDouble(HistoryDealGetTicket(i),DEAL_VOLUME);
            //  double         历史持仓止损=HistoryDealGetDouble(HistoryDealGetTicket(i),DEAL_SL);
            //  double         历史持仓止盈=HistoryDealGetDouble(HistoryDealGetTicket(i),DEAL_TP);
            ENUM_DEAL_TYPE 历史持仓类型=(ENUM_DEAL_TYPE)HistoryDealGetInteger(HistoryDealGetTicket(i),DEAL_TYPE);  // 持仓类型
            long           历史持仓订单号=HistoryDealGetInteger(HistoryDealGetTicket(i),DEAL_TICKET);
            ulong          历史持仓magic=HistoryDealGetInteger(HistoryDealGetTicket(i),DEAL_MAGIC);
            string         历史持仓注释=HistoryDealGetString(HistoryDealGetTicket(i),DEAL_COMMENT);
            double         历史持仓开盘价=HistoryDealGetDouble(HistoryDealGetTicket(i),DEAL_PRICE);
            long           历史持仓开盘服务器时间=HistoryDealGetInteger(HistoryDealGetTicket(i),DEAL_TIME);
            long           历史持仓开盘电脑时间=HistoryDealGetInteger(HistoryDealGetTicket(i),DEAL_TIME)-TimeCurrent()+TimeLocal();
            ulong          历史ID=HistoryDealGetInteger(HistoryDealGetTicket(i),DEAL_POSITION_ID);
            Comment(
               "历史单信息更新\n"+
               (string)历史持仓币种+ "\n",
               (string)历史持仓交易量+ "\n",
               //    (string)历史持仓止损+ "\n",
               //    (string)历史持仓止盈+ "\n",
               (string)历史持仓类型 + "\n",// 持仓类型
               (string)历史持仓订单号+ "\n",
               (string)历史持仓magic+ "\n",
               (string)历史持仓注释+ "\n",
               (string)历史持仓开盘价+ "\n",
               (string)历史持仓开盘服务器时间+ "\n",
               (string)历史持仓开盘电脑时间+ "\n",
               (string)历史ID);
            if(是否打印)
               Print(
                  "历史单信息更新\n"+
                  (string)历史持仓币种+ "\n",
                  (string)历史持仓交易量+ "\n",
                  //      (string)历史持仓止损+ "\n",
                  //      (string)历史持仓止盈+ "\n",
                  (string)历史持仓类型 + "\n",// 持仓类型
                  (string)历史持仓订单号+ "\n",
                  (string)历史持仓magic+ "\n",
                  (string)历史持仓注释+ "\n",
                  (string)历史持仓开盘价+ "\n",
                  (string)历史持仓开盘服务器时间+ "\n",
                  (string)历史持仓开盘电脑时间+ "\n",
                  (string)历史ID);
            计数++;
            if(计数==倒数第几)
               break;
           }
        }
     }
  }
//+------------------------------------------------------------------+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大树My05613828

致力编写用户一看就懂的编程逻辑

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值