Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

NT8 Designed Strategy Behaviour versus NT7

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

    NT8 Designed Strategy Behaviour versus NT7

    I would like to verify and check the following undesirable feature is removed from NT8 and will stay removed from NT8.


    NT7 Scenario

    NT Options > Strategies > Do not cancel entry or exit orders....configured to not cancel.

    Start NT
    Connect to data feed
    Open a chart
    Add a strategy

    In real-time in a live or sim account
    Strategy makes a live market order – position is long or short 1
    Working stop order and limit profit order is sent - (say 50 points from market price to prevent execution)


    Scenario A
    Disable Strategy from NT control centre Strategy tab
    Start Strategy > Working orders are cancelled leaving an unprotected position

    Scenario B
    Save Workspace
    Close NT
    Restart NT > Workspace opens with chart and Disabled Strategy.
    Start Strategy > Working orders are cancelled leaving an unprotected position

    Please can you confirm this behaviour is changed or controllable in NT8 ?
    It’s the current failing point for a client in adopting NinjaTrader as their choice for auto trading and I am suggesting this dangerous and unwanted behaviour is not an issue in NT8 - but i need to confirm this with you to make sure it will be totally resolved

    thank you
    MicroTrends
    NinjaTrader Ecosystem Vendor - micro-trends.co.uk

    #2
    Hello,

    I've just tested both scenarios in NinjaTrader 8, and got the same result as you would expect from NinjaTrader 7. The core logic around initializing strategies and syncing positions has not changed much. We still recommend viewing strategies and positions on a per-strategy-instance basis.

    What I mean by this is that a new instance of a strategy (which will be made in both scenarios) will not be able to "adopt" any positions or orders currently on your account. When the first instance, which entered the position and placed the order, is disabled, the next instance will not be able to pick up where the first instance left off. This is why a new strategy instance will cancel any existing orders -- because if those orders remained outstanding, the strategy position could easily become out of sync with the actual account position.

    My personal recommendation is to always keep your strategies running for as long as you wish them to run, and not to do things like reboot NinjaTrader or temporarily disable a strategy. In the case that you must disable a strategy, I recommend manually ensuring that your account is completely flat before re-enabling the strategy, whether this means managing your position manually in the platform, or (in a worst case scenario like a power outage) calling the Orders Desk to ensure you are flat before restarting.

    If you would like, I'll be happy to submit or add to a feature request for strategies to adopt positions and orders placed by a previous instance of the same applied strategy.
    Dave I.NinjaTrader Product Management

    Comment


      #3
      Hi


      YES PLEASE! This is probably the most important request i can imagine for NT8 that will be widely used and make NT8 viable for small retail and commercial auto trader fanatics... and many more reasons i put 5 for your business case below at the end:


      IF You are saying:
      When NT8 Starts a strategy which has been stopped and restarted - it will cancel working orders..
      That behaviour is not desirable at all. You are destroying safety and leaving positions opens unguarded...
      • A. Small time traders: For most intraday small account scalper or day trading style traders - who would close a position that is not too bad - providing they know that will happen - they wont.. until they get the nasty surprise... and untangle it all as it is currently implemented

        5 Top Reasons to Restart NT:
        1. NinjaTrader 7 crashes when you try to do something like start another strategy
        2. You need to import new software
        3. The connection dropped out and didnt recover
        4. You tried to open NT7 and the chart went blank and now you cannot load data or a chart
        5. You want to try different settings on the strategy

        Restarting is unavoidable


      • B. Commericals - for anybody wanting to trade normally overnight or weekend or restart a strategy that is catastrophic -and they would not use NT for live trading or in a very limited capacity - due to this undesirable dangerous behaviour.
      • C. "Controls" Compliance - I can tell you this that if a regulator/compliance auditor would inspect this behaviour if a fund was using this as it stands it would fail compliance due to the "control" failure... and they would be potentially forced to use another technology.


      Sadly if left this means NT8 is not a viable trading platform for many commercials and more professional traders who would adopt it due to the other fantastic features - as it stands. But if changed there are enormous benefits to NT and Clients it's a win win situation and huge home run...hit out the ball park....


      Current Situation
      Yes.. It is horrendous that orders are cancelled - like the brakes are silently switched off on a moving vehicle - even worse the driver is not alerted and has to use bitter experience to understand this shortcoming.

      IMPROVEMENT #1 - Alert and ASK - Wait - cancel/flatten or stop:
      • Never assume it is ok to cancel orders:

      >>Unless the trader is alerted and asked: Warn and wait... Ask to cancel Or not Start


      IMPROVEMENT # 2 - Real World View "Auto Trading Strategy Start Up Check" Requirements


      ON A LIVE ACCOUNT or optionally sim to allow a real world experience and correct habits/workflows..

      Any strategy should start and not cancel orders on the account and instrument it is started on - (unless that is the desired configured optional behaviour..)

      Strategy StartUp Check: 1: DEFAULT USER MODE
      1. Start and Warn orders exist and ask to cancel and flatten all before starting... or to not start...
      2. If they chose to start - and click yes cancel orders and underlying positions

      Strategy StartUp Check: ADVANCED MODES

      MODE: 1 NT Auto Trading - Real World Start - 1: Developer Only Mode
      The strategy should simply start and allow a developer to check for open positions and working orders in that account for that instrument and also warn...in the log/alert... so email is sent

      The developer will chose to programmatically:
      1. Not trade until the way is clear -ie account instrument position flat and orders are cancelled
      2. OR more advanced Rebind to the orders and the underlying position and continue trade management until the next signal

      OR

      MODE: 2
      NT Auto Trading - Real World Start - 2: AutoRebind And Fail

      .3 Automatic rebind position and ordersc - this may be possible based on strategyid saved and order ids etc... as i am sure you know...etc if fails stop the strategy raise alarm...

      OR

      MODE: 3
      NT Auto Trading - Real World Start - 3: AutoRebind And Continue

      .3 Automatic rebind position and ordersc - this may be possible based on strategyid saved and order ids etc... as i am sure you know...etc if fails allow developer to control from there...

      >>Caveats then the developer would see if the orders and positions balance etc..
      This is for advanced developer usage only



      5 BENEFITS SUMMARY of this feature....
      1. One of the benefits of above - is also to get rid of the terrible so called "Trade Managers" that are based on indicators and to allow them to be built correctly within a strategy....
      2. NT8 would be passed as compliant for AT Trading by an auditor inspecting the process of a regulated fund for example utilising NT8 for autotrading.
      3. Pro, Commercials and small retail swing traders - would adopt NT8 as all NT7 undesirable behaviour is removed...
      4. Developers can build strategies that trade live via NT - instead of using them as models and performing the live trading via an API or other tech....
      5. NT8 will rightfully achieve its place as a commercial grade platform and not a free prototyping platform only and can be used for live trading for all types of trading...
      Last edited by MicroTrends; 08-27-2015, 08:41 PM.
      MicroTrends
      NinjaTrader Ecosystem Vendor - micro-trends.co.uk

      Comment


        #4
        Originally posted by NinjaTrader_Dave View Post
        Hello,

        I've just tested both scenarios in NinjaTrader 8, and got the same result as you would expect from NinjaTrader 7. The core logic around initializing strategies and syncing positions has not changed much. We still recommend viewing strategies and positions on a per-strategy-instance basis.

        What I mean by this is that a new instance of a strategy (which will be made in both scenarios) will not be able to "adopt" any positions or orders currently on your account. When the first instance, which entered the position and placed the order, is disabled, the next instance will not be able to pick up where the first instance left off. This is why a new strategy instance will cancel any existing orders -- because if those orders remained outstanding, the strategy position could easily become out of sync with the actual account position.

        My personal recommendation is to always keep your strategies running for as long as you wish them to run, and not to do things like reboot NinjaTrader or temporarily disable a strategy. In the case that you must disable a strategy, I recommend manually ensuring that your account is completely flat before re-enabling the strategy, whether this means managing your position manually in the platform, or (in a worst case scenario like a power outage) calling the Orders Desk to ensure you are flat before restarting.

        If you would like, I'll be happy to submit or add to a feature request for strategies to adopt positions and orders placed by a previous instance of the same applied strategy.
        This is a general statement which is not quite correct. How restarted strategies behave depends on how the strategy controls are set up. When what you are describing happens to me and I restart a strategy, it recalculates the position it would have been in, and issues the necessary protective orders if they were there. So much so, that I have had to put in a facility to force it to be realtime only, so that I can restart without issuing old orders, if I choose to manually go flat after the strategy is disabled.

        Comment


          #5
          Thank you MicroTrends for your well-thought-out reply. It gives us some good food for thought and solid material for a few suggested enhancements.

          Koganam is correct in that there is currently a way to set a strategy to submit live working historical orders immediately on startup, but this would only coincidentally get you back into the right orders if the timing was right. If you were to come back a few hours later and expect the orders to still be live, for example, the strategy might not necessarily see its position/orders in the same state that they would have been in at the time is was disabled, and thus may not re-place the same orders that were left open. The options in place now work well for intermittent disabling/re-enabling in a short period of time, but it sounds like what you are describing would only be accomplished by actually adopting the account position and orders, rather than simply picking up where the strategy itself would have left off.
          Dave I.NinjaTrader Product Management

          Comment


            #6
            Originally posted by NinjaTrader_Dave View Post
            Thank you MicroTrends for your well-thought-out reply. It gives us some good food for thought and solid material for a few suggested enhancements.

            Koganam is correct in that there is currently a way to set a strategy to submit live working historical orders immediately on startup, but this would only coincidentally get you back into the right orders if the timing was right. If you were to come back a few hours later and expect the orders to still be live, for example, the strategy might not necessarily see its position/orders in the same state that they would have been in at the time is was disabled, and thus may not re-place the same orders that were left open. The options in place now work well for intermittent disabling/re-enabling in a short period of time, but it sounds like what you are describing would only be accomplished by actually adopting the account position and orders, rather than simply picking up where the strategy itself would have left off.
            For what you now describe, I thought that NT8 has already decided to take care of that with "Adopt Account Position" methods, both scripted and in the setup GUI? No?

            ref: http://ninjatrader.com/support/helpG..._positions.htm

            Comment


              #7
              Okay guys -- thank you for your patience on this one. The Product Management team has consulted on this, and I've done some extensive testing, because I want to give you the most accurate information that I can.

              It is true that NinjaTrader 8 does allow you to get around this by setting two properties:

              IsAdoptAccountPositionAware = true; (this can only be done in code)

              StartBehavior = StartBehavior.AdoptAccountPosition; (can be done in code or in the UI)

              Here are the four scenarios that I tested, which matches up with the documentation that koganam shared:

              Scenario:
              1. Strategy uses IsAdoptAccountPositionAware = true AND StartBehavior.AdoptAccountPosition
              2. Strategy is NOT set to cancel entry/exit orders when disabled
              3. Strategy places working orders
              4. Strategy is disabled
              5. Strategy is re-enabled

              Active orders placed by previous instance / new instance in same state
              Adopts orders

              Active orders placed by previous instance / new instance in different state
              Adopts orders

              Manual orders are active
              Strategy will not start -- error message displayed

              Active orders placed by previous instance, then manually modified
              Adopts orders at the manually modified price -- does not move them to where the strategy would have placed them

              Long story short -- we've got you covered in NinjaTrader 8, MicroTrends. You will not need to worry about this issue once you switch over.
              Dave I.NinjaTrader Product Management

              Comment

              Latest Posts

              Collapse

              Topics Statistics Last Post
              Started by algospoke, Today, 06:40 PM
              0 responses
              9 views
              0 likes
              Last Post algospoke  
              Started by maybeimnotrader, Today, 05:46 PM
              0 responses
              7 views
              0 likes
              Last Post maybeimnotrader  
              Started by quantismo, Today, 05:13 PM
              0 responses
              7 views
              0 likes
              Last Post quantismo  
              Started by AttiM, 02-14-2024, 05:20 PM
              8 responses
              168 views
              0 likes
              Last Post jeronymite  
              Started by cre8able, Today, 04:22 PM
              0 responses
              10 views
              0 likes
              Last Post cre8able  
              Working...
              X