Real-Time Tournaments Are Live. Plus Shortcuts We Should've Had From Day One.

By Vincent Luder
Published April 19, 2026

The old tournament mode made you commit to one buy/sell/skip decision before watching the candles play out. That's not what trading looks like. Real-time mode lets you open as many positions as you want during the replay — each with its own target, stop, and allocation. Also: spacebar pauses the replay, double-clicking the chart resets the view, and double-clicking the price axis resets the vertical scale.

Here's the thing about the original HappyCharts tournaments: you had to make one decision. Buy, sell, or skip. At candle 101. Then you watched the next 100 candles play out and either celebrated or cringed. That's fine for training your directional thesis, but it's not what actually happens when you trade.

In real trading, you open a position. Then five candles later you think "hmm, this is going up faster than I expected, let me scale in." Then ten candles after that, you think "okay I'll take half off the table and let the rest run." Then a bit later, price retraces and you open a second, smaller position on the bounce. You're not making one decision. You're making many, reacting to what you see.

So we built real-time mode.

What Real-Time Mode Actually Is

When you create a tournament and pick the Real-time Tournament card on /tournament-select, everything changes about how you play:

There's no pre-trade decision phase. No "buy/sell/skip" screen. You land directly on the chart, and the candles start revealing themselves candle by candle just like the replay you know. But now there are two new buttons floating on the chart: LONG and SHORT.

Click LONG at any point during the replay, and a P&L tool materializes at the current candle's close price. You get:

  • A dashed entry line across the chart
  • A green zone from your entry up to the default target (+5%)
  • A red zone from your entry down to the default stop-loss (-2.5%)
  • 25% of your available capital allocated to that trade

Click it again? Another trade. And another. You can have as many open positions as you want running in parallel. Each one has its own entry, its own target, its own stop, its own leverage, and its own P&L.

Click SHORT? Same thing, flipped — target below, stop above.

The chart keeps playing. Your trades update live — the "Open P&L" label in the middle of each trade's zone updates with every new candle. Stop-losses trigger automatically when price crosses them. Liquidation (if you're leveraged) triggers automatically when margin runs out. The drawing greys out when a trade closes but stays on the chart so you can see what happened.

When the animation ends, any trades still open get closed at the final candle's close price, and the round result is the aggregate P&L across every trade you placed.

Tweaking Trades Mid-Round

Click on any open P&L tool and the edit menu opens. From there you can:

  • Bump allocation up — that's an "add" action. More capital goes into the position.
  • Bump allocation down — that's a "partial close." Some capital comes out and locks in whatever P&L was accrued on that portion.
  • Close the whole position — at the current candle's price, manually.

Dragging the target line up or down is visual only (helps you see what you're aiming at). The trade itself doesn't care — it still closes when the stop triggers or when you hit close.

Oh, and one small UX thing we caught early: the labels on the P&L tool (Target / Entry / Stop) used to sit right on top of the candles and block your view. Now they're hidden by default and only appear when you hover over the tool or when it's selected. The zones stay visible — you always see where your targets and stops are — but the text pills get out of your way.

Spacebar Pauses the Replay

While we were overhauling the tournament play screen, we noticed something mildly insulting: the only way to pause the replay was to move your mouse to the tiny pause button at the bottom and click it. Every. Single. Time.

Now you just hit spacebar.

Press it once, the replay pauses. A big play/pause icon flashes in the center of the chart for about a second and a half (matching the opacity of the loading screen letters, because details), then fades out. Press it again, it resumes. Same icon flash. Same fade.

Under the hood, we also built a proper hotkey registry — it's the foundation for every keyboard shortcut we're going to add from here on. Indicators, themes, tools, long/short placement, allocation bumps, leverage, stop-loss, playback speed — eventually all of it will be rebindable. For now, spacebar is the only one, but the system is ready for more.

Double-Click the Chart to Reset the View

If you've ever panned the replay chart — pressed and dragged to look at an earlier candle range — you probably noticed two annoying things:

  1. There was no obvious way to get back to "fit everything on screen" without manually scrolling the chart back.
  2. Every new candle would snap the view back to the default, undoing your pan. Which is the worst of both worlds: you can pan, but only briefly.

Both are fixed.

Now when you pan, the chart stays where you put it. New candles can arrive outside the visible range without jerking you around. The chart only follows new candles automatically when you're in the default "show all data" state.

And when you want to get back to that default state? Double-click anywhere on the chart. Boom, full view restored, auto-follow re-enabled, replay resumes following the action.

(Small technical aside: this was a nightmare to track down. D3.js's default double-click zoom behavior was eating the event before our handlers saw it. And there was a separate bug where every single mouseup was triggering a full chart redraw, which destroyed the candle DOM between clicks and prevented the browser from ever synthesizing a click event in the first place. Both fixed. Click latency is also noticeably better now as a side effect.)

Double-Click the Price Axis to Reset the Scale

One more. If you drag the y-axis up or down, the chart compresses or expands vertically — stretching the candles to use more screen space, or squishing them if you want more context above and below.

Then you go "wait, I messed it up, how do I undo this?" And before today, the answer was "refresh the page." That's cursed.

Now: double-click the y-axis and the vertical scale resets to the default compression. Leaves your horizontal pan alone — only the price scale resets. Which is usually what you want when you're fighting with the axis and just need to start over.

What's Next

Real-time mode is the first version. We'll watch how people actually play it, what breaks, what feels off, and iterate. If you've got feedback — what's missing, what's broken, what's weird — drop it on the feature voting page. We ship based on what actually gets used.

And those shortcuts? They're the start. The hotkey registry we built is ready to host every other action on the platform. Themes should be rebindable. So should leverage tiers, drawing tools, timeframe switching. We'll get there.

For now: go create a real-time tournament. Open a long. Open another long. Open a short just to feel something. Tweak the allocations as the candles reveal. Hit spacebar when you need to think. Double-click the chart when you've panned yourself into a corner.

It's finally actual trading.