NinjaTrader Support Forum  

Go Back   NinjaTrader Support Forum > NinjaScript Development Support > Strategy Development

Strategy Development Support for the development of custom automated trading strategies using NinjaScript.

Reply
 
Thread Tools Display Modes
Old 08-21-2008, 12:05 PM   #1
naifwonder
Junior Member
 
Join Date: Feb 2007
Location: , ,
Posts: 27
Thanks: 0
Thanked 0 times in 0 posts
Default Trade Fills

I have a strategy that enters and exits with limit orders, but always bids and offers 1 tick better to guarantee the fill. However, the trades are not always being filled on the back-test. For example, this is the code I am using for the exit order:

exit_price = Open[0] - TickSize;
exit_order_id = generate_tag(0) + "_exit";
exit_order = ExitLongLimit(exit_price, entry_order_id);

As you can see, this code should pretty much always get the fill since it is exiting at a one tick premium to the market. However, the trade sometimes does not execute on the chart for the back-test until about 3 bars after it should. Any reason for this or have I just made a coding error? I would use market orders but that significantly throws off the back-test results. If it makes any difference, all of the variables used above have been declared earlier in the strategy which is why i don't have it written as "string exit_order_id = " and so forth.
naifwonder is offline  
Reply With Quote
Old 08-21-2008, 12:14 PM   #2
NinjaTrader_Ray
Administrator
 
NinjaTrader_Ray's Avatar
 
Join Date: Nov 2004
Location: Denver, CO, USA
Posts: 11,163
Thanks: 6
Thanked 45 times in 32 posts
Default

Why do you think the order is filled three bars later than it should? I would print out the price of the ordernand the Time of the bar where the order is initially placed, then check the chart and determine how the order is filled based on the following fill type selected during backtest.

The two system fill algorithms are:


Default
An algorithm that takes a conservative and more realistic approach to filling limit and stop limit orders.
  • <LI class=rvps1>Limit orders only fill if the limit price was penetrated
  • Limit orders are always filled at the limit price specified never better (for example, if a limit order is submitted on bar n, NT will check if the order is filled on bar n+1, if this bar gaps down and the limit order was a buy, the order would be filled at the limit price and NOT the high of bar n+1)

Liberal
An algorithm that takes a liberal approach to filling limit and stop limit orders.
  • <LI class=rvps1>Limit orders fill if the limit price was touched <LI class=rvps1>On gap down bars, buy limit orders will fill at the high of the gap down bar
  • On gap up bars, sell limit orders will fill at the low of the gap up bar
NinjaTrader_Ray is offline  
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Partial Fills SystemTrading Miscellaneous Support 1 08-20-2008 08:43 AM
Partial Fills Harry ATM Strategies (Discretionary Trading) 5 02-26-2008 06:25 AM
simulated fills andrewbee Strategy Development 1 12-27-2007 12:08 PM
deleting spurious trade from sim trade list Arbitrageur Miscellaneous Support 2 09-12-2006 03:59 AM
External fills tonchi Miscellaneous Support 3 07-20-2006 06:04 AM


All times are GMT -6. The time now is 08:01 PM.