Appearance

Personalize your experience

Mode
Accent Color
Direction
Quick Keys to Trade

Quick Keys to Trade

Shortcuts

Use keyboard keys B and S to place instant buy and sell orders from the chart.

Overview

BBuySSell
Press B to buy, S to sell — no mouse needed.

Quick Keys let you place buy and sell orders using only your keyboard. Press B on your keyboard to place a buy order, or S to place a sell order, using the current settings for quantity and .

Key Map Reference

Two keyboard keys are mapped to trading actions. The mapping is hard-coded and cannot be customised through the settings UI:

Key
Action
B (uppercase or lowercase)
Places a buy order. Reads the current quantity, (market/limit), (if applicable), leverage, time-in-force, and TP/SL settings from QuickTradeContext. Calls `executeOrder("buy", ...)`.
S (uppercase or lowercase)
Places a sell order. Identical parameter resolution to B but with side set to `"sell"`. Uses the same settings for quantity, , leverage, etc.

Both keys are case-insensitive. The keydown event checks `event.key` against `"b"` and `"s"` after lowercasing. Modifier keys (Ctrl, Alt, Meta) are not explicitly blocked — if a browser or OS shortcut uses B or S, it takes precedence and the trade key is suppressed. The keys are not active when the user is typing in an input field (checked via `event.target`).

Execution Behaviour

When a key is pressed, the system follows a deterministic resolution chain to construct and submit the order. Here is the exact execution :

  1. 1
    Key press detected
    A `keydown` event listener on the chart container fires. The handler checks if the key is B or S (case-insensitive) and if the event target is not an input/textarea element. If both conditions are met, `event.preventDefault()` is called to stop the character from being typed.
  2. 2
    Settings snapshot
    The handler reads the current QuickTradeSettings snapshot from the context. This includes `orderType`, `quantity`, `leverage`, `timeInForce`, `reduceOnly`, `postOnly`, `tradeWithoutConfirmation`, `takeProfitEnabled`, `takeProfitPercent`, `stopLossEnabled`, and `stopLossPercent`. All values are read synchronously from React state, so the order always uses the latest settings.
  3. 3
    Price resolution
    For market orders, the reference price is determined: buy uses `bestAsk` (or current price fallback), sell uses `bestBid` (or current price fallback). For limit orders, the price comes from the input field in the bar (if Price Input is enabled). If Price Input is disabled in Limit , a dialog prompts for the price.
  4. 4
    Order construction
    `createOrder()` builds a `QuickTradeOrder` object with the side, price, quantity, , leverage, time-in-force, reduce-only flag, post-only flag, and calculated TP/SL prices (if enabled). Validation runs at this stage — invalid settings abort with a toast error.
  5. 5
    Order submission
    If validation passes and `tradeWithoutConfirmation` is true, the order is submitted directly via the exchange API callback. If confirmation is required, a modal dialog appears with the order preview for the user to review and before submission.
  6. 6
    Feedback
    A toast notification summarises the result (success with order ID, or error with reason). If are enabled, a dashed order line appears on the chart at the placed price level, following the same lifecycle as click-placed orders.

Focus Requirements

Quick Keys only fire when the chart container has keyboard focus. This is enforced by attaching the `keydown` listener to the chart's DOM container element (via `chartContainerRef.current`), not to `document` or ``. Understanding the focus scope is essential for reliable key detection:

  • Chart area focus — the chart container must be the focused element. Clicking anywhere on the chart canvas or any non-input overlay element gives the container focus. A indicator (e.g., focus ring) is typically not shown since the chart container is styled without an outline.
  • Input field suppression — when the user is typing in an input field (quantity input, input, search bar), the handler checks `(event.target as HTMLElement).tagName` and skips processing if the target is `INPUT`, `TEXTAREA`, or `SELECT`. This prevents accidental trade placement while editing settings.
  • Tab order — the chart container should be reachable via Tab navigation. If the browser tab order skips the chart, clicking the chart once establishes focus. The focus state persists until another element is clicked or Tab is pressed to move to the next focusable element.
  • Iframe considerations — if the chart is rendered inside an iframe, the keydown event is scoped to the iframe document. The parent document cannot relay B/S key presses into the iframe. The chart must be focused within the iframe context.
  • DevTools interference — opening browser DevTools and clicking the console removes focus from the chart. The keys will not work until the chart is clicked again. This is normal DOM focus behaviour.

Configuration Dependencies

The behaviour of Quick Keys is not determined by a single setting but by the combination of several interdependent settings:

Setting
Effect on Quick Keys
Quick Keys to Trade (keysToTrade)
Master toggle. When disabled, the keydown listener is not attached. No B or S key presses are processed regardless of other settings.
Trade Without Confirmation
When enabled, the order submits instantly with no dialog. When disabled, a confirmation modal appears for each key press, showing the order preview.
Default Order Mode (orderType)
Determines whether the order is market or limit. Market orders execute immediately at best available price. Limit orders use the price from the field or prompt for one.
Quantity
Sets the order size. Read from `settings.quantity` at the time of key press. The quantity field in the bar must be pre-configured before pressing B/S.
Price Input (showQuickTradePriceInput)
When enabled in Limit , the price from the input field is used. When disabled in Limit mode, pressing B/S opens a dialog to enter the price before submission.
Leverage
Applied to the order. Set in Settings. Must be between 1x and 125x (validated before submission).
Time In Force
Sets how long the order remains active. GTC by default. Can be set to IOC, FOK, or Day in settings.
Keyboard Shortcuts Enabled (global)
When false, ALL keyboard shortcuts including Quick Keys are suppressed. This is a separate toggle from `keysToTrade` and acts as a global switch.

Safety Notes

Quick Keys bypass the graphical order entry process. While fast, they introduce risk if settings are not properly configured beforehand:

  • Accidental — pressing B or S while typing anywhere near the chart (e.g., in a search bar that loses focus) can an unintended order. Always verify that the chart does not have focus before typing B or S. The input field check mitigates this but does not eliminate the risk if the chart itself is focused.
  • Quantity verification — the quantity used is whatever is currently set in the bar. If you previously set a quantity for a different trade and forgot to reset it, pressing B or S will use that large quantity. Always verify the quantity display before relying on Quick Keys.
  • Market order slippage — in Limit , the price is controlled. In Market mode, the order at the current best available price. During high volatility, this can result in significant slippage. Consider keeping set to Limit when using Quick Keys in volatile conditions.
  • Leverage exposure — the leverage setting is applied silently. A key press with 125x leverage and a quantity creates substantial position size. Review the leverage setting in Settings before using Quick Keys for high-leverage .
  • TP/SL auto-attachment — if Take Profit or are enabled in settings, they are automatically attached to every order placed via Quick Keys. Ensure TP/SL percentages are correctly configured to avoid unwanted automatic exits.

Use Cases

  • Rapid — a scalper watching the order book can press B to buy the moment liquidity appears at their level, then press S to sell seconds later for a profit. The keyboard is faster than clicking the B/S buttons in the bar, especially for -trip .
  • Hands-on- — a trader who keeps one on the mouse for chart analysis and one on the keyboard can use Quick Keys without moving the mouse to the Quick Trade bar. This is particularly useful with for price selection and B/S for instant execution.
  • Accessibility — traders with motor impairments or concerns may find keyboard-only order placement easier than precise mouse clicks on bar buttons. The B and S keys are large, easy to locate by , and require travel distance.
  • Multi-monitor setups — on multi-monitor configurations, reaching the bar with the mouse can be a significant arm movement. Quick Keys let traders keep both hands on the keyboard and execute without reaching across screens.

Troubleshooting

  • Keys not responding — verify that Quick Keys is enabled in Settings. Click the chart area to ensure it has keyboard focus. Check that no input field is active (e.g., search bar). Ensure the global "Keyboard Shortcuts Enabled" setting is on. Try pressing B or S after clicking directly on the chart canvas.
  • Wrong side placed — if you press B and a sell order goes through, check that the B/S toggle in or the is not set to Sell. Quick Keys use the current default , not the Click to Order side toggle. The B key always places a buy and S always places a sell, regardless of the toggle state.
  • Confirmation dialog appearing — this means is disabled. The dialog shows the order preview. You can either (Enter) or (Escape). To skip this step in , enable Trade Without Confirmation in Settings > Execution.
  • Order — the rejection toast shows the reason (e.g., "Insufficient balance", "Invalid price", "Market closed"). Common causes: quantity exceeds available balance, is outside the allowed range, or the exchange is in maintenance .
  • Nothing happens on key press — open the browser console and check for errors. Verify that the chart container is mounted and the Quick Keys `useEffect` has attached the listener. Check that no other Chrome is intercepting B or S key presses.
  • Chrome conflicts — some browser extensions use B and S as shortcuts (e.g., Vimium, privacy extensions). Check your extension key bindings or disable extensions when trading. The system cannot intercept key presses that the browser or extensions consume first.
!
Caution:Quick Keys only work when the chart area has keyboard focus. Click on the chart first if the keys are not responding. Ensure is on for instant execution, or a confirmation dialog will appear.
!
Caution:When both Quick Keys and keyboard input are used (e.g., typing in the quantity field), the keydown handler skips processing if the event target is an input element. This prevents accidentally placing while editing settings, but means you cannot use B/S while an input field is focused.

Related Settings

  • 1.Trade Without Confirmation — Required for instant execution — otherwise a confirmation dialog appears on each key press
  • 2.Default Order Mode — Determines market vs limit order on key press
  • 3.Price Input — Controls whether the limit price field is available for limit orders placed via Quick Keys
  • 4.Quantity (Default) — Sets the order size used when B or S is pressed
  • 5.Keyboard Shortcuts (Global) — Master toggle for all keyboard shortcuts — must be enabled for Quick Keys to work
  • 6.Chart Click to Order — Alternative chart-based order placement that works alongside Quick Keys

Related articles

  • Bid / Ask Prices

    Trading / Quick Trade / Display

    Show clickable bid and ask price buttons in the Quick Trade bar for one-click limit orders.

  • Buy / Sell Toggle Location

    Trading / Quick Trade / Execution

    Choose where the side selector appears when Click to Order is active.

  • Chart Click to Order

    Trading / Quick Trade / Execution

    Click anywhere on the chart to place a limit order at the clicked price.

  • Chart Overlays

    Trading / Quick Trade / Display

    Chart Overlays BUY 42,000 Limit order SELL 41,980 Pending order ◀ Quick Order Line ◀ Quick Trade Line ↕ Drag to adjust

  • Default Order Mode

    Trading / Quick Trade / Display

    Set whether the Quick Trade bar uses Market or Limit orders by default.

  • IDE Keyboard Shortcuts

    Coding / IDE / Keyboard

    Quatick IDE supports extensive keyboard shortcuts inspired by VS Code. Shortcuts are organized by area. On macOS, replace Ctrl with ⌘ and Alt with ⌥ where…

  • Panel Size

    Trading / Quick Trade / Display

    B S S — 30px B S M — 34px B S L — 38px The bar grows uniformly — buttons, spacing, and hit areas scale proportionally

  • Price Input

    Trading / Quick Trade / Display

    Show or hide the Market/Limit toggle and limit price field in the Quick Trade bar.

  • Quick Trade Overview

    Trading / Quick Trade

    Place orders with a single click from the chart — no tedious form-filling required.

Browse all knowledge base articles →