Esempio n. 1
0
        protected override void OnStateChange()
        {
            if (State == NinjaTrader.NinjaScript.State.SetDefaults)
            {
                Name                 = NinjaTrader.Custom.Resource.NinjaScriptSuperDomColumnProfitAndLoss;
                Description          = NinjaTrader.Custom.Resource.NinjaScriptSuperDomColumnDescriptionPnl;
                DefaultWidth         = 100;
                PreviousWidth        = -1;
                IsDataSeriesRequired = false;
                BackColor            = Application.Current.TryFindResource("brushPriceColumnBackground") as Brush;
                NegativeBackColor    = Brushes.Crimson;
                NegativeForeColor    = Application.Current.TryFindResource("FontControlBrush") as Brush;
                PositiveBackColor    = Brushes.SeaGreen;
                PositiveForeColor    = Application.Current.TryFindResource("FontControlBrush") as Brush;

                PnlDisplayUnit = Cbi.PerformanceUnit.Currency;
                forexCulture   = Core.Globals.GeneralOptions.CurrentCulture.Clone() as CultureInfo;
                if (forexCulture != null)
                {
                    forexCulture.NumberFormat.NumberDecimalSeparator = "'";
                }
            }
            else if (State == State.Configure)
            {
                if (UiWrapper != null && PresentationSource.FromVisual(UiWrapper) != null)
                {
                    Matrix m         = PresentationSource.FromVisual(UiWrapper).CompositionTarget.TransformToDevice;
                    double dpiFactor = 1 / m.M11;
                    gridPen      = new Pen(Application.Current.TryFindResource("BorderThinBrush") as Brush, 1 * dpiFactor);
                    halfPenWidth = gridPen.Thickness * 0.5;
                }
            }
        }
Esempio n. 2
0
 public NetChangeDisplay NetChangeDisplay(ISeries <double> input, Cbi.PerformanceUnit unit, NetChangePosition location)
 {
     if (cacheNetChangeDisplay != null)
     {
         for (int idx = 0; idx < cacheNetChangeDisplay.Length; idx++)
         {
             if (cacheNetChangeDisplay[idx] != null && cacheNetChangeDisplay[idx].Unit == unit && cacheNetChangeDisplay[idx].Location == location && cacheNetChangeDisplay[idx].EqualsInput(input))
             {
                 return(cacheNetChangeDisplay[idx]);
             }
         }
     }
     return(CacheIndicator <NetChangeDisplay>(new NetChangeDisplay()
     {
         Unit = unit, Location = location
     }, input, ref cacheNetChangeDisplay));
 }
Esempio n. 3
0
        // The format method allows you to customize the rendering of the performance value on the summary grid.
        public override string Format(object value, Cbi.PerformanceUnit unit, string propertyName)
        {
            double[] tmp = value as double[];
            if (tmp != null && tmp.Length == 5)
            {
                switch (unit)
                {
                case Cbi.PerformanceUnit.Currency: return(Core.Globals.FormatCurrency(tmp[0], denomination));

                case Cbi.PerformanceUnit.Percent: return(tmp[1].ToString("P"));

                case Cbi.PerformanceUnit.Pips: return(Math.Round(tmp[2]).ToString(Core.Globals.GeneralOptions.CurrentCulture));

                case Cbi.PerformanceUnit.Points: return(Math.Round(tmp[3]).ToString(Core.Globals.GeneralOptions.CurrentCulture));

                case Cbi.PerformanceUnit.Ticks: return(Math.Round(tmp[4]).ToString(Core.Globals.GeneralOptions.CurrentCulture));
                }
            }
            return(value.ToString());                                   // should not happen
        }
Esempio n. 4
0
 public Indicators.NetChangeDisplay NetChangeDisplay(ISeries <double> input, Cbi.PerformanceUnit unit, NetChangePosition location)
 {
     return(indicator.NetChangeDisplay(input, unit, location));
 }
Esempio n. 5
0
 public NetChangeDisplay NetChangeDisplay(Cbi.PerformanceUnit unit, NetChangePosition location)
 {
     return(NetChangeDisplay(Input, unit, location));
 }