如何更精准统计货币对最大浮亏

By 小熊 at 2018-03-13 • 0人收藏 • 428人看过

如何更精准统计货币对最大浮亏

//********************当前货币对最大浮亏*****************************
double  Maxforkui()
{    
    //double Maxforkui=0;
    double AllProfit=0;
    for (int i =OrdersTotal() - 1 ; i >= 0; i--)
      {
         OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() == Symbol())
         {
           AllProfit=AllProfit+OrderProfit();
         }
      }
  if (AllProfit<0 && AllProfit < Maxforkui) Maxforkui=AllProfit;    
 return(Maxforkui);    
}


我用此方法为什么会不准,有没更好的方法


4 个回复 | 最后更新于 2018-03-13
2018-03-13   #1

//*****************账户最大回撤*********************************************
double DrawDown()
{
   double DD=AccountBalance()-AccountEquity();
   if(DD>DDBuffer)DDBuffer=DD;
   return(DDBuffer);
}


账户回撤是准的,但多货币对交易时,想分开统计

2018-03-13   #2

回复#1 @小熊 :

你应该在代码里加入if(DD>DDBuffer)DDBuffer=DD;像这样的条件判断,只有在浮亏金额小于前值时才更新。

另外如果要分货币对统计的话,就只能得出最大回撤的金额,算不出最大回撤的百分比的。

2018-03-13   #3

 if (AllProfit<0 && AllProfit < Maxforkui) Maxforkui=AllProfit;    

你这么写应该是对的 ,声明全局变量Maxforkui初始化为0

2018-03-13   #4

好的,我再试试,多谢

登录后方可回帖

Loading...