Exemplo n.º 1
0
 /// <summary>
 /// To get a candle by the index.
 /// </summary>
 /// <typeparam name="TCandle">The candles type.</typeparam>
 /// <param name="candleManager">The candles manager.</param>
 /// <param name="series">Candles series.</param>
 /// <param name="candleIndex">The candle's position number from the end.</param>
 /// <returns>The found candle. If the candle does not exist, then <see langword="null" /> will be returned.</returns>
 public static TCandle GetCandle <TCandle>(this ICandleManager candleManager, CandleSeries series, int candleIndex)
     where TCandle : Candle
 {
     return((TCandle)candleManager.ThrowIfNull().Container.GetCandle(series, candleIndex));
 }
Exemplo n.º 2
0
 /// <summary>
 /// To get a candles series by the specified parameters.
 /// </summary>
 /// <typeparam name="TCandle">The candles type.</typeparam>
 /// <param name="candleManager">The candles manager.</param>
 /// <param name="security">The instrument by which trades should be filtered for the candles creation.</param>
 /// <param name="arg">Candle arg.</param>
 /// <returns>The candles series. <see langword="null" /> if this series is not registered.</returns>
 public static CandleSeries GetSeries <TCandle>(this ICandleManager candleManager, Security security, object arg)
     where TCandle : Candle
 {
     return(candleManager.ThrowIfNull().Series.FirstOrDefault(s => s.CandleType == typeof(TCandle) && s.Security == security && s.Arg.Equals(arg)));
 }
Exemplo n.º 3
0
 /// <summary>
 /// To get candles by the total number.
 /// </summary>
 /// <typeparam name="TCandle">The candles type.</typeparam>
 /// <param name="candleManager">The candles manager.</param>
 /// <param name="series">Candles series.</param>
 /// <param name="candleCount">The number of candles that should be returned.</param>
 /// <returns>Found candles.</returns>
 public static IEnumerable <TCandle> GetCandles <TCandle>(this ICandleManager candleManager, CandleSeries series, int candleCount)
 {
     return(candleManager.ThrowIfNull().Container.GetCandles(series, candleCount).OfType <TCandle>());
 }
Exemplo n.º 4
0
 /// <summary>
 /// To get candles by date range.
 /// </summary>
 /// <typeparam name="TCandle">The candles type.</typeparam>
 /// <param name="candleManager">The candles manager.</param>
 /// <param name="series">Candles series.</param>
 /// <param name="timeRange">The date range which should include candles. The <see cref="Candle.OpenTime"/> value is taken into consideration.</param>
 /// <returns>Found candles.</returns>
 public static IEnumerable <TCandle> GetCandles <TCandle>(this ICandleManager candleManager, CandleSeries series, Range <DateTimeOffset> timeRange)
     where TCandle : Candle
 {
     return(candleManager.ThrowIfNull().Container.GetCandles(series, timeRange).OfType <TCandle>());
 }
Exemplo n.º 5
0
 /// <summary>
 /// To get all candles.
 /// </summary>
 /// <typeparam name="TCandle">The candles type.</typeparam>
 /// <param name="candleManager">The candles manager.</param>
 /// <param name="series">Candles series.</param>
 /// <returns>Candles.</returns>
 public static IEnumerable <TCandle> GetCandles <TCandle>(this ICandleManager candleManager, CandleSeries series)
     where TCandle : Candle
 {
     return(candleManager.ThrowIfNull().Container.GetCandles(series).OfType <TCandle>());
 }
Exemplo n.º 6
0
        ///// <summary>
        ///// To stop candles getting.
        ///// </summary>
        ///// <param name="series">Candles series.</param>
        //public static void Stop(this CandleSeries series)
        //{
        //	var manager = series.ThrowIfNull().CandleManager;

        //	// серию ранее не запускали, значит и останавливать не нужно
        //	if (manager == null)
        //		return;

        //	manager.Stop(series);
        //}

        //private static ICandleManagerContainer GetContainer(this CandleSeries series)
        //{
        //	return series.ThrowIfNull().CandleManager.Container;
        //}

        /// <summary>
        /// To get the number of candles.
        /// </summary>
        /// <param name="candleManager">The candles manager.</param>
        /// <param name="series">Candles series.</param>
        /// <returns>Number of candles.</returns>
        public static int GetCandleCount(this ICandleManager candleManager, CandleSeries series)
        {
            return(candleManager.ThrowIfNull().Container.GetCandleCount(series));
        }
Exemplo n.º 7
0
 /// <summary>
 /// To start candles getting.
 /// </summary>
 /// <param name="manager">The candles manager.</param>
 /// <param name="series">Candles series.</param>
 public static void Start(this ICandleManager manager, CandleSeries series)
 {
     manager.ThrowIfNull().Start(series, series.From, series.To);
 }