public static MacdItem Macd(this IEnumerable <ICandle> candles, int?fastPeriod = null, int?slowPeriod = null, int?signalPeriod = null) { fastPeriod ??= 12; slowPeriod ??= 26; signalPeriod ??= 9; IIndicatorOptions options = new MacdOptions(fastPeriod.Value, slowPeriod.Value, signalPeriod.Value); Macd macd = new Macd(); return((MacdItem)macd.Get(candles, options)); }
public override void Execute() { var macd = Macd.Get(); if (State.Position.IsFlat) { Exchange.CancelAll(); if (!Measurer.IsPriceVolatile) { // open position in direction of trend var side = macd < 0 ? Side.Sell : Side.Buy; EnterPosition(side); } } else { // } }