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; } } }
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)); }
// 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 }
public Indicators.NetChangeDisplay NetChangeDisplay(ISeries <double> input, Cbi.PerformanceUnit unit, NetChangePosition location) { return(indicator.NetChangeDisplay(input, unit, location)); }
public NetChangeDisplay NetChangeDisplay(Cbi.PerformanceUnit unit, NetChangePosition location) { return(NetChangeDisplay(Input, unit, location)); }