/// <inheritdoc />
        public async Task NewMarketIfTouchOrderAsync(
            string clOrdId,
            string symbol,
            string side,
            decimal orderQty,
            ulong account,
            decimal stopPx,
            string timeInForce      = null,
            string[] execInst       = null,
            ulong positionId        = 0,
            decimal stopLossPrice   = 0,
            decimal takeProfitPrice = 0,
            decimal trailingOffset  = 0,
            decimal capPrice        = 0,
            string text             = null,
            string groupId          = null)
        {
            var command = OrderExtensions.NewMarketIfTouchOrder(
                clOrdId,
                symbol,
                side,
                orderQty,
                account,
                stopPx,
                timeInForce,
                execInst,
                positionId,
                stopLossPrice,
                takeProfitPrice,
                trailingOffset,
                capPrice,
                text,
                groupId);

            await SendCommandAsync(command).ConfigureAwait(false);
        }
        /// <inheritdoc />
        public async Task <ExecutionReport> NewMarketIfTouchOrderAsync(string clOrdId,
                                                                       string symbol,
                                                                       string side,
                                                                       decimal orderQty,
                                                                       ulong account,
                                                                       decimal stopPx,
                                                                       string timeInForce                  = null,
                                                                       string[] execInst                   = null,
                                                                       ulong positionId                    = 0,
                                                                       decimal stopLossPrice               = 0,
                                                                       decimal takeProfitPrice             = 0,
                                                                       decimal trailingOffset              = 0,
                                                                       decimal capPrice                    = 0,
                                                                       string text                         = null,
                                                                       string groupId                      = null,
                                                                       CancellationToken cancellationToken = default)
        {
            var command = OrderExtensions.NewMarketIfTouchOrder(
                clOrdId,
                symbol,
                side,
                orderQty,
                account,
                stopPx,
                timeInForce,
                execInst,
                positionId,
                stopLossPrice,
                takeProfitPrice,
                trailingOffset,
                capPrice,
                text,
                groupId);

            return(await NewOrderAsync(command, cancellationToken).ConfigureAwait(false));
        }