/// <summary> /// Initializes a new instance of the <see cref="DarkCloudCover"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> /// <param name="penetration">Percentage of penetration of a candle within another candle</param> public DarkCloudCover(string name, decimal penetration = 0.5m) : base(name, CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod + 1 + 1) { _penetration = penetration; _bodyLongAveragePeriod = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="EveningStar"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> /// <param name="penetration">Percentage of penetration of a candle within another candle</param> public EveningStar(string name, decimal penetration = 0.3m) : base(name, Math.Max(CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod, CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod) + 2 + 1) { _penetration = penetration; _bodyLongAveragePeriod = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod; _bodyShortAveragePeriod = CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="RickshawMan"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public RickshawMan(string name) : base(name, Math.Max(Math.Max(CandleSettings.Get(CandleSettingType.BodyDoji).AveragePeriod, CandleSettings.Get(CandleSettingType.ShadowLong).AveragePeriod), CandleSettings.Get(CandleSettingType.Near).AveragePeriod) + 1) { _bodyDojiAveragePeriod = CandleSettings.Get(CandleSettingType.BodyDoji).AveragePeriod; _shadowLongAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowLong).AveragePeriod; _nearAveragePeriod = CandleSettings.Get(CandleSettingType.Near).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="ShootingStar"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public ShootingStar(string name) : base(name, Math.Max(Math.Max(CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod, CandleSettings.Get(CandleSettingType.ShadowLong).AveragePeriod), CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod) + 1 + 1) { _bodyShortAveragePeriod = CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod; _shadowLongAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowLong).AveragePeriod; _shadowVeryShortAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="Takuri"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public Takuri(string name) : base(name, Math.Max(Math.Max(CandleSettings.Get(CandleSettingType.BodyDoji).AveragePeriod, CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod), CandleSettings.Get(CandleSettingType.ShadowVeryLong).AveragePeriod) + 1) { _bodyDojiAveragePeriod = CandleSettings.Get(CandleSettingType.BodyDoji).AveragePeriod; _shadowVeryShortAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod; _shadowVeryLongAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowVeryLong).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="SeparatingLines"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public SeparatingLines(string name) : base(name, Math.Max(Math.Max(CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod, CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod), CandleSettings.Get(CandleSettingType.Equal).AveragePeriod) + 1 + 1) { _shadowVeryShortAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod; _bodyLongAveragePeriod = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod; _equalAveragePeriod = CandleSettings.Get(CandleSettingType.Equal).AveragePeriod; }
/// <summary> /// Returns the average range of the previous candles /// </summary> /// <param name="type">The type of setting to use</param> /// <param name="sum">The sum of the previous candles ranges</param> /// <param name="tradeBar">The input candle</param> protected static decimal GetCandleAverage(CandleSettingType type, decimal sum, IBaseDataBar tradeBar) { var defaultSetting = CandleSettings.Get(type); return(defaultSetting.Factor * (defaultSetting.AveragePeriod != 0 ? sum / defaultSetting.AveragePeriod : GetCandleRange(type, tradeBar)) / (defaultSetting.RangeType == CandleRangeType.Shadows ? 2.0m : 1.0m)); }
/// <summary> /// Initializes a new instance of the <see cref="ThreeStarsInSouth"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public ThreeStarsInSouth(string name) : base(name, Math.Max(Math.Max(CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod, CandleSettings.Get(CandleSettingType.ShadowLong).AveragePeriod), Math.Max(CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod, CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod)) + 2 + 1) { _bodyLongAveragePeriod = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod; _shadowLongAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowLong).AveragePeriod; _shadowVeryShortAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod; _bodyShortAveragePeriod = CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="ThreeWhiteSoldiers"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public ThreeWhiteSoldiers(string name) : base(name, Math.Max(Math.Max(CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod, CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod), Math.Max(CandleSettings.Get(CandleSettingType.Far).AveragePeriod, CandleSettings.Get(CandleSettingType.Near).AveragePeriod)) + 2 + 1) { _shadowVeryShortAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod; _nearAveragePeriod = CandleSettings.Get(CandleSettingType.Near).AveragePeriod; _farAveragePeriod = CandleSettings.Get(CandleSettingType.Far).AveragePeriod; _bodyShortAveragePeriod = CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="StalledPattern"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public StalledPattern(string name) : base(name, Math.Max(Math.Max(CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod, CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod), Math.Max(CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod, CandleSettings.Get(CandleSettingType.Near).AveragePeriod)) + 2 + 1) { _bodyLongAveragePeriod = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod; _bodyShortAveragePeriod = CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod; _shadowVeryShortAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod; _nearAveragePeriod = CandleSettings.Get(CandleSettingType.Near).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="HangingMan"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public HangingMan(string name) : base(name, Math.Max(Math.Max(Math.Max(CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod, CandleSettings.Get(CandleSettingType.ShadowLong).AveragePeriod), CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod), CandleSettings.Get(CandleSettingType.Near).AveragePeriod) + 1 + 1) { _bodyShortAveragePeriod = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod; _shadowLongAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowLong).AveragePeriod; _shadowVeryShortAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod; _nearAveragePeriod = CandleSettings.Get(CandleSettingType.Near).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="AbandonedBaby"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> /// <param name="penetration">Percentage of penetration of a candle within another candle</param> public AbandonedBaby(string name, decimal penetration = 0.3m) : base(name, Math.Max(Math.Max(CandleSettings.Get(CandleSettingType.BodyDoji).AveragePeriod, CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod), CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod) + 2) { _penetration = penetration; _bodyDojiAveragePeriod = CandleSettings.Get(CandleSettingType.BodyDoji).AveragePeriod; _bodyLongAveragePeriod = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod; _bodyShortAveragePeriod = CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="AdvanceBlock"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public AdvanceBlock(string name) : base(name, Math.Max(Math.Max(Math.Max(CandleSettings.Get(CandleSettingType.ShadowLong).AveragePeriod, CandleSettings.Get(CandleSettingType.ShadowShort).AveragePeriod), Math.Max(CandleSettings.Get(CandleSettingType.Far).AveragePeriod, CandleSettings.Get(CandleSettingType.Near).AveragePeriod)), CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod) + 2 + 1) { _shadowShortAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowShort).AveragePeriod; _shadowLongAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowLong).AveragePeriod; _nearAveragePeriod = CandleSettings.Get(CandleSettingType.Near).AveragePeriod; _farAveragePeriod = CandleSettings.Get(CandleSettingType.Far).AveragePeriod; _bodyLongAveragePeriod = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod; }
/// <summary> /// Returns the range of a candle /// </summary> /// <param name="type">The type of setting to use</param> /// <param name="tradeBar">The input candle</param> protected static decimal GetCandleRange(CandleSettingType type, IBaseDataBar tradeBar) { switch (CandleSettings.Get(type).RangeType) { case CandleRangeType.RealBody: return(GetRealBody(tradeBar)); case CandleRangeType.HighLow: return(GetHighLowRange(tradeBar)); case CandleRangeType.Shadows: return(GetUpperShadow(tradeBar) + GetLowerShadow(tradeBar)); default: return(0m); } }
/// <summary> /// Initializes a new instance of the <see cref="ThreeInside"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public ThreeInside(string name) : base(name, Math.Max(CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod, CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod) + 2 + 1) { _bodyLongAveragePeriod = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod; _bodyShortAveragePeriod = CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="Counterattack"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public Counterattack(string name) : base(name, Math.Max(CandleSettings.Get(CandleSettingType.Equal).AveragePeriod, CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod) + 1 + 1) { _equalAveragePeriod = CandleSettings.Get(CandleSettingType.Equal).AveragePeriod; _bodyLongAveragePeriod = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="LadderBottom"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public LadderBottom(string name) : base(name, CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod + 4 + 1) { _shadowVeryShortAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="GapSideBySideWhite"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public GapSideBySideWhite(string name) : base(name, Math.Max(CandleSettings.Get(CandleSettingType.Near).AveragePeriod, CandleSettings.Get(CandleSettingType.Equal).AveragePeriod) + 2 + 1) { _nearAveragePeriod = CandleSettings.Get(CandleSettingType.Near).AveragePeriod; _equalAveragePeriod = CandleSettings.Get(CandleSettingType.Equal).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="SpinningTop"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public SpinningTop(string name) : base(name, CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod + 1) { _bodyShortAveragePeriod = CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="Piercing"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public Piercing(string name) : base(name, CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod + 1 + 1) { _bodyLongAveragePeriod = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="Marubozu"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public Marubozu(string name) : base(name, Math.Max(CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod, CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod) + 1) { _bodyLongAveragePeriod = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod; _shadowVeryShortAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="GravestoneDoji"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public GravestoneDoji(string name) : base(name, Math.Max(CandleSettings.Get(CandleSettingType.BodyDoji).AveragePeriod, CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod) + 1) { _bodyDojiAveragePeriod = CandleSettings.Get(CandleSettingType.BodyDoji).AveragePeriod; _shadowVeryShortAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="IdenticalThreeCrows"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public IdenticalThreeCrows(string name) : base(name, Math.Max(CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod, CandleSettings.Get(CandleSettingType.Equal).AveragePeriod) + 2 + 1) { _shadowVeryShortAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod; _equalAveragePeriod = CandleSettings.Get(CandleSettingType.Equal).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="HikkakeModified"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public HikkakeModified(string name) : base(name, Math.Max(1, CandleSettings.Get(CandleSettingType.Near).AveragePeriod) + 5 + 1) { _nearAveragePeriod = CandleSettings.Get(CandleSettingType.Near).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="ThreeBlackCrows"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public ThreeBlackCrows(string name) : base(name, CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod + 3 + 1) { _shadowVeryShortAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="HaramiCross"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public HaramiCross(string name) : base(name, Math.Max(CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod, CandleSettings.Get(CandleSettingType.BodyDoji).AveragePeriod) + 1 + 1) { _bodyLongAveragePeriod = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod; _bodyDojiAveragePeriod = CandleSettings.Get(CandleSettingType.BodyDoji).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="ConcealedBabySwallow"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public ConcealedBabySwallow(string name) : base(name, CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod + 3 + 1) { _shadowVeryShortAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="TasukiGap"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public TasukiGap(string name) : base(name, CandleSettings.Get(CandleSettingType.Near).AveragePeriod + 2 + 1) { _nearAveragePeriod = CandleSettings.Get(CandleSettingType.Near).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="TwoCrows"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public TwoCrows(string name) : base(name, CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod + 2 + 1) { _bodyLongAveragePeriod = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod; }
/// <summary> /// Initializes a new instance of the <see cref="Doji"/> class using the specified name. /// </summary> /// <param name="name">The name of this indicator</param> public Doji(string name) : base(name, CandleSettings.Get(CandleSettingType.BodyDoji).AveragePeriod + 1) { _bodyDojiAveragePeriod = CandleSettings.Get(CandleSettingType.BodyDoji).AveragePeriod; }