Esempio n. 1
0
        /// <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;
        }
Esempio n. 2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MatHold"/> 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 MatHold(string name, decimal penetration = 0.5m)
            : base(name, Math.Max(CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod, CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod) + 4 + 1)
        {
            _penetration = penetration;

            _bodyShortAveragePeriod = CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod;
            _bodyLongAveragePeriod  = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod;
        }
Esempio n. 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;
 }
Esempio n. 4
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;
 }
Esempio n. 5
0
 /// <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;
 }
Esempio n. 6
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, TradeBar 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));
        }
Esempio n. 7
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;
 }
Esempio n. 8
0
 /// <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;
 }
Esempio n. 9
0
 /// <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;
 }
Esempio n. 10
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;
 }
Esempio n. 11
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;
 }
Esempio n. 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;
        }
Esempio n. 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;
 }
Esempio n. 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, TradeBar 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);
            }
        }
Esempio n. 15
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;
 }
Esempio n. 16
0
 /// <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;
 }
Esempio n. 17
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Thrusting"/> class using the specified name.
 /// </summary>
 /// <param name="name">The name of this indicator</param>
 public Thrusting(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;
 }
Esempio n. 18
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;
 }
Esempio n. 19
0
 /// <summary>
 /// Initializes a new instance of the <see cref="KickingByLength"/> class using the specified name.
 /// </summary>
 /// <param name="name">The name of this indicator</param>
 public KickingByLength(string name)
     : base(name, Math.Max(CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod, CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod) + 1 + 1)
 {
     _shadowVeryShortAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowVeryShort).AveragePeriod;
     _bodyLongAveragePeriod        = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod;
 }
Esempio n. 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;
 }
Esempio n. 21
0
 /// <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;
 }
Esempio n. 22
0
 /// <summary>
 /// Initializes a new instance of the <see cref="HighWaveCandle"/> class using the specified name.
 /// </summary>
 /// <param name="name">The name of this indicator</param>
 public HighWaveCandle(string name)
     : base(name, Math.Max(CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod, CandleSettings.Get(CandleSettingType.ShadowVeryLong).AveragePeriod) + 1)
 {
     _bodyShortAveragePeriod      = CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod;
     _shadowVeryLongAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowVeryLong).AveragePeriod;
 }
Esempio n. 23
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Breakaway"/> class using the specified name.
 /// </summary>
 /// <param name="name">The name of this indicator</param>
 public Breakaway(string name)
     : base(name, CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod + 4 + 1)
 {
     _bodyLongAveragePeriod = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod;
 }
Esempio n. 24
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ShortLineCandle"/> class using the specified name.
 /// </summary>
 /// <param name="name">The name of this indicator</param>
 public ShortLineCandle(string name)
     : base(name, Math.Max(CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod, CandleSettings.Get(CandleSettingType.ShadowShort).AveragePeriod) + 1)
 {
     _bodyShortAveragePeriod   = CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod;
     _shadowShortAveragePeriod = CandleSettings.Get(CandleSettingType.ShadowShort).AveragePeriod;
 }
Esempio n. 25
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UniqueThreeRiver"/> class using the specified name.
 /// </summary>
 /// <param name="name">The name of this indicator</param>
 public UniqueThreeRiver(string name)
     : base(name, Math.Max(CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod, CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod) + 2 + 1)
 {
     _bodyLongAveragePeriod  = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod;
     _bodyShortAveragePeriod = CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod;
 }
Esempio n. 26
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Harami"/> class using the specified name.
 /// </summary>
 /// <param name="name">The name of this indicator</param>
 public Harami(string name)
     : base(name, Math.Max(CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod, CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod) + 1 + 1)
 {
     _bodyLongAveragePeriod  = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod;
     _bodyShortAveragePeriod = CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod;
 }
Esempio n. 27
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;
 }
Esempio n. 28
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;
 }
Esempio n. 29
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UpsideGapTwoCrows"/> class using the specified name.
 /// </summary>
 /// <param name="name">The name of this indicator</param>
 public UpsideGapTwoCrows(string name)
     : base(name, Math.Max(CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod, CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod) + 2 + 1)
 {
     _bodyLongAveragePeriod  = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod;
     _bodyShortAveragePeriod = CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod;
 }
Esempio n. 30
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RiseFallThreeMethods"/> class using the specified name.
 /// </summary>
 /// <param name="name">The name of this indicator</param>
 public RiseFallThreeMethods(string name)
     : base(name, Math.Max(CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod, CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod) + 4 + 1)
 {
     _bodyShortAveragePeriod = CandleSettings.Get(CandleSettingType.BodyShort).AveragePeriod;
     _bodyLongAveragePeriod  = CandleSettings.Get(CandleSettingType.BodyLong).AveragePeriod;
 }