Time In Force (TIF) 是订单有效期参数,用于指定订单的有效期限。不同的 TIF 设置会影响订单的执行方式和生命周期。
中文: 一直有效直到取消
// 限价单 - 希望以特定价格买入
const limitOrder = await futureConnector.openPosition(
'BTCUSDT',
DerivativesTradingUsdsFuturesRestAPI.NewOrderSideEnum.BUY,
0.001,
50000,
{
type: 'LIMIT',
timeInForce: DerivativesTradingUsdsFuturesRestAPI.NewOrderTimeInForceEnum.GTC,
},
)
// 限价单 - 希望以特定价格卖出
const sellOrder = await futureConnector.openPosition(
'BTCUSDT',
DerivativesTradingUsdsFuturesRestAPI.NewOrderSideEnum.SELL,
0.001,
52000,
{
type: 'LIMIT',
timeInForce: DerivativesTradingUsdsFuturesRestAPI.NewOrderTimeInForceEnum.GTC,
},
)
中文: 立即成交或取消
// 市价单 - 立即买入
const marketBuy = await futureConnector.openPosition(
'BTCUSDT',
DerivativesTradingUsdsFuturesRestAPI.NewOrderSideEnum.BUY,
0.001,
0, // 市价单价格为0
{
type: 'MARKET',
timeInForce: DerivativesTradingUsdsFuturesRestAPI.NewOrderTimeInForceEnum.IOC,
},
)
// 限价单 - 立即成交或取消
const immediateOrder = await futureConnector.openPosition(
'BTCUSDT',
DerivativesTradingUsdsFuturesRestAPI.NewOrderSideEnum.BUY,
0.001,
50000,
{
type: 'LIMIT',
timeInForce: DerivativesTradingUsdsFuturesRestAPI.NewOrderTimeInForceEnum.IOC,
},
)
中文: 全部成交或取消
// 大额订单 - 要求全部成交
const largeOrder = await futureConnector.openPosition(
'BTCUSDT',
DerivativesTradingUsdsFuturesRestAPI.NewOrderSideEnum.BUY,
1.0, // 大额数量
50000,
{
type: 'LIMIT',
timeInForce: DerivativesTradingUsdsFuturesRestAPI.NewOrderTimeInForceEnum.FOK,
},
)
// 精确数量订单
const preciseOrder = await futureConnector.openPosition(
'BTCUSDT',
DerivativesTradingUsdsFuturesRestAPI.NewOrderSideEnum.SELL,
0.5,
52000,
{
type: 'LIMIT',
timeInForce: DerivativesTradingUsdsFuturesRestAPI.NewOrderTimeInForceEnum.FOK,
},
)
中文: 有效直到穿越
// 止损单
const stopLoss = await futureConnector.openPosition(
'BTCUSDT',
DerivativesTradingUsdsFuturesRestAPI.NewOrderSideEnum.SELL,
0.001,
48000,
{
type: 'STOP_MARKET',
stopPrice: 48000,
timeInForce: DerivativesTradingUsdsFuturesRestAPI.NewOrderTimeInForceEnum.GTX,
},
)
// 条件限价单
const conditionalOrder = await futureConnector.openPosition(
'BTCUSDT',
DerivativesTradingUsdsFuturesRestAPI.NewOrderSideEnum.BUY,
0.001,
51000,
{
type: 'LIMIT',
stopPrice: 50000, // 当价格达到50000时激活
timeInForce: DerivativesTradingUsdsFuturesRestAPI.NewOrderTimeInForceEnum.GTX,
},
)
中文: 有效直到指定日期
// 限时订单
const timeLimitOrder = await futureConnector.openPosition(
'BTCUSDT',
DerivativesTradingUsdsFuturesRestAPI.NewOrderSideEnum.BUY,
0.001,
50000,
{
type: 'LIMIT',
timeInForce: DerivativesTradingUsdsFuturesRestAPI.NewOrderTimeInForceEnum.GTD,
// 注意:GTD 需要额外的日期参数
},
)
// 网格交易使用 GTC
const gridOrders = []
for (let i = 0; i < 5; i++) {
const price = 50000 + i * 1000
const order = await futureConnector.openPosition(
'BTCUSDT',
DerivativesTradingUsdsFuturesRestAPI.NewOrderSideEnum.BUY,
0.001,
price,
{
type: 'LIMIT',
timeInForce: DerivativesTradingUsdsFuturesRestAPI.NewOrderTimeInForceEnum.GTC,
},
)
gridOrders.push(order)
}
// 紧急平仓使用 IOC
const emergencySell = await futureConnector.openPosition(
'BTCUSDT',
DerivativesTradingUsdsFuturesRestAPI.NewOrderSideEnum.SELL,
0.001,
0,
{
type: 'MARKET',
timeInForce: DerivativesTradingUsdsFuturesRestAPI.NewOrderTimeInForceEnum.IOC,
},
)
// 大额交易使用 FOK
const largeTrade = await futureConnector.openPosition(
'BTCUSDT',
DerivativesTradingUsdsFuturesRestAPI.NewOrderSideEnum.BUY,
10.0,
50000,
{
type: 'LIMIT',
timeInForce: DerivativesTradingUsdsFuturesRestAPI.NewOrderTimeInForceEnum.FOK,
},
)
选择合适的 Time In Force 参数对于交易策略的成功至关重要。建议根据具体的交易需求和市场条件来选择最合适的设置。