| 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