Overall Statistics |
Total Trades 0 Average Win 0% Average Loss 0% Compounding Annual Return 0% Drawdown 0% Expectancy 0 Net Profit 0% 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 $0.00 |
import numpy as np class BasicTemplateAlgorithm(QCAlgorithm): def Initialize(self): # Set the cash we'd like to use for our backtest # This is ignored in live trading self.SetCash(5000) # Start and end dates for the backtest. # These are ignored in live trading. self.SetStartDate(2017,1,1) self.SetEndDate(2017,6,1) # Add assets you'd like to see self.AddForex("EURUSD", Resolution.Minute), self.AddForex("GBPUSD", Resolution.Minute), self.AddForex("EURGBP", Resolution.Minute) self.slow = self.EMA('EURUSD', 6, Resolution.Daily) self.fast = self.EMA('EURUSD', 15, Resolution.Daily) stockPlot = Chart('Trade Plot') # On the Trade Plotter Chart we want 3 series: trades and price: stockPlot.AddSeries(Series('Slow', SeriesType.Line, 0)) stockPlot.AddSeries(Series('Fast', SeriesType.Line, 0)) self.AddChart(stockPlot) def OnData(self, data): self.Plot('Trade Plot', 'Slow', self.slow.Current.Value) self.Plot('Trade Plot', 'Fast', self.fast.Current.Value) holdings = self.Portfolio["EURUSD"].Quantity if holdings <= 0: if self.fast.Current.Value > self.slow.Current.Value: # The Securities property is a dictionary of Security objects. # Each asset (equity, forex pair etc) in your algorithm has a security object. # All the models for a security live on these objects: e.g. Securities["IBM"]. # FeeModel or Securities["IBM"].Price. # Portfolio is a dictionary of SecurityHolding classes. # These classes track the individual portfolio items profit and # losses, fees and quantity held. e.g. Portfolio["IBM"].LastTradeProfit. self.Log("BUY >> {0}".format(self.Securities["EURUSD"].Price)) self.SetHoldings("SPY", 1.0)