Exemple #1
0
 /// <summary>
 /// Draws an arc.
 /// </summary>
 /// <param name="owner">The hosting NinjaScript object which is calling the draw method</param>
 /// <param name="tag">A user defined unique id used to reference the draw object</param>
 /// <param name="isAutoScale">Determines if the draw object will be included in the y-axis scale</param>
 /// <param name="startTime">The starting time where the draw object will be drawn.</param>
 /// <param name="startY">The starting y value coordinate where the draw object will be drawn</param>
 /// <param name="endTime">The end time where the draw object will terminate</param>
 /// <param name="endY">The end y value coordinate where the draw object will terminate</param>
 /// <param name="brush">The brush used to color draw object</param>
 /// <param name="dashStyle">The dash style used for the lines of the object.</param>
 /// <param name="width">The width of the draw object</param>
 /// <param name="drawOnPricePanel">Determines if the draw-object should be on the price panel or a separate panel</param>
 /// <returns></returns>
 public static Arc Arc(NinjaScriptBase owner, string tag, bool isAutoScale, DateTime startTime, double startY, DateTime endTime,
                       double endY, Brush brush, DashStyleHelper dashStyle, int width, bool drawOnPricePanel)
 {
     return(DrawingTool.DrawToggledPricePanel(owner, drawOnPricePanel, () =>
                                              ArcCore(owner, isAutoScale, tag, int.MinValue,
                                                      startTime, startY, int.MinValue, endTime, endY, brush, dashStyle, width, false, null)));
 }
#pragma warning restore CS0649

        public StationStyleForm(IPluginInterface pluginInterface)
        {
            this.pluginInterface = pluginInterface;
            var tt    = pluginInterface.Timetable;
            var attrs = new TimetableStyle(tt);

            backupHandle = pluginInterface.BackupTimetable();

            Eto.Serialization.Xaml.XamlReader.Load(this);

            var cc = new ColorCollection(pluginInterface.Settings);
            var ds = new DashStyleHelper();

            var lineWidths = Enumerable.Range(1, 5).Cast <object>().ToArray();

            gridView.AddColumn <StationStyle>(t => t.Station.SName, T._("Name"));
            gridView.AddDropDownColumn <StationStyle>(t => t.HexColor, cc.ColorHexStrings, EtoBindingExtensions.ColorBinding(cc), T._("Farbe"), true);
            gridView.AddDropDownColumn <StationStyle>(t => t.StationWidthInt, lineWidths, Binding.Delegate <int, string>(i => i.ToString()), T._("Linienstärke"), true);
            gridView.AddDropDownColumn <StationStyle>(t => t.LineStyle, ds.Indices.Cast <object>(), Binding.Delegate <int, string>(i => ds.GetDescription(i)), T._("Linientyp"), true);
            gridView.AddCheckColumn <StationStyle>(t => t.Show, T._("Station zeichnen"), true);

            gridView.DataStore = tt.Stations.Select(s => new StationStyle(s, attrs)).ToArray();

            this.AddCloseHandler();
        }
Exemple #3
0
 /// <summary>
 /// Draws an arc.
 /// </summary>
 /// <param name="owner">The hosting NinjaScript object which is calling the draw method</param>
 /// <param name="tag">A user defined unique id used to reference the draw object</param>
 /// <param name="isAutoScale">Determines if the draw object will be included in the y-axis scale</param>
 /// <param name="startBarsAgo">The starting bar (x axis coordinate) where the draw object will be drawn. For example, a value of 10 would paint the draw object 10 bars back.</param>
 /// <param name="startY">The starting y value coordinate where the draw object will be drawn</param>
 /// <param name="endBarsAgo">The end bar (x axis coordinate) where the draw object will terminate</param>
 /// <param name="endY">The end y value coordinate where the draw object will terminate</param>
 /// <param name="brush">The brush used to color draw object</param>
 /// <param name="dashStyle">The dash style used for the lines of the object.</param>
 /// <param name="width">The width of the draw object</param>
 /// <param name="drawOnPricePanel">Determines if the draw-object should be on the price panel or a separate panel</param>
 /// <returns></returns>
 public static Arc Arc(NinjaScriptBase owner, string tag, bool isAutoScale, int startBarsAgo, double startY, int endBarsAgo,
                       double endY, Brush brush, DashStyleHelper dashStyle, int width, bool drawOnPricePanel)
 {
     return(DrawingTool.DrawToggledPricePanel(owner, drawOnPricePanel, () =>
                                              ArcCore(owner, isAutoScale, tag, startBarsAgo,
                                                      Core.Globals.MinDate, startY, endBarsAgo, Core.Globals.MinDate, endY, brush, dashStyle, width, false, null)));
 }
Exemple #4
0
 public PriceLevel(double value, Brush brush, float strokeWidth, DashStyleHelper dashStyle, int opacity)
 {
     ValueFormatFunc = v => (v / 100).ToString("P", Core.Globals.GeneralOptions.CurrentCulture);
     Value           = value;
     IsVisible       = true;
     Stroke          = new Stroke(brush, dashStyle, strokeWidth, opacity);
     IsValueVisible  = true;
 }
Exemple #5
0
        private static Arc ArcCore(NinjaScriptBase owner, bool isAutoScale, string tag,
                                   int startBarsAgo, DateTime startTime, double startY, int endBarsAgo, DateTime endTime, double endY,
                                   Brush brush, DashStyleHelper dashStyle, int width, bool isGlobal, string templateName)
        {
            if (owner == null)
            {
                throw new ArgumentException("owner");
            }

            if (startTime == Core.Globals.MinDate && endTime == Core.Globals.MinDate && startBarsAgo == int.MinValue && endBarsAgo == int.MinValue)
            {
                throw new ArgumentException("bad start/end date/time");
            }

            if (string.IsNullOrWhiteSpace(tag))
            {
                throw new ArgumentException("tag cant be null or empty", "tag");
            }

            if (isGlobal && tag[0] != GlobalDrawingToolManager.GlobalDrawingToolTagPrefix)
            {
                tag = GlobalDrawingToolManager.GlobalDrawingToolTagPrefix + tag;
            }

            Arc newArc = DrawingTool.GetByTagOrNew(owner, typeof(Arc), tag, templateName) as Arc;

            if (newArc == null)
            {
                return(null);
            }

            DrawingTool.SetDrawingToolCommonValues(newArc, tag, isAutoScale, owner, isGlobal);

            // dont nuke existing anchor refs on the instance
            ChartAnchor startAnchor = DrawingTool.CreateChartAnchor(owner, startBarsAgo, startTime, startY);
            ChartAnchor endAnchor   = DrawingTool.CreateChartAnchor(owner, endBarsAgo, endTime, endY);

            startAnchor.CopyDataValues(newArc.StartAnchor);
            endAnchor.CopyDataValues(newArc.EndAnchor);

            if (brush != null)
            {
                newArc.Stroke = new Stroke(brush, dashStyle, width, 50)
                {
                    RenderTarget = newArc.Stroke.RenderTarget
                };
                newArc.ArcStroke = new Stroke(brush, dashStyle, width)
                {
                    RenderTarget = newArc.ArcStroke.RenderTarget
                };
            }
            newArc.SetState(State.Active);
            return(newArc);
        }
Exemple #6
0
 /// <summary>
 /// Draws an Andrew's Pitchfork.
 /// </summary>
 /// <param name="owner">The hosting NinjaScript object which is calling the draw method</param>
 /// <param name="tag">A user defined unique id used to reference the draw object</param>
 /// <param name="isAutoScale">Determines if the draw object will be included in the y-axis scale</param>
 /// <param name="anchor1Time">The time of the 1st anchor point</param>
 /// <param name="anchor1Y">The y value of the 1st anchor point</param>
 /// <param name="anchor2Time">The time of the 2nd anchor point</param>
 /// <param name="anchor2Y">The y value of the 2nd anchor point</param>
 /// <param name="anchor3Time">The time of the 3rd anchor point</param>
 /// <param name="anchor3Y">The y value of the 3rd anchor point</param>
 /// <param name="brush">The brush used to color draw object</param>
 /// <param name="dashStyle">The dash style used for the lines of the object</param>
 /// <param name="width">The width of the draw object</param>
 /// <returns></returns>
 public static AndrewsPitchfork AndrewsPitchfork(NinjaScriptBase owner, string tag, bool isAutoScale,
                                                 DateTime anchor1Time, double anchor1Y,
                                                 DateTime anchor2Time, double anchor2Y,
                                                 DateTime anchor3Time, double anchor3Y,
                                                 Brush brush, DashStyleHelper dashStyle, int width)
 {
     return(AndrewsPitchforkCore(owner, tag, isAutoScale,
                                 int.MinValue, anchor1Time, anchor1Y,
                                 int.MinValue, anchor2Time, anchor2Y,
                                 int.MinValue, anchor3Time, anchor3Y, brush, dashStyle, width, false, null));
 }
Exemple #7
0
 /// <summary>
 /// Draws an Andrew's Pitchfork.
 /// </summary>
 /// <param name="owner">The hosting NinjaScript object which is calling the draw method</param>
 /// <param name="tag">A user defined unique id used to reference the draw object</param>
 /// <param name="isAutoScale">Determines if the draw object will be included in the y-axis scale</param>
 /// <param name="anchor1BarsAgo">The number of bars ago (x value) of the 1st anchor point</param>
 /// <param name="anchor1Y">The y value of the 1st anchor point</param>
 /// <param name="anchor2BarsAgo">The number of bars ago (x value) of the 2nd anchor point</param>
 /// <param name="anchor2Y">The y value of the 2nd anchor point</param>
 /// <param name="anchor3BarsAgo">The number of bars ago (x value) of the 3rd anchor point</param>
 /// <param name="anchor3Y">The y value of the 3rd anchor point</param>
 /// <param name="brush">The brush used to color draw object</param>
 /// <param name="dashStyle">The dash style used for the lines of the object.</param>
 /// <param name="width">The width of the draw object</param>
 /// <returns></returns>
 public static AndrewsPitchfork AndrewsPitchfork(NinjaScriptBase owner, string tag, bool isAutoScale,
                                                 int anchor1BarsAgo, double anchor1Y,
                                                 int anchor2BarsAgo, double anchor2Y,
                                                 int anchor3BarsAgo, double anchor3Y,
                                                 Brush brush, DashStyleHelper dashStyle, int width)
 {
     return(AndrewsPitchforkCore(owner, tag, isAutoScale,
                                 anchor1BarsAgo, Core.Globals.MinDate, anchor1Y,
                                 anchor2BarsAgo, Core.Globals.MinDate, anchor2Y,
                                 anchor3BarsAgo, Core.Globals.MinDate, anchor3Y, brush, dashStyle, width, false, null));
 }
Exemple #8
0
        private static AndrewsPitchfork AndrewsPitchforkCore(NinjaScriptBase owner,
                                                             string tag, bool isAutoScale,
                                                             int anchor1BarsAgo, DateTime anchor1Time, double anchor1Y,
                                                             int anchor2BarsAgo, DateTime anchor2Time, double anchor2Y,
                                                             int anchor3BarsAgo, DateTime anchor3Time, double anchor3Y,
                                                             Brush brush, DashStyleHelper dashStyle, int width,
                                                             bool isGlobal, string templateName)
        {
            if (owner == null)
            {
                throw new ArgumentException("owner");
            }

            if (string.IsNullOrWhiteSpace(tag))
            {
                throw new ArgumentException(@"tag cant be null or empty", "tag");
            }

            if (isGlobal && tag[0] != GlobalDrawingToolManager.GlobalDrawingToolTagPrefix)
            {
                tag = GlobalDrawingToolManager.GlobalDrawingToolTagPrefix + tag;
            }

            AndrewsPitchfork pitchfork = DrawingTool.GetByTagOrNew(owner, typeof(AndrewsPitchfork), tag, templateName) as AndrewsPitchfork;

            if (pitchfork == null)
            {
                return(null);
            }

            DrawingTool.SetDrawingToolCommonValues(pitchfork, tag, isAutoScale, owner, isGlobal);

            ChartAnchor startAnchor = DrawingTool.CreateChartAnchor(owner, anchor1BarsAgo, anchor1Time, anchor1Y);
            ChartAnchor endAnchor   = DrawingTool.CreateChartAnchor(owner, anchor2BarsAgo, anchor2Time, anchor2Y);
            ChartAnchor extAnchor   = DrawingTool.CreateChartAnchor(owner, anchor3BarsAgo, anchor3Time, anchor3Y);

            startAnchor.CopyDataValues(pitchfork.StartAnchor);
            endAnchor.CopyDataValues(pitchfork.EndAnchor);
            extAnchor.CopyDataValues(pitchfork.ExtensionAnchor);

            if (string.IsNullOrEmpty(templateName) || brush != null)
            {
                pitchfork.AnchorLineStroke.Width = width;
                pitchfork.RetracementLineStroke  = new Stroke(brush, dashStyle, width)
                {
                    RenderTarget = pitchfork.RetracementLineStroke.RenderTarget
                };
            }

            pitchfork.SetState(State.Active);
            return(pitchfork);
        }
Exemple #9
0
        private static T DrawRangeProfileTypeCore <T>(NinjaScriptBase owner, bool isAutoScale, string tag,
                                                      int startBarsAgo, DateTime startTime, double startY, int endBarsAgo, DateTime endTime, double endY,
                                                      Brush brush, DashStyleHelper dashStyle, int width, bool isGlobal, string templateName, Model model) where T : RangeProfile
        {
            if (owner == null)
            {
                throw new ArgumentException("owner");
            }

            if (string.IsNullOrWhiteSpace(tag))
            {
                throw new ArgumentException(@"tag cant be null or empty", "tag");
            }

            if (isGlobal && tag[0] != GlobalDrawingToolManager.GlobalDrawingToolTagPrefix)
            {
                tag = string.Format("{0}{1}", GlobalDrawingToolManager.GlobalDrawingToolTagPrefix, tag);
            }

            T lineT = DrawingTool.GetByTagOrNew(owner, typeof(T), tag, templateName) as T;

            lineT.model = model;


            if (lineT == null)
            {
                return(null);
            }

            if (startTime == Core.Globals.MinDate && endTime == Core.Globals.MinDate && startBarsAgo == int.MinValue && endBarsAgo == int.MinValue)
            {
                throw new ArgumentException("bad start/end date/time");
            }

            DrawingTool.SetDrawingToolCommonValues(lineT, tag, isAutoScale, owner, isGlobal);


            // dont nuke existing anchor refs on the instance
            ChartAnchor startAnchor;

            startAnchor = DrawingTool.CreateChartAnchor(owner, startBarsAgo, startTime, startY);
            ChartAnchor endAnchor = DrawingTool.CreateChartAnchor(owner, endBarsAgo, endTime, endY);

            startAnchor.CopyDataValues(lineT.StartAnchor);
            endAnchor.CopyDataValues(lineT.EndAnchor);

            /*if (brush != null)
             *                  lineT.LineStroke = new Stroke(brush, dashStyle, width);*/

            lineT.SetState(State.Active);
            return(lineT);
        }
Exemple #10
0
        private static Polygon PolygonCore(NinjaScriptBase owner, string tag, bool isAutoScale, List <ChartAnchor> chartAnchors, Brush brush,
                                           DashStyleHelper dashStyle, Brush areaBrush, int areaOpacity, bool isGlobal, string templateName)
        {
            if (owner == null)
            {
                throw new ArgumentException("owner");
            }

            if (string.IsNullOrWhiteSpace(tag))
            {
                throw new ArgumentException(@"tag cant be null or empty", "tag");
            }

            if (isGlobal && tag[0] != GlobalDrawingToolManager.GlobalDrawingToolTagPrefix)
            {
                tag = GlobalDrawingToolManager.GlobalDrawingToolTagPrefix + tag;
            }

            Polygon polygon = DrawingTool.GetByTagOrNew(owner, typeof(Polygon), tag, templateName) as Polygon;

            if (polygon == null)
            {
                return(null);
            }

            DrawingTool.SetDrawingToolCommonValues(polygon, tag, isAutoScale, owner, isGlobal);

            if (chartAnchors != null)
            {
                polygon.ChartAnchors = chartAnchors;
            }

            if (brush != null)
            {
                polygon.OutlineStroke = new Stroke(brush, dashStyle, 2);
            }

            if (areaBrush != null)
            {
                polygon.AreaBrush = areaBrush;
            }

            if (areaOpacity > -1)
            {
                polygon.AreaOpacity = areaOpacity;
            }

            polygon.SetState(State.Active);
            return(polygon);
        }
#pragma warning restore CS0649

        private TrainColorEditForm(ISettings settings)
        {
            Eto.Serialization.Xaml.XamlReader.Load(this);

            cc = new ColorCollection(settings);
            ds = new DashStyleHelper();

            colorComboBox.DataStore       = cc.ColorHexStrings;
            colorComboBox.ItemTextBinding = Shared.UI.ExtBind.ColorBinding(cc);

            widthComboBox.DataStore       = Enumerable.Range(1, 5).Cast <object>();
            widthComboBox.ItemTextBinding = Binding.Property <int, string>(c => c.ToString());

            dashComboBox.DataStore       = ds.Indices.Cast <object>();
            dashComboBox.ItemTextBinding = Binding.Property <int, string>(i => ds.GetDescription(i));
        }
Exemple #12
0
#pragma warning restore CS0649

        public StationStyleForm(IInfo info)
        {
            this.info    = info;
            tt           = info.Timetable;
            attrs        = new TimetableStyle(tt);
            backupHandle = info.BackupTimetable();

            Eto.Serialization.Xaml.XamlReader.Load(this);

            cc = new ColorCollection(info.Settings);
            ds = new DashStyleHelper();

            gridView.AddColumn <Station>(t => t.SName, "Name");
            gridView.AddColumn <Station>(t => cc.ToName(new StationStyle(t).StationColor ?? attrs.StationColor), "Farbe");
            gridView.AddColumn <Station>(t => (new StationStyle(t).StationWidth ?? attrs.StationWidth).ToString(), "Linienstärke");
            gridView.AddColumn <Station>(t => ds.GetDescription(new StationStyle(t).LineStyle), "Linientyp");
            gridView.AddColumn <Station>(t => new StationStyle(t).Show.ToString(), "Station zeichnen");

            gridView.CellDoubleClick += (s, e) => EditColor(false);

            UpdateStations();

            this.AddCloseHandler();
        }
Exemple #13
0
 public DrawingProperties(bool isDotAutoScale, Brush upDotColor, Brush downDotColor,
                          Brush upDotOutlineColor, Brush downDotOutlineColor, bool isTextAutoScale,
                          int textYPixelOffSet, Brush textColor, SimpleFont textSimpleFont,
                          TextAlignment textAligmentPropertie, Brush textOutlineBrush, Brush textAreaBrush,
                          int textAreaOpacity, bool isLineAutoScale, Brush lineColor, DashStyleHelper lineDashStyle, int lineWidth)
 {
     IsDotAutoScale        = isDotAutoScale;
     UpDotColor            = upDotColor;
     DownDotColor          = downDotColor;
     UpDotOutlineColor     = upDotOutlineColor;
     DownDotOutlineColor   = downDotOutlineColor;
     IsTextAutoScale       = isTextAutoScale;
     TextYPixelOffSet      = textYPixelOffSet;
     TextColor             = textColor;
     TextSimpleFont        = textSimpleFont;
     TextAligmentPropertie = textAligmentPropertie;
     TextOutlineBrush      = textOutlineBrush;
     TextAreaBrush         = textAreaBrush;
     TextAreaOpacity       = textAreaOpacity;
     IsLineAutoScale       = isLineAutoScale;
     LineColor             = lineColor;
     LineDashStyle         = lineDashStyle;
     LineWidth             = lineWidth;
 }
Exemple #14
0
        // Condense Line drawing code
        private void DrawLine(string brushName, double x1, double y1, double x2, double y2, float width, DashStyleHelper dashStyle)
        {
            // Create StrokeStyleProperties
            SharpDX.Direct2D1.StrokeStyleProperties ssProps = new SharpDX.Direct2D1.StrokeStyleProperties();

            // Set StrokeStyleProperties Dashstyle to that of the DashStyleHelper
            if (dashStyle == DashStyleHelper.Dash)
            {
                ssProps.DashStyle = SharpDX.Direct2D1.DashStyle.Dash;
            }
            if (dashStyle == DashStyleHelper.DashDot)
            {
                ssProps.DashStyle = SharpDX.Direct2D1.DashStyle.DashDot;
            }
            if (dashStyle == DashStyleHelper.DashDotDot)
            {
                ssProps.DashStyle = SharpDX.Direct2D1.DashStyle.DashDotDot;
            }
            if (dashStyle == DashStyleHelper.Dot)
            {
                ssProps.DashStyle = SharpDX.Direct2D1.DashStyle.Dot;
            }
            if (dashStyle == DashStyleHelper.Solid)
            {
                ssProps.DashStyle = SharpDX.Direct2D1.DashStyle.Solid;
            }

            // Create StrokeStyle from StrokeStyleProperties
            SharpDX.Direct2D1.StrokeStyle strokeStyle = new SharpDX.Direct2D1.StrokeStyle(Core.Globals.D2DFactory, ssProps);

            // Create Vector2 coordinates
            SharpDX.Vector2 startPoint = new System.Windows.Point(x1, y1).ToVector2();
            SharpDX.Vector2 endPoint   = new System.Windows.Point(x2, y2).ToVector2();

            // Draw the line
            RenderTarget.DrawLine(startPoint, endPoint, dxmBrushes[brushName].DxBrush, width, strokeStyle);

            // StrokeStyle is device-independant and does not need to be Disposed after each OnRender() or OnRenderTargetChanged() call, but is for good housekeeping,
            strokeStyle.Dispose();
        }
 public CurrentPriceMarker CurrentPriceMarker(ISeries <double> input, SimpleFont font, Brush priceLineColor, Brush priceTextColor, Brush priceAreaColor, int priceLineLength, int priceLineWidth, DashStyleHelper priceLineStyle, double priceLineOpacity)
 {
     if (cacheCurrentPriceMarker != null)
     {
         for (int idx = 0; idx < cacheCurrentPriceMarker.Length; idx++)
         {
             if (cacheCurrentPriceMarker[idx] != null && cacheCurrentPriceMarker[idx].Font == font && cacheCurrentPriceMarker[idx].PriceLineColor == priceLineColor && cacheCurrentPriceMarker[idx].PriceTextColor == priceTextColor && cacheCurrentPriceMarker[idx].PriceAreaColor == priceAreaColor && cacheCurrentPriceMarker[idx].PriceLineLength == priceLineLength && cacheCurrentPriceMarker[idx].PriceLineWidth == priceLineWidth && cacheCurrentPriceMarker[idx].PriceLineStyle == priceLineStyle && cacheCurrentPriceMarker[idx].PriceLineOpacity == priceLineOpacity && cacheCurrentPriceMarker[idx].EqualsInput(input))
             {
                 return(cacheCurrentPriceMarker[idx]);
             }
         }
     }
     return(CacheIndicator <CurrentPriceMarker>(new CurrentPriceMarker()
     {
         Font = font, PriceLineColor = priceLineColor, PriceTextColor = priceTextColor, PriceAreaColor = priceAreaColor, PriceLineLength = priceLineLength, PriceLineWidth = priceLineWidth, PriceLineStyle = priceLineStyle, PriceLineOpacity = priceLineOpacity
     }, input, ref cacheCurrentPriceMarker));
 }
 public Indicators.CenTexFishTDiv CenTexFishTDiv(ISeries <double> input, CenTexFishTDivIndicatorMethod method, double indicatorDiffLimit, double priceDiffLimit, int scanWidth, int queueLength, int rdivlinelookbackperiod, CenTexFishTDivPriceType pType, bool showAlerts, string myAlert1, string myAlert2, bool useDefaultPlot, DashStyleHelper divergenceDashStyle, int divergenceLineWidth, int markerDistanceFactor, int macd_Fast, int macd_Slow, int macd_Smooth)
 {
     return(indicator.CenTexFishTDiv(input, method, indicatorDiffLimit, priceDiffLimit, scanWidth, queueLength, rdivlinelookbackperiod, pType, showAlerts, myAlert1, myAlert2, useDefaultPlot, divergenceDashStyle, divergenceLineWidth, markerDistanceFactor, macd_Fast, macd_Slow, macd_Smooth));
 }
 public CenTexFishTDiv CenTexFishTDiv(ISeries <double> input, CenTexFishTDivIndicatorMethod method, double indicatorDiffLimit, double priceDiffLimit, int scanWidth, int queueLength, int rdivlinelookbackperiod, CenTexFishTDivPriceType pType, bool showAlerts, string myAlert1, string myAlert2, bool useDefaultPlot, DashStyleHelper divergenceDashStyle, int divergenceLineWidth, int markerDistanceFactor, int macd_Fast, int macd_Slow, int macd_Smooth)
 {
     if (cacheCenTexFishTDiv != null)
     {
         for (int idx = 0; idx < cacheCenTexFishTDiv.Length; idx++)
         {
             if (cacheCenTexFishTDiv[idx] != null && cacheCenTexFishTDiv[idx].Method == method && cacheCenTexFishTDiv[idx].IndicatorDiffLimit == indicatorDiffLimit && cacheCenTexFishTDiv[idx].PriceDiffLimit == priceDiffLimit && cacheCenTexFishTDiv[idx].ScanWidth == scanWidth && cacheCenTexFishTDiv[idx].QueueLength == queueLength && cacheCenTexFishTDiv[idx].Rdivlinelookbackperiod == rdivlinelookbackperiod && cacheCenTexFishTDiv[idx].PType == pType && cacheCenTexFishTDiv[idx].ShowAlerts == showAlerts && cacheCenTexFishTDiv[idx].MyAlert1 == myAlert1 && cacheCenTexFishTDiv[idx].MyAlert2 == myAlert2 && cacheCenTexFishTDiv[idx].UseDefaultPlot == useDefaultPlot && cacheCenTexFishTDiv[idx].DivergenceDashStyle == divergenceDashStyle && cacheCenTexFishTDiv[idx].DivergenceLineWidth == divergenceLineWidth && cacheCenTexFishTDiv[idx].MarkerDistanceFactor == markerDistanceFactor && cacheCenTexFishTDiv[idx].Macd_Fast == macd_Fast && cacheCenTexFishTDiv[idx].Macd_Slow == macd_Slow && cacheCenTexFishTDiv[idx].Macd_Smooth == macd_Smooth && cacheCenTexFishTDiv[idx].EqualsInput(input))
             {
                 return(cacheCenTexFishTDiv[idx]);
             }
         }
     }
     return(CacheIndicator <CenTexFishTDiv>(new CenTexFishTDiv()
     {
         Method = method, IndicatorDiffLimit = indicatorDiffLimit, PriceDiffLimit = priceDiffLimit, ScanWidth = scanWidth, QueueLength = queueLength, Rdivlinelookbackperiod = rdivlinelookbackperiod, PType = pType, ShowAlerts = showAlerts, MyAlert1 = myAlert1, MyAlert2 = myAlert2, UseDefaultPlot = useDefaultPlot, DivergenceDashStyle = divergenceDashStyle, DivergenceLineWidth = divergenceLineWidth, MarkerDistanceFactor = markerDistanceFactor, Macd_Fast = macd_Fast, Macd_Slow = macd_Slow, Macd_Smooth = macd_Smooth
     }, input, ref cacheCenTexFishTDiv));
 }
Exemple #18
0
        // draw text fixed  //get rid of isOutlineVisible
        /// <summary>
        /// Texts the fixed core.
        /// </summary>
        /// <param name="owner">The hosting NinjaScript object which is calling the draw method</param>
        /// <param name="tag">A user defined unique id used to reference the draw object</param>
        /// <param name="text">The text you wish to draw</param>
        /// <param name="textPosition">The TextPosition of the text</param>
        /// <param name="textBrush">The brush used to color the text of the draw object</param>
        /// <param name="font">A SimpleFont object</param>
        /// <param name="outlineBrush">The brush used to color the region outline of draw object</param>
        /// <param name="areaBrush">The brush used to color the fill region area of the draw object</param>
        /// <param name="areaOpacity"> Sets the level of transparency for the fill color. Valid values between 0 - 100. (0 = completely transparent, 100 = no opacity)</param>
        /// <param name="isGlobal">Determines if the draw object will be global across all charts which match the instrument</param>
        /// <param name="templateName">The name of the drawing tool template the object will use to determine various visual properties</param>
        /// <param name="outlineDashStyle">The outline dash style.</param>
        /// <param name="outlineWidth">Width of the outline.</param>
        /// <returns></returns>
        private static TextFixed TextFixedCore(NinjaScriptBase owner, string tag, string text,
                                               TextPosition textPosition, Brush textBrush, Gui.Tools.SimpleFont font, Brush outlineBrush,
                                               Brush areaBrush, int?areaOpacity, bool isGlobal, string templateName, DashStyleHelper outlineDashStyle, int outlineWidth)
        {
            TextFixed txtFixed = DrawingTool.GetByTagOrNew(owner, typeof(TextFixed), tag, templateName) as TextFixed;

            if (txtFixed == null)
            {
                return(null);
            }

            DrawingTool.SetDrawingToolCommonValues(txtFixed, tag, false, owner, isGlobal);

            // set defaults, then apply ns properties so they dont get trampled
            txtFixed.SetState(State.Active);

            txtFixed.DisplayText  = text;
            txtFixed.TextPosition = textPosition;
            if (textBrush != null)
            {
                txtFixed.TextBrush = textBrush;
            }

            if (txtFixed.TextBrush == null)
            {
                txtFixed.UseChartTextBrush = true;
            }

            if (outlineBrush != null)
            {
                txtFixed.OutlineStroke = new Stroke(outlineBrush, outlineDashStyle, outlineWidth)
                {
                    RenderTarget = txtFixed.OutlineStroke.RenderTarget
                }
            }
            ;

            if (areaBrush != null)
            {
                txtFixed.AreaBrush = areaBrush;
            }

            if (areaOpacity != null)
            {
                txtFixed.AreaOpacity = areaOpacity.Value;
            }

            if (font != null)
            {
                txtFixed.Font = font;
            }

            return(txtFixed);
        }
Exemple #19
0
 public JBMarketProfileLevels JBMarketProfileLevels(ISeries <double> input, int opacity, int brokenOpacity, bool showPOC, SolidColorBrush pOCColor, bool showHILO, SolidColorBrush hILOColor, bool showVA, SolidColorBrush vAColor, bool showONPOC, SolidColorBrush oNPOCColor, bool showONHILO, SolidColorBrush oNHILOColor, bool showONVA, SolidColorBrush oNVAColor, bool showSettlement, SolidColorBrush settlementColor, NinjaTrader.Gui.Tools.SimpleFont labelFont, int lineWidth, DashStyleHelper lineStyle, String rTHTemplate, String oNTemplate)
 {
     if (cacheJBMarketProfileLevels != null)
     {
         for (int idx = 0; idx < cacheJBMarketProfileLevels.Length; idx++)
         {
             if (cacheJBMarketProfileLevels[idx] != null && cacheJBMarketProfileLevels[idx].Opacity == opacity && cacheJBMarketProfileLevels[idx].BrokenOpacity == brokenOpacity && cacheJBMarketProfileLevels[idx].ShowPOC == showPOC && cacheJBMarketProfileLevels[idx].POCColor == pOCColor && cacheJBMarketProfileLevels[idx].ShowHILO == showHILO && cacheJBMarketProfileLevels[idx].HILOColor == hILOColor && cacheJBMarketProfileLevels[idx].ShowVA == showVA && cacheJBMarketProfileLevels[idx].VAColor == vAColor && cacheJBMarketProfileLevels[idx].ShowONPOC == showONPOC && cacheJBMarketProfileLevels[idx].ONPOCColor == oNPOCColor && cacheJBMarketProfileLevels[idx].ShowONHILO == showONHILO && cacheJBMarketProfileLevels[idx].ONHILOColor == oNHILOColor && cacheJBMarketProfileLevels[idx].ShowONVA == showONVA && cacheJBMarketProfileLevels[idx].ONVAColor == oNVAColor && cacheJBMarketProfileLevels[idx].ShowSettlement == showSettlement && cacheJBMarketProfileLevels[idx].SettlementColor == settlementColor && cacheJBMarketProfileLevels[idx].LabelFont == labelFont && cacheJBMarketProfileLevels[idx].LineWidth == lineWidth && cacheJBMarketProfileLevels[idx].LineStyle == lineStyle && cacheJBMarketProfileLevels[idx].RTHTemplate == rTHTemplate && cacheJBMarketProfileLevels[idx].ONTemplate == oNTemplate && cacheJBMarketProfileLevels[idx].EqualsInput(input))
             {
                 return(cacheJBMarketProfileLevels[idx]);
             }
         }
     }
     return(CacheIndicator <JBMarketProfileLevels>(new JBMarketProfileLevels()
     {
         Opacity = opacity, BrokenOpacity = brokenOpacity, ShowPOC = showPOC, POCColor = pOCColor, ShowHILO = showHILO, HILOColor = hILOColor, ShowVA = showVA, VAColor = vAColor, ShowONPOC = showONPOC, ONPOCColor = oNPOCColor, ShowONHILO = showONHILO, ONHILOColor = oNHILOColor, ShowONVA = showONVA, ONVAColor = oNVAColor, ShowSettlement = showSettlement, SettlementColor = settlementColor, LabelFont = labelFont, LineWidth = lineWidth, LineStyle = lineStyle, RTHTemplate = rTHTemplate, ONTemplate = oNTemplate
     }, input, ref cacheJBMarketProfileLevels));
 }
Exemple #20
0
 /// <summary>
 /// Draws text in one of 5 available pre-defined fixed locations on panel 1 (price panel) of a chart.
 /// </summary>
 /// <param name="owner">The hosting NinjaScript object which is calling the draw method</param>
 /// <param name="tag">A user defined unique id used to reference the draw object</param>
 /// <param name="text">The text you wish to draw</param>
 /// <param name="textPosition">The TextPosition of the text</param>
 /// <param name="textBrush">The brush used to color the text of the draw object</param>
 /// <param name="font">A SimpleFont object</param>
 /// <param name="outlineBrush">The brush used to color the region outline of draw object</param>
 /// <param name="areaBrush">The brush used to color the fill region area of the draw object</param>
 /// <param name="areaOpacity"> Sets the level of transparency for the fill color. Valid values between 0 - 100. (0 = completely transparent, 100 = no opacity)</param>
 /// <param name="outlineDashStyle">The outline dash style.</param>
 /// <param name="outlineWidth">Width of the outline.</param>
 /// <param name="isGlobal">Determines if the draw object will be global across all charts which match the instrument</param>
 /// <param name="templateName">The name of the drawing tool template the object will use to determine various visual properties</param>
 /// <returns></returns>
 public static TextFixed TextFixed(NinjaScriptBase owner, string tag, string text, TextPosition textPosition, Brush textBrush,
                                   Gui.Tools.SimpleFont font, Brush outlineBrush, Brush areaBrush, int areaOpacity, DashStyleHelper outlineDashStyle, int outlineWidth, bool isGlobal, string templateName)
 {
     return(TextFixedCore(owner, tag, text, textPosition, textBrush, font, outlineBrush, areaBrush, areaOpacity, isGlobal, templateName, outlineDashStyle, outlineWidth));
 }
 public Indicators.CurrentPriceMarker CurrentPriceMarker(ISeries <double> input, SimpleFont font, Brush priceLineColor, Brush priceTextColor, Brush priceAreaColor, int priceLineLength, int priceLineWidth, DashStyleHelper priceLineStyle, double priceLineOpacity)
 {
     return(indicator.CurrentPriceMarker(input, font, priceLineColor, priceTextColor, priceAreaColor, priceLineLength, priceLineWidth, priceLineStyle, priceLineOpacity));
 }
Exemple #22
0
 public JBWeisWave JBWeisWave(ISeries <double> input, int length, SwingStyle style, bool showLines, bool showVolumes, bool showDeltas, bool showTail, int volumeLabelBarSpacing, int deltaLabelBarSpacing, int waveLineWidth, DashStyleHelper waveLineStyle, SolidColorBrush waveColor, NinjaTrader.Gui.Tools.SimpleFont volumeTextFont, SolidColorBrush upVolColor, SolidColorBrush downVolColor, NinjaTrader.Gui.Tools.SimpleFont deltaTextFont, SolidColorBrush upDeltaColor, SolidColorBrush downDeltaColor)
 {
     if (cacheJBWeisWave != null)
     {
         for (int idx = 0; idx < cacheJBWeisWave.Length; idx++)
         {
             if (cacheJBWeisWave[idx] != null && cacheJBWeisWave[idx].Length == length && cacheJBWeisWave[idx].Style == style && cacheJBWeisWave[idx].ShowLines == showLines && cacheJBWeisWave[idx].ShowVolumes == showVolumes && cacheJBWeisWave[idx].ShowDeltas == showDeltas && cacheJBWeisWave[idx].ShowTail == showTail && cacheJBWeisWave[idx].VolumeLabelBarSpacing == volumeLabelBarSpacing && cacheJBWeisWave[idx].DeltaLabelBarSpacing == deltaLabelBarSpacing && cacheJBWeisWave[idx].WaveLineWidth == waveLineWidth && cacheJBWeisWave[idx].WaveLineStyle == waveLineStyle && cacheJBWeisWave[idx].WaveColor == waveColor && cacheJBWeisWave[idx].VolumeTextFont == volumeTextFont && cacheJBWeisWave[idx].UpVolColor == upVolColor && cacheJBWeisWave[idx].DownVolColor == downVolColor && cacheJBWeisWave[idx].DeltaTextFont == deltaTextFont && cacheJBWeisWave[idx].UpDeltaColor == upDeltaColor && cacheJBWeisWave[idx].DownDeltaColor == downDeltaColor && cacheJBWeisWave[idx].EqualsInput(input))
             {
                 return(cacheJBWeisWave[idx]);
             }
         }
     }
     return(CacheIndicator <JBWeisWave>(new JBWeisWave()
     {
         Length = length, Style = style, ShowLines = showLines, ShowVolumes = showVolumes, ShowDeltas = showDeltas, ShowTail = showTail, VolumeLabelBarSpacing = volumeLabelBarSpacing, DeltaLabelBarSpacing = deltaLabelBarSpacing, WaveLineWidth = waveLineWidth, WaveLineStyle = waveLineStyle, WaveColor = waveColor, VolumeTextFont = volumeTextFont, UpVolColor = upVolColor, DownVolColor = downVolColor, DeltaTextFont = deltaTextFont, UpDeltaColor = upDeltaColor, DownDeltaColor = downDeltaColor
     }, input, ref cacheJBWeisWave));
 }
Exemple #23
0
 /// <summary>
 /// Draws an arc.
 /// </summary>
 /// <param name="owner">The hosting NinjaScript object which is calling the draw method</param>
 /// <param name="tag">A user defined unique id used to reference the draw object</param>
 /// <param name="isAutoScale">Determines if the draw object will be included in the y-axis scale</param>
 /// <param name="startBarsAgo">The starting bar (x axis coordinate) where the draw object will be drawn. For example, a value of 10 would paint the draw object 10 bars back.</param>
 /// <param name="startY">The starting y value coordinate where the draw object will be drawn</param>
 /// <param name="endBarsAgo">The end bar (x axis coordinate) where the draw object will terminate</param>
 /// <param name="endY">The end y value coordinate where the draw object will terminate</param>
 /// <param name="brush">The brush used to color draw object</param>
 /// <param name="dashStyle">The dash style used for the lines of the object.</param>
 /// <param name="width">The width of the draw object</param>
 /// <returns></returns>
 public static Arc Arc(NinjaScriptBase owner, string tag, bool isAutoScale, int startBarsAgo, double startY, int endBarsAgo,
                       double endY, Brush brush, DashStyleHelper dashStyle, int width)
 {
     return(ArcCore(owner, false, tag, startBarsAgo, Core.Globals.MinDate, startY,
                    endBarsAgo, Core.Globals.MinDate, endY, brush, dashStyle, width, false, null));
 }
Exemple #24
0
 public Indicators.JBMarketProfileLevels JBMarketProfileLevels(ISeries <double> input, int opacity, int brokenOpacity, bool showPOC, SolidColorBrush pOCColor, bool showHILO, SolidColorBrush hILOColor, bool showVA, SolidColorBrush vAColor, bool showONPOC, SolidColorBrush oNPOCColor, bool showONHILO, SolidColorBrush oNHILOColor, bool showONVA, SolidColorBrush oNVAColor, bool showSettlement, SolidColorBrush settlementColor, NinjaTrader.Gui.Tools.SimpleFont labelFont, int lineWidth, DashStyleHelper lineStyle, String rTHTemplate, String oNTemplate)
 {
     return(indicator.JBMarketProfileLevels(input, opacity, brokenOpacity, showPOC, pOCColor, showHILO, hILOColor, showVA, vAColor, showONPOC, oNPOCColor, showONHILO, oNHILOColor, showONVA, oNVAColor, showSettlement, settlementColor, labelFont, lineWidth, lineStyle, rTHTemplate, oNTemplate));
 }
 /// <summary>
 /// Draws a ath.
 /// </summary>
 /// <param name="owner">The hosting NinjaScript object which is calling the draw method</param>
 /// <param name="tag">A user defined unique id used to reference the draw object</param>
 /// <param name="isAutoScale">Determines if the draw object will be included in the y-axis scale</param>
 /// <param name="chartAnchors">A List of ChartAnchor objects defining the path</param>
 /// <param name="brush">The brush used to color draw object</param>
 /// <param name="dashStyle">The dash style used for the lines of the object</param>
 /// <returns></returns>
 public static PathTool PathTool(NinjaScriptBase owner, string tag, bool isAutoScale, List <ChartAnchor> chartAnchors, Brush brush, DashStyleHelper dashStyle)
 {
     return(PathCore(owner, tag, isAutoScale, chartAnchors, brush, dashStyle, false, string.Empty));
 }
Exemple #26
0
        private static Text TextCore(NinjaScriptBase owner, string tag, bool autoScale, string text,
                                     int barsAgo, DateTime time, double y, int?yPixelOffset, Brush textBrush, TextAlignment?textAlignment,
                                     Gui.Tools.SimpleFont font, Brush outlineBrush, Brush areaBrush, int?areaOpacity, bool isGlobal, string templateName,
                                     DashStyleHelper outlineDashStyle, int outlineWidth)
        {
            if (barsAgo == int.MinValue && time == Core.Globals.MinDate)
            {
                throw new ArgumentException("Text: Bad barsAgo/time parameters");
            }

            if (string.IsNullOrWhiteSpace(tag))
            {
                throw new ArgumentException(@"tag cant be null or empty", "tag");
            }

            if (isGlobal && tag[0] != GlobalDrawingToolManager.GlobalDrawingToolTagPrefix)
            {
                tag = GlobalDrawingToolManager.GlobalDrawingToolTagPrefix + tag;
            }

            Text txt = DrawingTool.GetByTagOrNew(owner, typeof(Text), tag, templateName) as Text;

            if (txt == null)
            {
                return(null);
            }

            DrawingTool.SetDrawingToolCommonValues(txt, tag, autoScale, owner, isGlobal);

            ChartAnchor anchor = DrawingTool.CreateChartAnchor(owner, barsAgo, time, y);

            anchor.CopyDataValues(txt.Anchor);

            // set defaults, then apply ns properties so they dont get trampled
            txt.SetState(State.Active);

            txt.DisplayText = text;
            if (textBrush != null)
            {
                txt.TextBrush = textBrush;
            }

            if (txt.TextBrush == null)
            {
                txt.UseChartTextBrush = true;
            }

            if (textAlignment != null)
            {
                txt.Alignment = textAlignment.Value;
            }
            else if (string.IsNullOrEmpty(templateName))
            {
                txt.Alignment = TextAlignment.Center;
            }

            if (outlineBrush != null)
            {
                txt.OutlineStroke = new Stroke(outlineBrush, outlineDashStyle, outlineWidth)
                {
                    RenderTarget = txt.OutlineStroke.RenderTarget
                }
            }
            ;

            if (areaBrush != null)
            {
                txt.AreaBrush = areaBrush;
            }

            if (areaOpacity != null)
            {
                txt.AreaOpacity = areaOpacity.Value;
            }

            if (font != null)
            {
                txt.Font = font.Clone() as Gui.Tools.SimpleFont;
            }

            if (yPixelOffset != null)
            {
                txt.YPixelOffset = yPixelOffset.Value;
            }

            return(txt);
        }
        private static PathTool PathCore(NinjaScriptBase owner, string tag, bool isAutoScale, List <ChartAnchor> chartAnchors, Brush brush, DashStyleHelper dashStyle, bool isGlobal, string templateName)
        {
            if (owner == null)
            {
                throw new ArgumentException("owner");
            }

            if (string.IsNullOrWhiteSpace(tag))
            {
                throw new ArgumentException(@"tag cant be null or empty", "tag");
            }

            if (isGlobal && tag[0] != GlobalDrawingToolManager.GlobalDrawingToolTagPrefix)
            {
                tag = GlobalDrawingToolManager.GlobalDrawingToolTagPrefix + tag;
            }

            PathTool path = DrawingTool.GetByTagOrNew(owner, typeof(PathTool), tag, templateName) as PathTool;

            if (path == null)
            {
                return(null);
            }

            DrawingTool.SetDrawingToolCommonValues(path, tag, isAutoScale, owner, isGlobal);

            if (chartAnchors != null)
            {
                path.ChartAnchors = chartAnchors;

                for (int i = 1; i < chartAnchors.Count; i++)
                {
                    path.PathToolSegments.Add(new PathToolSegment(chartAnchors[i - 1], chartAnchors[i], string.Format("{0} {1}", Custom.Resource.NinjaScriptDrawingToolPathSegment, i)));
                }
            }

            if (brush != null)
            {
                path.OutlineStroke = new Stroke(brush, dashStyle, 2);
            }

            path.SetState(State.Active);
            return(path);
        }
Exemple #28
0
 /// <summary>
 /// Draws text.
 /// </summary>
 /// <param name="owner">The hosting NinjaScript object which is calling the draw method</param>
 /// <param name="tag">A user defined unique id used to reference the draw object</param>
 /// <param name="isAutoScale">Determines if the draw object will be included in the y-axis scale</param>
 /// <param name="text">The text you wish to draw</param>
 /// <param name="time"> The time the object will be drawn at.</param>
 /// <param name="y">The y value or Price for the object</param>
 /// <param name="yPixelOffset">The offset value in pixels from within the text box area</param>
 /// <param name="textBrush">The brush used to color the text of the draw object</param>
 /// <param name="font">A SimpleFont object</param>
 /// <param name="alignment">The TextAlignment for the textbox</param>
 /// <param name="outlineBrush">The brush used to color the region outline of draw object</param>
 /// <param name="areaBrush">The brush used to color the fill region area of the draw object</param>
 /// <param name="areaOpacity"> Sets the level of transparency for the fill color. Valid values between 0 - 100. (0 = completely transparent, 100 = no opacity)</param>
 /// <param name="outlineDashStyle">The outline dash style.</param>
 /// <param name="outlineWidth">Width of the outline.</param>
 /// <param name="isGlobal">Determines if the draw object will be global across all charts which match the instrument</param>
 /// <param name="templateName">The name of the drawing tool template the object will use to determine various visual properties</param>
 /// <returns></returns>
 public static Text Text(NinjaScriptBase owner, string tag, bool isAutoScale, string text, DateTime time, double y, int yPixelOffset, Brush textBrush, Gui.Tools.SimpleFont font,
                         TextAlignment alignment, Brush outlineBrush, Brush areaBrush, int areaOpacity, DashStyleHelper outlineDashStyle, int outlineWidth, bool isGlobal, string templateName)
 {
     return(TextCore(owner, tag, isAutoScale, text, int.MinValue, time, y, yPixelOffset, textBrush, alignment, font, outlineBrush, areaBrush, areaOpacity, isGlobal,
                     templateName, outlineDashStyle, outlineWidth));
 }
Exemple #29
0
 /// <summary>
 /// Draws an arc.
 /// </summary>
 /// <param name="owner">The hosting NinjaScript object which is calling the draw method</param>
 /// <param name="tag">A user defined unique id used to reference the draw object</param>
 /// <param name="isAutoScale">Determines if the draw object will be included in the y-axis scale</param>
 /// <param name="startTime">The starting time where the draw object will be drawn.</param>
 /// <param name="startY">The starting y value coordinate where the draw object will be drawn</param>
 /// <param name="endTime">The end time where the draw object will terminate</param>
 /// <param name="endY">The end y value coordinate where the draw object will terminate</param>
 /// <param name="brush">The brush used to color draw object</param>
 /// <param name="dashStyle">The dash style used for the lines of the object.</param>
 /// <param name="width">The width of the draw object</param>
 /// <returns></returns>
 public static Arc Arc(NinjaScriptBase owner, string tag, bool isAutoScale, DateTime startTime, double startY, DateTime endTime,
                       double endY, Brush brush, DashStyleHelper dashStyle, int width)
 {
     return(ArcCore(owner, isAutoScale, tag, int.MinValue, startTime, startY,
                    int.MinValue, endTime, endY, brush, dashStyle, width, false, null));
 }
Exemple #30
0
 public Indicators.JBWeisWave JBWeisWave(ISeries <double> input, int length, SwingStyle style, bool showLines, bool showVolumes, bool showDeltas, bool showTail, int volumeLabelBarSpacing, int deltaLabelBarSpacing, int waveLineWidth, DashStyleHelper waveLineStyle, SolidColorBrush waveColor, NinjaTrader.Gui.Tools.SimpleFont volumeTextFont, SolidColorBrush upVolColor, SolidColorBrush downVolColor, NinjaTrader.Gui.Tools.SimpleFont deltaTextFont, SolidColorBrush upDeltaColor, SolidColorBrush downDeltaColor)
 {
     return(indicator.JBWeisWave(input, length, style, showLines, showVolumes, showDeltas, showTail, volumeLabelBarSpacing, deltaLabelBarSpacing, waveLineWidth, waveLineStyle, waveColor, volumeTextFont, upVolColor, downVolColor, deltaTextFont, upDeltaColor, downDeltaColor));
 }