// 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
}
}
Announcement
Collapse
No announcement yet.
Partner 728x90
Collapse
NinjaTrader
BarTimer
Collapse
X
-
BarTimer
How do I change the position of this indicator to the top left of top right and bottom right
ThanksCode:Tags: None
-
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.
Latest Posts
Collapse
| Topics | Statistics | Last Post | ||
|---|---|---|---|---|
|
Started by Geovanny Suaza, 02-11-2026, 06:32 PM
|
0 responses
566 views
0 likes
|
Last Post
|
||
|
Started by Geovanny Suaza, 02-11-2026, 05:51 PM
|
0 responses
330 views
1 like
|
Last Post
|
||
|
Started by Mindset, 02-09-2026, 11:44 AM
|
0 responses
101 views
0 likes
|
Last Post
by Mindset
02-09-2026, 11:44 AM
|
||
|
Started by Geovanny Suaza, 02-02-2026, 12:30 PM
|
0 responses
547 views
1 like
|
Last Post
|
||
|
Started by RFrosty, 01-28-2026, 06:49 PM
|
0 responses
548 views
1 like
|
Last Post
by RFrosty
01-28-2026, 06:49 PM
|

Comment