Expected Behavior
WinRate is defined as "The ratio of the number of winning days to the total number of days" or use the definition of winning aording to a close trade.
Actual Behavior
WinRate is defined as "The ratio of the number of winning trades to the total number of trades"
which is misleading because it is calculated as follows:
foreach (var pair in profitLoss)
{
var tradeProfitLoss = pair.Value;
if (tradeProfitLoss > 0)
{
totalProfit += tradeProfitLoss / runningCapital;
totalWins++;
}
else
{
totalLoss += tradeProfitLoss / runningCapital;
totalLosses++;
}
runningCapital += tradeProfitLoss;
}
var totalTrades = totalWins + totalLosses;
WinRate = totalTrades == 0 ? 0 : (decimal) totalWins / totalTrades;
Potential Solution
We can fix the docs or use WinRate, as defined in the TradeStatistics class, which takes into account closed trades (exit and entry).
EDIT: We see the same issue for LossRate, AverageWinRate and AverageLossRate.
Reproducing the Problem
N/A
Checklist
Expected Behavior
WinRate is defined as "The ratio of the number of winning days to the total number of days" or use the definition of winning aording to a close trade.
Actual Behavior
WinRate is defined as "The ratio of the number of winning trades to the total number of trades"
which is misleading because it is calculated as follows:
Potential Solution
We can fix the docs or use WinRate, as defined in the
TradeStatisticsclass, which takes into account closed trades (exit and entry).EDIT: We see the same issue for LossRate, AverageWinRate and AverageLossRate.
Reproducing the Problem
N/A
Checklist
masterbranch