/// <summary>
        /// Returns the range between an index interval in a market series
        /// </summary>
        /// <param name="bars"></param>
        /// <param name="startIndex">Start index</param>
        /// <param name="endIndex">End index</param>
        /// <param name="symbol">The market series symbol</param>
        /// <param name="returnType">The return type</param>
        /// <param name="useBarBody">Use bar body (open and close) instead of shadows (high and low)</param>
        /// <returns>double</returns>
        public static double GetRange(this Bars bars, int startIndex, int endIndex, Symbol symbol, PriceValueType returnType, bool useBarBody = false)
        {
            var range = bars.GetRange(startIndex, endIndex, useBarBody);

            return(symbol.ChangePriceValueType(range, returnType));
        }
Пример #2
0
        /// <summary>
        /// Returns a symbol price based value to either pips or ticks
        /// </summary>
        /// <param name="symbol">The symbol</param>
        /// <param name="priceValue">The price based value</param>
        /// <param name="returnType">The price value return type</param>
        /// <returns>double</returns>
        public static double ChangePriceValueType(this Symbol symbol, double priceValue, PriceValueType returnType)
        {
            switch (returnType)
            {
            case PriceValueType.Pips:
                return(symbol.ToPips(priceValue));

            case PriceValueType.Ticks:
                return(symbol.ToTicks(priceValue));

            default:

                return(priceValue);
            }
        }
        /// <summary>
        /// Returns the range of a bar in a market series
        /// </summary>
        /// <param name="bars"></param>
        /// <param name="index">Bar index in market series</param>
        /// <param name="symbol">The market series symbol</param>
        /// <param name="returnType">The return type</param>
        /// <param name="useBarBody">Use bar open and close price instead of high and low?</param>
        /// <returns>double</returns>
        public static double GetBarRange(this Bars bars, int index, Symbol symbol, PriceValueType returnType, bool useBarBody = false)
        {
            double range = bars.GetBarRange(index, useBarBody);

            return(symbol.ChangePriceValueType(range, returnType));
        }