记录当前订单的最大浮赢,最大浮亏,怎么用代码表示出来。求大神解答。
必须先 OrderSelect(...) 才可以调用 OrderXXX函数
for(int i=0;i<=OrdersTotal();i++)
应该是 i<OrdersTotal()
真的是獻醜了 刪掉本來的帖........
下次要在狀況下才能回帖
我想把当前持仓订单总盈利最大的时候的那个价格保存下来,完整代码怎么表达,谢谢大佬给我说下
参考代码,注意没有区分Symbol,MagicNumber,根据你的情况修改。
//+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- static double max =0, min =0; if(OrdersTotal()==0) { max=0; min=0;} if(TotalProfit()>max)max=TotalProfit(); if(TotalProfit()<min)min=TotalProfit(); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ double TotalProfit() { double sum = 0; for(int i=OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS)) { if(OrderType()<=1) { sum += OrderProfit() + OrderCommission() + OrderSwap(); } } } return(sum); } //+------------------------------------------------------------------+
应该要在外部记录数据,不然EA遇到意外重启,就找不到最大值了