The following features are included in the Power User versions of NeuroShell Trader.
Multiple Time Frames: (Power User Feature) Adds the ability to mix and match multiple time frame data, indicators, predictions and trading strategies.
At the start of the Indicator, Trading Strategy and Prediction Wizards and when inserting Existing Data/Calculations, you are given a choice of selecting either “Same frequency as chart” or “Chart independent frequency”. If you choose “Same frequency as chart”, the data, indicator, prediction or trading strategy will be the same frequency as the current chart and will change frequencies with the chart if you change the underlying chart frequency. If you choose “Chart independent frequency”, the data, indicator, prediction or trading strategy will be the frequency you have selected and will not change frequencies if you change the underlying frequency of the chart.
Note that this interface allows you to mix and match different frequencies to your heart’s content. You could add a daily data stream to a 5 minute data stream, add the result to a 2.5 range bar prediction, which then feeds into a 2000 volume bar Trading Strategy and display all of the above on a 333 volume chart.
Position Sizing: (Power User Feature) Trading Strategies Only Adds many choices for determining how many shares/contracts/units to buy with each trade. The following Position Sizing methods are now available on the “Position Sizing” tab of the Trading Strategy Parameters Dialog:
Fixed Size: Buy a fixed number of shares/contracts/units.
Fixed Dollar: Buy a fixed dollar amount of shares/contracts/units.
Percent of Account: Buy as many shares/contracts/units as possible with the specified percent of account equity.
Fixed Leverage: Buy the number of shares/contracts/units that limits trading to the specified leverage of the account equity.
Fixed Fractional: Buy the number of shares/contracts/units that risks the specified fraction of account equity per trade, where risk per trade is the size of the initial protective stop or the largest historical trade loss when a trade has no initial protective stop.
Kelly formula: Buy the number of shares/contracts/units that risks the fraction of account equity per trade calculated by the Kelly Formula, which takes into account the systems history of winning and losing trades. Risk per trade is the size of the initial protective stop or the largest historical trade loss when a trade has no initial protective stop.
Optimal f: Buy the number of shares/contracts/units that risks the fraction of account equity per trade calculated to maximize the systems end profit. Risk per trade is the size of the initial protective stop or the largest historical trade loss when a trade has no initial protective stop. Developed by Ralph Vince.
Secure f: Buy the number of shares/contracts/units that risks the fraction of account equity per trade calculated to maximize the systems end profit when limited to the specified maximum system drawdown. Risk per trade is the size of the initial protective stop or the largest historical trade loss when a trade has no initial protective stop. Developed by Leo Zamansky and David Stendahl.
Profit Risk: Buy the number of shares/contracts/units that risks the specified fraction of initial account equity and the specified fraction of closed trade profits per trade. Risk per trade is the size of the initial protective stop or the largest historical trade loss when a trade has no initial protective stop.
Volatility Risk: Buy the number of shares/contracts/units that risks the specified fraction of account equity per Average True Range of price movement.
Fixed Ratio: Buy an additional share/contract/unit each time profits increase by the specified profit per share/contract/unit multiplied by the number of shares/contracts/units currently being traded.
Margin + Drawdown Sizing: Buy the number of shares/contracts/units such that the account equity will cover the margin requirement and the specified multiple of the largest historical system drawdown.
Fixed Dollar Amount per Unit: Buy one share/contract/unit for every specified dollar amount of account equity.
Fixed Dollar Risk: Buy the number of shares/contracts/units that risks the specified dollar amount per trade, where risk per trade is the size of the initial protective stop or the largest historical trade loss when a trade has no initial protective stop.
Position Sizing Optimization: (Power User Feature) Trading Strategies Only Adds the ability to let the optimizer choose the optimal position sizing parameters and/or method.
To select one or more position sizing methods, click in the box to the left of each position sizing name. If only one position sizing method is selected, it will display a black lock icon in the box to the left of the method name, which indicates that NeuroShell will only calculate results using that position sizing method. However if multiple position sizing methods are selected, they will display a red circular arrow icon in the box to the left of the method name, which indicates that NeuroShell Trader will determine which of the selected methods gives the best results during optimization.
To turn optimization of the parameter(s) of a selected position sizing method on or off, click in the box to the left of each parameter name. A black lock icon in the box to the left of a parameter, is an indication that NeuroShell will only calculate results using the listed parameter value. A red circular arrow icon in the box to the left of a parameter name, is an indication that NeuroShell Trader will determine a parameter value within the listed parameter range that gives the best results during optimization.
Pyramiding/Scaling: (Power User Feature) Trading Strategies Only
Adds the ability to pyramid/scale into and out of trades with more than one entry or exit order. The following Pyraminding/Scaling options are available on the “Position Scaling” tab of the Trading Strategy Parameters Dialog:
Pyramid/Scale into Positions: A check box which allows activation of position scaling on entries.
Max number of entries per Position: Allows you to choose the maximum number of independent entries that are allowed for each trading position.
Entries change in Size: Allows you to specify by how much subsequent entries change in size as a percentage of the prior entry. So for instance if you specify 100%, all entries will be the same constant size. However if you specify 50%, then each subsequent entry will be half the size of the previous entry (for instance entries of 1000 shares, 500 shares, 250 shares and then 125 shares, for a final position size of 1875 shares)
Restrict each entry condition to generating one entry per position: Use this option to cause each entry condition to generate only one entry scaling. By default, if you had an entry condition like CrossAbove(Close,Open), the trading strategy would generate a new scale in entry order each time the close crossed above the open. However, you could use this option to allow the CrossAbove(Close,Open) to generate only one entry scaling and then add additional entry conditions like CrossAbove(Close, Multiply(EntryPrice,1.1)), CrossAbove(Close, Multiply(EntryPrice,1.2)) and CrossAbove(Close, Multiply(EntryPrice,1.3)) to generate additional entry scale ins when the price jumps 10 percent, 20 percent and 30 percent beyond the first entry.
Pyramid/Scale out of Positions: A check box which allows activation of position scaling on exits.
Max number of exits per Position: Allows you to choose the maximum number of independent exits that are allowed for each trading position.
Exits change in Size: Allows you to specify by how much subsequent exits change in size as a percentage of the prior exit. So for instance if you specify 100%, all exits will be the same constant size. However if you specify 200%, then each subsequent exit will be half the size of the previous exit (for instance exits of 125 shares, 250 shares, 500 shares and then 1000 shares)
Restrict each exit condition to generating one exit per position: Use this option to cause each exit condition to generate only one exit scaling. By default, if you had an exit condition like CrossBelow(Close,Open), the trading strategy would generate a new scale in exit order each time the close crossed below the open. However, you could use this option to allow the CrossBelow(Close,Open) to generate only one entry scaling and then add additional entry conditions like CrossBelow(Close, Multiply(ExitPrice,0.9)), CrossBelow(Close, Multiply(ExitPrice,0.8)) and CrossBelow(Close, Multiply(ExitPrice,0.7)) to generate additional exit scale outs when the price goes below 90 percent, 80 percent and 70 percent beyond the first exit.
Pyramiding/Scaling Optimization: (Power User Feature) Trading Strategies Only
Adds the ability to let the optimizer choose the optimal pyramiding/scaling parameters (i.e. “Max number of entries”, “Entries change in size”, “Max number of exits” and “Exits change in size” parameters).
To enable Pyramiding/Scaling Optimization, select the appropriate check box on the “Optimization” tab of the Trading Strategy Parameters Dialog. Once Position Scaling Parameter Search is checked, any desired changes to the default Position Scaling Parameter optimization ranges can be made on the “Position Scaling” tab of the Trading Strategy Parameters Dialog.
Note that if you want the optimizer to decide if position scaling should be used at all, simply make sure to set the minimum value for Max number of entries and exits to a value of 1.
Multiple Template Optimization and Backtesting: (Power User Feature)
Trading Strategies Only Adds the ability to optimize and backtest multiple templates in bulk using the same date, cost, position sizing, position scaling and optimization parameters.
To backtest more than one template at a time, simply multiple select the templates you wish to backtest on the first page of the wizard and then press the Next button. As there are multiple templates and thus input sets selected, the wizard skips the inputs page and goes directly to the parameters page, from which you can choose to modify the dates, costs, and optimization parameters that you wish to use during optimization of all the templates. It should be noted that the default parameters will be the parameters of the first template selected. Once you have the parameters set as you desire, press the next button to backtest the templates. After all the templates have been backtested and you have analyzed the backtest results, put a check mark in the box next to the templates you wish to add to the chart and press the wizard Finish button.
Walkforward Optimization: (Power User Feature) Trading Strategies Only
Adds the ability to “walkforward” optimizations such that each new optimization is applied to a new out of sample Actual Trading period. This allows users to evaluate the out of sample performance of a strategy reoptimized regularly on newer data.
Take for instance simulating reoptimizing a trading strategy every week for the past 10 weeks. After each reoptimization, you then traded the optimized strategy for a week until the next time you reoptimized. This scenario can now be simulated by setting up 10 walkforwards with an Actual Trading period of 1 week. With these settings, NeuroShell Trader will perform 11 total optimizations, each shifted by one week. 10 of those optimizations will show the Actual Trading had you traded the week following the optimization period. The final optimization (walkforward 0), is optimized up to the very last date so you can go forward into the future trading having optimized on the very latest data in the same manner as the prior 10 simulated optimizations.
To enable Walkforward Optimization, select the “Walk-forward optimization” check box on the “Advanced” tab of the Trading Strategy Parameters Dialog. Then enter the number of walk-forwards you wish to perform in the corresponding text box. Remember that there will be one more optimization than the number of walkforwards entered as the final optimization will be labeled walkforward 0 and will be the optimization that gets used when you start trading into the future.
The amount that each walkforward is shifted forward in time is controlled by the size of the actual trading period. To setup actual trading, select the “Dates” tab of the Trading Strategy Parameters Dialog, select the “Start trading before last chart date” check box and then use the dropdown above the Trading label to select the size of the actual trading period. [NOTE: If you do not see the “Start trading before last chart date” check box on the “Dates” tab, then you will need to go to the main NeuroShell Menu, select “Options” from the “Tools” menu, and then turn on the “Allow real trading to begin before last chart date” option on the “Advanced” tab of the Options dialog.]
Note that once you have setup walkforward optimization, you have the choice of whether the actual trading of each walkforward resets it’s starting account balance to the original account balance or if it starts with the account balance that remained after the subsequent walkforward’s actual trading. To setup the carrying forward of the previous account balance, simply select “Carry forward actual trading account balances to next walkforward” on the “Advanced” tab of the Trading Strategy Parameters Dialog. Setting the account balance carry forward option will allow you to simulate the real world scenario where you started trading with a given account balance, reoptimized regularly, but never added more money to your account balance to offset losses as you traded.