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 Mindset, 04-21-2026, 06:46 AM
    0 responses
    88 views
    0 likes
    Last Post Mindset
    by Mindset
     
    Started by M4ndoo, 04-20-2026, 05:21 PM
    0 responses
    134 views
    0 likes
    Last Post M4ndoo
    by M4ndoo
     
    Started by M4ndoo, 04-19-2026, 05:54 PM
    0 responses
    68 views
    0 likes
    Last Post M4ndoo
    by M4ndoo
     
    Started by cmoran13, 04-16-2026, 01:02 PM
    0 responses
    119 views
    0 likes
    Last Post cmoran13  
    Started by PaulMohn, 04-10-2026, 11:11 AM
    0 responses
    67 views
    0 likes
    Last Post PaulMohn  
    Working...
    X