Esempio n. 1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="T:QuantModel.Indicators.Boll"/> class.
 /// </summary>
 /// <param name="source">Source.</param>
 /// <param name="cycle">Cycle.</param>
 /// <param name="deviation">Deviation.</param>
 public Boll(IIndicator <double> source, int cycle, double deviation)
 {
     Source    = source;
     Cycle     = cycle;
     Deviation = deviation;
     Middle    = Source.SMA(Cycle);
     Std       = source.StdDev(cycle, Middle);
     Upper     = BinaryOperation.Create(Middle, Std, (i, j) => i + j * Deviation);
     Lower     = BinaryOperation.Create(Middle, Std, (i, j) => i - j * Deviation);
 }
Esempio n. 2
0
        public MACD(IIndicator <double> source, int shortCycle, int longCycle, int difCycle)
        {
            Source     = source;
            ShortCycle = shortCycle;
            LongCycle  = longCycle;
            DifCycle   = difCycle;
            var fast = Source.EMA(ShortCycle);
            var slow = Source.EMA(LongCycle);

            Dif          = BinaryOperation.Create(fast, slow, (a, b) => a - b);
            Dea          = Dif.EMA(difCycle);
            Macd         = BinaryOperation.Create(Dif, Dea, (a, b) => 2 * (a - b));
            Dif.Update  += Merge;
            Dea.Update  += Merge;
            Macd.Update += Merge;
        }