updateConditionalOrder method

Future<Map<String, dynamic>?> updateConditionalOrder({
  1. required String symbol,
  2. String? stopOrderId,
  3. String? orderLinkId,
  4. int? newOrderQuantity,
  5. double? newOrderPrice,
  6. double? newTriggerPrice,
  7. double? takeProfit,
  8. double? stopLoss,
  9. String? tpTriggerBy,
  10. String? slTriggerBy,
})

Implementation

Future<Map<String, dynamic>?> updateConditionalOrder({
  required String symbol,
  String? stopOrderId,
  String? orderLinkId,
  int? newOrderQuantity,
  double? newOrderPrice,
  double? newTriggerPrice,
  double? takeProfit,
  double? stopLoss,
  String? tpTriggerBy,
  String? slTriggerBy,
}) async {
  log.d('ByBitRest.updateConditionalOrder');
  var parameters = <String, dynamic>{};
  parameters['symbol'] = symbol;
  if (stopOrderId != null) parameters['stop_order_id'] = stopOrderId;
  if (orderLinkId != null) parameters['order_link_id'] = orderLinkId;
  if (newOrderQuantity != null) {
    parameters['p_r_qty'] = newOrderQuantity.toString();
  }
  if (newOrderPrice != null) {
    parameters['p_r_price'] = newOrderPrice.toString();
  }
  if (newTriggerPrice != null) {
    parameters['p_r_trigger_price'] = newTriggerPrice.toString();
  }
  if (takeProfit != null) parameters['take_profit'] = takeProfit;
  if (stopLoss != null) parameters['stop_loss'] = stopLoss;
  if (tpTriggerBy != null) parameters['tp_trigger_by'] = tpTriggerBy;
  if (slTriggerBy != null) parameters['sl_trigger_by'] = slTriggerBy;
  return await request(
    path: '/v2/private/stop-order/replace',
    type: 'POST',
    parameters: parameters,
    withAuthentication: true,
  );
}