Skip to content
Back to App

Order Entry

The order entry system in TestMax replicates the order types and execution behavior of real futures and forex trading platforms. Understanding each order type and how fills work is essential for building proper trading habits.

Order types

TestMax supports four order types, each with distinct behavior and use cases.

Market orders

A market order executes immediately at the best available price. In TestMax, this means the current historical bid (for sells) or ask (for buys) at the replay timestamp.

When to use: When you need to enter or exit a position right now and don’t want to risk missing the move. Market orders guarantee a fill but not a specific price.

Execution behavior:

  • Buy market orders fill at the current ask price
  • Sell market orders fill at the current bid price
  • Fills are instantaneous — the position appears immediately

Keyboard shortcut: Press B for buy market, S for sell market.

Limit orders

A limit order is an instruction to buy or sell at a specific price or better. Limit orders are not executed immediately — they sit as pending orders until the market reaches your price.

When to use: When you want to enter at a specific price, typically on a pullback. Limit orders give you price control but do not guarantee a fill — the market may never reach your price.

Execution behavior:

  • Buy limit: Set below the current price. Fills when the market trades at or below your limit price.
  • Sell limit: Set above the current price. Fills when the market trades at or above your limit price.
  • Orders are evaluated on every 1-second tick during replay, ensuring accurate fills regardless of your chart timeframe.

Example: NQ is trading at 15,250. You believe it will pull back to 15,230 before continuing up. You place a buy limit at 15,230. If the price drops to 15,230 (or below) during the replay, your order fills. If the price never reaches 15,230, the order remains pending.

Stop orders

A stop order triggers a market order when the price reaches a specified level. Stops are commonly used for two purposes: protecting against losses (stop loss) and entering on breakouts (stop entry).

When to use:

  • Stop loss — To automatically close a position if the price moves against you past a threshold
  • Breakout entry — To enter a position when the price breaks through a key level

Execution behavior:

  • Buy stop: Set above the current price. When the market trades at or above your stop price, a market buy order is triggered.
  • Sell stop: Set below the current price. When the market trades at or below your stop price, a market sell order is triggered.
  • Once triggered, the stop becomes a market order and fills at the next available price.

Example: NQ is trading at 15,250. You place a buy stop at 15,270, anticipating a breakout above resistance. When the price reaches 15,270, your buy stop triggers and you enter long at market.

Bracket orders

A bracket order combines an entry order with pre-set stop loss (SL) and take profit (TP) levels. When the entry fills, both the SL and TP orders are automatically placed. When one side fills, the other is automatically canceled (OCO — one-cancels-other).

When to use: When you want to define your risk and reward before entering the trade. Bracket orders enforce discipline by removing the temptation to move your stop or change your target mid-trade.

Execution behavior:

  • The entry can be a market order (fill immediately) or a limit order (fill when price is reached)
  • Once the entry fills, the SL and TP orders become active
  • If price hits the stop loss first, the position is closed and the take profit order is canceled
  • If price hits the take profit first, the position is closed and the stop loss order is canceled

Placing orders

Using the order panel

  1. Set the quantity

    Enter the number of contracts in the quantity field. The default is 1. This quantity applies to both panel orders and keyboard shortcuts.

  2. Select the order type

    Choose Market, Limit, Stop, or Bracket from the order type dropdown.

  3. Enter price levels

    • Market orders — No price input needed
    • Limit orders — Enter your desired fill price
    • Stop orders — Enter your trigger price
    • Bracket orders — Enter the entry price (for limit brackets), stop loss price, and take profit price
  4. Submit the order

    Click Buy (green) or Sell (red) to submit. Market orders execute immediately. Limit, stop, and bracket entries become pending orders visible in the order panel.

Using keyboard shortcuts

For the fastest execution, use keyboard shortcuts:

KeyAction
BBuy at market for the configured quantity
SSell at market for the configured quantity
FFlatten all open positions at market

Keyboard shortcuts always place market orders using the quantity set in the order panel.

Order management

Viewing pending orders

Pending orders (limit, stop, and unfilled bracket entries) are displayed in the order panel below the submit buttons. Each pending order shows:

  • Order type and side (Buy/Sell)
  • Quantity
  • Price level
  • Status (Pending)

Pending orders are also displayed on the chart as horizontal lines at the order price, making it easy to see where your orders sit relative to current price action.

Modifying orders

To modify a pending order:

  1. Click the order in the pending orders list
  2. Adjust the price, quantity, or other parameters
  3. Confirm the modification

You can also drag the order line on the chart to change its price visually.

Canceling orders

To cancel a pending order, click the cancel (X) button next to the order in the pending orders list. Canceled orders are removed immediately and do not execute.

Order fill mechanics

Understanding how TestMax fills orders helps you set realistic expectations when transitioning to live trading.

Tick-level evaluation

Regardless of your chart timeframe, orders are evaluated against the underlying 1-second tick data. This means:

  • A limit order can fill on a wick that barely reaches your price, even if the candle body never gets there
  • A stop order can trigger on a spike that the higher-timeframe candle does not clearly show
  • Bracket SL/TP levels are evaluated on every tick, providing precise exit execution

Fill assumptions

TestMax makes several simplifying assumptions for fills:

AspectTestMax BehaviorLive Market Reality
LiquidityAll orders fill completelyLarge orders may partially fill or move the market
SlippageNo slippage on limit ordersLimit orders may not fill if there is no matching liquidity
Market impactNoneYour order can move the market, especially in thin markets
Queue positionNot modeledLimit orders at popular levels may not fill even if price touches the level

Bracket order strategies

Bracket orders are versatile. Here are common configurations:

Risk: 4-8 ticks | Reward: 4-8 ticks | Ratio: 1:1

For quick in-and-out trades. Sets a tight stop and target for small, frequent gains. Requires high accuracy to be profitable.

Example on NQ: Buy at 15,250. Stop loss at 15,248 (8 ticks / $40). Take profit at 15,252 (8 ticks / $40).

Common mistakes to avoid

Entering without a stop loss

Even in a simulator, practicing without stop losses builds bad habits. Always define your risk before entering a trade, either through a bracket order or a manually placed stop.

Using market orders for everything

Market orders are convenient, but limit orders help you practice patience and precision. Try using limit orders for entries at pullback levels instead of chasing price with market orders.

Ignoring the spread

In futures, the bid-ask spread is usually 1 tick for liquid contracts (NQ, ES). Your market buy fills at the ask and your market sell fills at the bid. This means you start every trade 1 tick in the red. Over many trades, this cost adds up — factor it into your expected P&L.

Moving stops

If you find yourself repeatedly moving your stop loss further away to avoid being stopped out, you are eroding your risk management discipline. Let the bracket order do its job. If your stops are being hit too often, the issue is likely your entry criteria, not your stop placement.