Add opening range extension levels

This commit is contained in:
moshferatu 2024-05-01 05:40:29 -07:00
parent 55455480f3
commit 1f276a2203

View File

@ -42,6 +42,10 @@ namespace NinjaTrader.NinjaScript.Indicators
public static OpeningRangeBarType DefaultOpeningRangeType =
OpeningRangeBarType.Minutes;
public static bool DefaultEnableExtensions = false;
public static int DefaultNumberOfExtensions = 3;
public static double DefaultExtensionMultiplier = 0.5;
public static OpeningRangeColorScheme DefaultOpeningRangeColorScheme =
OpeningRangeColorScheme.Default;
@ -57,6 +61,9 @@ namespace NinjaTrader.NinjaScript.Indicators
public static Stroke DefaultPriceInsideStroke =
new Stroke(Brushes.Yellow, DashStyleHelper.Solid, 3);
public static Stroke DefaultExtensionStroke =
new Stroke(Brushes.Yellow, DashStyleHelper.Solid, 1);
public static SimpleFont DefaultOpeningRangeFont =
new SimpleFont("Arial", 12);
public static Brush DefaultOpeningRangeFontColor = Brushes.LightGray;
@ -106,6 +113,10 @@ namespace NinjaTrader.NinjaScript.Indicators
OpeningRangePeriod = DefaultOpeningRangePeriod;
OpeningRangeType = DefaultOpeningRangeType;
EnableExtensions = DefaultEnableExtensions;
NumberOfExtensions = DefaultNumberOfExtensions;
ExtensionMultiplier = DefaultExtensionMultiplier;
ColorScheme = DefaultOpeningRangeColorScheme;
OpeningRangeHighStroke = DefaultOpeningRangeStroke;
OpeningRangeLowStroke = DefaultOpeningRangeStroke;
@ -113,6 +124,7 @@ namespace NinjaTrader.NinjaScript.Indicators
PriceAboveStroke = DefaultPriceAboveStroke;
PriceBelowStroke = DefaultPriceBelowStroke;
PriceInsideStroke = DefaultPriceInsideStroke;
ExtensionStroke = DefaultExtensionStroke;
ShowLabels = DefaultShowLabels;
OpeningRangeFont = DefaultOpeningRangeFont;
@ -310,6 +322,20 @@ namespace NinjaTrader.NinjaScript.Indicators
new SharpDX.Vector2(openingRangeMidEndX, openingRangeMidY),
openingRangeMidBrush, OpeningRangeMidStroke.Width, OpeningRangeMidStroke.StrokeStyle);
}
if (EnableExtensions)
{
double range = openingRange.High - openingRange.Low;
for (int i = 1; i <= NumberOfExtensions; i++)
{
double extension = range * ExtensionMultiplier * i;
double highExtension = openingRange.High + extension;
double lowExtension = openingRange.Low - extension;
RenderLevel(highExtension, openingRangeStartX, openingRangeEndX, ExtensionStroke, chartScale);
RenderLevel(lowExtension, openingRangeStartX, openingRangeEndX, ExtensionStroke, chartScale);
}
}
}
openingRangeMidBrush.Dispose();
@ -317,6 +343,14 @@ namespace NinjaTrader.NinjaScript.Indicators
textBrush.Dispose();
}
private void RenderLevel(double value, int startX, int endX, Stroke stroke, ChartScale scale)
{
SharpDX.Direct2D1.Brush brush = stroke.Brush.ToDxBrush(RenderTarget);
int y = scale.GetYByValue(value);
RenderTarget.DrawLine(new SharpDX.Vector2(startX, y), new SharpDX.Vector2(endX, y), brush, stroke.Width, stroke.StrokeStyle);
brush.Dispose();
}
private Stroke GetStroke(OR openingRange, Stroke defaultStroke)
{
if (ColorScheme == OpeningRangeColorScheme.PriceBased)
@ -440,6 +474,18 @@ namespace NinjaTrader.NinjaScript.Indicators
public OpeningRangeBarType OpeningRangeType
{ get; set; }
[NinjaScriptProperty]
[Display(Name = "Enable Extensions", Description = "Whether to enable opening range extensions", Order = 3, GroupName = "Opening Range")]
public bool EnableExtensions { get; set; }
[NinjaScriptProperty]
[Display(Name = "Number of Extensions", Description = "Number of extensions above and below the opening range", Order = 4, GroupName = "Opening Range")]
public int NumberOfExtensions { get; set; }
[NinjaScriptProperty]
[Display(Name = "Extension Multiplier", Description = "Multiplier used for calculating extension levels", Order = 5, GroupName = "Opening Range")]
public double ExtensionMultiplier { get; set; }
[NinjaScriptProperty]
[PropertyEditor("NinjaTrader.Gui.Tools.StringStandardValuesEditorKey")]
[TypeConverter(typeof(OpeningRangeColorSchemeConverter))]
@ -478,6 +524,11 @@ namespace NinjaTrader.NinjaScript.Indicators
public Stroke OpeningRangeLowStroke
{ get; set; }
[NinjaScriptProperty]
[Display(Name = "Extension", Description = "Opening range extensions lines drawn on chart", Order = 8, GroupName = "Appearance")]
public Stroke ExtensionStroke
{ get; set; }
[NinjaScriptProperty]
[Display(Name = "Show Labels", Order = 1, GroupName = "Labels")]
public bool ShowLabels
@ -565,6 +616,21 @@ namespace NinjaTrader.NinjaScript.Indicators
if (indicator == null || properties == null)
return properties;
PropertyDescriptor numberOfExtensions = properties["NumberOfExtensions"];
PropertyDescriptor extensionMultiplier = properties["ExtensionMultiplier"];
PropertyDescriptor extensionStroke = properties["ExtensionStroke"];
properties.Remove(numberOfExtensions);
properties.Remove(extensionMultiplier);
properties.Remove(extensionStroke);
if (indicator.EnableExtensions)
{
properties.Add(numberOfExtensions);
properties.Add(extensionMultiplier);
properties.Add(extensionStroke);
}
PropertyDescriptor priceAboveStroke = properties["PriceAboveStroke"];
PropertyDescriptor priceBelowStroke = properties["PriceBelowStroke"];
PropertyDescriptor priceInsideStroke = properties["PriceInsideStroke"];
@ -674,6 +740,9 @@ namespace NinjaTrader.NinjaScript.Strategies
Input,
openingRangePeriod,
openingRangeType,
Indicators.OpeningRange.DefaultEnableExtensions,
Indicators.OpeningRange.DefaultNumberOfExtensions,
Indicators.OpeningRange.DefaultExtensionMultiplier,
Indicators.OpeningRange.DefaultOpeningRangeColorScheme,
Indicators.OpeningRange.DefaultPriceAboveStroke,
Indicators.OpeningRange.DefaultPriceBelowStroke,
@ -681,6 +750,7 @@ namespace NinjaTrader.NinjaScript.Strategies
Indicators.OpeningRange.DefaultOpeningRangeStroke,
Indicators.OpeningRange.DefaultOpeningRangeMidStroke,
Indicators.OpeningRange.DefaultOpeningRangeStroke,
Indicators.OpeningRange.DefaultExtensionStroke,
Indicators.OpeningRange.DefaultShowLabels,
Indicators.OpeningRange.DefaultOpeningRangeFont,
Indicators.OpeningRange.DefaultOpeningRangeFontColor,
@ -702,18 +772,18 @@ namespace NinjaTrader.NinjaScript.Indicators
public partial class Indicator : NinjaTrader.Gui.NinjaScript.IndicatorRenderBase
{
private OpeningRange[] cacheOpeningRange;
public OpeningRange OpeningRange(int openingRangePeriod, OpeningRangeBarType openingRangeType, OpeningRangeColorScheme colorScheme, Stroke priceAboveStroke, Stroke priceBelowStroke, Stroke priceInsideStroke, Stroke openingRangeHighStroke, Stroke openingRangeMidStroke, Stroke openingRangeLowStroke, bool showLabels, SimpleFont openingRangeFont, Brush openingRangeFontColor, string openingRangeHighLabel, OpeningRangeLabelPosition openingRangeHighLabelPosition, string openingRangeMidLabel, OpeningRangeLabelPosition openingRangeMidLabelPosition, string openingRangeLowLabel, OpeningRangeLabelPosition openingRangeLowLabelPosition)
public OpeningRange OpeningRange(int openingRangePeriod, OpeningRangeBarType openingRangeType, bool enableExtensions, int numberOfExtensions, double extensionMultiplier, OpeningRangeColorScheme colorScheme, Stroke priceAboveStroke, Stroke priceBelowStroke, Stroke priceInsideStroke, Stroke openingRangeHighStroke, Stroke openingRangeMidStroke, Stroke openingRangeLowStroke, Stroke extensionStroke, bool showLabels, SimpleFont openingRangeFont, Brush openingRangeFontColor, string openingRangeHighLabel, OpeningRangeLabelPosition openingRangeHighLabelPosition, string openingRangeMidLabel, OpeningRangeLabelPosition openingRangeMidLabelPosition, string openingRangeLowLabel, OpeningRangeLabelPosition openingRangeLowLabelPosition)
{
return OpeningRange(Input, openingRangePeriod, openingRangeType, colorScheme, priceAboveStroke, priceBelowStroke, priceInsideStroke, openingRangeHighStroke, openingRangeMidStroke, openingRangeLowStroke, showLabels, openingRangeFont, openingRangeFontColor, openingRangeHighLabel, openingRangeHighLabelPosition, openingRangeMidLabel, openingRangeMidLabelPosition, openingRangeLowLabel, openingRangeLowLabelPosition);
return OpeningRange(Input, openingRangePeriod, openingRangeType, enableExtensions, numberOfExtensions, extensionMultiplier, colorScheme, priceAboveStroke, priceBelowStroke, priceInsideStroke, openingRangeHighStroke, openingRangeMidStroke, openingRangeLowStroke, extensionStroke, showLabels, openingRangeFont, openingRangeFontColor, openingRangeHighLabel, openingRangeHighLabelPosition, openingRangeMidLabel, openingRangeMidLabelPosition, openingRangeLowLabel, openingRangeLowLabelPosition);
}
public OpeningRange OpeningRange(ISeries<double> input, int openingRangePeriod, OpeningRangeBarType openingRangeType, OpeningRangeColorScheme colorScheme, Stroke priceAboveStroke, Stroke priceBelowStroke, Stroke priceInsideStroke, Stroke openingRangeHighStroke, Stroke openingRangeMidStroke, Stroke openingRangeLowStroke, bool showLabels, SimpleFont openingRangeFont, Brush openingRangeFontColor, string openingRangeHighLabel, OpeningRangeLabelPosition openingRangeHighLabelPosition, string openingRangeMidLabel, OpeningRangeLabelPosition openingRangeMidLabelPosition, string openingRangeLowLabel, OpeningRangeLabelPosition openingRangeLowLabelPosition)
public OpeningRange OpeningRange(ISeries<double> input, int openingRangePeriod, OpeningRangeBarType openingRangeType, bool enableExtensions, int numberOfExtensions, double extensionMultiplier, OpeningRangeColorScheme colorScheme, Stroke priceAboveStroke, Stroke priceBelowStroke, Stroke priceInsideStroke, Stroke openingRangeHighStroke, Stroke openingRangeMidStroke, Stroke openingRangeLowStroke, Stroke extensionStroke, bool showLabels, SimpleFont openingRangeFont, Brush openingRangeFontColor, string openingRangeHighLabel, OpeningRangeLabelPosition openingRangeHighLabelPosition, string openingRangeMidLabel, OpeningRangeLabelPosition openingRangeMidLabelPosition, string openingRangeLowLabel, OpeningRangeLabelPosition openingRangeLowLabelPosition)
{
if (cacheOpeningRange != null)
for (int idx = 0; idx < cacheOpeningRange.Length; idx++)
if (cacheOpeningRange[idx] != null && cacheOpeningRange[idx].OpeningRangePeriod == openingRangePeriod && cacheOpeningRange[idx].OpeningRangeType == openingRangeType && cacheOpeningRange[idx].ColorScheme == colorScheme && cacheOpeningRange[idx].PriceAboveStroke == priceAboveStroke && cacheOpeningRange[idx].PriceBelowStroke == priceBelowStroke && cacheOpeningRange[idx].PriceInsideStroke == priceInsideStroke && cacheOpeningRange[idx].OpeningRangeHighStroke == openingRangeHighStroke && cacheOpeningRange[idx].OpeningRangeMidStroke == openingRangeMidStroke && cacheOpeningRange[idx].OpeningRangeLowStroke == openingRangeLowStroke && cacheOpeningRange[idx].ShowLabels == showLabels && cacheOpeningRange[idx].OpeningRangeFont == openingRangeFont && cacheOpeningRange[idx].OpeningRangeFontColor == openingRangeFontColor && cacheOpeningRange[idx].OpeningRangeHighLabel == openingRangeHighLabel && cacheOpeningRange[idx].OpeningRangeHighLabelPosition == openingRangeHighLabelPosition && cacheOpeningRange[idx].OpeningRangeMidLabel == openingRangeMidLabel && cacheOpeningRange[idx].OpeningRangeMidLabelPosition == openingRangeMidLabelPosition && cacheOpeningRange[idx].OpeningRangeLowLabel == openingRangeLowLabel && cacheOpeningRange[idx].OpeningRangeLowLabelPosition == openingRangeLowLabelPosition && cacheOpeningRange[idx].EqualsInput(input))
if (cacheOpeningRange[idx] != null && cacheOpeningRange[idx].OpeningRangePeriod == openingRangePeriod && cacheOpeningRange[idx].OpeningRangeType == openingRangeType && cacheOpeningRange[idx].EnableExtensions == enableExtensions && cacheOpeningRange[idx].NumberOfExtensions == numberOfExtensions && cacheOpeningRange[idx].ExtensionMultiplier == extensionMultiplier && cacheOpeningRange[idx].ColorScheme == colorScheme && cacheOpeningRange[idx].PriceAboveStroke == priceAboveStroke && cacheOpeningRange[idx].PriceBelowStroke == priceBelowStroke && cacheOpeningRange[idx].PriceInsideStroke == priceInsideStroke && cacheOpeningRange[idx].OpeningRangeHighStroke == openingRangeHighStroke && cacheOpeningRange[idx].OpeningRangeMidStroke == openingRangeMidStroke && cacheOpeningRange[idx].OpeningRangeLowStroke == openingRangeLowStroke && cacheOpeningRange[idx].ExtensionStroke == extensionStroke && cacheOpeningRange[idx].ShowLabels == showLabels && cacheOpeningRange[idx].OpeningRangeFont == openingRangeFont && cacheOpeningRange[idx].OpeningRangeFontColor == openingRangeFontColor && cacheOpeningRange[idx].OpeningRangeHighLabel == openingRangeHighLabel && cacheOpeningRange[idx].OpeningRangeHighLabelPosition == openingRangeHighLabelPosition && cacheOpeningRange[idx].OpeningRangeMidLabel == openingRangeMidLabel && cacheOpeningRange[idx].OpeningRangeMidLabelPosition == openingRangeMidLabelPosition && cacheOpeningRange[idx].OpeningRangeLowLabel == openingRangeLowLabel && cacheOpeningRange[idx].OpeningRangeLowLabelPosition == openingRangeLowLabelPosition && cacheOpeningRange[idx].EqualsInput(input))
return cacheOpeningRange[idx];
return CacheIndicator<OpeningRange>(new OpeningRange(){ OpeningRangePeriod = openingRangePeriod, OpeningRangeType = openingRangeType, ColorScheme = colorScheme, PriceAboveStroke = priceAboveStroke, PriceBelowStroke = priceBelowStroke, PriceInsideStroke = priceInsideStroke, OpeningRangeHighStroke = openingRangeHighStroke, OpeningRangeMidStroke = openingRangeMidStroke, OpeningRangeLowStroke = openingRangeLowStroke, ShowLabels = showLabels, OpeningRangeFont = openingRangeFont, OpeningRangeFontColor = openingRangeFontColor, OpeningRangeHighLabel = openingRangeHighLabel, OpeningRangeHighLabelPosition = openingRangeHighLabelPosition, OpeningRangeMidLabel = openingRangeMidLabel, OpeningRangeMidLabelPosition = openingRangeMidLabelPosition, OpeningRangeLowLabel = openingRangeLowLabel, OpeningRangeLowLabelPosition = openingRangeLowLabelPosition }, input, ref cacheOpeningRange);
return CacheIndicator<OpeningRange>(new OpeningRange(){ OpeningRangePeriod = openingRangePeriod, OpeningRangeType = openingRangeType, EnableExtensions = enableExtensions, NumberOfExtensions = numberOfExtensions, ExtensionMultiplier = extensionMultiplier, ColorScheme = colorScheme, PriceAboveStroke = priceAboveStroke, PriceBelowStroke = priceBelowStroke, PriceInsideStroke = priceInsideStroke, OpeningRangeHighStroke = openingRangeHighStroke, OpeningRangeMidStroke = openingRangeMidStroke, OpeningRangeLowStroke = openingRangeLowStroke, ExtensionStroke = extensionStroke, ShowLabels = showLabels, OpeningRangeFont = openingRangeFont, OpeningRangeFontColor = openingRangeFontColor, OpeningRangeHighLabel = openingRangeHighLabel, OpeningRangeHighLabelPosition = openingRangeHighLabelPosition, OpeningRangeMidLabel = openingRangeMidLabel, OpeningRangeMidLabelPosition = openingRangeMidLabelPosition, OpeningRangeLowLabel = openingRangeLowLabel, OpeningRangeLowLabelPosition = openingRangeLowLabelPosition }, input, ref cacheOpeningRange);
}
}
}
@ -722,14 +792,14 @@ namespace NinjaTrader.NinjaScript.MarketAnalyzerColumns
{
public partial class MarketAnalyzerColumn : MarketAnalyzerColumnBase
{
public Indicators.OpeningRange OpeningRange(int openingRangePeriod, OpeningRangeBarType openingRangeType, OpeningRangeColorScheme colorScheme, Stroke priceAboveStroke, Stroke priceBelowStroke, Stroke priceInsideStroke, Stroke openingRangeHighStroke, Stroke openingRangeMidStroke, Stroke openingRangeLowStroke, bool showLabels, SimpleFont openingRangeFont, Brush openingRangeFontColor, string openingRangeHighLabel, OpeningRangeLabelPosition openingRangeHighLabelPosition, string openingRangeMidLabel, OpeningRangeLabelPosition openingRangeMidLabelPosition, string openingRangeLowLabel, OpeningRangeLabelPosition openingRangeLowLabelPosition)
public Indicators.OpeningRange OpeningRange(int openingRangePeriod, OpeningRangeBarType openingRangeType, bool enableExtensions, int numberOfExtensions, double extensionMultiplier, OpeningRangeColorScheme colorScheme, Stroke priceAboveStroke, Stroke priceBelowStroke, Stroke priceInsideStroke, Stroke openingRangeHighStroke, Stroke openingRangeMidStroke, Stroke openingRangeLowStroke, Stroke extensionStroke, bool showLabels, SimpleFont openingRangeFont, Brush openingRangeFontColor, string openingRangeHighLabel, OpeningRangeLabelPosition openingRangeHighLabelPosition, string openingRangeMidLabel, OpeningRangeLabelPosition openingRangeMidLabelPosition, string openingRangeLowLabel, OpeningRangeLabelPosition openingRangeLowLabelPosition)
{
return indicator.OpeningRange(Input, openingRangePeriod, openingRangeType, colorScheme, priceAboveStroke, priceBelowStroke, priceInsideStroke, openingRangeHighStroke, openingRangeMidStroke, openingRangeLowStroke, showLabels, openingRangeFont, openingRangeFontColor, openingRangeHighLabel, openingRangeHighLabelPosition, openingRangeMidLabel, openingRangeMidLabelPosition, openingRangeLowLabel, openingRangeLowLabelPosition);
return indicator.OpeningRange(Input, openingRangePeriod, openingRangeType, enableExtensions, numberOfExtensions, extensionMultiplier, colorScheme, priceAboveStroke, priceBelowStroke, priceInsideStroke, openingRangeHighStroke, openingRangeMidStroke, openingRangeLowStroke, extensionStroke, showLabels, openingRangeFont, openingRangeFontColor, openingRangeHighLabel, openingRangeHighLabelPosition, openingRangeMidLabel, openingRangeMidLabelPosition, openingRangeLowLabel, openingRangeLowLabelPosition);
}
public Indicators.OpeningRange OpeningRange(ISeries<double> input , int openingRangePeriod, OpeningRangeBarType openingRangeType, OpeningRangeColorScheme colorScheme, Stroke priceAboveStroke, Stroke priceBelowStroke, Stroke priceInsideStroke, Stroke openingRangeHighStroke, Stroke openingRangeMidStroke, Stroke openingRangeLowStroke, bool showLabels, SimpleFont openingRangeFont, Brush openingRangeFontColor, string openingRangeHighLabel, OpeningRangeLabelPosition openingRangeHighLabelPosition, string openingRangeMidLabel, OpeningRangeLabelPosition openingRangeMidLabelPosition, string openingRangeLowLabel, OpeningRangeLabelPosition openingRangeLowLabelPosition)
public Indicators.OpeningRange OpeningRange(ISeries<double> input , int openingRangePeriod, OpeningRangeBarType openingRangeType, bool enableExtensions, int numberOfExtensions, double extensionMultiplier, OpeningRangeColorScheme colorScheme, Stroke priceAboveStroke, Stroke priceBelowStroke, Stroke priceInsideStroke, Stroke openingRangeHighStroke, Stroke openingRangeMidStroke, Stroke openingRangeLowStroke, Stroke extensionStroke, bool showLabels, SimpleFont openingRangeFont, Brush openingRangeFontColor, string openingRangeHighLabel, OpeningRangeLabelPosition openingRangeHighLabelPosition, string openingRangeMidLabel, OpeningRangeLabelPosition openingRangeMidLabelPosition, string openingRangeLowLabel, OpeningRangeLabelPosition openingRangeLowLabelPosition)
{
return indicator.OpeningRange(input, openingRangePeriod, openingRangeType, colorScheme, priceAboveStroke, priceBelowStroke, priceInsideStroke, openingRangeHighStroke, openingRangeMidStroke, openingRangeLowStroke, showLabels, openingRangeFont, openingRangeFontColor, openingRangeHighLabel, openingRangeHighLabelPosition, openingRangeMidLabel, openingRangeMidLabelPosition, openingRangeLowLabel, openingRangeLowLabelPosition);
return indicator.OpeningRange(input, openingRangePeriod, openingRangeType, enableExtensions, numberOfExtensions, extensionMultiplier, colorScheme, priceAboveStroke, priceBelowStroke, priceInsideStroke, openingRangeHighStroke, openingRangeMidStroke, openingRangeLowStroke, extensionStroke, showLabels, openingRangeFont, openingRangeFontColor, openingRangeHighLabel, openingRangeHighLabelPosition, openingRangeMidLabel, openingRangeMidLabelPosition, openingRangeLowLabel, openingRangeLowLabelPosition);
}
}
}
@ -738,14 +808,14 @@ namespace NinjaTrader.NinjaScript.Strategies
{
public partial class Strategy : NinjaTrader.Gui.NinjaScript.StrategyRenderBase
{
public Indicators.OpeningRange OpeningRange(int openingRangePeriod, OpeningRangeBarType openingRangeType, OpeningRangeColorScheme colorScheme, Stroke priceAboveStroke, Stroke priceBelowStroke, Stroke priceInsideStroke, Stroke openingRangeHighStroke, Stroke openingRangeMidStroke, Stroke openingRangeLowStroke, bool showLabels, SimpleFont openingRangeFont, Brush openingRangeFontColor, string openingRangeHighLabel, OpeningRangeLabelPosition openingRangeHighLabelPosition, string openingRangeMidLabel, OpeningRangeLabelPosition openingRangeMidLabelPosition, string openingRangeLowLabel, OpeningRangeLabelPosition openingRangeLowLabelPosition)
public Indicators.OpeningRange OpeningRange(int openingRangePeriod, OpeningRangeBarType openingRangeType, bool enableExtensions, int numberOfExtensions, double extensionMultiplier, OpeningRangeColorScheme colorScheme, Stroke priceAboveStroke, Stroke priceBelowStroke, Stroke priceInsideStroke, Stroke openingRangeHighStroke, Stroke openingRangeMidStroke, Stroke openingRangeLowStroke, Stroke extensionStroke, bool showLabels, SimpleFont openingRangeFont, Brush openingRangeFontColor, string openingRangeHighLabel, OpeningRangeLabelPosition openingRangeHighLabelPosition, string openingRangeMidLabel, OpeningRangeLabelPosition openingRangeMidLabelPosition, string openingRangeLowLabel, OpeningRangeLabelPosition openingRangeLowLabelPosition)
{
return indicator.OpeningRange(Input, openingRangePeriod, openingRangeType, colorScheme, priceAboveStroke, priceBelowStroke, priceInsideStroke, openingRangeHighStroke, openingRangeMidStroke, openingRangeLowStroke, showLabels, openingRangeFont, openingRangeFontColor, openingRangeHighLabel, openingRangeHighLabelPosition, openingRangeMidLabel, openingRangeMidLabelPosition, openingRangeLowLabel, openingRangeLowLabelPosition);
return indicator.OpeningRange(Input, openingRangePeriod, openingRangeType, enableExtensions, numberOfExtensions, extensionMultiplier, colorScheme, priceAboveStroke, priceBelowStroke, priceInsideStroke, openingRangeHighStroke, openingRangeMidStroke, openingRangeLowStroke, extensionStroke, showLabels, openingRangeFont, openingRangeFontColor, openingRangeHighLabel, openingRangeHighLabelPosition, openingRangeMidLabel, openingRangeMidLabelPosition, openingRangeLowLabel, openingRangeLowLabelPosition);
}
public Indicators.OpeningRange OpeningRange(ISeries<double> input , int openingRangePeriod, OpeningRangeBarType openingRangeType, OpeningRangeColorScheme colorScheme, Stroke priceAboveStroke, Stroke priceBelowStroke, Stroke priceInsideStroke, Stroke openingRangeHighStroke, Stroke openingRangeMidStroke, Stroke openingRangeLowStroke, bool showLabels, SimpleFont openingRangeFont, Brush openingRangeFontColor, string openingRangeHighLabel, OpeningRangeLabelPosition openingRangeHighLabelPosition, string openingRangeMidLabel, OpeningRangeLabelPosition openingRangeMidLabelPosition, string openingRangeLowLabel, OpeningRangeLabelPosition openingRangeLowLabelPosition)
public Indicators.OpeningRange OpeningRange(ISeries<double> input , int openingRangePeriod, OpeningRangeBarType openingRangeType, bool enableExtensions, int numberOfExtensions, double extensionMultiplier, OpeningRangeColorScheme colorScheme, Stroke priceAboveStroke, Stroke priceBelowStroke, Stroke priceInsideStroke, Stroke openingRangeHighStroke, Stroke openingRangeMidStroke, Stroke openingRangeLowStroke, Stroke extensionStroke, bool showLabels, SimpleFont openingRangeFont, Brush openingRangeFontColor, string openingRangeHighLabel, OpeningRangeLabelPosition openingRangeHighLabelPosition, string openingRangeMidLabel, OpeningRangeLabelPosition openingRangeMidLabelPosition, string openingRangeLowLabel, OpeningRangeLabelPosition openingRangeLowLabelPosition)
{
return indicator.OpeningRange(input, openingRangePeriod, openingRangeType, colorScheme, priceAboveStroke, priceBelowStroke, priceInsideStroke, openingRangeHighStroke, openingRangeMidStroke, openingRangeLowStroke, showLabels, openingRangeFont, openingRangeFontColor, openingRangeHighLabel, openingRangeHighLabelPosition, openingRangeMidLabel, openingRangeMidLabelPosition, openingRangeLowLabel, openingRangeLowLabelPosition);
return indicator.OpeningRange(input, openingRangePeriod, openingRangeType, enableExtensions, numberOfExtensions, extensionMultiplier, colorScheme, priceAboveStroke, priceBelowStroke, priceInsideStroke, openingRangeHighStroke, openingRangeMidStroke, openingRangeLowStroke, extensionStroke, showLabels, openingRangeFont, openingRangeFontColor, openingRangeHighLabel, openingRangeHighLabelPosition, openingRangeMidLabel, openingRangeMidLabelPosition, openingRangeLowLabel, openingRangeLowLabelPosition);
}
}
}