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

How can I get the current time of the broker (server) in the format "HH:mm:ss".

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

    How can I get the current time of the broker (server) in the format "HH:mm:ss".

    How can I get the current time of the broker (server) in the format "HH:mm:ss". When I get Time[0].ToString("HH:mm:ss") even using Calculate.OnEachTick, I only get hours and minutes, without seconds.

    #2
    Hello Goolden,

    Thank you for your post.

    What time frame are you running your script on, generally?

    For example, let's say I have an ES 12-19 15 minute chart, and I put this in On Bar Update:

    Print(Time[0].ToString("HH:mm:ss.FFF"));

    Assuming there's no secondary series or bars in progress checks, even if you set the script to calculate on each tick, this will just repeatedly print the closing time of the bar. This isn't the current time - Time[0] will always give you the closing time of the current bar, so even running on each tick that's not going to change.

    If you want to print what time each tick comes in you've got some options.

    System.DateTime.Now.TimeOfDay will print you the hours, minutes, seconds, and milliseconds.

    If you're interested in knowing when each tick came in, you can add a single tick data series in State == State.Configure and then print the time only when that series is being processed:

    Code:
                else if (State == State.Configure)
                {
                    AddDataSeries(BarsPeriodType.Tick,1);
                }
            }
    
            protected override void OnBarUpdate()
            {
                if(BarsInProgress ==1)
                {
                    Print(Time[0].ToString("HH:mm:ss.FFF")); // example result: 08:10:22.025; these results may vary depending on your data provider and how/if they timestamp the data.
                }
    
                Print(System.DateTime.Now.TimeOfDay); // example result: 08:10:22.1080620
            }
    Whether or not your provider timestamps the data on their end is listed in our help guide here:



    Please let us know if we may be of further assistance to you.
    Kate W.NinjaTrader Customer Service

    Comment

    Latest Posts

    Collapse

    Topics Statistics Last Post
    Started by AveryFlynn, Today, 04:57 AM
    0 responses
    2 views
    0 likes
    Last Post AveryFlynn  
    Started by RubenCazorla, 08-30-2022, 06:36 AM
    3 responses
    77 views
    0 likes
    Last Post PaulMohn  
    Started by f.saeidi, Yesterday, 12:14 PM
    9 responses
    23 views
    0 likes
    Last Post f.saeidi  
    Started by Tim-c, Today, 03:54 AM
    0 responses
    3 views
    0 likes
    Last Post Tim-c
    by Tim-c
     
    Started by FrancisMorro, Today, 03:24 AM
    0 responses
    5 views
    0 likes
    Last Post FrancisMorro  
    Working...
    X