| 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.Algorithm.CSharp
{
/// <summary>
/// This is a test to understand indicator data and rolling windows.
/// </summary>
public class IndicatorTest : QCAlgorithm
{
private Symbol symbolOanda = QuantConnect.Symbol.Create("EURUSD", SecurityType.Forex, Market.Oanda);
private Symbol symbolFXCM = QuantConnect.Symbol.Create("EURUSD", SecurityType.Forex, Market.FXCM);
private Resolution resolution = Resolution.Daily;
private RollingWindow<IndicatorDataPoint> macdOandaWindow;
private RollingWindow<IndicatorDataPoint> macdFXCMWindow;
private MovingAverageConvergenceDivergence macdOanda;
private MovingAverageConvergenceDivergence macdFXCM;
public override void Initialize()
{
SetStartDate(2018, 12, 03); //Set Start Date
SetEndDate(2018, 12, 10); //Set End Date
AddForex(symbolOanda, resolution);
AddForex(symbolFXCM, resolution);
macdOanda = MACD( symbolOanda, 12, 26, 1, MovingAverageType.Exponential, resolution );
macdOanda.Updated += (sender, updated) => macdOandaWindow.Add(updated);
macdOandaWindow = new RollingWindow<IndicatorDataPoint>(4);
macdFXCM = MACD( symbolFXCM, 12, 26, 1, MovingAverageType.Exponential, resolution );
macdFXCM.Updated += (sender, updated) => macdFXCMWindow.Add(updated);
macdFXCMWindow = new RollingWindow<IndicatorDataPoint>(4);
SetWarmUp(30);
}
public override void OnData(Slice data)
{
if (IsWarmingUp)
return;
if ( data.ContainsKey(symbolOanda))
Log("Oanda data.Time = " + data.Time.ToString()
+ ": macdOandaWindow[0].Time = " + macdOandaWindow[0].Time.ToString()
+ ", values = " + macdOandaWindow[0].Value.ToString("0.00000")
+ ", " + macdOandaWindow[1].Value.ToString("0.00000")
+ ", " + macdOandaWindow[2].Value.ToString("0.00000")
+ ", " + macdOandaWindow[3].Value.ToString("0.00000")
);
if ( data.ContainsKey(symbolFXCM))
Log("FXCM data.Time = " + data.Time.ToString()
+ ": macdFXCMWindow[0].Time = " + macdFXCMWindow[0].Time.ToString()
+ ", values = " + macdFXCMWindow[0].Value.ToString("0.00000")
+ ", " + macdFXCMWindow[1].Value.ToString("0.00000")
+ ", " + macdFXCMWindow[2].Value.ToString("0.00000")
+ ", " + macdFXCMWindow[3].Value.ToString("0.00000")
);
}
}
}