Multi-Condition with DayTrade
MultiConditionDayTrade
Stop-loss Take Precautions
- The stop-loss take pre-order setting is only a trigger for the order and does not guarantee a successful cover. It must be adjusted based on market conditions.
 - Please ensure that the stop-loss take pre-order order type setting complies with day trading rules.
 
Day Trading Order Query
- To query day trading orders using a GUID, please use the Day Trading Order Query function.
 
Request Parameter
| Parameter | Type | Meaning | 
|---|---|---|
| account | Account | Account | 
| stopSign | StopSign | Stop Condition : Full Until Fully filled、Partial Once Filled happened 、 UntilEnd Until Expiry | 
| endTime | string | End time of parent order | 
| multicondition Condition List | List of Condition Content | |
| orderObject | ConditionOrder Object | ConditionOrder Object | 
| ConditionDayTrade Object | ConditionDayTrade | DayTrade Content | 
| TPSL | TPSLWrapper | TPSL ConditionOrder Object | 
| fixSession | bool | Fix Session Covering | 
Result Response
| Parameter | Type | Meaning | 
|---|---|---|
| isSuccess | bool | Interface result | 
| data | Object | ConditionOrderResult is returned | 
| message | string ? (optional) | isSuccess = false error description is returned | 
ConditionOrderResult Parameter
Return type : Object
| Parameter | Type | Meaning | 
|---|---|---|
| guid | string | Condition Serial Number | 
Request Example
// Condition Content
var condition1 = new Condition(
    TradingType.Reference,
    "2881",
    TriggerContent.MatchedPrice,
    "66",
    Operator.LessThan
);
var condition2 = new Condition(
    TradingType.Reference,
    "2881",
    TriggerContent.TotalQuantity,
    "8000",
    Operator.LessThan
);
List<Condition> conditions = new List<Condition>();
conditions.Add(condition1);
conditions.Add(condition2);
var order = new ConditionOrder(
    BsAction.Buy,
    "2881",
    "66",
    2000,
    ConditionMarketType.Common,
    ConditionPriceType.Limit,
    TimeInForce.Rod,
    ConditionOrderType.Stock
);
var daytrade_obj = new ConditionDayTrade(
    "131000", // Position covering time, valid range between 130100 ~ 132000
    true,        
    "",
    ConditionPriceType.Market 
);
var tp = new TpslOrder(
    TimeInForce.Rod,
    ConditionPriceType.Limit,
    ConditionOrderType.Stock,
    "85",
    "85",
    null
);
var sl = new TpslOrder(
    TimeInForce.Rod,
    ConditionPriceType.Limit,
    ConditionOrderType.Stock,
    "60",
    "60",
    null
);
var tpsl = new TpslWrapper(
    StopSign.Full,
    tp,
    sl,
    "20240517",
    true  // ** Must set true to enable daytrade
);
sdk.Stock.MultiConditionDayTrade(account, StopSign.Full, "130000", condition, order, daytrade_obj, tpsl, true);
// Not Setting TPSL
//sdk.Stock.MultiConditionDayTrade(account, StopSign.Full, "130000", condition, order, daytrade_obj, null, true);
// Not Setting Fix Session Covering
//sdk.Stock.MultiConditionDayTrade(account, StopSign.Full, "130000", condition, order, daytrade_obj, tpsl, false);
Response Example
{
    isSuccess = True,
    message = ,
    data = ConditionOrderResult {
            guid = 44150047-8977-40b1-953c-ce2XXXXXX
        }
}