Announcement

Collapse

Looking for a User App or Add-On built by the NinjaTrader community?

Visit NinjaTrader EcoSystem and our free User App Share!

Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less

Partner 728x90

Collapse

BarTimer

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    BarTimer

    How do I change the position of this indicator to the top left of top right and bottom right

    Code:
    // Plot the time remaining message to the lower right hand corner of the chart
    if (Bars.Period.Id == PeriodType.Minute || Bars.Period.Id == PeriodType.Second)
    {
    if (DisplayTime())
    {
    if (timer != null && !timer.Enabled)
    timer.Enabled = true;
    TimeSpan barTimeLeft = Bars.GetTime(Bars.Count - 1).Subtract(Now);
    string timeLeft = (barTimeLeft.Ticks < 0 ? "00:00:00" : barTimeLeft.Hours.ToString("00") + ":" + barTimeLeft.Minutes.ToString("00") + ":" + barTimeLeft.Seconds.ToString("00"));
    graphics.DrawString("Time remaining = " + timeLeft, ChartControl.Font, textBrush, bounds.X + bounds.Width - textWidth, bounds.Y + bounds.Height - textHeight, stringFormat);
    }
    else
    graphics.DrawString(errorDisabled, ChartControl.Font, textBrush, bounds.X + bounds.Width - noConTextWidth, bounds.Y + bounds.Height - noConTextHeight, stringFormat);
    }
    else
    {
    graphics.DrawString(errorIntraday, ChartControl.Font, textBrush, bounds.X + bounds.Width - noTickTextWidth, bounds.Y + bounds.Height - noTickTextHeight, stringFormat);
    if (timer != null)
    timer.Enabled = false;
    }
    }
    #endregion
    }
    }
    Thanks
    Attached Files

    #2
    Hello geotabs,

    Thanks for your post.

    You would need to change theX and Y values in this graphics.Drawstring():

    graphics.DrawString("Time remaining = " + timeLeft, ChartControl.Font, textBrush, bounds.X + bounds.Width - textWidth, bounds.Y + bounds.Height - textHeight, stringFormat); }

    For reference, X 0 and Y 0 are the top left corner. Width is the width of the chart. Height is the height of the chart. As you know it currently prints in the bottom right so that it why the chart width and chart height are added to the X0 y0 position.

    Using bounds.X, bounds.Y + textHeight would put it at the top left

    Using bounds.X, bounds.Y + bounds.Height - textHeight, would put it at the bottom left (you would have to adjust up for the Ninjatrader copyright)

    using bounds.X+ bounds.Width - textWidth, bounds.Y would put it at the top right.

    I would suggest you make a copy of the BarTimer indicator and save it with a unique name and then make these mods to the copy, never the original.
    Paul H.NinjaTrader Customer Service

    Comment

    Latest Posts

    Collapse

    Topics Statistics Last Post
    Started by judysamnt7, 03-13-2023, 09:11 AM
    4 responses
    59 views
    0 likes
    Last Post DynamicTest  
    Started by ScottWalsh, Yesterday, 06:52 PM
    4 responses
    36 views
    0 likes
    Last Post ScottWalsh  
    Started by olisav57, Yesterday, 07:39 PM
    0 responses
    7 views
    0 likes
    Last Post olisav57  
    Started by trilliantrader, Yesterday, 03:01 PM
    2 responses
    22 views
    0 likes
    Last Post helpwanted  
    Started by cre8able, Yesterday, 07:24 PM
    0 responses
    10 views
    0 likes
    Last Post cre8able  
    Working...
    X