Overall Statistics
Total Trades
1
Average Win
0%
Average Loss
0%
Compounding Annual Return
0%
Drawdown
0%
Expectancy
0
Net Profit
0%
Sharpe Ratio
0
Probabilistic Sharpe Ratio
0%
Loss Rate
0%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
0
Beta
0
Annual Standard Deviation
0
Annual Variance
0
Information Ratio
0
Tracking Error
0
Treynor Ratio
0
Total Fees
$1.71
class MyMainAlgo(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2019, 8, 2)  # Set Start Date
        self.SetEndDate(2019,8,4)
        self.SetCash(100000)  # Set Strategy Cash
        self.AddEquity("SPY", Resolution.Minute)
        self.myStocks = ['GOOG','AAPL']
        self.maxPain = 400.00
        self.maxProfit = 0.00
        self.sub = MySubModule(self)
 
    
    
    def printMaxPain(self):
        self.Log("Max pain is {} " .format(self.maxPain))

    def OnData(self, data):
        '''OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.
            Arguments:
                data: Slice object keyed by symbol containing the stock data
        '''
        self.Log("before subroutine value maxProfit {}" . format(self.maxProfit))
        self.sub.Update()
        self.Log("after subroutine value maxProfit {}" . format(self.maxProfit))

        if not self.Portfolio.Invested:
            self.SetHoldings("SPY", 1)
        
class MySubModule(AlphaModel):
    def __init__(self,algorithm):
        self.algo = algorithm
        self.algo.maxProfit = 100.00
        
    def Update(self):
        self.algo.printMaxPain()
        #self.algo.maxProfit = 100.00