Entries, limit orders and stop orders
How a listener enters a signal: at market or with a limit order at the signal's price, where a limit waits inside an entry range, what happens when the price is already better, buy stop and sell stop orders, straddles, how long a waiting order stays, and what happens when it expires.
Where these settings are
They are a listener's own settings, so each group can enter its own way.
- In the Desk: Connections → the profile's listener → "Its settings", under "Entry".
- In the app on Windows: Listeners → pick the listener; the "Entry" settings are in its page.
A setting shows only when it applies: "Where in an entry range", "If the limit order expires" and "If the price is already better" appear once "Entry mode" is Limit, and "Let both sides of a straddle trade" once "Stop orders" is on. Every setting is also explained at https://relay2trade.com/features/settings.
The same group of settings holds "Max entry deviation" (how far the price may have moved, see Position sizing and safety limits) and "If the price already passed a take-profit" (see Take-profits, trailing stop and runners).
"Entry mode"
- "Market" (the default) enters right away at the current price: the ask for a buy, the bid for a sell. When the signal gives a range, its middle is the entry the checks measure from.
- "Limit (at the entry or better)" places a waiting order at the entry price the signal states and lets the market come to it: a buy at the entry or lower, a sell at the entry or higher. It rests at your broker with its stop-loss and take-profit, and fills even if the app is closed at that moment.
A Limit listener still enters at market when the signal gives no entry price: there is nothing to rest the order on.
Examples:
- "BUY XAUUSD 2400" with the ask at 2403. Market buys now at about 2403. Limit places a buy limit at 2400 that fills only if the price falls to 2400.
- "SELL EURUSD now SL 1.1050 TP 1.0950", no entry price. Both modes sell at market at the current bid.
A message that calls itself BUY LIMIT or SELL LIMIT on a Market listener is read as an entry now, and the signal's story notes it. Set "Limit" here to wait for the price.
"Where in an entry range"
For a Limit listener and a signal that gives a range ("BUY GOLD 2400–2405"). A limit can wait at one price only, and this picks where:
- "The best price" (the default): the low edge for a buy, the high edge for a sell. The best fill, reached least often.
- "The middle".
- "The worst price, fills most often": the edge the price reaches first (the high edge for a buy, the low edge for a sell).
Example: "BUY GOLD 2400–2405" with the price at 2410. The best price waits at 2400, the middle at 2402.50, the worst at 2405. If the price dips to 2403 and turns back up, only the worst-price limit filled.
The stop-loss stays where the signal put it, so the distance to it depends on where the limit rests. With a stop at 2395, it is 5.00 from 2400 but 10.00 from 2405. With "Risk % of equity" or "Fixed cash", the lots follow that distance, for the same money at risk.
A signal with one entry price uses that price as it is. While the price is inside the range, "Max entry deviation" sees no distance at all; outside it, the distance is measured from the nearer edge.
"If the price is already better"
For a Limit listener. A buy limit waits below the price and a sell limit above it. When the signal arrives with the price already past its entry in your favour (a buy with the ask below the entry, a sell with the bid above it), no limit can rest there.
- "Enter at market, never worse than the entry" (the default): "Max entry deviation" is checked first, and a price too far away is skipped. Within it, a market order goes out that your broker may fill at no worse than the entry. The spread check applies.
- "Skip the signal": nothing is placed, and the signal is skipped with the reason that the price is already better than the limit.
Example: "BUY XAUUSD 2400" with the ask at 2395. Enter at market buys at about 2395, and a fill above 2400 is refused. Skip records the signal and places nothing.
When the entry and the price are less than a point apart, no slippage is allowed at all, and the broker may refuse the fill.
"Stop orders"
Off by default. Some groups post breakout orders: BUY STOP above the price, SELL STOP below it. With "Stop orders" on, such a signal is placed at your broker as a stop order at its level, with its stop-loss and take-profits. MetaTrader enters it when the price reaches the level, even if the app is closed then. It works with either entry mode.
- When the signal arrives with the price already at or past the level, the breakout has happened: it enters at market within "Max entry deviation", and further than that it is skipped.
- A buy or sell stop given as a range waits at the edge the price reaches first.
- Off, BUY STOP and SELL STOP are read like any other entry. The story then notes: "This listener has Stop orders off, so it was read as an entry now."
- "SELL … STOP LOSS 2420" is a stop-loss, not a stop order. Only an order called buy stop or sell stop counts.
Example: "BUY STOP US30 44100 SL 43950 TP 44400" with the ask at 44020. A buy stop waits at 44100 and enters when the price rises through it. If the price never gets there within 30 minutes (the default waiting time), the order is cancelled.
"Let both sides of a straddle trade"
Shown with "Stop orders" on. A straddle is a buy stop above the price and a sell stop below it in one message, so the trade follows whichever way the price breaks out.
- Off (the default): only the first side to enter trades. The moment it fills, or enters at market because the price was already past it, the app cancels the other side's stop at your broker, and a later order of the same message in the other direction is refused. The signal shows the cancelled side as "cancelled: the other side of the straddle filled".
- On: each side waits on its own, and both can fill. A price that swings through both levels then opens two opposite trades, each with its own stop-loss, and both count toward your limits.
Only the stops of one message on this listener are linked: two separate messages are two separate trades. The link holds after an app restart too.
Example: "BUY STOP US30 44100 / SELL STOP US30 43900" with the price at 44000. Off: the price rises to 44100, the buy enters and the sell stop is cancelled. On: the sell stop stays, and a later fall to 43900 opens the sell too.
"Cancel a limit or stop order not filled after"
A waiting limit or stop order that has not filled after this many minutes is cancelled. The default is 30.
- It counts from the moment the order was placed. The app checks about every 30 seconds, so the order goes within half a minute of its time.
- It applies with Limit entry, with "Stop orders", when a Market listener waits at the entry because the price already passed a take-profit ("Wait for the price to come back to the entry"), and when you force-place a signal "As a limit at" its entry.
- A signal waiting for your approval on a Manual listener is not an order yet: it waits 10 minutes, whatever is set here, and these minutes start once an order is placed.
- After an app restart, orders keep their original time and are checked with the listener's current setting.
Example: 30 minutes. A buy limit at 2400 is placed at 09:00 with the ask at 2405. By 09:30 the price has not come down, so it is cancelled at about 09:30.
The order rests at your broker, so while the app is closed nothing cancels it: it may fill after its time, and it is handled once the app runs again. A long waiting time also holds places in your open-position and lot limits for that long.
"If the limit order expires"
For a Limit listener: what happens when a limit reaches its time unfilled.
- "Cancel it" (the default): the order is cancelled and the trade shows as unfilled.
- "Enter at market if still close": after cancelling, the app checks the price against "Max entry deviation", measured from the limit price (or from the range when the signal gave one). Within it, a market order goes out with the same lots, stop-loss and take-profit. Further away, nothing is placed.
The market order must still pass every rule a new trade passes, as they are at that moment: the listener on and not on Watch, trading days and hours, the daily loss, open-position and lot limits, spread, margin and the profile's trading switch. The daily signal count is not checked again, because the signal counted when its limit was placed. If a rule refuses, the order stays cancelled and the signal's story names the rule. The market order keeps its lots and is sent with your "Max slippage (points)", or the listener's own.
Examples, with a deviation of 0.10% (2.40 on gold at 2400):
- A buy limit at 2400 expires with the ask at 2401.80: 1.80 away, within range, so it buys at market at about 2401.80.
- The same limit expires with the ask at 2406: 6.00 away. No market order; the limit stays cancelled.
With "Max entry deviation" at 0 (off, the default for a new listener), "still close" never trips: an expired limit goes to market wherever the price is. Set a deviation if "still close" should mean something.
A stop order is never sent to market when it expires, whatever this says: the price never reached it. Neither is a limit waiting for the price to come back to an entry it had passed, a limit of a listener switched off or set to Watch, or one that expires while the profile's trading is off.
Waiting orders and your limits
- A waiting limit or stop order counts toward your open-position and lot limits ("Max open positions", "Max total lots" and the others) from the moment it is placed, until it fills or is cancelled.
- The signal counts toward "Max traded signals per day" when its order is placed, even if it never fills.
- On a netting account, or when the signal is one trade, the exits of a limit are placed only once the limit fills or goes to market.
- The group's follow-ups act on waiting orders too: "cancel the pending order" removes it, and "move the stop" moves its stop-loss. See Stop-loss settings and the group's follow-up messages.
- Dry runs play limits, stop orders and straddles the same way, and show legs "never filled" or "cancelled: the other side entered first". See Listeners and modes.
Where you see waiting orders
- In the Desk: Positions, under "Waiting at the broker", with "Cancel" ("Cancel this order?").
- In the app: the Dashboard's "Open positions", under "Waiting orders", with the order kind ("limit" or "stop"), "Waits at" the price, and "cancelled in … min if not filled". "Cancel" asks "Cancel the waiting order …? It will not enter."
- In the signal's story: the legs "waiting at the broker" and, at the end, "expired before it filled", "removed before it filled" or "cancelled: the other side of the straddle filled". See The signal story.
An order you delete by hand in MetaTrader is marked cancelled.
Common setups
- A group that posts market calls ("BUY GOLD NOW"): "Market", with a "Max entry deviation" so a late signal is not chased.
- A group that posts exact entries and waits for them: "Limit (at the entry or better)", "The best price", 30 to 120 minutes, "Cancel it".
- A group that posts entries you do not want to miss: "Limit", "The worst price, fills most often", and "Enter at market if still close" with a deviation set.
- A breakout group: "Stop orders" on; "Let both sides of a straddle trade" off unless you want both directions.
If something goes wrong
- "The price … is already better than the limit …, and this listener's If the price is already better is set to skip." Choose "Enter at market, never worse than the entry" to take such signals.
- A BUY STOP traded at once, at market. "Stop orders" is off, so it was read as an entry now; or the price was already past the level when the signal arrived. Turn "Stop orders" on to wait at the broker.
- A limit never filled and nothing happened. The price did not reach it before "Cancel a limit or stop order not filled after". With "Enter at market if still close", the price was further than "Max entry deviation" at that moment, or a rule refused; the story names it.
- An expired limit went to market far from its price. "Max entry deviation" is 0, so "still close" never trips. Set a deviation.
- A waiting order filled after its time. The app was closed when it expired, so nothing cancelled it at the broker. It is handled once the app runs again.
- "the other side of this straddle already entered: only one side trades" Turn on "Let both sides of a straddle trade" if you want both sides.
- New signals are refused while orders wait. Waiting orders count toward your open-position and lot limits. Shorten the waiting time, or raise the limit.
- "If the limit order expires" is missing. It shows only with "Entry mode" set to Limit.
Related
Position sizing and safety limits, Take-profits, trailing stop and runners, How a signal is read, Why a signal was skipped, Listeners and modes, How settings work