A price outside a channel can keep trending or return toward its center. This baseline waits for the return before considering a trade against the excursion. The simple sequence is: mark the envelope first, observe an outside close, then require the very next candle to close back inside.
The rules below are an author-defined research model, not a ready-made recommendation or a claimed profitable system. They use a Keltner-style EMA/ATR envelope with frozen references. A conventional indicator that keeps updating its lines is a different calculation at the decision point. Numbers are illustrative settings to test, not optimized parameters.
1. Understand the trade idea before the calculations
The intended trade is toward the old center after a limited excursion fails to remain outside. It does not buy an upper-band breakout or sell a lower-band breakout. A shallow recent EMA change is a screening rule, not proof that the market is ranging or will revert.
This differs from the existing Bollinger squeeze breakout and Donchian breakout strategy. The envelope is based on ATR rather than close-price standard deviation or prior price extremes, and the planned direction opposes the excursion. These differences do not establish an edge.
2. Freeze the envelope before the excursion candle
Use valid, consecutive EURUSD H1 Bid candles and a recorded broker server clock. At E's opening, take only already completed data: M is EMA(20) of closes and A is SMA(14) of True Range. The exact EMA seed is given in the optional calculation section. Require A > 0 and enough history for all comparisons.
Set U = M + 2 × A and L = M − 2 × A. Require abs(M − EMA_three_bars_earlier) ≤ 0.25 × A and the preceding close within [M − A, M + A], including endpoints. Freeze these values through E, C and any trade; do not add E to the reference window.
Here one pip is 0.00010 and a five-decimal broker point is 0.00001. Record the exact symbol, timeframe, smoothing, history and timestamps. The ATR guide explains units and averaging; the volatility comparison guide explains why bands are not interchangeable forecasts.
3. Require a limited closed excursion E
For a SELL candidate, require U < E_close ≤ U + 0.5 × A and E_high ≤ U + A. For BUY, require L − 0.5 × A ≤ E_close < L and E_low ≥ L − A. E's positive high-to-low range must be no more than 3 × A. A close exactly on U or L fails.
At E's close, fix reference stop S at E_high + 0.25 × A for SELL or E_low − 0.25 × A for BUY. Fix the reference target T at M. The excursion limits reject an extended move; they do not measure a probability of reversal.
4. Give only the next completed candle C a chance
SELL requires a bearish C with M + A < C_close < U. BUY requires a bullish C with L < C_close < M − A. Strict boundaries apply. A wick inside, a flat candle, equality or a later return cannot confirm this candidate.
Cancel SELL if C_high ≥ S or C_low ≤ M; cancel BUY if C_low ≤ S or C_high ≥ M. These are Bid-candle candidate vetoes before entry, not simulated fills. In particular, they do not reconstruct historical Ask prices for SELL.
In plain language, the return must happen promptly and leave room to the center. If C has already visited the target or the reference stop, the opportunity is discarded. Once C closes, either assess its first fresh tradable quote or end the candidate; do not wait for a more attractive one.
5. Fix executable exits and the time limit
BUY opens at Ask, with fixed Bid stop S and Bid target M. SELL opens at Bid; translate the reference Bid exits using a preset 2-pip allowance: SL_Ask = S + 2 pips and TP_Ask = M + 2 pips. Keep those Ask prices fixed. The allowance is not a forecast of future spread or a substitute for actual Ask data.
Place the valid protective stop and target with the initial order under the broker's supported process. If that protection cannot be established, do not open under this plan. No widening, trailing, partial exit, averaging down or immediate reversal is part of this baseline.
If still open after 6 completed H1 candles starting with the entry candle, exit at the next executable quote: Bid for BUY, Ask for SELL. Stop/target fills that occurred earlier take priority. Allow only one candidate or position per symbol. After rejection or exit, require one full completed H1 candle without a candidate before arming another E.
6. Check the first quote and the cost-adjusted room
Require fresh Bid < Ask and a spread no greater than both 2 pips and 0.2 × A. Bid must remain in C's confirmation zone and satisfy abs(Bid − C_close) ≤ 0.25 × A. The final stop, entry and target must be correctly ordered on their executable sides and valid on the broker's tick grid.
Before testing, specify the money budget, verified pip value per lot V, total additional adverse execution allowance s, round-turn commission c and financing reserve f. For each proposed quote, let dSL and dTP be entry-to-stop and entry-to-target distances in pips on the correct quote sides. Spread already inside those distances is counted once.
Compute Loss1 = (dSL + s) × V + c + f and Reward1 = (dTP − s) × V − c − f. Require positive loss and reward, then Reward1 / Loss1 ≥ 1.50 using unrounded values. Each outcome includes the full assumed costs; adding them to both possible outcomes is not charging twice within one trade.
Choose an allowed volume no greater than Budget / Loss1, round down on the actual volume grid and check the money estimate again. Skip if the minimum lot exceeds the budget, margin is insufficient or broker restrictions fail. The ATR stop and position-sizing guide explains this process. A failed quote gate ends the candidate.
7. Walk through the invented SELL example
Assume frozen M = 1.10000, A = 0.00100 or 10 pips, U = 1.10200 and L = 1.09800. The earlier EMA is 1.09992, so the three-bar change is 0.8 pip, below the 2.5-pip ceiling. The preceding close 1.10076 is inside the inner zone. The optional section supplies the preparatory candles.
| Candle | Bid open | Bid high | Bid low | Bid close |
|---|---|---|---|---|
E | 1.10076 | 1.10240 | 1.10060 | 1.10220 |
C | 1.10220 | 1.10230 | 1.10160 | 1.10190 |
E closes 2 pips above U, within its 5-pip allowance, and its high is only 4 pips above U. Its range is 18 pips, below the 30-pip ceiling. Thus S = 1.10240 + 0.00025 = 1.10265. C is bearish, closes in the permitted zone and touches neither S nor M. Its close confirms a candidate, not an executed trade.
The assumed first quote is Bid 1.10196 / Ask 1.10216. Spread is 2 pips, and Bid differs from C's close by 0.6 pip. Fixed SELL exits are SL_Ask = 1.10285 and TP_Ask = 1.10020. Assume valid price ticks, sufficient margin and no calendar exclusion. No subsequent price path or outcome is invented.
8. Price the example before choosing the lot
The example uses a USD account and an assumed 100,000-EUR lot, with V = $10 per pip per lot, s = 1 pip, c = $7 per lot for opening and closing together, and f = $0. Costs are linear with no minimum ticket fee. A different contract, currency or fee schedule needs a new estimate.
| Planned quantity | Calculation | Result |
|---|---|---|
| Stop distance | (1.10285 − 1.10196) / 0.00010 | 8.9 pips |
| Target distance | (1.10196 − 1.10020) / 0.00010 | 17.6 pips |
| Estimated loss per lot | (8.9 + 1) × $10 + $7 | $106 |
| Potential net reward per lot | (17.6 − 1) × $10 − $7 | $159 |
| Eligibility ratio | $159 / $106 | 1.50 — passes at equality |
With an illustrative $100 budget on $10,000 equity, $100 / $106 = 0.943396… lots. An assumed 0.01 minimum and 0.01 step give 0.94 lots and estimated loss 0.94 × $106 = $99.64. These amounts are not a risk recommendation. The $159 is a conditional planning figure, not a realized gain or expected return.
If the first quote were instead Bid 1.10195 / Ask 1.10215, loss per lot would be $107 and potential net reward $158. Their ratio is below 1.50, so reject, even though a rounded display could look close. Do not wait for the better quote from the main example. The cost guide covers assumptions and double counting.
9. Optional: reproduce the frozen indicator inputs
Show the seed, warm-up candles and exact formulas
Use 24 consecutive preparatory H1 candles. The close before the first is 1.09992. The first 23 share the first row's OHLC; candle 24 is the second row. Every preparatory TR is 10 pips. Seed EMA(20) at candle 20 with the arithmetic mean of its first 20 closes, then use EMA_t = (2 / 21) × Close_t + (19 / 21) × EMA_prev.
| Preparatory candles | Bid open | Bid high | Bid low | Bid close |
|---|---|---|---|---|
| 1–23 | 1.09992 | 1.10042 | 1.09942 | 1.09992 |
| 24 | 1.09992 | 1.10082 | 1.09982 | 1.10076 |
Candle 24 gives M = (2 × 1.10076 + 19 × 1.09992) / 21 = 1.10000. EMA three candles earlier is 1.09992. Define TR = max(H, Cprev) − min(L, Cprev) and A = sum(latest 14 completed TR) / 14 = 0.00100. That window excludes E and C. This is explicitly SMA ATR, not a claim about every platform's ATR smoothing.
Store the reference candle identities before E starts. In MT4 the method, source, chart-line shift and buffer shift are separate inputs. A live-updating channel that includes E changes M and A and can change whether E is outside. Reproduce the declared seed and data first; no live MT4 output is claimed here.
10. Keep cancellation and calendar rules explicit
Reject incomplete history, invalid OHLC, missing hours, weekend gaps or unready indicators. A zero A cannot define this setup. Discard overlapping signals while a candidate or position is active. A failed outside close or C cannot be repaired by moving the old bands, changing the multiplier or selecting a later candle.
Do not enter if a scheduled high-impact event for either currency, broker rollover or market closure falls within the planned 6-candle holding window. Specify the calendar, impact classification and server-time conversion before testing; missing calendar coverage means this filter is unverified. Unexpected events remain possible.
Keep total account exposure under a separate limit, including other EAs and manual positions. A stop does not guarantee its fill price; worse execution, conversion or fees can exceed the estimate. The risk-management guide explains account limits. Never replace a rejected protected order with an unprotected one.
11. Test chronology and execution before results
Replay one completed bar at a time, freeze references before E, and retain every rejection with its reason. Evaluate the first fresh tradable post-C quote once. After any fill, reconcile the actual entry, accepted protection and exposure under the recorded remaining-cost model. If protection is missing or the budget is breached, block new entries and request closure at the next executable quote. Reconcile the ticket before any retry; do not assume a close request was filled.
Use Bid and Ask tick data for executable exits, the time limit and spread changes. If an OHLC bar can touch both exits, its intrabar order is unknown; use finer data or flag it unresolved and apply a stated conservative convention. Do not assign the target first or manufacture Ask by adding a constant spread to every historical Bid tick.
Preserve all tried variants, separate development from later evaluation and then forward-test. Compare failures, costs, drawdown and correlated exposure, not only successful re-entries. The MT4 backtesting guide covers the wider process. Neither this synthetic example nor a distinct rule set demonstrates profitability.
12. Questions about Keltner re-entry rules
Is every close outside a Keltner Channel a reversal signal?
No. Price can continue outside an envelope during a trend. This baseline requires its prior-data context, a limited excursion, the next closed return and all quote/risk gates. Even a valid setup can lose.
Why freeze the bands instead of reading their latest values?
The trade is defined against an envelope known before E. Including E changes the question and can change the classification. Both approaches can be studied, but their rules and results must not be mixed.
Can a later candle replace a failed C?
No. Only the immediately following candle may confirm this candidate. A fresh setup needs new references and must respect the one-candle cooldown and one-candidate rule.
Why are SELL stop and target stated as Ask prices?
A SELL opens at Bid and closes through Ask. The fixed allowance translates the reference exits for this model; it does not prove the future spread or replace real Ask data for validation.
Does the potential net reward mean the trade will earn that amount?
No. It is the amount implied by a target fill under the stated prices and costs. It is neither a probability-weighted expected return nor a realized result. The time exit, stop or worse execution can produce different outcomes.
Can I use any platform's default Keltner settings?
Not as a reproduction of this baseline. Match the EMA seed and source, explicit SMA ATR, periods, frozen observation time, quote sides and all entry/exit filters. Parameters are research choices, not universal recommendations.
13. Technical reference and scope
TradingView's official Keltner Channel reference describes the moving-average and range-envelope construction. The freezing, context, re-entry, execution and risk rules here are our explicitly specified research variant, not platform defaults or a source-endorsed profitable strategy.
Forex and leveraged trading involve substantial risk. This strategy is educational, not investment advice. Past or simulated results do not guarantee future performance.