Announcement
Collapse
No announcement yet.
Partner 728x90
Collapse
NinjaTrader
Do I still need to use a 2nd (smaller) time seres in NT8?
Collapse
X
-
There is no BIP1 in the context of High order fill resolution or tick replay. All OnBarUpdate events are driven from the primary series you have selected from the strategy, so if (BarsInProgress == 1) would never get hit.
If you decide to use High resolution or Tick replay, and you have intrabar logic you need to calculate, you can do so in one of the order events, such as OnOrderUpdate, or OnPositionUpdate to set/release values before the next OnBarUpdate call.
Using tick replay gives you the advantage of telling the strategy to run Calculate.OnEachTick and you could then take care of your entry logic, manual trailing stops, profit verifications, etc just like the strategy was running in real-time on each tick.
-
From my reading, this should be the same as before with NT 7. Primary bar series 0 will have priority in calling the OnBarUpdate() when you have multiple BarObjects. So every 480 minutes you'll have two calls, one for the 480 min (Primary) and one for the 1 min (secondary)
Leave a comment:
-
This may have been overlooked in the flood of new reports posted to the beta corner. Any input would be welcome, thanks in advance.
Leave a comment:
-
If I may...
If I may - I have a follow up questions regarding this. Given those two general approaches - be this the TICK replay or by adding higher frequency execution - how do I differentiate which frequency is calling my OnBarUpdate() method?
In NT7 I simply do this - e.g. given a 480 minute chart with an added 1 minute series for historical execution:
Does this still apply in NT8? Without adding a second series - when does my OnBarUpdate separate between 1-minute interval, or the 480?Code:if (BarsInProgress == 0) { // take care of all 480 minute stuff - like candle patterns and such // setting flags, roll over stuff, etc. } if (BarsInProgress == 1) { // take care of entry logic, manual trailing stops, profit verifications, etc. }
Leave a comment:
-
Quite simply, adding "Tick" would give you last price events only - Tick Replay gives you bid/ask/last.Originally posted by molecool View PostSo you're saying that you basically can simulate 'TICK replay' via the ' higher frequency execution' option by setting it to TICK? I'm just want to make sure I understand this correctly. If so what was the motivation to implement TICK replay? It can be achieved and obviously matched by activating a more granular frequency execution on the chart after all.
It should - let us know if you run into any issues and we'll for sure have that looked intoOriginally posted by molecool View PostIt still will consider unit size and limit price as its criteria when matching up orders, right?
Correct, new object that you can access.Originally posted by molecool View Post
Yeah, that is pretty cool - that's a new object, right? Because right now I'm persisting my trades to a file so I can pick them up properly again. My specific problem is that my position sizes are never the same as account principal is being considered as a parameter when calculating position sizes. What happens three days later, when picking up an old execution, is that the unit size never matched up. So I wrote some code that picks that out of a file and then tries to sync it.
Basically what I could do now instead then is to simply see if there is an open position with the same limit entry price - I hope that is part of that object. Because then I could just pick it out of there and use the units I get from my PositionAccount object.
Gotcha, well in that case - I think the High resolution should serve your purposes.Originally posted by molecool View Post
Well, I need to continue my campaign - pick up my stops and triggers. So yes, I think I need that entry execution in order to produce all those (I think).
Leave a comment:
-
Wow, that's a lot to digest - various avenues to knock this problem over the head once and for all. Please see below:
So you're saying that you basically can simulate 'TICK replay' via the ' higher frequency execution' option by setting it to TICK? I'm just want to make sure I understand this correctly. If so what was the motivation to implement TICK replay? It can be achieved and obviously matched by activating a more granular frequency execution on the chart after all.Originally posted by NinjaTrader_Matthew View PostCorrect on both points! I'd like to point out that you have access to more high granularity than "minute"-> you can select "second" or event "tick" if you're working with minute bars as primary.
It still will consider unit size and limit price as its criteria when matching up orders, right?Originally posted by NinjaTrader_Matthew View PostIn addition, to help you with syncing your strategies after a restart, we have IsAdoptAccountPositionAware strategies concept, which will sync your "strategy" position to your real-world account position...meaning if you start your strategy and its Position is calculated flat, but your Account is long, your strategy will start "long".
Yeah, that is pretty cool - that's a new object, right? Because right now I'm persisting my trades to a file so I can pick them up properly again. My specific problem is that my position sizes are never the same as account principal is being considered as a parameter when calculating position sizes. What happens three days later, when picking up an old execution, is that the unit size never matched up. So I wrote some code that picks that out of a file and then tries to sync it.Originally posted by NinjaTrader_Matthew View PostThere is also a PositionAccount position object you can compare to the "strategy" Position.
Basically what I could do now instead then is to simply see if there is an open position with the same limit entry price - I hope that is part of that object. Because then I could just pick it out of there and use the units I get from my PositionAccount object.
Well, I need to continue my campaign - pick up my stops and triggers. So yes, I think I need that entry execution in order to produce all those (I think).Originally posted by NinjaTrader_Matthew View PostReplaying executions may not even be required if you do not need execution data, but rather you're just looking to find your Strategy Position vs PositionAccount position...
Leave a comment:
-
Correct on both points! I'd like to point out that you have access to more high granularity than "minute"-> you can select "second" or event "tick" if you're working with minute bars as primary.Originally posted by molecool View PostWow, that is fascinating and I immediately have a follow up question (sorry!). I am not sure I require that level of granularity HOWEVER it may come very handy on *open campaigns*. Let's assume NT8 crashes - yes, I know that won't ever happen ;-) - and I have to relaunch my campaigns and sync them with my open positions. VERY useful on crashes, data feed corruptions, discretionary relaunches, etc.. But it may not be necessary to do it across the entire chart - can it be limited to let's say the past 10 bars only?
With my 2nd series approach in NT7 I am doing this manually. I pass the 1-minute series processing unless a flag is set by my larger time series. So I can simply set it to start processing 1-minute data throughout the past 10 or 15 lower resolution bars, e.g. 1440m, 480m.
So if I understand it correctly I have two options:
1) I can set my strategy to TICK replay - which will replay exactly what happened in live mode.
2) I can set it to a higher frequency - e.g. 1-minute bars, which is an approximation but may give me sufficient context based on my requirements.
I hope this makes sense. I would definitely use this feature if it can be curtailed to recent executions.
In addition, to help you with syncing your strategies after a restart, we have IsAdoptAccountPositionAware strategies concept, which will sync your "strategy" position to your real-world account position...meaning if you start your strategy and its Position is calculated flat, but your Account is long, your strategy will start "long".
There is also a PositionAccount position object you can compare to the "strategy" Position.
Replaying executions may not even be required if you do not need execution data, but rather you're just looking to find your Strategy Position vs PositionAccount position...
Leave a comment:
-
I dunno but this brilliant - IF I understand it correctly. This completely changes the way I write my strategies and cuts out a ton of complexity moving forward. Of course it also creates a dependency on this feature working properly. I've had a ton of problems picking up older campaigns as some of my strategies run for weeks. Something always happens - especially data feed outages. So being able to assure that my ongoing campaigns are being picked up and synced properly is a huge step forward. I'll be testing this new feature extensively.Originally posted by koganam View PostYou gave us too little in NT7 and we complained, so now you are giving us "everything but the kitchen sink". When shall we also have the kitchen sink?
Leave a comment:
-
Wow, that is fascinating and I immediately have a follow up question (sorry!). I am not sure I require that level of granularity HOWEVER it may come very handy on *open campaigns*. Let's assume NT8 crashes - yes, I know that won't ever happen ;-) - and I have to relaunch my campaigns and sync them with my open positions. VERY useful on crashes, data feed corruptions, discretionary relaunches, etc.. But it may not be necessary to do it across the entire chart - can it be limited to let's say the past 10 bars only?Originally posted by NinjaTrader_Matthew View PostYou are correct in your understanding - I hope it works for you and we're thrilled to provided it.
If you want to take it even one step further, there is now even a concept of "Tick Replay" which gives you the exact sequence of market data events that went into building a bar, should you require that level of granularity. This is enabled under Tools-> Options-> Market Data "show tick reply".
When this global feature is on, the strategy "data series" ui setup will have an option called "Tick Replay" to which will "replay" market data events while your strategy is loading historically (more resource intensive obviously).
With my 2nd series approach in NT7 I am doing this manually. I pass the 1-minute series processing unless a flag is set by my larger time series. So I can simply set it to start processing 1-minute data throughout the past 10 or 15 lower resolution bars, e.g. 1440m, 480m.
So if I understand it correctly I have two options:
1) I can set my strategy to TICK replay - which will replay exactly what happened in live mode.
2) I can set it to a higher frequency - e.g. 1-minute bars, which is an approximation but may give me sufficient context based on my requirements.
I hope this makes sense. I would definitely use this feature if it can be curtailed to recent executions.Last edited by molecool; 05-08-2015, 12:20 PM.
Leave a comment:
-
You gave us too little in NT7 and we complained, so now you are giving us "everything but the kitchen sink". When shall we also have the kitchen sink?Originally posted by NinjaTrader_Matthew View PostYou are correct in your understanding - I hope it works for you and we're thrilled to provided it.
If you want to take it even one step further, there is now even a concept of "Tick Replay" which gives you the exact sequence of market data events that went into building a bar, should you require that level of granularity. This is enabled under Tools-> Options-> Market Data "show tick reply".
When this global feature is on, the strategy "data series" ui setup will have an option called "Tick Replay" to which will "replay" market data events while your strategy is loading historically (more resource intensive obviously).
Leave a comment:
-
You are correct in your understanding - I hope it works for you and we're thrilled to provided it.
If you want to take it even one step further, there is now even a concept of "Tick Replay" which gives you the exact sequence of market data events that went into building a bar, should you require that level of granularity. This is enabled under Tools-> Options-> Market Data "show tick reply".
When this global feature is on, the strategy "data series" ui setup will have an option called "Tick Replay" to which will "replay" market data events while your strategy is loading historically (more resource intensive obviously).
Leave a comment:
-
Fantabulous
Understood, I'm probably just tripping over the lingo. Basically - and just to be crystal clear on this - with NT8 I can now pop open a 480 minute chart and have it execute my strategy on a 1-minute basis for historical orders? If my EURUSD long was taken at 9:34am this morning then it'll take a similar, if not the same, entry based on 1-minute chart touching my buy trigger.Originally posted by NinjaTrader_Matthew View Post"High" means a higher resolution than the primary.
1440 Minute is a "lower" resolution than a 1 minute-> the bars update less frequently.
You can absolutely continue to execute your strategies with the NT7 approach and you do not need to use our high resolution processing.
I'd also like to mention that the standard fill processing has been improved to give theoretical intrabar processing, which is not as accurate, but should be better than NT7's approach.
Live it obviously always does this. The historical entries were always the problem.
Leave a comment:
-
"High" means a higher resolution than the primary.
1440 Minute is a "lower" resolution than a 1 minute-> the bars update less frequently.
You can absolutely continue to execute your strategies with the NT7 approach and you do not need to use our high resolution processing.
I'd also like to mention that the standard fill processing has been improved to give theoretical intrabar processing, which is not as accurate, but should be better than NT7's approach.
Leave a comment:
-
Wow, that would be absolutely brilliant! What does the 'high' setting mean if I can select 1-minute intervals?Originally posted by NinjaTrader_Matthew View PostThere is a Historical Fill Processing option on the strategy which would have an option of "High". If you're using 1440 minute strategy, you could set the High fill processing to "1 minute" without having to code in your own data series.
This option is available from the Chart/Strategies tab and Strategy Analyzer and will help calculate historical executions if you're starting the strategy live.
Of course this means I would have to rewrite my old strategies. Until I get around to that I take it I would continue running a 2nd series and simply leave that historical fill processing option off? Just making sure.
But in any case - this is absolutely awesome :-)
Leave a comment:
-
There is a Historical Fill Processing option on the strategy which would have an option of "High". If you're using 1440 minute strategy, you could set the High fill processing to "1 minute" without having to code in your own data series.
This option is available from the Chart/Strategies tab and Strategy Analyzer and will help calculate historical executions if you're starting the strategy live.
Leave a comment:
Latest Posts
Collapse
| Topics | Statistics | Last Post | ||
|---|---|---|---|---|
|
Started by Mindset, Yesterday, 06:46 AM
|
0 responses
14 views
0 likes
|
Last Post
by Mindset
Yesterday, 06:46 AM
|
||
|
Started by M4ndoo, 04-20-2026, 05:21 PM
|
0 responses
23 views
0 likes
|
Last Post
by M4ndoo
04-20-2026, 05:21 PM
|
||
|
Started by M4ndoo, 04-19-2026, 05:54 PM
|
0 responses
16 views
0 likes
|
Last Post
by M4ndoo
04-19-2026, 05:54 PM
|
||
|
Started by cmoran13, 04-16-2026, 01:02 PM
|
0 responses
82 views
0 likes
|
Last Post
by cmoran13
04-16-2026, 01:02 PM
|
||
|
Started by PaulMohn, 04-10-2026, 11:11 AM
|
0 responses
51 views
0 likes
|
Last Post
by PaulMohn
04-10-2026, 11:11 AM
|

Leave a comment: