/// <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;
        }
示例#2
0
        /// <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;
        }
示例#3
0
 /// <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;
 }
示例#5
0
 /// <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;
 }
示例#6
0
 /// <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;
 }
示例#7
0
        /// <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;
 }
示例#10
0
 /// <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;
 }
示例#11
0
 /// <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;
 }
示例#12
0
        /// <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;
        }
示例#13
0
 /// <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;
 }
示例#14
0
        /// <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);
            }
        }
示例#15
0
 /// <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;
 }
示例#16
0
 /// <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;
 }
示例#17
0
 /// <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;
 }
示例#19
0
 /// <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;
 }
示例#20
0
 /// <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;
 }
示例#21
0
 /// <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;
 }
示例#22
0
 /// <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;
 }
示例#23
0
 /// <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;
 }
示例#24
0
 /// <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;
 }
示例#25
0
 /// <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;
 }
示例#26
0
 /// <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;
 }
示例#28
0
 /// <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;
 }
示例#29
0
 /// <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;
 }
示例#30
0
 /// <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;
 }