/// <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(2009, 01, 01); SetEndDate(2015, 01, 01); AddSecurity(SecurityType.Equity, Symbol); // define our daily macd(12,26) with a 9 day signal macd = MACD(Symbol, 9, 26, 9, MovingAverageType.Exponential, Resolution.Daily); }
/// <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(2013, 01, 01); //Set Start Date SetEndDate(2014, 01, 01); //Set End Date SetCash(100000); //Set Strategy Cash // Find more symbols here: http://quantconnect.com/data AddSecurity(SecurityType.Equity, "IBM", Resolution.Hour); AddSecurity(SecurityType.Equity, "SPY", Resolution.Daily); macd = MACD("SPY", 12, 26, 9, MovingAverageType.Wilders, Resolution.Daily, Field.Close); ema = EMA("IBM", 15*6, Resolution.Hour, Field.SevenBar); Securities["IBM"].SetLeverage(1.0m); }
public void ResetsProperly() { var macd = new MovingAverageConvergenceDivergence("macd", 3, 5, 3); foreach (var data in TestHelper.GetDataStream(30)) { macd.Update(data); } Assert.IsTrue(macd.IsReady); macd.Reset(); TestHelper.AssertIndicatorIsInDefaultState(macd); TestHelper.AssertIndicatorIsInDefaultState(macd.Fast); TestHelper.AssertIndicatorIsInDefaultState(macd.Signal); TestHelper.AssertIndicatorIsInDefaultState(macd.Signal); }
/// <summary> /// Creates a new schaff trend cycle with the specified parameters /// </summary> /// <param name="name">The name of this indicator</param> /// <param name="fastPeriod">The fast moving average period</param> /// <param name="slowPeriod">The slow moving average period</param> /// <param name="cyclePeriod">The signal period</param> /// <param name="type">The type of moving averages to use</param> public SchaffTrendCycle(string name, int cyclePeriod, int fastPeriod, int slowPeriod, MovingAverageType type) : base(name) { //Create MACD indicator and track max and min. _MACD = new MovingAverageConvergenceDivergence(fastPeriod, slowPeriod, cyclePeriod, type); _maximum = _MACD.MAX(cyclePeriod, false); _minimum = _MACD.MIN(cyclePeriod, false); //Stochastics of MACD variables _K = new Identity(name + "_K"); _D = type.AsIndicator(3).Of(_K, false); _maximumD = _D.MAX(cyclePeriod, false); _minimumD = _D.MIN(cyclePeriod, false); //Stochastics of MACD Stochastics variables; _PFF is STC _PF = new Identity(name + "_PF"); _PFF = type.AsIndicator(3).Of(_PF, false); WarmUpPeriod = _MACD.WarmUpPeriod; }
public void ComputesCorrectly() { var fast = new SimpleMovingAverage(3); var slow = new SimpleMovingAverage(5); var signal = new SimpleMovingAverage(3); var macd = new MovingAverageConvergenceDivergence("macd", 3, 5, 3, MovingAverageType.Simple); foreach (var data in TestHelper.GetDataStream(7)) { fast.Update(data); slow.Update(data); macd.Update(data); Assert.AreEqual(fast - slow, macd); if (fast.IsReady && slow.IsReady) { signal.Update(new IndicatorDataPoint(data.Time, macd)); Assert.AreEqual(signal.Current.Value, macd.Current.Value); } } }
/// <summary> /// Called at the start of your algorithm to setup your requirements: /// </summary> public override void Initialize() { SetCash(100000); symbols.Add("SPY"); SetStartDate(1998, 1, 1); SetEndDate(2014, 6, 1); //Present Social Media Stocks: // symbols.Add("FB");symbols.Add("LNKD");symbols.Add("GRPN");symbols.Add("TWTR"); // SetStartDate(2011, 1, 1); // SetEndDate(2014, 12, 1); //2008 Financials: // symbols.Add("C");symbols.Add("AIG");symbols.Add("BAC");symbols.Add("HBOS"); // SetStartDate(2003, 1, 1); // SetEndDate(2011, 1, 1); //2000 Dot.com: // symbols.Add("IPET");symbols.Add("WBVN");symbols.Add("GCTY"); // SetStartDate(1998, 1, 1); // SetEndDate(2000, 1, 1); //CAPE data AddData<CAPE>("CAPE"); foreach (string stock in symbols) { AddSecurity(SecurityType.Equity, stock, Resolution.Minute); macd = MACD(stock, 12, 26, 9, MovingAverageType.Exponential, Resolution.Daily); macdDic.Add(stock, macd); rsi = RSI(stock, 14, MovingAverageType.Exponential, Resolution.Daily); rsiDic.Add(stock, rsi); Securities[stock].SetLeverage(10); } }
public SymbolData(Symbol symbol, QCAlgorithm algorithm) { Symbol = symbol; Security = algorithm.Securities[symbol]; Close = algorithm.Identity(symbol); ADX = algorithm.ADX(symbol, 14); EMA = algorithm.EMA(symbol, 14); MACD = algorithm.MACD(symbol, 12, 26, 9); // if we're receiving daily _algorithm = algorithm; }
public SchaffTrendCycle(string name, int fastPeriod, int slowPeriod, int signalPeriod, MovingAverageType movingAverageType) : base(name) { _macd = new MovingAverageConvergenceDivergence(name + "_MACD", fastPeriod, slowPeriod, signalPeriod, movingAverageType); _frac1 = new Stochastic(name + "Frac1", 10, 10, 10); _frac2 = new Stochastic(name + "Frac2", 10, 10, 10); }