| 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 MyCustomChartingAlgorithm : QCAlgorithm
{
decimal lastOpenPrice = 0;
decimal lastClosePrice = 0;
ExponentialMovingAverage EMAFast;
ExponentialMovingAverage EMASlow;
DateTime startDate = new DateTime(2017, 1, 1);
DateTime endDate = new DateTime(2017, 7, 18);
public override void Initialize()
{
//Setting start and end date
SetStartDate(startDate);
SetEndDate(endDate);
//Setting my cash
SetCash(100000);
//Adding my Assets
AddForex("EURUSD", Resolution.Minute);
//Consolidating my 15 minute bar
var signalCheck = new QuoteBarConsolidator(TimeSpan.FromMinutes(15));
signalCheck.DataConsolidated += onsignalCheck;
//Adding my indicators
EMAFast = EMA("EURUSD", 9);
EMASlow = EMA("EURUSD", 90);
//Registering the indicators to work with the custom bar isntead of the standard resolution
//RegisterIndicator("EURUSD", EMAFast, signalCheck);
//RegisterIndicator("EURUSD", EMASlow, signalCheck);
//Setting up my charts
Chart stockPlot = new Chart("Trade Plot");
Series assetOpenPrice = new Series("Open", SeriesType.Scatter, 0);
Series assetClosePrice = new Series("Close", SeriesType.Scatter, 0);
Series fastMA = new Series("FastMA", SeriesType.Line, 0);
Series slowMA = new Series("SlowMA", SeriesType.Line, 0);
stockPlot.AddSeries(assetOpenPrice);
stockPlot.AddSeries(assetClosePrice);
stockPlot.AddSeries(fastMA);
stockPlot.AddSeries(slowMA);
AddChart(stockPlot);
}
public void onsignalCheck (object sender, QuoteBar bar)
{
if (!Portfolio.HoldStock)
{
SetHoldings("EURUSD", 10);
}
lastOpenPrice = bar.Open;
lastClosePrice = bar.Close;
Plot("Trade Plot", "Open", lastOpenPrice);
Plot("Trade Plot", "Close", lastClosePrice);
if (EMASlow.IsReady)
{
Plot("Trade Plot", "FastMA", EMAFast);
Plot("Trade Plot", "SlowMA", EMASlow);
}
}
public override void OnData(Slice data)
{
}
}
}