Overall Statistics
Total Trades
6
Average Win
9.53%
Average Loss
-0.35%
Compounding Annual Return
8.780%
Drawdown
24.400%
Expectancy
18.020
Net Profit
18.380%
Sharpe Ratio
0.373
Probabilistic Sharpe Ratio
16.061%
Loss Rate
33%
Win Rate
67%
Profit-Loss Ratio
27.53
Alpha
0.118
Beta
-0.035
Annual Standard Deviation
0.308
Annual Variance
0.095
Information Ratio
0.051
Tracking Error
0.334
Treynor Ratio
-3.307
Total Fees
$0.00
import numpy as np

### <summary>
### Basic template algorithm simply initializes the date range and cash. This is a skeleton
### framework you can use for designing an algorithm.
### </summary>
class BasicTemplateAlgorithm(QCAlgorithm):
    '''Basic template algorithm simply initializes the date range and cash'''

    def Initialize(self):
        self.SetStartDate(2017,7, 31)  #Set Start Date
        self.SetEndDate(2019,7,31)    #Set End Date
        self.SetCash(5000)           #Set Strategy Cash
        self.AddForex("EURGBP", Resolution.Daily, Market.Oanda)
        self.SetBrokerageModel(BrokerageName.OandaBrokerage) 
        self.rsi = self.RSI("EURGBP", 14)

    def OnData(self, data):
        
        if not self.rsi.IsReady: 
            return
    
        if self.rsi.Current.Value < 30 and self.Portfolio["EURGBP"].Invested <= 0:
            self.Debug("RSI is less then 30")
            self.MarketOrder("EURGBP", 25000)
            self.Debug("Market order was placed")
        
        if self.rsi.Current.Value > 70:
            self.Debug("RSI is greater then 70")
            self.Liquidate()
            
    def OnEndOfDay(self):
        self.Plot("Indicators","RSI", self.rsi.Current.Value)