老周 发表于 2017-5-12 14:20:02

统计区段时间内的盈利情况

这2天发现一种更为快速统计区段时间内的盈利情况的方法,利用MT4自带的时间间隔。

double ProfitHisAll(int md=0)

{

   int    i,j,t = OrdersHistoryTotal();

   double profit = 0.0;

   for(i = t-1; i >= 0; i--)

   {

   if(!OrderSelect(i, SELECT_BY_POS,MODE_HISTORY))continue;

   if(NormalizeDouble(OrderMagicNumber()/1000.0-Magic,0) != 0.0)continue;

   if(OrderType()>1)continue;

   j = iBarShift(OrderSymbol(),PERIOD_W1,OrderCloseTime());

   if(md==1 && j>0)continue;

   if(md==2 && j!=1)continue;

   profit += OrderProfit()-MathAbs(OrderCommission())-MathAbs(OrderSwap());

   }

   return(profit);

}


默认md==0,统计所有,md==1,只统计本周的(换一下,只统计当天或当月的),md==2,只统计上周的。

该代码自动规避周末,简洁明了。

页: [1]
查看完整版本: 统计区段时间内的盈利情况