My limit order to reverse the position is being canceled. Why? Supposing I am long 100 shares, I want to send 1 sell order for 100 shares as a market order, and 1 sell order for 100 shares as a limit order. As long as both orders execute, I should result in being short 100 shares, no matter what sequence these 2 orders execute in. Is there a way to do this in NT?
Below is my code, and TraceOrders output:
//### Exit exising positions
if ( Position.MarketPosition == MarketPosition.Long ) {
Print("(MACD_TRADER) Closing Open Position: " +tradeId);
ExitLong(tradeId); //### Exit any currently open opposite position
}
//### Entry Order
tradeId = "Short ("+CurrentBar +") " +entryPrice;
Print("(MACD_TRADER) Short Signal: " +hookType +" " +tradeId);
EnterShortLimit(shares, entryPrice, tradeId); //### Limit order
//### Stop/Trail Order
if ( tickTrail > 0 ) SetTrailStop(tradeId, CalculationMode.Ticks, tickTrail, false); //### Trail Stop
else if ( barStop >= 0 ) SetStopLoss (tradeId, CalculationMode.Price, High[HighestBar(High, barStop)] +(2*TickSize), false); //### Bar Stop
else SetStopLoss (tradeId, CalculationMode.Ticks, tickStop, false); //### Regular Stop
SetProfitTarget(tradeId,CalculationMode.Ticks, tickTarget);
Here are the entries in my output window using TraceOrders=true:
(MACD_TRADER) Long Signal: Up.Trend Buy (9173) 115.07
3/10/2010 3:09:25 PM Entered internal PlaceOrder() method at 3/10/2010 3:09:25 PM: Action=Buy OrderType=Limit Quantity=500 LimitPrice=115.07 StopPrice=0 SignalName='Buy (9173) 115.07' FromEntrySignal=''
3/10/2010 3:09:25 PM Entered internal SetStopTarget() method: Type=TrailStop FromEntrySignal='Buy (9173) 115.07' Mode=Ticks Value=15 Currency=0 Simulated=False
3/10/2010 3:09:25 PM Entered internal SetStopTarget() method: Type=Target FromEntrySignal='Buy (9173) 115.07' Mode=Ticks Value=1000 Currency=0 Simulated=False
3/10/2010 3:19:36 PM Amended trail stop order: Order='NT-02952/Sim101' Name='Trail stop' State=Working Instrument='SPY' Action=Sell Limit price=0 Stop price=115.01 Quantity=500 Strategy='MACDTrader' Type=Stop Tif=Gtc Oco='NT-01650' Filled=0 Fill price=0 Token='79a2bdc32d054cb3842ccae00458b58a' Gtd='12/1/2099 12:00:00 AM'
(MACD_TRADER) Closing Open Position: Buy (9173) 115.07
3/10/2010 3:27:15 PM Entered internal PlaceOrder() method at 3/10/2010 3:27:15 PM: Action=Sell OrderType=Market Quantity=0 LimitPrice=0 StopPrice=0 SignalName='' FromEntrySignal='Buy (9173) 115.07'
(MACD_TRADER) Short Signal: Down.Trend Short (9176) 115.03
3/10/2010 3:27:15 PM Entered internal PlaceOrder() method at 3/10/2010 3:27:15 PM: Action=SellShort OrderType=Limit Quantity=500 LimitPrice=115.03 StopPrice=0 SignalName='Short (9176) 115.03' FromEntrySignal=''
3/10/2010 3:27:15 PM Entered internal SetStopTarget() method: Type=TrailStop FromEntrySignal='Short (9176) 115.03' Mode=Ticks Value=15 Currency=0 Simulated=False
3/10/2010 3:27:15 PM Entered internal SetStopTarget() method: Type=Target FromEntrySignal='Short (9176) 115.03' Mode=Ticks Value=1000 Currency=0 Simulated=False
3/10/2010 3:27:15 PM Cancelled pending exit order, since associated position is closed: Order='NT-02953/Sim101' Name='Profit target' State=Working Instrument='SPY' Action=Sell Limit price=125.07 Stop price=0 Quantity=500 Strategy='MACDTrader' Type=Limit Tif=Gtc Oco='NT-01650' Filled=0 Fill price=0 Token='7f0d7046ab884f7cad8c661fcb194582' Gtd='12/1/2099 12:00:00 AM'
3/10/2010 3:27:15 PM Cancelled pending exit order, since associated position is closed: Order='NT-02952/Sim101' Name='Trail stop' State=Working Instrument='SPY' Action=Sell Limit price=0 Stop price=115.01 Quantity=500 Strategy='MACDTrader' Type=Stop Tif=Gtc Oco='NT-01650' Filled=0 Fill price=0 Token='79a2bdc32d054cb3842ccae00458b58a' Gtd='12/1/2099 12:00:00 AM'

Comment