Skip to main content

當沖多條件單

multi_conditions_day_trade

停損利注意事項
  • 停損利設定僅為觸發送單,不保證必定回補成功,需視市場狀況自行調整
  • 請確認停損利委託類別設定需符合當日沖銷交易規則(例如信用交易使用資券互抵)
當沖條件單查詢
  • 使用 guid 查詢當沖條件單請使用當沖條件單查詢功能

輸入參數

參數類別說明
accountAccount帳號
start_datestring條件開始監控時間
end_datestring條件結束監控時間
stop_signStopSign條件停止條件 :FULL 全部成交為止、PARTIAL部分成交為止、UNTIL_END效期結束為止
conditionCondition觸發條件
ConditionOrder ObjectConditionOrder Object委託內容
ConditionDayTrade ObjectConditionDayTrade Object當沖委託內容
TPSLObjectTpslWrapper停損停利條件
FixSessionbool當沖回補

Result 回傳

參數類別說明
is_successbool是否成功
dataObject條件單回傳資訊
messagestring ? (optional)當isSuccess = false 回傳錯誤訊息

委託資訊 ConditionOrderResult 欄位

Return type : Object

參數類別說明
guidstring條件單號

請求範例

// 設計條件內容
Condition condition = Condition{
TradingType::REFERENCE,
"2881",
TriggerContent::MATCHED_PRICE,
"66",
Operator::LESS_THAN,
};

Condition condition2 = Condition{
TradingType::REFERENCE,
"2881",
TriggerContent::TOTAL_QUANTITY,
"1000",
Operator::GREATER_THAN,
};

std::vector<Condition> conditions;
conditions.push_back(condition);
conditions.push_back(condition2);

ConditionOrder order = ConditionOrder{
BsAction::BUY,
"2330",
"1000",
1000,
ConditionMarketType::COMMON,
ConditionPriceType::LIMIT,
TimeInForce::ROD,
ConditionOrderType::STOCK,
};

ConditionDayTrade day_order = ConditionDayTrade{
"131500", // 收盤前沖銷時間,可設定區間為 130100 ~ 132000
true,
"",
ConditionPriceType::MARKET
};

TpslOrder tp = TpslOrder{
TimeInForce::ROD,
ConditionPriceType::LIMIT,
ConditionOrderType::STOCK,
"85",
"85",
};

TpslOrder sl = TpslOrder{
TimeInForce::ROD,
ConditionPriceType::LIMIT,
ConditionOrderType::STOCK,
"60",
"60",
};

TPSLWrapper tpsl = TPSLWrapper{
StopSign::FULL,
tp,
sl,
"20250816",
true // ** 設定 true 以啟用當日沖銷洗價
};

auto daytrade_condition_order = sdk->stock->multi_condition_day_trade(target_account, StopSign::FULL, "130000", conditions , order, day_order, tpsl, true);
if (!daytrade_condition_order.is_success) {
std::cout << "get order result failed reason: "
<< (daytrade_condition_order.message.has_value() ? daytrade_condition_order.message.value() : "No message")
<< std::endl;
}
else {
if (daytrade_condition_order.data.has_value()) {
const auto& send = daytrade_condition_order.data.value();
std::cout << send << std::endl;
}
else {
std::cout << "Order result success but no data returned." << std::endl;
}
}

回傳範例

{
isSuccess = True,
message = ,
data = ConditionOrderResult {
guid = 44150047-8977-40b1-953c-ce2XXXXXX
}
}