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)就是获得该订单的当前利润)。
刚接触EA,很多都不懂,在学习中。
请问各位高手,如果我需要读取一个已有的,正在持有的订单的,当前利润,下单方向,设置的止损位置,应该用什么函数读取啊?可以举个例子吗?谢谢了