Single Condition Day Trade Order
single_condition_day_trade
TPSL Notes
- TPSL triggers order placement only, it does not guarantee execution. Please adjust based on market conditions.
- Please ensure TPSL Order Type settings comply with Day Trade rules (e.g. Margin Trading offset).
Day Trade Condition Order Query
- Use guid to query day trade condition orders, please use Get Day Trade Condition Order function.
Input Parameters
| Parameter | Type | Description |
|---|---|---|
| account | Account | Account |
| start_date | string | Condition Monitoring Start Time |
| end_date | string | Condition Monitoring End Time |
| stop_sign | StopSign | Stop Sign :FULL Until Full Execution, PARTIAL Until Partial Execution, UNTIL_END Until Expiry |
| condition | Condition | Trigger Condition |
| ConditionOrder Object | ConditionOrder Object | Order Content |
| ConditionDayTrade Object | ConditionDayTrade Object | Day Trade Order Content |
| TPSLObject | TpslWrapper | TPSL Condition |
| FixSession | bool | Day Trade Cover |
Result Return
| Parameter | Type | Description |
|---|---|---|
| is_success | bool | Is Success |
| data | Object | Condition Order Return Info |
| message | string ? (optional) | Error message when isSuccess = false |
Order Info ConditionOrderResult Fields
Return type : Object
| Parameter | Type | Description |
|---|---|---|
| guid | string | Condition Order GUID |
Request Example
// Design Condition Content
Condition condition = Condition{
TradingType::REFERENCE,
"2881",
TriggerContent::MATCHED_PRICE,
"66",
Operator::LESS_THAN,
};
ConditionOrder order = ConditionOrder{
BsAction::BUY,
"2330",
"1000",
1000,
ConditionMarketType::COMMON,
ConditionPriceType::LIMIT,
TimeInForce::ROD,
ConditionOrderType::STOCK,
};
ConditionDayTrade day_order = ConditionDayTrade{
"131500", // Day Trade Close Time, range 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 // ** Set true to enable Day Trade wash price
};
auto daytrade_condition_order = sdk->stock->single_condition_day_trade(target_account, StopSign::FULL, "130000", condition , 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;
}
}
Return Example
{
isSuccess = True,
message = ,
data = ConditionOrderResult {
guid = 44150047-8977-40b1-953c-ce2XXXXXX
}
}