Everything upstream of an Entry is an opinion about the market. The Entry is where that opinion becomes a position: when the condition wired into it reads true, it opens a trade, long or short, and hands it to the nodes that manage it. It also decides how soon it may do that again, which matters more than most people expect.
- Takes
- One true-or-false condition, plus an optional quantity
- Gives
- A trade, passed to one or more Trade nodes
- Reach for it
- Every strategy needs at least one
How it works
Pick a direction, Long or Short, and wire a condition into Condition. On the first tick that condition reads true, the Entry sends a market order, filled with whatever latency and fill model the run uses. A condition with no value yet (an indicator still warming up) reads false, so nothing fires on a number that doesn't exist.
Condition takes exactly one wire. If your rule has three parts, combine them first with a Logic node or a Tally and wire that single output in. Dragging a second wire onto Condition replaces the first rather than adding to it.
Two things about timing catch people out. First, AlgoLift holds one position at a time. An Entry only fires while the strategy is flat, so a short signal that arrives while you're long is ignored. It doesn't reverse you. Second, the Entry has no memory of having fired. If its condition is still true when the trade closes, it fires again on the next tick. With a state like "RSI under 30", that can mean buying the same falling market three times in a row. That's the Cooldown's job, below.
Handing the trade on
The handle on the Entry's right edge carries the trade. Wire it into the Order input of a Trade node, which is where the exits live: you attach a Bracket Order to that node, or give it setters of its own. The builder won't run an Entry that doesn't reach at least one.
Wire the same output into two Trade nodes and the position splits into two legs, each with its own exits. That's how partial exits work: take half at a first target and let the rest run. The same output can also go into a Set Variable's condition, which then writes once each time the Entry fills.
Size
Leave Quantity unwired and the Entry trades the position size from the run's Account & Risk settings. Wire a number in, usually a Constant, and that's how many contracts (or shares) it opens instead. If the wired value is zero, or has no value yet, the Entry doesn't trade on that tick.
Market and limit
The order type menu offers Market and Limit, and Limit lights up a Price input and an Until input. The engine doesn't act on them yet: every entry fills at market, whichever you pick. Leave it on Market so the canvas says what actually runs.
The Cooldown
The Cooldown row reads as one sentence, like "6 bars after a losing exit". Click it to change it. It answers one question: once this Entry has traded, when may it fire again?
First choose the wait:
| Wait | The Entry may fire again |
|---|---|
| None (the default) | On its next signal |
| Time | After an amount of time, in seconds, minutes, hours or days, up to a week |
| Bars | After a number of bar closes, up to 500 |
| Until the next trading day | Once a new trading day begins |
| Until a condition | Once the condition wired into Re-arm when is true |
Then choose what starts it: Any exit (its trade closes, win or lose), A losing exit (its legs close below zero, net), or Its own entry, which spaces entries apart however they turn out. "Until the next trading day, after its own entry" is one trade a day.
Some details are worth knowing. A day in a Time wait is 24 hours, not a trading day. On ES and NQ the next trading day starts at the 18:00 reopen, so a futures strategy that's flat by 11:00 may trade again that evening unless the run's Daily Time Window keeps it to the day session. A Bars wait counts the closes of the primary series, or of a series you pick when the strategy has more than one.
With Until a condition, the row's input becomes Re-arm when. After the trade, the Entry stays locked until that condition reads true; one that's already true at the moment the wait starts has to be true again on a later tick. It's read on every tick, so "until price closes back under the level" should compare a completed bar's close (a one-bar Price History) with the level, not Current Price, which re-arms the moment price ticks back.
There's no other wait anywhere. General Settings used to have a Post-Trade Cooldown; it's retired, and Account & Risk has nothing in its place. Open an older strategy that used it and the builder moves it onto each Entry as a Time wait after any exit.
Example: stop buying the same dip twice
Say you trade ES 5m and go long when RSI(14) is under 30 while price is above the 200 EMA. Two Comparisons go into a Logic AND, the AND into a long Entry, and the Entry into a Trade node with a Bracket Order: a 12-point target and an 8-point stop.
Run it and you'll likely see losers in clusters. A trade stops out, RSI is still under 30, and the Entry buys again on the next tick. Open the Cooldown and set it to Bars, 6, after A losing exit. After a loser the Entry now sits out six bar closes, half an hour on 5-minute bars, before it may buy again. Winners don't start the wait, so a strong bounce can still be bought twice.
Settings
Use something else when
When it doesn't behave
It takes trades in bursts
The condition is a state that stays true, so the Entry fires again the moment each trade closes. Add a Cooldown (a few bars after a losing exit is a sensible start), or turn the condition into an event with a Crossover, which is only true on the bar the change happens.
It never takes a trade
Work backwards. Is the condition ever true? The Inspector's meters show how many bars each part lets through. Does it overlap the run's Daily Time Window? Is the Cooldown waiting on a Re-arm when that never turns true? Last, check the bracket: if it puts the stop or target at or through the fill price, the engine refuses the entry and tries again on the next tick, for as long as the levels stay there.
My short signal didn't close my long
It isn't meant to. An Entry only fires while the strategy is flat, so the opposite signal is ignored while a trade is open. If the long should get out when the short signal arrives, wire that signal into the long leg's Set Exit Condition too. The short can then enter once the long has closed.
Choosing Limit changed nothing
Every entry currently fills at market, so a limit price and its Until input aren't used. To buy a pullback to a level, make the pullback part of the condition instead: price at or under the level, through a Comparison.
Going further
Until a condition is the most expressive wait. A breakout strategy that buys new highs tends to buy the same breakout again after a stop. Set the Cooldown to Until a condition, after any exit, and wire "the last completed bar closed back under the breakout level" into Re-arm when. Each breakout now gets one try, and the next attempt needs price to reset first.
The Cooldown's amount can be swept, but it's one more number a backtest can tune to the past. A wait you can justify before seeing results (a few bars to let things settle after a stop) is worth more than whichever value a sweep liked best.