Overall Statistics
Total Trades
257
Average Win
0.00%
Average Loss
0.00%
Compounding Annual Return
-7.082%
Drawdown
0.100%
Expectancy
-0.252
Net Profit
-0.054%
Sharpe Ratio
-5.555
Loss Rate
79%
Win Rate
21%
Profit-Loss Ratio
2.55
Alpha
-0.111
Beta
7.125
Annual Standard Deviation
0.008
Annual Variance
0
Information Ratio
-6.843
Tracking Error
0.008
Treynor Ratio
-0.006
Total Fees
$0.00
import numpy as np


class BasicTemplateAldgorithm(QCAlgorithm):


    def Initialize(self):
        # Set the cash we'd like to use for our backtest
        # This is ignored in live trading 
        self.SetCash(1000)
        
        # Start and end dates for the backtest.
        # These are ignored in live trading.
        self.SetStartDate(2016,6,1)
        self.SetEndDate(2016,6,3)
        
        # Set Brokerage model to load OANDA fee structure.
        self.SetBrokerageModel(BrokerageName.OandaBrokerage)
        self.SetWarmUp(20)
        # Add assets you'd like to see
        self.eurusd = self.AddForex("EURUSD", Resolution.Minute)
        self.usdcad = self.AddForex("USDCAD", Resolution.Minute)


        self.eurusd_bb = self.BB("EURUSD", 16, 2.0, MovingAverageType.Simple, Resolution.Minute)
        self.usdcad_bb = self.BB("USDCAD", 16, 2.0, MovingAverageType.Simple, Resolution.Minute)

    def OnData(self, data):
        # Simple buy and hold template
        if self.IsWarmingUp: return
        self.eurusd_holding = self.Portfolio['EURUSD'].Quantity
        self.usdcad_holding = self.Portfolio['USDCAD'].Quantity
        
        if(data["EURUSD"].Ask.Open > self.eurusd_bb.UpperBand.Current.Value):
            #self.percent = .05
            self.SetHoldings('EURUSD', .05, True)
            
        elif(data["EURUSD"].Ask.Open <= self.eurusd_bb.MiddleBand.Current.Value):
            self.SetHoldings('EURUSD', 0, True)