Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Do I still need to use a 2nd (smaller) time seres in NT8?

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

  • NinjaTrader_Matthew
    replied
    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.

    Leave a comment:


  • Calonious
    replied
    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:


  • molecool
    replied
    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:


  • molecool
    replied
    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:

    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.
    }
    Does this still apply in NT8? Without adding a second series - when does my OnBarUpdate separate between 1-minute interval, or the 480?

    Leave a comment:


  • NinjaTrader_Matthew
    replied
    Originally posted by molecool View Post
    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.
    Quite simply, adding "Tick" would give you last price events only - Tick Replay gives you bid/ask/last.

    Originally posted by molecool View Post
    It still will consider unit size and limit price as its criteria when matching up orders, right?
    It should - let us know if you run into any issues and we'll for sure have that looked into

    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.
    Correct, new object that you can access.

    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).
    Gotcha, well in that case - I think the High resolution should serve your purposes.

    Leave a comment:


  • molecool
    replied
    Wow, that's a lot to digest - various avenues to knock this problem over the head once and for all. Please see below:

    Originally posted by NinjaTrader_Matthew View Post
    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.
    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 Post
    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".
    It still will consider unit size and limit price as its criteria when matching up orders, right?


    Originally posted by NinjaTrader_Matthew View Post
    There is also a PositionAccount position object you can compare to the "strategy" Position.
    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.


    Originally posted by NinjaTrader_Matthew View Post
    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...
    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:


  • NinjaTrader_Matthew
    replied
    Originally posted by molecool View Post
    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?

    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.
    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.

    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:


  • molecool
    replied
    Originally posted by koganam View Post
    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?
    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.

    Leave a comment:


  • molecool
    replied
    Originally posted by NinjaTrader_Matthew View Post
    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).
    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?

    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:


  • koganam
    replied
    Originally posted by NinjaTrader_Matthew View Post
    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).
    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?

    Leave a comment:


  • NinjaTrader_Matthew
    replied
    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:


  • molecool
    replied
    Fantabulous

    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.
    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.

    Live it obviously always does this. The historical entries were always the problem.

    Leave a comment:


  • NinjaTrader_Matthew
    replied
    "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:


  • molecool
    replied
    Originally posted by NinjaTrader_Matthew View Post
    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.
    Wow, that would be absolutely brilliant! What does the 'high' setting mean if I can select 1-minute intervals?

    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:


  • NinjaTrader_Matthew
    replied
    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 Mindset
by Mindset
 
Started by M4ndoo, 04-20-2026, 05:21 PM
0 responses
23 views
0 likes
Last Post M4ndoo
by M4ndoo
 
Started by M4ndoo, 04-19-2026, 05:54 PM
0 responses
16 views
0 likes
Last Post M4ndoo
by M4ndoo
 
Started by cmoran13, 04-16-2026, 01:02 PM
0 responses
82 views
0 likes
Last Post cmoran13  
Started by PaulMohn, 04-10-2026, 11:11 AM
0 responses
51 views
0 likes
Last Post PaulMohn  
Working...
X