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>
    /// Basic template algorithm simply initializes the date range and cash. This is a skeleton
    /// framework you can use for designing an algorithm.
    /// </summary>
    public class BasicTemplateAlgorithm : QCAlgorithm
    {
        private const int LOOKBACK = 252;
        private const Resolution RESOLUTION = Resolution.Daily;
        private Symbol[] _symbols;
        private RateOfChange[] stockRoc;
        
        /// <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(2018, 1, 1);  //Set Start Date
            SetEndDate(2018, 8, 1);    //Set End Date
            SetCash(20000);             //Set Strategy Cash
            
            // The ordering of these symbols matter for portfolio construction.
            // The last symbol should be the 'cash'/bonds fall back.
            _symbols = new[] { 
            	QuantConnect.Symbol.Create("AAPL", SecurityType.Equity, Market.USA),
            	QuantConnect.Symbol.Create("MSFT", SecurityType.Equity, Market.USA),
            	QuantConnect.Symbol.Create("MA", SecurityType.Equity, Market.USA) 
            };
            
            foreach(var symbol in _symbols)
            {
            	AddEquity(symbol, RESOLUTION);
            }

			stockRoc = _symbols.Select(s => ROC(s, LOOKBACK)).ToArray();
        	SetWarmUp(252);
        	
        }

        /// <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 override void OnData(Slice data)
        {
            Debug(stockRoc[0].Current.Value + "," + stockRoc[1].Current.Value + "," + stockRoc[2].Current.Value);
        }
    }
}