What is the plan for maintaining these holidays? Will NT automatically update them for their users, or do we have to manually enter the data? If NT will provide updates, how will conflicts with manually entered data be handled?
Announcement
Collapse
No announcement yet.
Partner 728x90
Collapse
NinjaTrader
Holiday Schedules - Update/Merge Plan
Collapse
X
-
Holiday Schedules - Update/Merge Plan
I am excited to see that you have added Holidays to the platform that can be accessed via NinjaScript, however, the existing data does not seem to be current. For CME US Index Futures only last year's holidays are listed.
What is the plan for maintaining these holidays? Will NT automatically update them for their users, or do we have to manually enter the data? If NT will provide updates, how will conflicts with manually entered data be handled?Tags: None
-
Note: Trade Holidays are automatically updated from the NinjaTrader data server, to report an issue with a trade holiday or a missing holiday please contact platformsupport[AT]ninjatrader[DOT]com.
Well I just found something in the docs that says NT will maintain, and users are to notify you of missing data. So when can I see an update?Last edited by NinjaTrader_James; 06-10-2015, 01:15 PM.
-
I want to exclude any trading day that is any type of holiday from my strategy. Do you have any sample code for how to do this? I noticed several fields with useful names under PartialHoliday.Constraint, but these don't seem to be documented and I am not sure how to interpret time fields that are coded as ints.
Thanks,
Chris
Comment
-
I just found the documentation. The Constraint is a Session type and it's usage is defined here: http://www.ninjatrader.com/support/h...oniterator.htmOriginally posted by ganamide View PostI want to exclude any trading day that is any type of holiday from my strategy. Do you have any sample code for how to do this? I noticed several fields with useful names under PartialHoliday.Constraint, but these don't seem to be documented and I am not sure how to interpret time fields that are coded as ints.
Thanks,
Chris
Still would be nice to have sample code if you guys have it laying around.
Comment
-
Thank you ganamide for that helpful suggestion. It definitely makes sense to have a boolean that can be quickly checked. I will pass that along to our team for consideration.
In terms of sample code for using SessionIterator, we do not have anything prepared quite yet, other than the snippet on the page that you linked, but we may flesh this out further in the future.
Just a quick tip -- did you know that you can edit previous posts on the forum? When you are logged in, you will see an Edit button at the bottom-right corner of your post that will allow you to make additions or changes.Dave I.NinjaTrader Product Management
Comment
-
+1 on that bool.. Would definitely make it a hole lot easier than how I'm currently doing it..Originally posted by NinjaTrader_Dave View PostThank you ganamide for that helpful suggestion. It definitely makes sense to have a boolean that can be quickly checked. I will pass that along to our team for consideration.
You can iterate thru the Holidays for a particular instrument like this..
or using linq create a combined Partial/Holiday var and check for holiday bool..Code:[COLOR=#0000ff]if[/COLOR]([COLOR=#080808]CurrentBar[/COLOR] == [COLOR=#ff8c00]0[/COLOR]) { [COLOR=#0000ff] foreach[/COLOR]([COLOR=#0000ff]var[/COLOR] [COLOR=#080808]dt[/COLOR] [COLOR=#0000ff]in[/COLOR] [COLOR=#080808]Instrument[/COLOR].[COLOR=#080808]MasterInstrument[/COLOR].[COLOR=#080808]TradingHours[/COLOR].[COLOR=#080808]Holidays[/COLOR]) { [COLOR=#080808] Print[/COLOR]( [COLOR=#080808]dt[/COLOR].[COLOR=#080808]Key[/COLOR].[COLOR=#080808]ToString[/COLOR]() + [COLOR=#b22222]" "[/COLOR] + [COLOR=#080808]dt[/COLOR].[COLOR=#080808]Value[/COLOR].[COLOR=#080808]ToString[/COLOR]() ); } }
Not sure you'd want to create a new var at the start of every session from an effiency standpoint, but keeping the code short and sweet, this should get you started..Code:[COLOR=#0000ff]if[/COLOR]([COLOR=#080808][COLOR=#080808]Bars[/COLOR][COLOR=#000000].[/COLOR][COLOR=#080808]IsFirstBarOfSession[/COLOR][COLOR=#000000] && [/COLOR][COLOR=#080808]IsFirstTickOfBar[/COLOR][/COLOR]) { [COLOR=#0000ff][COLOR=#0000ff] var[/COLOR] [COLOR=#080808]mHoliday[/COLOR] = ([COLOR=#080808]Instrument[/COLOR].[COLOR=#080808]MasterInstrument[/COLOR].[COLOR=#080808]TradingHours[/COLOR].[COLOR=#080808]Holidays[/COLOR].[COLOR=#080808]Select[/COLOR]([COLOR=#080808]a[/COLOR] => [COLOR=#080808]a[/COLOR].[COLOR=#080808]Key[/COLOR]).[COLOR=#080808]Union[/COLOR]([COLOR=#080808]Instrument[/COLOR].[COLOR=#080808]MasterInstrument[/COLOR].[COLOR=#080808]TradingHours[/COLOR].[COLOR=#080808]PartialHolidays[/COLOR].[COLOR=#080808]Select[/COLOR]([COLOR=#080808]a[/COLOR] => [COLOR=#080808]a[/COLOR].[COLOR=#080808]Key[/COLOR])).[COLOR=#080808]OrderBy[/COLOR]([COLOR=#080808]a[/COLOR] => [COLOR=#080808]a[/COLOR].[COLOR=#080808]Date[/COLOR])); [COLOR=#0000ff] bool[/COLOR] [COLOR=#080808]IsHoliday[/COLOR] = [COLOR=#080808]mHoliday[/COLOR].[COLOR=#080808]Contains[/COLOR]([COLOR=#080808]Time[/COLOR][[COLOR=#ff8c00]0[/COLOR]].[COLOR=#080808]AddDays[/COLOR]([COLOR=#ff8c00]1[/COLOR]).[COLOR=#080808]Date[/COLOR]) ? [COLOR=#0000ff]true[/COLOR] : [COLOR=#0000ff]false[/COLOR]; [COLOR=#0000ff] if[/COLOR]([COLOR=#080808]IsHoliday[/COLOR]) [COLOR=#080808]Print[/COLOR]([COLOR=#080808]Time[/COLOR][[COLOR=#ff8c00]0[/COLOR]].[COLOR=#080808]AddDays[/COLOR]([COLOR=#ff8c00]1[/COLOR]).[COLOR=#080808]Date[/COLOR].[COLOR=#080808]ToString[/COLOR]() + [COLOR=#b22222]" Confirmed Holiday"[/COLOR]); [COLOR=#0000ff] else[/COLOR] [COLOR=#080808]Print[/COLOR]([COLOR=#080808]Time[/COLOR][[COLOR=#ff8c00]0[/COLOR]].[COLOR=#080808]AddDays[/COLOR]([COLOR=#ff8c00]1[/COLOR]).[COLOR=#080808]Date[/COLOR].[COLOR=#080808]ToString[/COLOR]() + [COLOR=#b22222]" Is Not Holiday"[/COLOR]); [/COLOR]}
Comment
-
Thanks Edge! I was trying to wrap my head around comparing holidays with a date that is not the same date as the start of the session. Your DateTime.AddDays(1) makes it easy! This was just the code snippet I was looking for!Originally posted by -=Edge=- View Post+1 on that bool.. Would definitely make it a hole lot easier than how I'm currently doing it..
You can iterate thru the Holidays for a particular instrument like this..
or using linq create a combined Partial/Holiday var and check for holiday bool..Code:[COLOR=#0000ff]if[/COLOR]([COLOR=#080808]CurrentBar[/COLOR] == [COLOR=#ff8c00]0[/COLOR]) { [COLOR=#0000ff] foreach[/COLOR]([COLOR=#0000ff]var[/COLOR] [COLOR=#080808]dt[/COLOR] [COLOR=#0000ff]in[/COLOR] [COLOR=#080808]Instrument[/COLOR].[COLOR=#080808]MasterInstrument[/COLOR].[COLOR=#080808]TradingHours[/COLOR].[COLOR=#080808]Holidays[/COLOR]) { [COLOR=#080808] Print[/COLOR]( [COLOR=#080808]dt[/COLOR].[COLOR=#080808]Key[/COLOR].[COLOR=#080808]ToString[/COLOR]() + [COLOR=#b22222]" "[/COLOR] + [COLOR=#080808]dt[/COLOR].[COLOR=#080808]Value[/COLOR].[COLOR=#080808]ToString[/COLOR]() ); } }
Not sure you'd want to create a new var at the start of every session from an effiency standpoint, but keeping the code short and sweet, this should get you started..Code:[COLOR=#0000ff]if[/COLOR]([COLOR=#080808][COLOR=#080808]Bars[/COLOR][COLOR=#000000].[/COLOR][COLOR=#080808]IsFirstBarOfSession[/COLOR][COLOR=#000000] && [/COLOR][COLOR=#080808]IsFirstTickOfBar[/COLOR][/COLOR]) { [COLOR=#0000ff][COLOR=#0000ff] var[/COLOR] [COLOR=#080808]mHoliday[/COLOR] = ([COLOR=#080808]Instrument[/COLOR].[COLOR=#080808]MasterInstrument[/COLOR].[COLOR=#080808]TradingHours[/COLOR].[COLOR=#080808]Holidays[/COLOR].[COLOR=#080808]Select[/COLOR]([COLOR=#080808]a[/COLOR] => [COLOR=#080808]a[/COLOR].[COLOR=#080808]Key[/COLOR]).[COLOR=#080808]Union[/COLOR]([COLOR=#080808]Instrument[/COLOR].[COLOR=#080808]MasterInstrument[/COLOR].[COLOR=#080808]TradingHours[/COLOR].[COLOR=#080808]PartialHolidays[/COLOR].[COLOR=#080808]Select[/COLOR]([COLOR=#080808]a[/COLOR] => [COLOR=#080808]a[/COLOR].[COLOR=#080808]Key[/COLOR])).[COLOR=#080808]OrderBy[/COLOR]([COLOR=#080808]a[/COLOR] => [COLOR=#080808]a[/COLOR].[COLOR=#080808]Date[/COLOR])); [COLOR=#0000ff] bool[/COLOR] [COLOR=#080808]IsHoliday[/COLOR] = [COLOR=#080808]mHoliday[/COLOR].[COLOR=#080808]Contains[/COLOR]([COLOR=#080808]Time[/COLOR][[COLOR=#ff8c00]0[/COLOR]].[COLOR=#080808]AddDays[/COLOR]([COLOR=#ff8c00]1[/COLOR]).[COLOR=#080808]Date[/COLOR]) ? [COLOR=#0000ff]true[/COLOR] : [COLOR=#0000ff]false[/COLOR]; [COLOR=#0000ff] if[/COLOR]([COLOR=#080808]IsHoliday[/COLOR]) [COLOR=#080808]Print[/COLOR]([COLOR=#080808]Time[/COLOR][[COLOR=#ff8c00]0[/COLOR]].[COLOR=#080808]AddDays[/COLOR]([COLOR=#ff8c00]1[/COLOR]).[COLOR=#080808]Date[/COLOR].[COLOR=#080808]ToString[/COLOR]() + [COLOR=#b22222]" Confirmed Holiday"[/COLOR]); [COLOR=#0000ff] else[/COLOR] [COLOR=#080808]Print[/COLOR]([COLOR=#080808]Time[/COLOR][[COLOR=#ff8c00]0[/COLOR]].[COLOR=#080808]AddDays[/COLOR]([COLOR=#ff8c00]1[/COLOR]).[COLOR=#080808]Date[/COLOR].[COLOR=#080808]ToString[/COLOR]() + [COLOR=#b22222]" Is Not Holiday"[/COLOR]); [/COLOR]}


Are you porting your Draw Bar tool to NT8? Will it be a free upgrade for people who bought your NT7 version? Looking forward to all the improvements we can make with NT8.
Comment
-
Absolutely.. not sure I would want to trade without it anymore.. That ones going to be a rather large undertaking though.. as of my 29th upgrade for that one, there is now over a couple thousand lines of code just in the toolstrips and events alone, and then even more so in the plot override.. All of which is going to have to be completely re-written, well maybe not completely, but it's definitely going to take a considerable amount of time and effort.. So doubtful that will be free..Originally posted by ganamide View PostThanks Edge! Are you porting your Draw Bar tool to NT8? Will it be a free upgrade for people who bought your NT7 version? Looking forward to all the improvements we can make with NT8.
I've played a bit in VS with the conversion process, although haven't even started towards that one under NT yet.. There is still no viable or at least acceptable way imo of adding a dock/stack/wrap panel into NT yet.. Not real happy with wpf buttons and context menu's either, as they are adding several restraints to the way winforms did things.. I'll have to find some work around solutions for several things when it comes to that.. Although have a lot of new idea's and features that can now be added with the openness of NT's base.. So hopefully it's only to get better.. But only time will tell...
Comment
-
Latest Posts
Collapse
| Topics | Statistics | Last Post | ||
|---|---|---|---|---|
|
Started by Geovanny Suaza, 02-11-2026, 06:32 PM
|
0 responses
666 views
0 likes
|
Last Post
|
||
|
Started by Geovanny Suaza, 02-11-2026, 05:51 PM
|
0 responses
376 views
1 like
|
Last Post
|
||
|
Started by Mindset, 02-09-2026, 11:44 AM
|
0 responses
110 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
575 views
1 like
|
Last Post
|
||
|
Started by RFrosty, 01-28-2026, 06:49 PM
|
0 responses
580 views
1 like
|
Last Post
by RFrosty
01-28-2026, 06:49 PM
|

Comment