Current Price Node

The Current Price node is the live price of the instrument you trade, updated on every trade, while nearly everything else in a strategy updates once per bar. What that means for your rules, and when to read a completed bar instead.

NodeBy AlgoLiftUpdated 4 min read
On this page 8How it worksLive price and completed barsWhere it's read at the closeExample: buy the break of the 20-bar highSettingsUse something else whenWhen it doesn't behaveGoing further

Almost every value in a strategy changes once per bar. An EMA, an RSI, the 20-bar high: each is worked out when a bar closes and then holds still until the next close. Current Price is the exception. On the series you trade, it's the price of the latest trade, and it moves with every trade inside the bar. That one difference decides whether a rule acts the moment price gets somewhere, or waits for a bar to close there.

Takes
Nothing. It reads its series
Gives
The live price on the primary series, a completed bar's close on any other
Reach for it
Price itself is part of the rule: above a level, through a line, near a stop

How it works

Live price and completed bars

While a bar is forming, every bar value the engine reads belongs to the last completed bar. Indicators, a Price History, a Bar close crossover's event, the bars of a second series: they update at the close and hold still in between. (VWAP, built from trades rather than bars, is the notable exception.) Current Price on the primary series doesn't wait for anything.

So "Current Price above the 20-bar high" is checked on every trade. It turns true on the first trade above the level, in the middle of the bar, and an Entry wired to it fires right there, even if the bar later closes back below. A rule made only of bar values is decided once per bar and acted on at the first trade after the close.

Neither is better. A breakout trader often wants the first: in at the level, no waiting. A trader who wants confirmation wants the second, and gets it by reading a completed bar instead of the live price.

Where it's read at the close

A few nodes read it at the close instead. A Crossover on the Bar close clock reads its inputs at each close, so there Current Price is the crossing bar's close. And Since and Capture, which judge everything at bar closes, refuse the live price outright. When you want a completed bar's close anywhere else, use a one-bar Price History.

Example: buy the break of the 20-bar high

You trade NQ 5m and want in the moment price clears the high of the last 20 bars, not at the next close.

Search the palette for N-bar high, a Price History preset reading the highest high of the last 20 completed bars. Add a Current Price and a Crossover. Wire Current Price into A and the 20-bar high into B, set Direction to Above and Clock to Intrabar, and wire the Crossover into the Entry. It fires on the first trade above the level, and the level holds still for the whole bar because it's built from completed bars.

A Comparison, Current Price Greater Than the 20-bar high, would catch the same first trade. But a Comparison is a state: it stays true on every trade while price is above the level, so after a quick stop-out it's still true, and the entry can fire again at once unless the Entry's Cooldown says to wait.

Settings

Field
Default Close
Close, Open, High or Low. The node only shows its series, so a field other than Close comes from a copilot build or an imported strategy. Only Close on the primary series is live; for a completed bar's open, high or low, a one-bar Price History is the clearer choice.
Series
Default Primary series
Which of the strategy's series it reads. The primary series gives the live price; any other gives that series' last completed close.

Use something else when

The last completed bar's close, high or low
A one-bar Price History reads it, and says on the node exactly which bar.
The moment price breaks through a line
One event on the first trade through, instead of a state that stays true.
How far price is from a line
In points, ticks, percent or ATRs, and it works on the live price.

When it doesn't behave

My entry fired, but the bar closed back below the level

That's the live price doing its job: one trade above the level was enough. If you meant "closed above", read the completed bar instead, with a one-bar Price History of the close in the Comparison or a Crossover on Bar close. Against a high of recent bars, set that window's Skip to 1 so the bar isn't measured against its own high (the next symptom explains why).

“Crosses above the 20-bar high” never fires on Bar close

On Bar close the crossover reads each bar's close against a 20-bar high that includes that same bar, and no close can beat the high of its own bar. The builder flags this and offers to end the window one bar earlier (Skip 1). Or switch the crossover to Intrabar, as in the example.

My Cooldown re-arms the moment price ticks back

The Entry's Re-arm when is read on every trade, so with the live price in it, one print back inside the level re-arms it. If you meant "after a bar closes back below", compare a one-bar Price History of the close instead.

The builder won't let me use it in a Since or Capture

They judge their inputs at bar closes, where the live price has no single value. The completed bar's close is a one-bar Price History with its field set to close.

Going further

A rule on the live price acts at the exact trade where it turned true, which makes its results lean harder on your slippage and latency settings than a once-a-bar rule's. A breakout that buys the first print through a level is buying when plenty of other people are too. Check those settings before you trust the backtest.

Or ask the copilot