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 helpwanted, Today, 03:06 AM
    1 response
    7 views
    0 likes
    Last Post sarafuenonly123  
    Started by Brevo, Today, 01:45 AM
    0 responses
    7 views
    0 likes
    Last Post Brevo
    by Brevo
     
    Started by aussugardefender, Today, 01:07 AM
    0 responses
    5 views
    0 likes
    Last Post aussugardefender  
    Started by pvincent, 06-23-2022, 12:53 PM
    14 responses
    242 views
    0 likes
    Last Post Nyman
    by Nyman
     
    Started by TraderG23, 12-08-2023, 07:56 AM
    9 responses
    385 views
    1 like
    Last Post Gavini
    by Gavini
     
    Working...
    X