Example #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;
        }
Example #2
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, DataPointBar 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));
        }
Example #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;
 }
Example #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;
 }
Example #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;
 }
Example #6
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;
 }
Example #7
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;
        }
Example #8
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;
 }
Example #9
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;
 }
Example #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;
 }
Example #11
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;
 }
Example #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;
        }
Example #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;
 }
Example #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, DataPointBar 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);
            }
        }
Example #15
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;
 }
Example #16
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;
 }
Example #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;
 }
Example #18
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;
 }
Example #19
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;
 }
Example #20
0
 /// <summary>
 /// Initializes a new instance of the <see cref="StickSandwich"/> class using the specified name.
 /// </summary>
 /// <param name="name">The name of this indicator</param>
 public StickSandwich(string name)
     : base(name, CandleSettings.Get(CandleSettingType.Equal).AveragePeriod + 2 + 1)
 {
     _equalAveragePeriod = CandleSettings.Get(CandleSettingType.Equal).AveragePeriod;
 }
Example #21
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;
 }
Example #22
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;
 }
Example #23
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MatchingLow"/> class using the specified name.
 /// </summary>
 /// <param name="name">The name of this indicator</param>
 public MatchingLow(string name)
     : base(name, CandleSettings.Get(CandleSettingType.Equal).AveragePeriod + 1 + 1)
 {
     _equalAveragePeriod = CandleSettings.Get(CandleSettingType.Equal).AveragePeriod;
 }
Example #24
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;
 }
Example #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;
 }
Example #26
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;
 }
Example #27
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;
 }
Example #28
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;
 }
Example #29
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;
 }
Example #30
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;
 }