• If this is your first visit, you will have to register before you can post. To view messages, please scroll below and select the forum that you would like to visits. Questions? Be sure to check out the Forum FAQ.

Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Enter OCO Order?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • calebsandfort
    started a topic Enter OCO Order?

    Enter OCO Order?

    Hi

    Using managed orders can I do something like:

    Code:
    EnterLongLimit(1, ask - (2  * TickSize), "ENTER");
    EnterLongStopMarket(1, ask + (2  * TickSize), "ENTER");
    and have it basically act as an OCO order? I'm doing something similar with exit orders and seem to be getting the expected OCO behavior. But with the enter orders it only seems to be respecting the first order.

    Do I have to use unmanaged orders?

    Any help would be appreciated.

  • NinjaTrader_PaulH
    replied
    Hello calebsandfort,

    Thanks for your post and welcome to the NinjaTrader forums!

    In the Managed Approach, under the "Internal Order Handling Rules that Reduce Unwanted Positions", under the "Methods that generate orders to enter a position will be ignored if:" there is this applicable rule: The strategy position is flat and an order submitted by an enter method (EnterLongLimit() for example) is active and the order is used to open a position in the opposite direction Reference link: https://ninjatrader.com/support/help...d_approach.htm

    Staying with the managed approach, you could replace the limit orders with code that checks the price against the two entry levels and then when price hits either level place a market order to fill immediately. You would want to run this part of your code in the calculate mode of OnEachTick.

    For example:

    if (your conditions to enter )
    {
    double limitPrice = ask - (2 * TickSize);
    double stoplimitPrice = ask + (2 * TickSize)

    if (Close[0] <= limitPrice || Close[0] >= stoplimitPrice)
    {
    EnterLong();
    }
    }

    Notes: When using Calculate.OnEachTick, Close[0] = current price. You would need additional logic to control the flow to limit to one entry.

    Alternatively, you could use the Unmanaged approach which does not restrict orders.

    Leave a comment:

Latest Posts

Collapse

Topics Statistics Last Post
Started by rickyblah12, Today, 01:01 PM
0 responses
6 views
0 likes
Last Post rickyblah12  
Started by dadarara, Today, 12:18 PM
0 responses
7 views
0 likes
Last Post dadarara  
Started by joemiller, Today, 07:33 AM
0 responses
8 views
0 likes
Last Post joemiller  
Started by TheGameOfProbabilities, 07-18-2019, 06:56 AM
7 responses
37 views
0 likes
Last Post DaveS
by DaveS
 
Started by claxxical, Yesterday, 10:00 PM
0 responses
11 views
0 likes
Last Post claxxical  
Working...
X