PositionSizer for ninjatrader

futures.io - futures trading strategies, market news, trading charts and platforms

Trading Reviews and Vendors

Discuss and review vendors of commercial trading products, trading rooms and services, trading indicators or third-party paid add-ons


PositionSizer for ninjatrader

  #40 (permalink)

San Jose, CA
Trading Experience: Intermediate
Platform: SC
Broker/Data: Multi
Favorite Futures: CL
Posts: 733 since Mar 2012
Thanks: 1,954 given, 811 received

Fat Tails View Post
This is too easy. I use NinjaTrader to run ATM strategies, and the question arises indeed, how to adapt the stop loss size to volatility, exchange rate and risk allowance. This is what I do once per week:

Input Values: Maximum Risk, Exchange Rate, ATR(36) of a 5 minute chart and Spread

(1) I first enter two values as input -> maximum risk per trade and current exchange rate EUR/USD -> see red fields in the excel sheet below

(2) Then I measure the lowest and highest value for the ATR(36) on a 5 min chart that could be found during the RTH session (my trading times) over the last week, not including holiday sessions.

Money Management Stop-Loss is calculated as ATR(36) plus Spread

I assume that the ATR(36) of the 5 min chart is a reasonable value for my money management stop-loss as required by my setups. Starting from these values I calculate the stop loss in ticks and the number of contracts that I am allowed to trade.

Notes to the Spreadsheet below by Column

A: Instrument
B: Contract Month
C: Tick Size in points
D: Minimum measured for ATR(36) in points
E: Maximum measured for ATR(36) in points
F: The assumed spread, which is added to the ATR to determine the stop loss
G: The stop loss calculated from volatility: Mean of minimum and maximum ATR + spread
H: The selected stop loss, manually adjusted to avoid an uneven number of contracts
I: Contract Multiplier
J: TickValue
K: StopValue in Local Currency calculated from selected stop loss
L: StopValue in Euro converted from local currency
M: Risk allowed in Euro
N: Number of contracts that can be traded calculated from stop loss value

The two red fields are manual inputs. The blue field are taken from a 5 min chart that covers the last week. The two orange columns are my outputs that I use to enter my default strategies for the instruments.

If volatility changes for an instrument, I may have to adjust contract size. The whole process takes a few minutes. The advantage of doing this manually is that a change informs me about different market conditions, in case that I did not realize it during the week.


For the next week I am allowed to trade 6 contracts of TF with a stop loss size of 14 ticks, or alternatively I can trade 4 contracts of CL with a stop loss of 20 ticks. In case that my calculations are wrong, at least it was myself who committed the error and I can take full responsibility for it. The approach is similar to the PositionSizer.

I know I am a little late on this thread but @FatTails could you explain how you get the 36ATR (5 min) spread in your spreadsheet? I am trying to find a good calculation method for setting stops based on the volatility of the market in question. Maybe MAE is a better choice? Do anyone have any thought on how to best accomplish this? Thank you.

Visit my futures io Trade Journal Reply With Quote