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
Estimated Strategy Capacity
$0
Lowest Capacity Asset
using QuantConnect.Brokerages;
using QuantConnect.Data;
using QuantConnect.Data.Market;
using System;
using System.Collections.Generic;

namespace QuantConnect.Algorithm.CSharp
{
    public class CalmSkyBlueCamel : QCAlgorithm
    {
        private const string NATGAS = "natgasusd";

        private QuoteBar _minuteBar2 = null;
        private QuoteBar _minuteBar10 = null;

        public override void Initialize()
        {
            SetStartDate(2021, 5, 1);
            SetEndDate(2021, 5, 2);
            SetBrokerageModel(BrokerageName.OandaBrokerage);
            AddCfd(NATGAS, Resolution.Minute);
           // Consolidate(NATGAS, TimeSpan.FromMinutes(2), OnTwoMinBar);
            Consolidate(NATGAS, TimeSpan.FromMinutes(10), OnTenMinBar);
        }

        public void OnTwoMinBar(QuoteBar qb)
        {
            if (this._minuteBar2 != null
                && this._minuteBar2.Time == qb.Time)
            {
                var diff = this._minuteBar2.Open - qb.Open;
                Plot("OpenDiffs", "2m", diff);
                Debug($"[{qb.Time.TimeOfDay}->{qb.EndTime.TimeOfDay}] Diff={diff} - 1mOpen={this._minuteBar2.Open} 2mOpen={qb.Open}");
            }
        }

        public void OnTenMinBar(QuoteBar qb)
        {
            if (this._minuteBar10 != null
                && this._minuteBar10.Time == qb.Time)
            {
                var diff = this._minuteBar10.Open - qb.Open;
                Plot("OpenDiffs", "10m", diff);
                Debug($"[{qb.Time.TimeOfDay}->{qb.EndTime.TimeOfDay}] Diff={diff} - 1mOpen={this._minuteBar10.Open} 10mOpen={qb.Open}");
            }
            if (qb.EndTime.Minute == 50) Quit();
        }

        public override void OnData(Slice data)
        {
        	
            var bar = data.QuoteBars[NATGAS];
            Debug("Bar at " + data.Time + " has open " + bar.Open + " and is fill forward " + bar.IsFillForward);
            
            if (bar.Time.Minute % 2 == 0)
                this._minuteBar2 = bar;

            if (bar.Time.Minute % 10 == 0)
            {
            	//Debug("Setting new bar at " + Time + " with open " + bar.Open);
                this._minuteBar10 = bar;
            }
        }

    }
}