Day Trading Multiple Conditional Orders
multi_condition_day_trade
Take-Profit/Stop-LossNotes
- Take-Profit/Stop-LossSetistrigger order submission,does not guarantee successful offsetting,adjust as market conditions require
- Confirm thatTake-Profit/Stop-LossOrder typeSetmustwhendaythen(Examplesuch as margin/short offsetting for credit trades)
Day Trading Conditional Order Query
- guid QueryDay Trading Conditional OrdersDay Trading Conditional Order Query
Input Parameters
| Parameter | Type | Description |
|---|---|---|
| account | Account | Account |
| stop_sign | StopSign | Condition stop condition : Full Until fully filled、PartialUntil partially filled、UntilEndUntil expiry |
| end_time | string | parentorderspriceEnd time |
| multicondition | Condition List | Trigger condition |
| orderObject | ConditionOrder Object | Order Details |
| ConditionDayTrade Object | ConditionDayTrade Object | Day-trading offset details |
| TPSLObject | TPSLWrapper | Take-Profit/Stop-Loss |
| fixSession | bool | Execute fixing offset |
Result
| Parameter | Type | Description |
|---|---|---|
| isSuccess | bool | Whether successful |
| data | Object | Conditional order response information |
| message | string (optional) | When isSuccess = false Returns an error message |
Order Information ConditionOrderResult Fields
Return type : Object
| Parameter | Type | Description |
|---|---|---|
| guid | string | Conditional Order ID |
Request Example
#from fubon_neo.sdk import ConditionDayTrade
# Define the condition
condition = Condition(
market_type = TradingType.Reference,
symbol = "2881",
trigger = TriggerContent.MatchedPrice,
trigger_value = "66",
comparison = Operator.LessThan
)
condition2 = Condition(
market_type = TradingType.Reference,
symbol = "2881",
trigger = TriggerContent.TotalQuantity,
trigger_value = "8000",
comparison = Operator.LessThan
)
order = ConditionOrder(
buy_sell = BSAction.Buy,
symbol = "2881",
price = "66",
quantity = 1000,
market_type = ConditionMarketType.Common,
price_type = ConditionPriceType.Limit,
time_in_force = TimeInForce.ROD,
order_type = ConditionOrderType.Stock
)
daytrade_obj = ConditionDayTrade(
day_trade_end_time = "131500", # Pre-close offset time,The allowed range is 130100 ~ 132000
auto_cancel= True,
price = "",
price_type=ConditionPriceType.Market
)
tp = TPSLOrder(
time_in_force=TimeInForce.ROD,
price_type=ConditionPriceType.Limit,
order_type=ConditionOrderType.Stock,
target_price="85",
price="85",
)
sl = TPSLOrder(
time_in_force=TimeInForce.ROD,
price_type=ConditionPriceType.Limit,
order_type=ConditionOrderType.Stock,
target_price="60",
price="60",
)
tpsl = TPSLWrapper(
stop_sign= StopSign.Full,
end_date="20240517",
tp=tp,
sl=sl,
intraday=True # ** Set True withsame-day offset price refreshing
)
sdk.stock.multi_condition_day_trade(account, StopSign.Full, "130000", [condition ,condition2], order, daytrade_obj, tpsl, True)
# SetTake-Profit/Stop-Loss
# sdk.stock.multi_condition_day_trade(account, StopSign.Full, "130000", [condition ,condition2], order, daytrade_obj, None, True)
# SetFixing
# sdk.stock.multi_condition_day_trade(account, StopSign.Full, "130000", [condition ,condition2], order, daytrade_obj, tpsl, False)
Response Example
Result {
is_success: True,
message: None,
data : ConditionOrderResult {
guid : "44150047-8977-40b1-953c-ce2XXXXXX"
}
}