Overall Statistics
Total Trades
18
Average Win
3.29%
Average Loss
-0.60%
Compounding Annual Return
18.962%
Drawdown
7.700%
Expectancy
3.100
Net Profit
18.962%
Sharpe Ratio
1.388
Loss Rate
36%
Win Rate
64%
Profit-Loss Ratio
5.44
Alpha
0.125
Beta
-0.016
Annual Standard Deviation
0.089
Annual Variance
0.008
Information Ratio
0.349
Tracking Error
0.131
Treynor Ratio
-7.606
Total Fees
$0.00
using System;
using System.Globalization;
using QuantConnect.Data;
using QuantConnect.Indicators.CandlestickPatterns;

namespace QuantConnect.Algorithm.CSharp
{   
    /// <summary>
    /// Basic template algorithm simply initializes the date range and cash
    /// </summary>
    public class CandlestickClosingMarubozuAlgorithm : QCAlgorithm
    {
        private string _symbol = "YAHOO/INDEX_SPY";
        private ClosingMarubozu _pattern = new ClosingMarubozu();

        /// <summary>
        /// Initialise the data and resolution required, as well as the cash and start-end dates for your algorithm. All algorithms must initialized.
        /// </summary>
        public override void Initialize()
        {
            SetStartDate(2014, 01, 01);  //Set Start Date
            SetEndDate(2014, 12, 31);    //Set End Date
            SetCash(100000);             //Set Strategy Cash

            AddData<CloseMar>(_symbol, Resolution.Daily);

            _pattern = CandlestickPatterns.ClosingMarubozu(_symbol);
        }

        /// <summary>
        /// OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.
        /// </summary>
        /// <param name="data">Slice object keyed by symbol containing the stock data</param>
        public void OnData(CloseMar data)
        {
            if (_pattern == 1)
            {
                // Bullish ClosingMarubozu, go long
                Debug(Time + " -> found Bullish ClosingMarubozu");
                SetHoldings(_symbol, 1);
            }
            else if (_pattern == -1)
            {
                // Bearish ClosingMarubozu, go short
                Debug(Time + " -> found Bearish ClosingMarubozu");
                SetHoldings(_symbol, -1);
            }
        }
    }

    public class CloseMar : Quandl
    {
        public CloseMar() : base(valueColumnName: "Adjusted Close")
        {
        }
    }
}