Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Order can't be submitted. "The OCO ID cannot be reused"

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

    Order can't be submitted. "The OCO ID cannot be reused"

    Hello I have the same issue, I pressed Control+z "OCO" ico get disabled but I have the same message error.
    I also have another message error that says that order buy stop or buy stop limit cannot be put below the market touch order : BuyToCover 1 StopMarket @ 150.

    It's from a strategy ninjascript with an ATM.
    This is the code :

    if(Times[0][0].TimeOfDay > OrEnd.TimeOfDay && atmStrategyId.Length == 0 && CrossAbove(Close, ORHigh, 1))
    {
    isAtmStrategyCreated = false;
    atmStrategyId = GetAtmStrategyUniqueId();
    OrderIdB = GetAtmStrategyUniqueId();

    double buyPrice = 0.0;
    buyPrice = GetCurrentAsk() + 4 * TickSize;

    AtmStrategyCreate(OrderAction.Buy, OrderType.Market, buyPrice, 0, TimeInForce.Day, OrderIdB, "AtmOpStrategy", atmStrategyId, (atmCallbackErrorCode, atmCallBackId) =>
    {
    if(atmCallbackErrorCode == ErrorCode.NoError && atmCallBackId == atmStrategyId)
    {
    isAtmStrategyCreated = true;
    }
    });
    }

    if(Times[0][0].TimeOfDay > OrEnd.TimeOfDay && atmStrategyId.Length == 0 && CrossBelow(Close, ORLow, 1))
    {
    isAtmStrategyCreated = false;
    atmStrategyId = GetAtmStrategyUniqueId();
    OrderIdS = GetAtmStrategyUniqueId();

    double sellPrice = 0.0;
    sellPrice = GetCurrentBid() - 4 * TickSize;

    AtmStrategyCreate(OrderAction.Sell, OrderType.Market, sellPrice, 0, TimeInForce.Day, OrderIdS, "AtmOpStrategy", atmStrategyId, (atmCallbackErrorCode, atmCallBackId) =>
    {
    if(atmCallbackErrorCode == ErrorCode.NoError && atmCallBackId == atmStrategyId)
    {
    isAtmStrategyCreated = true;
    }
    });
    }

    if(!isAtmStrategyCreated)
    {
    return;
    }

    if(OrderIdB.Length > 0)
    {
    string[] status = GetAtmStrategyEntryOrderStatus(OrderIdB);

    if(status.GetLength(0) > 0)
    {
    if(status[2] == "Filled" || status[2] == "Cancelled" || status[2] == "Rejected")
    {
    OrderIdB = string.Empty;
    }
    }
    }
    else if(OrderIdS.Length > 0)
    {
    string[] status = GetAtmStrategyEntryOrderStatus(OrderIdS);

    if(status.GetLength(0) > 0)
    {
    if(status[2] == "Filled" || status[2] == "Cancelled" || status[2] == "Rejected")
    {
    OrderIdB = string.Empty;
    }
    }
    }
    else if(atmStrategyId.Length > 0 && GetAtmStrategyMarketPosition(atmStrategyId) == Cbi.MarketPosition.Flat)
    {
    atmStrategyId = string.Empty;
    }
    }

    Do you have any idea to resolve this issue.
    Thank you !​

    #2
    Hello Sacrifist13,

    The problem is not an OCO issue, its that the order was placed on the wrong side of the market and was rejected. You need to adjust your targets to avoid that from happening.

    Comment

    Latest Posts

    Collapse

    Topics Statistics Last Post
    Started by CarlTrading, 03-31-2026, 09:41 PM
    1 response
    80 views
    1 like
    Last Post NinjaTrader_ChelseaB  
    Started by CarlTrading, 04-01-2026, 02:41 AM
    0 responses
    40 views
    0 likes
    Last Post CarlTrading  
    Started by CaptainJack, 03-31-2026, 11:44 PM
    0 responses
    64 views
    2 likes
    Last Post CaptainJack  
    Started by CarlTrading, 03-30-2026, 11:51 AM
    0 responses
    66 views
    0 likes
    Last Post CarlTrading  
    Started by CarlTrading, 03-30-2026, 11:48 AM
    0 responses
    54 views
    0 likes
    Last Post CarlTrading  
    Working...
    X