Skip to main content

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

ParameterTypeDescription
accountAccountAccount
stop_signStopSignCondition stop condition : Full Until fully filled、PartialUntil partially filled、UntilEndUntil expiry
end_timestringparentorderspriceEnd time
multiconditionCondition ListTrigger condition
orderObjectConditionOrder ObjectOrder Details
ConditionDayTrade ObjectConditionDayTrade ObjectDay-trading offset details
TPSLObjectTPSLWrapperTake-Profit/Stop-Loss
fixSessionboolExecute fixing offset

Result

ParameterTypeDescription
isSuccessboolWhether successful
dataObjectConditional order response information
messagestring (optional)When isSuccess = false Returns an error message

Order Information ConditionOrderResult Fields

Return type : Object

ParameterTypeDescription
guidstringConditional 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"
}
}