Reversal-Auto-trader

Auto Trader for Ninja Trader 8

Market Reversal

Check out the auto trader's page to find out all its benefits, pricing plans and get 7 days of free testing

Step 1

Installation process

  1. Download the installation file from your account page, or find the download link in the email you received after purchase
  2. Import installation .zip file by following NinjaTrader 8 Control Center –> Tools –> Import –> NinjaScript Add-on –> Select downloaded Reversal.zip file
  3. Send your machine ID at team@mascapital.uk (so we can issue the license for you based on your subscription plan). ID can be found by following: NinjaTrader 8 Control Center –> Help –> About 

Step 2

Making sense of parameters

*You don't need to understand all the values 100%, as all you need is the right combination of parameters for your particular market and timeframe. You can delegate this job to a Strategy Analyzer with Optimization mode. Read how to optimize auto trader here.

  1. Pivot Density (in bars): Determines the number of bars to form pivot (the higher the value, the more bars will be taken into account and the more significant reversals in the market will be considered signals, which means a smaller number of trades).

    Default value: [5]
    Possible values in range: [1-50]

  2. Pivot Confirmation (in ticks): The number of ticks that will be added to the pivot point to define it as a confirmed pivot.

    Default value: [2]
    Possible values in range: [1-100]

  3. Signal Confirmation Period (in bars): Defines the limit of the number of bars, during which the pivot point must be confirmed (if it does not happen – the signal is no longer confirmed and the auto trader does not place an order). The higher is the value, the longer is the time to confirm the reversal (the number of trades becomes greater).

    Default value: [2]
    Possible values in range: [1-100]

  4. Adjust Entry Order by… (in ticks): A value of -10, for example, means that the entry point will be lower by 10 ticks, which gives less risk, but also reduces the chance of entering the market. Value +10 means more risk, but higher chance to be filled on a pullback.

    Default value: [0]
    Possible values in range: [-100-100]

  5. Adjust Stop by… (in %): Changes the position of the stop relative to the market reversal point, i.e. relative to the support or resistance level at which the stop is placed. A value of 0.25 means that the stop will be 25% closer to the entry point, giving a greater risk of being hit by market noise but less risk per trade, while a value of -0.25 means that the stop will be 25% further from relative to the support/resistance level, but reducing the chance of being hit by noise. Only works on the bars, that are bigger than “N” ticks defined by If Bar is Bigger than N Adjust Stop (in ticks) parameter.

    Default value: [0.63 = 63% closer to entry, if bar is bigger than “N”]
    Possible values in range: [-1.0-1.0]

  6. R/R Ration: Determines the ratio of risk to profit per trade to place a target.

    Default value: [1]
    Possible values in range: [0.1-10.0]

  7. If Bar is Bigger than N Adjust Stop (in ticks): If the bar is greater than the value “N”, the stop is shifted closer/further relative to the entry point. Often, we move the stop closer to the entry point, which reduces the amount of risk on bars that exceed the allowed risk. (stop is 63% closer to the entry point if bar is bigger than 100 ticks by default).

    Default value: [100]
    Possible values in range: [10-1000]

  8. Maximum Entry Bar Size (in ticks):Defines the maximum allowed bar size for an entry, bars that exceed this value will be ignored as pivot entry points.

    Default value: [600]
    Possible values in range: [1-1000]

  9. Keep Order Alive Period (in bars): Specifies the maximum number of bars to save a working order to enter the market after confirmation of the signal. A high value (>6) can increase the number of entries into the market, at the moment when the entry point is no longer relevant, a low value (<2), can cut off numerous good entry points.

    Default value: [2]
    Possible values in range: [1-10]

  10. Target Reached Area (in ticks): Determines the distance to the target, in order to remove the entry order earlier, since the signal is no longer valid. This means that if the price is already close to the target, the limit order should be removed and the signal should be considered as exhausted. By default, it means that you should remove the order and forget about the signal if price is within 2 ticks of the potential profit target. Note: too big of a value will cause the entry order to be removed too early.

    Default value: [2]
    Possible values in range: [1-100]

*You don't need to understand all the values 100%, as all you need is the right combination of parameters for your particular market and timeframe. You can delegate this job to a Strategy Analyzer.

Step 3

Auto trader optimization

NOTE: For this step, you need to download template files (if you have not downloaded them yet from your account area)

  1. Extract downloaded template files into C:\Users\*YourPC Name*\Documents\NinjaTrader 8\templates\Strategy
    (So that the optimization template is on the path: C:\Users\*YourPC Name*\Documents\NinjaTrader 8\templates\Strategy\Reversal\Optimization.xml)
  2. Restart NinjaTrader 8, or start it if it was off and check, if optimization template is showing under the Reversal strategy templates menu (if it is not – Compile NinjaTrader by following NinjaTrader 8 Control Center -> New -> NinjaScript Editor -> Compile)
  3. Go to Strategy Analyzer NinjaTrader 8 Control Center –> New –> Strategy Analyzer and select optimization mode with Reversal auto trader
  4. Select imported optimization template Template–> Load –> “Optimization” template  
  5. Go to Data Series section and select the instrument*, bar type* and value* that you want to optimize the auto trader on

    *instrument –  you can use any market (MNQ/NQ/ES/MES is our top picks)

    *bar type – ONLY minute based bars
    *value
     – 2MIN+ bars (5/10/15/30/45/60/120/480 is our top picks)

  6. Go to Time Frame section and select optimization period (it should be at least 1 month)
  7. Go to Historical fill section and set it as follows: Order fill resolution – High; Type – Tick; Value – 1
  8. Go to Optimize section and select preferred optimization criteria for which you want to optimize the strategy (Max Net Profit – is the best option)
  9. Under GO properties section you will find Generation size and Generations settings, by changing which you can affect the number of tests and their speed in order to get acceptable optimization results Generation size 25-100, Generations 5-25 is recommended 
  10. Run optimization. Once optimization is complete, select the result that shows the best performance and save the settings as a template that can be used later when adding the strategy to the chart test (or strategy tab section)  Template –> Save–> give it a name you can understand, for example: “Market – Bar Type – Timeframe – Performance”

* If you do not get a result that you are satisfied with, run the optimization process with the same settings at least twice. If after a double test, the result is still not enough, you can change the timeframe and market to get the best performance.
** Reversal auto-trader has a recommended bar type (time based candles) it is highly recommended to use only this type of bar. 
*** Do not use very low timeframes, it will have a negative impact on the auto-trader and results.
**** We recommend you to test auto trader on a playback to confirm the result achieved with optimization.

Step 4

How to run auto trader

  1. Add auto trader to the strategy tab NinjaTrader 8 Control Center–> Strategies tab –> Left Click –> New strategy… 
  2. Select the template you got from the step 2 and configure instrument*, bar type* and value* to match the template
  3. Find Time Frame section and increase Days to load value to at least 30 days (or 500 bars) 

* You can also place the auto trader directly on the chart. Before adding it, make sure you have enough data on the chart (at least 500 bars or 30 days of data) and use the same principles described above