请问读取现有手持单每单的利润,持单方向的函数是什么啊?

 

刚接触EA,很多都不懂,在学习中。

请问各位高手,如果我需要读取一个已有的,正在持有的订单的,当前利润,下单方向,设置的止损位置,应该用什么函数读取啊?可以举个例子吗?谢谢了

 


double buyyl,sellyl,buylots1,selllots1;

   int tongji8=tongji8( buyyl,sellyl,buylots1,selllots1);

//==============================================

int tongji8(double &buyyl,double &sellyl ,double &buylots,double &selllots     )


  {
   int a=0;   buyyl=0;sellyl=0; buylots=0;selllots=0;
  for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
        {
        if(OrderSymbol()==Symbol()&&OrderType()==OP_BUY ){a++;buyyl=buyyl+OrderProfit()+OrderCommission()+OrderSwap();}
        if(OrderSymbol()==Symbol()&&OrderType()==OP_SELL ){a++;sellyl=sellyl+OrderProfit()+OrderCommission()+OrderSwap();}
        if(OrderSymbol()==Symbol()&&OrderType()==OP_BUY ){a++;buylots=buylots+OrderLots();}
        if(OrderSymbol()==Symbol()&&OrderType()==OP_SELL ){a++;selllots=selllots+OrderLots();}
        
        
         
        }
     }
   return(a);
  }
 
151460270:

刚接触EA,很多都不懂,在学习中。

请问各位高手,如果我需要读取一个已有的,正在持有的订单的,当前利润,下单方向,设置的止损位置,应该用什么函数读取啊?可以举个例子吗?谢谢了

1楼写的是mt4上获取数据的方法,mt5会区分订单,持仓单和历史单,分别有各自的函数体系和枚举类型,比如获取持仓订单信息首先也要选择持仓单,但是不能用orderselect函数了(mt5种它是挂单的选择函数),而应该用PositionSelect和PositionSelectByTicket函数,两者区别是前者应用于净值模式交易账户,后者用的时候还要用PositionGetTicket获取持仓单号选择。

选择完成后,读取订单相关信息用PositionInfo******函数(星号内容为根据要获取的数据类型区别,如需要交易品种就用PositionInfoString函数),然后在参数里填入需要的数据枚举类型就可以了(比如PositionInfoDouble(POSITION_PROFIT)就是获得该订单的当前利润)。

原因: