| 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 -2.592 Tracking Error 0.011 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}");
}
}
public override void OnData(Slice data)
{
var bar = data.QuoteBars[NATGAS];
if (bar.Time.Minute % 2 == 0)
this._minuteBar2 = bar;
if (bar.Time.Minute % 10 == 0)
this._minuteBar10 = bar;
}
}
}