/// <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)); }
/// <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)); }