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
/*
 * QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals.
 * Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
*/

using System;
using QuantConnect.Brokerages;
using QuantConnect.Data.Market;
using QuantConnect.Orders;

namespace QuantConnect.Algorithm.CSharp
{
    /// <summary>
    /// Basic template algorithm simply initializes the date range and cash
    /// </summary>
    public class DividendAlgorithm : QCAlgorithm
    {
        /// <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(2016, 07, 22);  //Set Start Date
            SetEndDate(2016, 07, 28);    //Set End Date
            SetCash(100000);             //Set Strategy Cash
            // Find more symbols here: http://quantconnect.com/data
            AddSecurity(SecurityType.Equity, "IUSG", Resolution.Daily);
            Securities["IUSG"].SetDataNormalizationMode(DataNormalizationMode.Raw);

            // this will use the Tradier Brokerage open order split behavior
            //     forward split will modify open order to maintain order value
            //     reverse split open orders will be cancelled
            //SetBrokerageModel(BrokerageName.TradierBrokerage);
        }

        public void OnData(Splits data)
        {
            Debug("IUSG: " + Securities["IUSG"].Price);
            var split = data["IUSG"];
            Console.WriteLine("{0} >> SPLIT >> {1} - {2} - {3} - {4}", split.Time.ToString("o"), split.Symbol, split.SplitFactor, Portfolio.Cash, Portfolio["IUSG"].Quantity);
        }

    }
}
namespace QuantConnect {

    //
    //	Make sure to change "BasicTemplateAlgorithm" to your algorithm class name, and that all
    //	files use "public partial class" if you want to split up your algorithm namespace into multiple files.
    //

    //public partial class BasicTemplateAlgorithm : QCAlgorithm, IAlgorithm
    //{
    //  Extension functions can go here...(ones that need access to QCAlgorithm functions e.g. Debug, Log etc.)
    //}

    //public class Indicator 
    //{
    //  ...or you can define whole new classes independent of the QuantConnect Context
    //}
     public class movingaveragealgorithm
     {
     	private decimal period;
     	private decimal ema;
     	private int samples;
     	
     	public decimal EMA
     	{
     		get {return ema;}
     	}
     	public movingaveragealgorithm(decimal period)
     	{
     		this.period=period;
     	}
     	public bool ready
     	{
     		get {return samples>=period;}
     	}
     	public decimal AddSample(decimal price)
     	{
     		if(samples==0)
     		{
     			ema=price;
     		}else
     		{
     			ema=(1/period)*price+((period-1)/period)*ema;
     		}
     		samples++;
     		return ema;
     	}
     }

}
// using System;
// using System.Linq;
// using QuantConnect.Data;
// using QuantConnect.Data.Consolidators;
// using QuantConnect.Data.Market;
// using QuantConnect.Indicators;

// namespace QuantConnect.Algorithm
// {
//     public  class TimeIndicator
//     {
//         bool isMonday;
//         bool isFriday;
        
//         public bool day(Time date)
//         {
//         	if(date.Date.DayOfWeek==DayOfWeek.Monday)
//         	return true;
//         }

//     } // End Partial Algorithm Template - Indicators.

// } // End QC Namespace