Overall Statistics
Total Trades
1
Average Win
0%
Average Loss
0%
Compounding Annual Return
-16.952%
Drawdown
0.100%
Expectancy
0
Net Profit
-0.102%
Sharpe Ratio
-15.663
Probabilistic Sharpe Ratio
0%
Loss Rate
0%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
0
Beta
0
Annual Standard Deviation
0.008
Annual Variance
0
Information Ratio
-15.663
Tracking Error
0.008
Treynor Ratio
0
Total Fees
$0.00
Estimated Strategy Capacity
$1300000.00
class BasicTemplateAlgorithm(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2017, 2, 4)
        self.SetEndDate(2017, 2, 5)
        self.SetCash(5000)

        self.pair = self.AddForex("EURUSD", Resolution.Hour).Symbol

        self.previousPortfolioValue = None #self.Portfolio.TotalPortfolioValue

        self.buyPrice = None

    def OnData(self, data):
        if not self.Portfolio.Invested:
            self.SetHoldings(self.pair, 1)
        #else:
            #self.SetHoldings(self.pair, 0)
        
        if self.previousPortfolioValue is not None:
            realProfit = (self.Portfolio.TotalPortfolioValue - self.previousPortfolioValue) / self.previousPortfolioValue
            self.Plot("Profit", "real", realProfit)
        self.previousPortfolioValue = self.Portfolio.TotalPortfolioValue

        quoteBar = data[self.pair] 
        if self.buyPrice is not None:
            sellPrice = quoteBar.Bid.Close
            profitPercentage = (sellPrice - self.buyPrice) / self.buyPrice
            self.Plot("Profit", "my", profitPercentage)
        self.buyPrice = quoteBar.Ask.Close
        
        self.Log(f"USD Remaining: {self.Portfolio.CashBook['USD']}")