Here's something that probably bugged you about the old replay, even if you couldn't put your finger on it:
You'd watch a tournament play out. Candle 102 appears. Boom — fully formed, full body, full wicks, final close price baked in from the moment it shows up. Then 103. Boom. Same deal. By the time you're squinting at a candle, the move it represents has already happened. There's no forming. There's just a sequence of finished things.
That's not what trading looks like.
When you trade for real — even if you only ever look at a 4-hour chart — you're watching a candle build itself. Price ticks up. The wick stretches. Price drops back, the body changes color, the close creeps lower. Then it ticks up again. There's tension in that. There's information in it. You can feel a candle try to break a level and fail. You can watch a green candle slowly turn red over the last fifteen minutes before close and think uh oh. None of that came through in the replay. Everything was a fait accompli the second it appeared.
So we fixed it.
What Ticks Look Like in HappyCharts
When the replay reaches a new candle, it doesn't pop in anymore. It builds.
For a daily candle, you'll see two "mini candles" of activity painted inside it before it locks. The body grows. The high pushes up, the low drops down, the close drifts. The candle is forming, the same way it forms in real life — except compressed into the time the replay would normally have spent doing nothing. When the last mini-candle lands, the candle commits. The little sparkle you've always seen on a new candle? That's still there, but now it fires at the moment of commitment, not the moment of appearance. It marks "this candle is done" instead of "this candle exists."
We're calling those mini-candles ticks, and they're built from the timeframe one step below whatever you're watching:
- Daily chart → built from 4-hour ticks
- 4-hour chart → built from 1-hour ticks
- 1-hour chart → built from 15-minute ticks
So if you're playing a daily-timeframe tournament, every daily candle in the replay will form across two or six smaller pieces of activity — depending on whether you're trading something that runs 24/7 (crypto-style) or only during market hours (stock-style). It's not a simulation, by the way. Those ticks are real lower-timeframe data, the actual prices that happened inside that candle on that day in history. You're not watching a smoothed-out approximation. You're watching what really moved.
Why It Doesn't Show Up Everywhere (Yet)
There are two honest reasons the tick treatment isn't on every chart.
Reason one: timeframe. We only enabled it for the 1-hour, 4-hour, and daily timeframes. The shorter timeframes (5min, 15min, 30min) don't get formed-out ticks because we'd need 1-minute history going back far enough to support them, and the data we use for that doesn't go back far enough yet. We could have faked it — interpolated, sliced, made something up — but that would be lying to you, and the whole point of HappyCharts is that the candles you trade against are real. So if there's no real lower-timeframe data, we don't show pretend ticks. Honest > pretty.
Reason two: history depth. Even on the timeframes we did enable, the data behind the ticks doesn't go back forever. Our intraday history runs out somewhere around 2019-2020, depending on the symbol. If a tournament happens to use a snapshot from 2010, there are no 4-hour candles available to form a daily out of, and you'd just see the old "boom, fully formed" behavior anyway.
So we made the snapshot generator smarter. When it picks a date range for a tournament round on one of the tick-supported timeframes, it now restricts itself to dates we actually have ticks for. No more rolling the dice on a snapshot from 2008 and getting a tick-less daily replay. Every candle in a 1h/4h/daily tournament will form properly, with real ticks behind it.
If you've got existing tournaments from before this change — yeah, they'll still show the old instant candles. New ones will form.
Where You'll See Ticks
Three places, all using the same chart:
- Tournament replay — when you make a buy/sell/skip decision and watch the next 100 candles play out. Each new candle now forms.
- Real-time tournaments — same, but you're trading during the formation. Important: when you click LONG or SHORT mid-formation, the trade still snaps to the latest committed candle's close, not the half-built partial. You're trading against finished data, like you would in real life. The tick formation is a visual thing, not a price source for your trades.
- Trade replay — when you click on a past trade in your history to relive how it played out, those candles now form too. Same chart, same animation, same honesty.
Anywhere the tournament replay chart shows up, ticks will show up with it. We didn't want a world where some screens have ticks and others don't.
Pacing
We spent a stupid amount of time tuning the speed at which ticks appear. Too fast and your eye can't track them — they smear into the candle's final shape and you might as well not have ticks at all. Too slow and the replay drags. Right now each candle's formation takes about 1.5x the playback speed of a single old-style candle, which lands in a sweet spot where you can see the wick reach up, see the close hover, see the body pick a color. Speed it up to 5x or 10x and the ticks compress accordingly — they don't disappear, they just go faster.
What's Next
Two things on the radar:
Lower timeframes. When we get more 1-minute history into the system, we'll roll ticks down to 15-minute and 5-minute charts. Same rules apply: real data only, no faked smoothing.
More ticks per candle. Right now stock daily candles only have two ticks behind them (because stocks only trade for two-ish 4-hour windows during market hours each day). For crypto and other 24/7 markets, daily candles get the full six. We're looking at whether smaller intraday chunks (1-hour into daily, instead of 4-hour into daily) would give a more granular feel without breaking the realism.
That's it. Go play a real-time tournament on a daily chart, watch a candle build itself across a couple of seconds, and tell us if it feels different. Because to us it does. The replay finally has a pulse.