| 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 Probabilistic 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 |
from collections import *
class MulitTimeFrameCharts(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2019, 1, 3) #Set Start Date
self.SetEndDate(2019, 1, 4) #Set End Date
self.SetCash(10000) #Set Strategy Cash
self.forexPair = "EURUSD"
self.AddForex(self.forexPair, Resolution.Minute, Market.Oanda)
self.SetBrokerageModel(BrokerageName.OandaBrokerage);
self.Consolidate(self.forexPair,timedelta(minutes=5),self.fiveMinutesBarHandler)
self.Consolidate(self.forexPair, timedelta(minutes=60),self.sixtyMinutesBarHandler)
self.BarHistoryWindow = 5
#Set up EMA indicators for lookback periods 21, 13 and 8 for both five minutes and 60 minutes time frames
self.longLookBackPeriod = 21
self.mediumLookBackPeriod = 13
self.shortLookBackPeriod = 8
self.percentageOfPortfolioRiskedPerTrade = 0.005
self.emaFiveMinsLong = ExponentialMovingAverage(self.longLookBackPeriod)
self.RegisterIndicator(self.forexPair, self.emaFiveMinsLong ,timedelta(minutes=5))
self.emaFiveMinsMedium = ExponentialMovingAverage(self.mediumLookBackPeriod)
self.RegisterIndicator(self.forexPair, self.emaFiveMinsMedium ,timedelta(minutes=5))
self.emaFiveMinsShort = ExponentialMovingAverage(self.shortLookBackPeriod)
self.RegisterIndicator(self.forexPair, self.emaFiveMinsShort ,timedelta(minutes=5))
self.emaSixtyMinsLong = ExponentialMovingAverage(self.longLookBackPeriod)
self.RegisterIndicator(self.forexPair, self.emaSixtyMinsLong ,timedelta(minutes=60))
self.emaSixtyMinsShort = ExponentialMovingAverage(self.shortLookBackPeriod)
self.RegisterIndicator(self.forexPair, self.emaSixtyMinsShort ,timedelta(minutes=60))
def fiveMinutesBarHandler(self,consolidated):
self.Plot("5m","5mEMA21",self.emaFiveMinsLong.Current.Value)
self.Plot("5m","5mEMA13", self.emaFiveMinsMedium.Current.Value)
self.Plot("5m","5mEMA8", self.emaFiveMinsShort.Current.Value)
self.Plot("5m","EURUSD", consolidated.Close)
def sixtyMinutesBarHandler(self,consolidated):
self.Plot("60m","EMA21",self.emaSixtyMinsLong.Current.Value)
self.Plot("60m","EMA8", self.emaSixtyMinsShort.Current.Value)
self.Plot("60m","EURUSD", consolidated.Close)