Complete Suite Everything on the list, one payment
Renews never / Full source / 7-day refund before download
The Suite adds no Engulfing Volume features; it includes Pine Pro Library, so this desk's code comes with it.
It finds the candle that swallows the last one, grades its volume, and turns it into one frozen plan: entry, stop and a 2R target.
Window 1 · the first breakout fill
Simulated 4-hour gold candles, not a real market, run through Engulfing Volume Desk's own rules: the same code reproduces the script's TradingView trades on real gold, one for one. Quiet candles run as a time-lapse; the ones that matter slow down. Window 1: it starts at the first simulated setup whose breakout stop order fills, so every step shows; Another window: the chart plays on from where the last window stopped, whatever the setups do (after the twelfth, window 1 again). R is before costs.
| Time | Event | Prices |
|---|---|---|
| Thu Mar 12 · 14:00 | Earlier: Long · Low volume · Stop +0.0R | Entry 4,379.05 · stop 4,321.15 · target 4,494.85 |
| Mon Mar 16 · 18:00 | Earlier: Long · Medium volume · Stop −1.0R | Entry 4,343.30 · stop 4,313.73 · target 4,402.44 |
| Tue Mar 17 · 06:00 | Window opens | Close 4,317.55 · EMA 200 4,266.13 |
| Tue Mar 17 · 10:00 | Long · Medium volume (RVOL 1.3): the engulfing closes, a stop order at 4,352.69 | Entry 4,352.69 · stop 4,308.41 · target 4,441.25 |
| Tue Mar 17 · 14:00 | Filled | Fill 4,352.69 |
| Tue Mar 17 · 18:00 | Bullish engulfing skipped: a setup is open | Close 4,367.51 |
| Wed Mar 18 · 02:00 | Bullish engulfing skipped: a setup is open | Close 4,395.24 |
| Wed Mar 18 · 06:00 | Long closed · Target +2.0R | Exit 4,441.25 |
| Wed Mar 18 · 22:00 | Bearish engulfing skipped: against the trend | Close 4,372.67 |
| Thu Mar 19 · 02:00 | Long · Medium volume (RVOL 1.03): the engulfing closes, a stop order at 4,397.19 | Entry 4,397.19 · stop 4,366.65 · target 4,458.27 |
| Thu Mar 19 · 06:00 | Filled | Fill 4,397.19 |
| Thu Mar 19 · 10:00 | Bullish engulfing skipped: a setup is open | Close 4,404.32 |
| Thu Mar 19 · 14:00 | Bearish engulfing skipped: against the trend | Close 4,389.52 |
| Thu Mar 19 · 22:00 | Long closed · Stop −1.0R | Exit 4,366.65 |
| Fri Mar 20 · 06:00 | Bearish engulfing skipped: against the trend | Close 4,349.12 |
A Pine v6 strategy, its full source in Pine Pro Library. It draws the plan; your Strategy Tester measures it.
At every close the desk reads four checks, and an engulfing becomes a plan only when all four hold.
All four checks hold: a long plan at 4,397.19, frozen.
The same simulated 4-hour gold. This film is from the replay's first setup on, the first simulated window where the desk skips an engulfing against the trend and then takes one with it. Dashed lines mark the last candle's body.
Red, then green for a long; green, then red for a short. A doji never counts.
The new body reaches both ends of the last one.
Strictly bigger: an equal body is not an engulfing.
Longs above a rising EMA 200, shorts below a falling one, on closed candles.
Drag the close and the volume: the checks make the plan, and the volume only names it Low, Medium or High.
A fixed simulated example, the same candles each time. The verdict is the script's own checks, run on what you set.
Less volume than the average of the last twenty candles.
Up to half as much again as that average.
At least half as much again as the average.
In our gold test it described the candle; it did not tell good setups from bad.
The plan is frozen at the close, and the bracket ends it at the target or the stop; an order that never fills is cancelled.
Target +2.0R: the bracket closed it at 4,441.25.
Four setups from the same simulated gold: from the replay's first setup on, the first simulated setup to end at its target, the first at its stop, the first whose stop was touched before the entry, and the first that expired. R runs from the fill to the exit, before costs.
A stop order one tick beyond the last candle; the next open when the close is already through.
One tick beyond the lower low of the two candles (the higher high for a short).
Twice the planned risk from the planned entry, frozen with it.
Cancelled after five candles, or as soon as a close shows the stop was touched first.
One file, the complete v0.6.1 strategy, ready for TradingView's Pine Editor.
On a phone? Send this page to your desktop.
//@version=6// …// Measured on OANDA:XAUUSD 4H with these defaults: 2025-02..2026-09 made money after costs; the untouched// 2023-03..2024-12 test lost. That is a research result, not a forecast. Read the lab notes before trading it.// Volume tiers are a rubric, not calibrated win probabilities.// Decisions occur at close; orders are live from the next tick. No signal-bar fills.// Cost defaults are an assumed XAUUSD research scenario, not a broker quote.// Standard preserves the C2 baseline. Adaptive ER is a research hypothesis, not a proven edge.strategy("Engulfing Volume Desk · v0.6.1", overlay = true, initial_capital = 10000, currency = currency.USD, pyramiding = 2, close_entries_rule = "ANY", commission_type = strategy.commission.cash_per_contract, commission_value = 0.30, slippage = 100, backtest_fill_limits_assumption = 1, margin_long = 100, margin_short = 100, calc_on_every_tick = false, calc_on_order_fills = false, process_orders_on_close = false, max_labels_count = 100) string mode = input.string("Aggressive", "Entry mode", options = ["Aggressive", "Retest", "Both"], group = "Setup")string pattern = input.string("Body", "Engulfing definition", options = ["Body", "Body + full range"], group = "Setup")string directions = input.string("Both", "Direction", options = ["Both", "Long", "Short"], group = "Setup")int volumeLength = input.int(20, "Prior volume bars", minval = 2, maxval = 500, group = "Volume")float mediumAt = input.float(1.0, "Medium from RVOL", minval = 0.01, step = 0.1, group = "Volume")float highAt = input.float(1.5, "High from RVOL", minval = 0.02, step = 0.1, group = "Volume")string minimumTier = input.string("Low", "Minimum confirmation", options = ["Low", "Medium", "High"], group = "Volume", tooltip = "Volume strength only. No measured win probability. Missing or zero volume blocks setups.")bool useTrend = input.bool(true, "EMA trend filter", group = "Context", tooltip = "Long: close above EMA 200 and EMA higher than 5 bars ago. Short mirrors it. Uses confirmed chart bars only.")string exposurePolicy = input.string("Standard", "Exposure policy", options = ["Standard", "Fixed half", "Adaptive ER"], group = "Context", tooltip = "Research comparison: Standard = 1x; Fixed half = 0.5x; Adaptive ER = 0.5x when 20-bar price-path efficiency is below 0.30, otherwise 1x. Scales risk and notional caps, frozen at setup admission. Does not resize open trades.")bool useWindow = input.bool(false, "Use research date window", group = "Research")int startTime = input.time(timestamp("06 Jul 2026 00:00 +0000"), "Start (inclusive signal close)", group = "Research")int endTime = input.time(timestamp("01 Sep 2026 00:00 +0000"), "End (exclusive signal close)", group = "Research", tooltip = "At the first close at/after End, pending entries are cancelled and positions receive a next-tick market close. Terminal settlement can be after End.")int breakTicks = input.int(1, "Breakout buffer (ticks)", minval = 1, group = "Orders")
No coding needed.
In Pine Pro Library: read it, change it, keep it.
It draws the plan and sends its orders to the Strategy Tester.
Any symbol with real volume; we measured gold's 4-hour chart.
Retest entry, both legs and a cost screen are inputs, off by default.
The page, the films and the manual are open to everyone. The strategy's code is in Pine Pro Library: $49 once for every desk and every update, or as part of the Complete Suite. Sign in to copy or download.
Not reliably. On gold's 4-hour chart, after costs and overnight financing, it finished 2025–26 ahead and lost on 2023–24, the history we had held back. Both runs are in the lab notes.
Not in our test. The grade describes the engulfing candle; it did not tell good setups from bad ones. It is printed on every order, so you can sort your own record.
No. Every check reads a closed candle, the order is live from the next tick, and the plan is frozen once it is made.
No Engulfing Volume features. It holds the other things we make, for one payment, and it includes Pine Pro Library, so this desk's code comes with it.
We, ProEA Lab, build Engulfing Volume Desk. The films run its rules on simulated candles, not market data; R is before costs. Not financial advice.
Complete Suite · $97 · one payment
The Suite adds no Engulfing Volume features; it includes Pine Pro Library, so this desk's code comes with it.
Every rule, setting and panel row, one topic at a time.
Two candles of opposite colour, where the second one's body reaches both ends of the first one's body and is strictly bigger. The desk reads it only once the candle has closed, and only with the trend: longs above a rising EMA 200, shorts below a falling one. Grow the body and watch the checks.
The plan is made at the engulfing's close and never moves: a stop order one tick past the last candle's high (its low for a short), a stop one tick beyond both candles, and a target twice the planned risk away. If the close is already past that high, the order is a market order at the next open, measured from the close.

Download the strategy (.pine)Licence
Engulfing: at the close, the previous candle and this one have opposite, non-doji bodies; this body covers both ends of the previous body, inclusive, and is strictly larger. “Body + full range” also needs the high and low to cover the previous candle's.
Trend: a long needs the close above the EMA 200 and the EMA above its value five candles ago; a short mirrors it. Every check needs at least 205 loaded candles.
Plan: the entry one tick past the previous candle's high (a long), or a market order at the next open when the close is already through; the stop one tick beyond the lower low of both candles; the target twice the planned risk, rounded to the tick. Entry, stop, target, grade and size freeze when the setup is accepted.
One setup at a time: while a setup is owned, new engulfings are skipped; there are no reversals.
RVOL is this candle's volume divided by the average of the twenty before it. Below 1.0 is Low, 1.0 to 1.5 Medium, 1.5 and above High. Missing or zero volume blocks the setup. The thresholds and a minimum grade are inputs; the default accepts every grade.
At the close of the fifth candle after the signal, if it has not filled, or as soon as a close shows the stop was touched before the entry. An open position keeps its stop and target until one of them closes it.
Entry mode (breakout, retest, both) · engulfing definition · direction · prior volume bars and the Medium and High thresholds · minimum grade · the EMA trend filter · target in R · risk per setup · pending lifetime · breakout and stop buffers in ticks.
The research groups (decision policy, execution plan, exposure policy, research date window) default to off or legacy: they are the experiments behind the lab notes, there for you to measure on your own chart.
On gold's 4-hour chart, after commission, slippage and overnight financing, the default rule finished 2025–26 ahead; on 2023–24, the history we had held back and ran once, it lost, before financing too. The volume grade described the candle; it did not tell good setups from bad ones. Every number and how we measured it is in the lab notes, linked above.
Every decision reads closed candles. Changing the symbol, timeframe, feed or inputs recalculates the history. Your broker's fills, costs and financing can differ from TradingView's report. It is research tooling, not financial advice.
What shipped and what changed in Engulfing Volume Desk, newest first. Ask for the next change below; what gets built lands here with a date, and on the lab queue on the front page.
Engulfing Volume Desk v0.6.1 Shipped
Engulfing candles graded by relative volume, each turned into one frozen breakout plan.
A small friction or a big idea. Tell us what would make this tool work better for you.
Requests for a new tool go on the same queue: see what is asked for and what is being built.