Hi, I want to implement a risk management function but it seems with ou without my algo is returning the same stats.So I would like to know what doesn't work in my implementation.

Thank You

class MaximumDrawdownPercentPortfolio(RiskManagementModel): def __init__(self, maximumDrawdownPercent = 0.15, isTrailing = False): self.maximumDrawdownPercent = -abs(maximumDrawdownPercent) self.isTrailing = isTrailing self.initialised = False self.portfolioHigh = 0; def ManageRisk(self, algorithm, targets): currentValue = algorithm.Portfolio.TotalPortfolioValue if not self.initialised: self.portfolioHigh = currentValue # Set initial portfolio value self.initialised = True # Update trailing high value if in trailing mode if self.isTrailing and self.portfolioHigh < currentValue: self.portfolioHigh = currentValue return [] # return if new high reached pnl = self.GetTotalDrawdownPercent(currentValue) if pnl < self.maximumDrawdownPercent: return self.Liquidate() return [] def GetTotalDrawdownPercent(self, currentValue): return (float(currentValue) / float(self.portfolioHigh)) - 1.0