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 |
namespace QuantConnect { public class ConsolidatorAlgorithm : QCAlgorithm { private readonly Resolution _resolution = Resolution.Hour; private readonly string _ticker = "ETHUSD"; private readonly int _startingCash = 2000; private readonly int _fastPeriod = 12; private ExponentialMovingAverage _fastEmaCustomTimeFrame; private ExponentialMovingAverage _fastEmaStandardResolution; private string _baseSymbol; public override void Initialize() { SetStartDate(2017, 1,1); //Set Start Date SetEndDate(2017, 1, 2); //Set End Date SetCash(_startingCash); //Set Strategy Cash QuantConnect.Securities.Crypto.Crypto crypto = AddCrypto(_ticker, _resolution); _baseSymbol = crypto.BaseCurrencySymbol; SetBrokerageModel(BrokerageName.Bitfinex, AccountType.Cash); TradeBarConsolidator consolidator = new TradeBarConsolidator(TimeSpan.FromHours(1)); SubscriptionManager.AddConsolidator(_ticker, consolidator); consolidator.DataConsolidated += OnCustomHandler; _fastEmaCustomTimeFrame = EMA(_ticker, _fastPeriod); _fastEmaStandardResolution = EMA(_ticker, _fastPeriod, _resolution); RegisterIndicator(_ticker, _fastEmaCustomTimeFrame, consolidator); var history = History<TradeBar>(_ticker, 12); foreach (var bar in history) { _fastEmaCustomTimeFrame.Update(bar.EndTime, bar.Close); _fastEmaStandardResolution.Update(bar.EndTime, bar.Close); } } public void OnCustomHandler(object sender, TradeBar data) { if (!_fastEmaCustomTimeFrame.IsReady && !_fastEmaStandardResolution.IsReady) { return; } Log($"ema custom time frame: {_fastEmaCustomTimeFrame}"); } public void OnData(TradeBars data) { if (!_fastEmaCustomTimeFrame.IsReady && !_fastEmaStandardResolution.IsReady) { return; } Log($"ema standard time resolution: {_fastEmaStandardResolution}"); } } }