NOONOO TRADINGStart in the bot

Candle-Close Confirmation: Why Signals Disappear on an Unfinished Candle

You entered on a golden cross, but 30 minutes later the same chart shows no cross. The indicator is not broken and the chart has not been manipulated. You made the decision using a candle that had not finished. Its close is not a final number; it is simply the current price.

An unfinished candle is not yet final

A candle contains four prices: open, high, low and close. Three of them remain unsettled while the candle is forming.

How a 15-minute candle forms

14:45: candle begins; open is fixed.
14:45–15:00: price moves up and down.
· High: can still be updated.
· Low: can still be updated.
· Close: current price, changing every second.
15:00: candle closes; all four values become final.

─────────────
The close you see at 14:52 is
the current price, not the final closing price.

Most indicators use the close.
→ If the close moves, the indicator moves too.

This is where the problem begins. Moving averages, RSI and MACD generally use closing prices as inputs. If that input moves throughout the 15-minute period, the indicator also changes throughout it. A signal appearing and disappearing is normal behavior, not a bug.

The numbers show why a signal reverses

Consider a five-candle moving average and the simple rule, “Buy when price is above the moving average.”

A five-candle moving average including the current candle

Closes of completed candles:
98 · 99 · 100 · 101 · 102
→ Previous confirmed MA5 = 500 ÷ 5 = 100.0

Current MA5, including the unfinished candle:
99 + 100 + 101 + 102 + current candle's close
= (402 + X) ÷ 5

─────────────
X = 103 → MA5 = 101.0
Price 103 > MA 101.0 → signal ON

X = 97 → MA5 = 99.8
Price 97 < MA 99.8 → signal OFF

As X moves within the same 15 minutes,
the signal can reverse repeatedly.

While price moves between 103 and 97, the average itself moves between 101.0 and 99.8. The reference line also moves, allowing repeated crossings. This explains the signal you clearly saw that later vanished. Indicator repainting covers the separate issue of calculations redrawing historical values. Here, the indicator is functioning normally but its input is unfinished.

Following every flicker costs fees

Consider the cost of manually following each reversal.

Six reversals inside one candle
BTC $80,000; quantity 0.1; notional $8,000.
Round-trip fee 0.10%.

Within one 15-minute candle:
Signal ON → enter.
Signal OFF → exit.
Repeat for 3 cycles.

One round trip = 8,000 × 0.001 = $8
Three round trips = $24

─────────────
Only one final decision remains after the candle closes.
→ The $24 was wasted in this illustration.

Four such periods a day → $96.
20 days a month → $1,920.

Slippage can increase the actual cost further. See round-trip trading costs for calculating both sides and order latency for the extra cost between submission and execution. When both apply, $24 is an optimistic estimate.

Waiting has a cost too

Waiting for confirmation is not free. Price can move before the candle closes.

The other side of waiting

Four-hour candle; condition first met two hours before the close.
Price then: $80,000.
Final closing price: $80,240.

Difference = 240 ÷ 80,000 = 0.30%
Quantity 0.1 → 240 × 0.1 = $24

─────────────
Following flickering signals: $24 in three round-trip fees.
Waiting for the close: $24 in a worse entry price.

Both have a cost.
The distinction is confirmation.

Flickering can produce repeated costs for one eventual decision, while waiting creates one entry-price cost for that decision. The latter entry at least uses a confirmed value. Being drawn into false breakouts is also directly related to fakeouts.

The equal dollar amounts above were deliberately chosen for illustration. Which cost is greater depends on the instrument, timeframe and volatility, so measure it in your own trading records.

Longer timeframes mean longer waits

In the worst case, waiting for the close means waiting the candle's entire duration.

Maximum waiting time by timeframe

1-minute candle → up to 1 minute
5-minute → up to 5 minutes
15-minute → up to 15 minutes
1-hour → up to 1 hour
4-hour → up to 4 hours
Daily → up to 24 hours

─────────────
A compromise:
· Read direction on the higher timeframe, such as four hours.
· Use a lower-timeframe close, such as 15 minutes, for execution.
→ Maximum waiting time falls from four hours to 15 minutes.

An unfinished higher-timeframe condition can serve as a reference.
Use a confirmed candle for the entry trigger.

This resembles multi-timeframe analysis: read the broader picture on slower candles and trigger on faster ones, using completed candles for that trigger. Waiting for a daily close can take an entire day, so this compromise is often practical.

Different closing times produce different candles

Even with a rule to enter after the daily close, the candle changes according to what time counts as the end of the day.

The same daily chart, different closing times

UTC-based day → ends at 09:00 KST.
KST-based day → ends at 00:00 KST.

Difference: 9 hours.

─────────────
For the same instrument on the same day:
· Closing prices differ.
· High and low ranges differ.
· Therefore, indicator values differ.

A signal on chart A may not appear on chart B.

Different settings in an exchange app and a charting site can create this mismatch. See chart timezone settings: UTC versus Korean time for details and checks. Fix one time convention before writing the rule.

Bots must exclude unfinished candles

This problem is quieter in automated trading. A person sees a disappearing signal; a bot simply submits an order.

Handling the last candle

When an exchange returns 100 candles,
the last array element is usually still forming.

Calculation rule:
· Calculate indicators from the 99 candles excluding the last one.
· Use the last candle only to inspect the current price.

Completion check:
Last candle timestamp + interval ≤ current time
→ Candle has closed.

Example: 15-minute candles.
Last candle 14:45; current time 14:52.
14:45 + 15 minutes = 15:00 > 14:52.
Still forming; do not use it as confirmed.

Missing this distinction can cause repeated entries and exits within the same candle. Logs say the strategy executed correctly while fees accumulate. Worse, a backtest may hide the problem: historical candles have already closed, so it always calculates with final closes while live trading uses unfinished values. See backtesting for more traps that separate backtest behavior from live execution.

Practical rules

The rules themselves are straightforward.

Application rules

· Make the decision using closed candles.
· Once confirmed, execute without delay.
The waiting period ends at the close, not afterward.
· Set alerts to evaluate conditions after the candle closes.
· Prepare quantity and price shortly before the close.
→ Confirmation leaves only the final submission.

─────────────
A timeframe reference:
Target movement 1.5%; waiting cost 0.30%.
→ 0.30 ÷ 1.50 = 20%.

In this framework, if waiting costs more than 20% of the target,
the timeframe is too large for the strategy.
→ Move the trigger to a lower timeframe.

Enabling a candle-close condition prevents alerts from following the flickering signal. See TradingView alert settings. A close-based alert can save time and reduce mistakes compared with continuously watching the signal.

Summary

1. An unfinished candle's close is its current price.
2. Most indicators use closing prices; changing closes produce changing indicators.
3. A signal appearing and disappearing can be normal behavior.
4. Moving-average reference lines also move, allowing repeated crossings.
5. Following each flicker can pay fees repeatedly inside one candle.
6. Waiting also costs money through a worse entry price.
7. The distinction is confirmation, not a fixed cost ranking: waiting costs once, flickering repeatedly.
8. Higher-timeframe direction with a lower-timeframe closing trigger is one compromise.
9. Different closing-time conventions produce different daily candles.
10. Bots should calculate after excluding an unfinished last candle.

Do not base a confirmed decision on an unfinished number. You only know whether the displayed signal survives when its candle closes. Before that, the judgment is a provisional estimate.

Note

Prices, moving averages, fee rates, PnL and waiting times are hypothetical illustrations, not measurements from a particular exchange or instrument. The better approach depends on the instrument, timeframe, volatility and fees; check your own trading records. Leveraged trading can lose all principal, and decisions and outcomes remain your responsibility.

NOONOO TRADING invites you to follow live trading in our free chat.

Start in the bot

📈 OKX trading fee discount for new registrations

Register for the OKX Fee Discount →