That is the behavior you should see. When you are short 300 and you try to submit an EnterLong() order it will get you into a 100 long position. To do this it needs to close your short position first. That means submitting a "Close position" order of 300. And then getting you in 100 long means another order for 100 long.
This is what NinjaTrader does. If you only wanted to go down 100 you need to submit ExitShort() and you need to tie it to which 100 shares you wanted to close.
Say you got 300 through three EnterShorts(). Each one needs a unique name and then you can close each 100 position individually.
Comment