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 ### <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): '''Initialise the data and resolution required, as well as the cash and start-end dates for your algorithm. All algorithms must initialized.''' self.SetStartDate(2017,1, 1) #Set Start Date self.SetEndDate(2017,7,31) #Set End Date self.SetCash(5000) #Set Strategy Cash # Find more symbols here: http://quantconnect.com/data #self.AddEquity("SPY", Resolution.Second) #self.Debug("numpy test >>> print numpy.pi: " + str(np.pi)) # request the forex data self.AddForex("EURGBP", Resolution.Hour, Market.Oanda) self.SetBrokerageModel(BrokerageName.OandaBrokerage) self.Debug("Initilize is complete") 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.rsi = self.RSI("EURGBP", 14) self.Debug("RSI variable was set") if self.Portfolio["EURGBP"].Invested <= 0 and self.rsi.IsReady: if self.RSI("EURGBP", 14) < 30: self.Debug("RSI is less then 30") self.MarketOrder("EURGBP", 25000) self.Debug("Market order was placed") if self.rsi.IsReady: if self.RSI("EURGBP", 14) > 70: self.Debug("RSI is greater then 70") self.Transactions.CancelOpenOrders("EURGBP") self.Debug("Market order was closed") #if not self.Portfolio.Invested: # self.SetHoldings("SPY", 1)