智能交易网,程序化交易,自动交易,量化交易

 找回密码
 注册

QQ登录

只需一步,快速开始

手机短信登录

参加MT4智能交易编程培训,7课免费在线试听MT4指标,EA代写,或EA指标加密账户远程验证服务 最完善商业MT4跟单系统(0.1秒极速响应不漏单)为论坛做贡献有奖学金,奖学金可直接换真钱
扫本站微信公 众号部分视频课程指标EA免费得智能交易网MT4操盘神器,扫公众号免费得苏城码APP 
查看: 3377|回复: 3

跪求查询历史订单中最近一次亏损单的方法

[复制链接]
发表于 2016-4-18 19:58:26 | 显示全部楼层 |阅读模式
跪求查询历史订单中最近一次亏损单的方法


OrderSelect(0,SELECT_BY_POS,MODE_HISTORY),这貌似是在查询最早一次的单,请问有倒叙的查法吗?
另外datatime型的是不是不能比大小。。。。



EA菜鸟一枚,请各位大神不要嫌弃,望赐教,谢谢
回复

使用道具 举报

发表于 2016-4-26 22:10:32 | 显示全部楼层
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
      {
           if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)
              {
                 if(OrderProfit()<0){}
                 break;
                }
    } 希望能帮到你
回复 支持 1 反对 0

使用道具 举报

发表于 2016-5-22 22:11:48 | 显示全部楼层
void tip2()
{
   
   datetime Maxdatetime=D'2000.01.01 12:30:26';//定义一个日期变量
   int maxTicket=0;//用来记录最大日期的Ticket
   
   //遍历历史找到最大日期所属的OrderTicket,它是唯一的编号
   for(int i=OrdersHistoryTotal()-1;i>=0;i--)
   {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)
      {
         if(OrderCloseTime()>Maxdatetime && OrderProfit()<0)//在亏损单中查找最大日期
         {
            Maxdatetime=OrderCloseTime();
            maxTicket=OrderTicket();
         }
      }
   }
   //通过第一次循环找到了最大日期的Ticket
   
   //接下来用找的的Ticket定位到历史记录,然后......
   string s="";
   for(int i=OrdersHistoryTotal()-1;i>=0;i--)
   {
      if(OrderSelect(maxTicket, SELECT_BY_TICKET)==true)
      {
         //
         s="ID" +OrderTicket();
         s=s+"\n交易类型" + OrderType();
         s=s+"\n平仓时间" + OrderCloseTime();
         s=s+"\n盈利金额" + OrderProfit();
      }
   }
   Comment(s);
   
}
回复 支持 反对

使用道具 举报

发表于 2016-6-5 19:38:58 | 显示全部楼层
懂的装不懂差不多,威武,点个赞先。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|sitemap| 智能交易网,程序化交易,自动交易,量化交易 ( 苏ICP备08108698号,苏州智德金网络科技股份有限公司版权所有 )

GMT+8, 2020-6-5 16:57 , Processed in 0.102429 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表