Login Page - Create Account

Support Board


Date/Time: Sun, 09 Nov 2025 01:01:39 +0000



Post From: ioc orders not filling.

[2025-10-24 22:30:38]
fxtrades123 - Posts: 23
I am trying to place IOC/GTC orders. but for some reason, on trading evaluator I can never seem to get them filled. below are some examples of what I am seeing. Does trading evaluator support ioc orders. or is it only live. Because for some reason they never fill.

I am using amp and I know they accept ioc orders.

______________________________________________________________________________________________________________
1) 19:29:25.831 → 19:29:26.148 (client-IOC BUY @ cap → cancel)

2025-10-24 19:29:25.831 | Chart: MESZ25[M] 1 Min #1 | Study: DynStrat: LongOnly | [info] PAIR: send BUY GTC (clientIOC hold=200ms) qty=2 px=6840.00 cap=7t (CID=1761333777 reqId=1)
2025-10-24 19:29:26.148 | Chart: MESZ25[M] 1 Min #1 | Study: DynStrat: LongOnly | [info] PAIR: cancel BUY oid=2 (clientIOC remainder)
2025-10-24 19:29:26.148 | The order with InternalOrderID: 2 was not found in the trade orders list. Order not canceled. | Symbol: (unset) | TradeAccount: (unset) *


2) 19:29:26.485 → 19:29:26.808

2025-10-24 19:29:26.485 | … | [info] PAIR: send BUY GTC (clientIOC hold=200ms) qty=2 px=6840.00 cap=7t (CID=1761333777 reqId=1)
2025-10-24 19:29:26.808 | … | [info] PAIR: cancel BUY oid=2 (clientIOC remainder)
2025-10-24 19:29:26.815 | The order with InternalOrderID: 2 was not found in the trade orders list. Order not canceled. | … *


3) 19:29:27.155 → 19:29:27.468

2025-10-24 19:29:27.155 | … | [info] PAIR: send BUY GTC (clientIOC hold=200ms) qty=2 px=6840.00 cap=7t (CID=1761333777 reqId=1)
2025-10-24 19:29:27.468 | … | [info] PAIR: cancel BUY oid=2 (clientIOC remainder)
2025-10-24 19:29:27.468 | … | [info] PAIR: no fill at cap; will retry on next gate
2025-10-24 19:29:27.468 | The order with InternalOrderID: 2 was not found in the trade orders list. Order not canceled. | … *

_____________________________________________________________________________________________________

Below are settings I have in my script to ensure that they get filled (trying to)

AllowMultipleEntriesInSameDirection = 1

AllowEntryWithWorkingOrders = 1

AllowOppositeEntryWithOpposingPositionOrOrders = 1

AllowOnlyOneTradePerBar = 0

CancelAllOrdersOnEntries = 0

CancelAllOrdersOnReversals = 0

SupportAttachedOrdersForTrading = 0

UseGUIAttachedOrderSetting = 0

SendOrdersToTradeService = 1

UsesMarketDepthData = 1

MaintainTradeStatisticsAndTradesData = 1

MaximumPositionAllowed = high (e.g., 100000)

Chart Trade Mode (IsChartTradeModeOn) = On

Trade Account = your live account (not TE)


________________________________________________________________________________________

below are the ioc/gtc I have in my code.


These are the ioc gtc I have in my code.


_______________

Responder IOC order
When used: IN_PAIR_RESP_TIF_HOLD_MS = 0

Common fields:

OrderType = LIMIT

TimeInForce = IMMEDIATE_OR_CANCEL

Price1 = cap price (Long→capBuyPx ≈ inside ask; Short→capSellPx ≈ inside bid)

OrderQuantity = req qty (clipped)

TradeAccount = (your live account)

TextTag = "DS:...|PH=PAIR|CID=...|CL=...|GEN=..."

Long (BUY):

o.OrderType = SCT_ORDERTYPE_LIMIT;
o.TimeInForce = SCT_TIF_IMMEDIATE_OR_CANCEL;
o.Price1 = capBuyPx; // usually ≈ best ask
oid = sc.BuyOrder(o);
Short (SELL):

o.OrderType = SCT_ORDERTYPE_LIMIT;
o.TimeInForce = SCT_TIF_IMMEDIATE_OR_CANCEL;
o.Price1 = capSellPx; // usually ≈ best bid
oid = sc.SellOrder(o);



________________________________________________________

Responder GTC (client-IOC hold) order
When used: IN_PAIR_RESP_TIF_HOLD_MS > 0 (e.g., 120–200 ms)

Common fields:

OrderType = LIMIT

TimeInForce = GOOD_TILL_CANCELED

Price1 = cap price (Long→capBuyPx; Short→capSellPx)

Hold for IN_PAIR_RESP_TIF_HOLD_MS then cancel remainder

Early abort if quotes move beyond cap

Long (BUY):

o.OrderType = SCT_ORDERTYPE_LIMIT;
o.TimeInForce = SCT_TIF_GOOD_TILL_CANCELED;
o.Price1 = capBuyPx;
oid = sc.BuyOrder(o);
// hold for X ms; if not filled -> sc.CancelOrder(oid)
Short (SELL):

o.OrderType = SCT_ORDERTYPE_LIMIT;
o.TimeInForce = SCT_TIF_GOOD_TILL_CANCELED;
o.Price1 = capSellPx;
oid = sc.SellOrder(o);
// hold for X ms; if not filled -> sc.CancelOrder(oid)
Date Time Of Last Edit: 2025-10-24 22:39:32