Video: The Manipulation Candle Strategy I’ll Use Forever.
Creator: Momentum.
Original Video: Watch the original video
Difficulty: Advanced
The Big Idea
Momentum.’s trade review centers on a sharp move beneath a watched area followed by buying that brings price back up. Instead of buying every breakout, the presenter waits for a downside excursion and recovery, protects the position beneath the event, and looks for continuation.
The same review includes a less comfortable lesson: later attempts failed, substantial morning profit was surrendered, and the presenter stopped trading. The entry pattern and the decision to stop belong together. A useful setup does not justify unlimited retries or unlimited exposure.
This guide separates the observable candle behavior from the presenter’s explanation of “manipulation,” then builds a research test for the reclaim and the daily profit-giveback rule.
Describe the Event Before Naming Its Cause
The observable sequence is a decline into or beneath a prior price area, followed by recovery. In one example the presenter watches a sharp pullback near the nine-period EMA and VWAP, sees buying emerge, and uses the candle low as the risk reference.
Calling this a liquidity sweep or a manipulation candle is shorthand for an interpretation. A price chart alone does not identify who sold, who bought, how many stops were triggered, or whether anyone deliberately manipulated the market. Liquidation, news, ordinary order imbalance, and thin liquidity can produce similar shapes.
The testable idea is narrower: does a defined undercut and reclaim, in a defined context, produce favorable outcomes after costs? That question does not require proving the intentions of other participants.
The Setup Has Context
The presenter initially avoids a quiet stock because volume and price behavior are uninviting. Interest increases after consolidation, an attempted breakout, and stronger activity. Another candidate is treated cautiously because it often trades unevenly.
The broader context is therefore part of the selection: prior rejection areas, moving averages, VWAP, recent consolidation, and participation. An isolated lower wick is insufficient to reconstruct that selection.
| Observation | Useful interpretation | What it does not establish |
|---|---|---|
| Price undercuts a watched area | The earlier support assumption is being tested | That all sellers are trapped |
| Price recovers into or above the area | The initial downside move did not persist | That a larger rally must follow |
| Activity increases | More transactions are occurring | That institutions are accumulating |
| Price remains below falling averages | Recovery may face nearby resistance | That every long is invalid |
Record the level before the undercut happens. Drawing a conveniently placed zone around a successful reversal afterward makes the pattern look more precise than it was at the decision time.
Enter on the Recovery, Define the Failure
The source describes buying when the decline begins to be bought back up. It does not provide an exact tick-by-tick confirmation rule. A discretionary early recovery entry differs from waiting for a completed bullish candle to reclaim a preselected level.
Our illustrative version requires three conditions: the candle trades below an earlier low, closes back above that low, and closes above its own open. Protection is placed below the sweep candle’s low. A continued drop through that low contradicts the specific recovery being traded.
The presenter reports an entry near $5.85 with a $5.78 risk reference and a subsequent move toward $6.30. The price distance is $0.07, while the favorable excursion is $0.45, approximately 6.43 times that distance. This is an excursion calculation, not a verified 6.43R realized return; exact fills, partial sales, costs, and full position records are not supplied.
In a separate reported example, $6.15 versus a $5.95 risk reference implies $0.20 per share. At a hypothetical $100 price-risk budget, the first distance permits approximately 1,428 whole shares and the second 500, before costs and liquidity limits. The larger first quantity could be difficult to execute in a thin stock. Narrow chart risk does not automatically mean low practical risk.
Exits Respond to Failure and Continuation
The source describes selling when an upside breakout immediately rejects, taking some profit near a previous high, and trailing one-minute candle lows on a continuing move. These are distinct exit choices.
An upside wick can show rejection, but the final wick was not known before that candle finished. Likewise, a trailing stop based on a completed candle low can only be raised after that low is available. It cannot retroactively protect the earlier part of the same candle.
Moving protection to the entry price after a favorable breakout reduces planned price loss. It does not guarantee an overall breakeven result after commissions, spreads, gaps, and stop slippage. The presenter also shows later recovery attempts that failed beneath nearby averages: a buying tail does not ensure that the next resistance will break.
Protect the Day as Well as the Trade
The presenter reports surrendering about half the day’s profit after two later losses and shutting down under a 50% profit-giveback rule. The transcript’s description of the activation threshold is unclear, so it cannot be reproduced exactly from the text.
A transparent rule needs a defined profit measure and activation point. Consider our original example: activate only after session net profit reaches $400, then stop new entries if net profit falls to half its running peak.
| Session state | Running peak | 50% floor | Rule status |
|---|---|---|---|
| Profit reaches $250 | $250 | Not active | Activation not reached |
| Profit reaches $400 | $400 | $200 | Protection activated |
| Profit reaches $600 | $600 | $300 | Floor rises |
| Profit falls to $290 | $600 | $300 | Stop trading under this rule |
Define whether the calculation includes open profit, realized profit, and costs. An open-equity version can react earlier but is more sensitive to temporary fluctuations. A realized-only version can permit larger intratrade giveback.
The rule also cannot ensure that exactly half remains. A gap or a fast loss can cross the threshold before an exit fills. Before entering again, compare the next planned loss with the remaining distance to the floor. The next normal stop could consume that distance even when the daily rule has not yet triggered.
Pine Script: Sweep-and-Reclaim Research Test
Expand the complete Pine Script research strategy
//@version=6
strategy("Sweep reclaim + daily giveback - research proxy", overlay=true,
initial_capital=25000, pyramiding=0, margin_long=100,
commission_type=strategy.commission.percent, commission_value=0.01,
slippage=2, calc_on_every_tick=false, calc_on_order_fills=false,
process_orders_on_close=false)
lookback = input.int(10, "Prior low lookback", minval=2)
wickFraction = input.float(0.40, "Minimum lower wick / range", minval=0, maxval=1)
volMultiplier = input.float(1.5, "Volume / previous 20-bar average", minval=0)
useVolume = input.bool(true, "Require volume filter")
useTrend = input.bool(true, "Require close above 9 EMA and VWAP")
cashRisk = input.float(100, "Estimated cash risk before costs", minval=1)
maxShares = input.int(2000, "Maximum shares", minval=1)
stopTicks = input.int(1, "Stop buffer in ticks", minval=1)
useGiveback = input.bool(true, "Enable daily profit-giveback stop")
activation = input.float(300, "Activate at daily net profit ($)", minval=1)
giveback = input.float(50, "Allowed giveback from peak (%)", minval=1, maxval=99) / 100
maxTrades = input.int(3, "Maximum submitted entries per day", minval=1)
startMinute = input.int(480, "NY entry start: minutes after midnight", minval=0, maxval=1439)
endMinute = input.int(630, "NY entry end: minutes after midnight", minval=1, maxval=1440)
flattenMinute = input.int(960, "NY flatten: minutes after midnight", minval=1, maxval=1440)
if barstate.isfirst and (not timeframe.isminutes or timeframe.multiplier != 1)
runtime.error("Use a standard one-minute US stock chart.")
if barstate.isfirst and endMinute <= startMinute
runtime.error("Entry end must be later than entry start.")
ema9 = ta.ema(close, 9)
ema20 = ta.ema(close, 20)
vwap = ta.vwap(hlc3)
priorLow = ta.lowest(low, lookback)[1]
priorVolume = ta.sma(volume, 20)[1]
candleRange = high - low
lowerWick = math.min(open, close) - low
sweep = low < priorLow and close > priorLow and close > open and
candleRange > 0 and lowerWick / candleRange >= wickFraction
volumeOK = not useVolume or (not na(priorVolume) and volume >= volMultiplier * priorVolume)
trendOK = not useTrend or (close > ema9 and close > vwap)
var int dayKey = na
var float dayStartNet = 0.0
var float peakProfit = 0.0
var bool dayLocked = false
var int entries = 0
var float activeStop = na
key = year(time, "America/New_York") * 10000 + month(time, "America/New_York") * 100 + dayofmonth(time, "America/New_York")
if na(dayKey) or key != dayKey
dayKey := key
dayStartNet := strategy.netprofit
peakProfit := 0.0
dayLocked := false
entries := 0
dailyProfit = strategy.netprofit - dayStartNet + strategy.openprofit
peakProfit := math.max(peakProfit, dailyProfit)
capHit = useGiveback and peakProfit >= activation and dailyProfit <= peakProfit * (1 - giveback)
if capHit
dayLocked := true
strategy.cancel_all()
strategy.close_all(comment="Profit-giveback lock", immediately=true)
minutesOpen = hour(time, "America/New_York") * 60 + minute(time, "America/New_York")
minutesClose = hour(time_close, "America/New_York") * 60 + minute(time_close, "America/New_York")
entryWindow = minutesOpen >= startMinute and minutesClose < endMinute
closedThisBar = strategy.closedtrades > nz(strategy.closedtrades[1])
if barstate.isconfirmed and not dayLocked and strategy.position_size == 0 and
not closedThisBar and entries < maxTrades and entryWindow and sweep and volumeOK and trendOK
candidateStop = low - stopTicks * syminfo.mintick
riskPerShare = (close - candidateStop) * syminfo.pointvalue
shares = riskPerShare > 0 ? math.floor(math.min(maxShares, cashRisk / riskPerShare)) : 0
if shares >= 1
activeStop := candidateStop
entries += 1
strategy.entry("L", strategy.long, qty=shares)
strategy.exit("L-stop", "L", stop=activeStop)
// Raise the stop only after a completed profitable-position candle.
// No partial exits or intrabar hindsight are used.
if strategy.position_size > 0 and not dayLocked
if close > strategy.position_avg_price
activeStop := math.max(activeStop, low - stopTicks * syminfo.mintick)
strategy.exit("L-stop", "L", stop=activeStop)
if minutesClose == flattenMinute
strategy.cancel_all()
strategy.close_all(comment="Session flatten", immediately=true)
plot(ema9, "9 EMA", color=color.blue)
plot(ema20, "20 EMA", color=color.orange)
plot(vwap, "VWAP", color=color.purple)
plot(priorLow, "Prior low reference", color=color.gray)
plot(strategy.position_size > 0 ? activeStop : na, "Active stop", color=color.red, style=plot.style_linebr)
bgcolor(dayLocked ? color.new(color.red, 88) : na)
The following long-only strategy uses a prior ten-bar low as a proxy for the watched area. A qualifying candle must undercut that low, reclaim it, close bullish, and have a lower wick covering at least 40% of its range. The default activity filter requires 1.5 times the prior 20-bar average volume; the default context filter requires a close above both the nine EMA and session VWAP.
These numerical definitions are ours. They do not reconstruct the source’s hand-selected zones, scanner, discretionary early entry, or exact watchlist. The strategy takes no partial profits and uses a completed-candle low trail instead of the source’s several exit methods.
Defaults allow entries from 8:00–10:30 New York time, up to three submitted entries per day, with estimated cash risk of $100. The giveback rule activates at $300, counts strategy net profit plus open profit, and locks trading when profit reaches or falls below half its running daily peak. That activation amount is an experimental choice.
Execution Assumptions and Limits
Use standard one-minute US stock candles. Enable extended-hours data to include the default premarket window; regular-session-only charts test a different sample. EMA, volume, and rolling-low calculations use whichever bars the chart includes. VWAP uses TradingView’s built-in session anchoring, which should be checked against the platform used in the source.
The signal is evaluated at candle close and the market entry normally fills at the next bar’s open. Quantity is estimated from the signal close, so actual gap and slippage risk can differ. A protective stop is submitted with the entry. While a position is profitable at a completed candle’s close, its stop may rise to that candle’s low minus the buffer; it never moves downward.
The script does not recalculate on fills or use higher-timeframe requests. It cannot use an unfinished candle’s eventual low to move protection earlier. A candle that closes a trade is barred from submitting another entry on that same bar.
Profit-giveback monitoring happens at bar close, not at every intrabar equity peak. Its exit and the configured session flatten use immediate simulated closing fills, an optimistic assumption requiring cost stress. The default flatten is 16:00; set 780 minutes after midnight for a 13:00 early close. Holidays and early closes are not detected automatically.
Commission defaults to 0.01% per fill and slippage to two ticks, adjustable in Strategy Properties. The model does not reproduce spreads, displayed depth, partial fills, halt reopening prices, or every broker’s extended-hours order restrictions. The SEC’s extended-hours bulletin explains why routing, liquidity, and order handling deserve particular attention. A simulated premarket market order or stop may not be available through your broker.
The code has been reviewed for its stated logic but has not been compiled or backtested in TradingView. No win rate or profit result is claimed. A single-chart daily cap also cannot represent a real day’s combined profit from several stocks; that needs a portfolio ledger.
Backtest Lab
| Comparison | Change one assumption | Evaluate |
|---|---|---|
| Participation | Toggle the volume filter | Net expectancy and trade count |
| Recovery context | Toggle the EMA/VWAP filter | Adverse excursion and failed recoveries |
| Session | Compare premarket and regular-session windows | Cost sensitivity and fill plausibility |
| Giveback protection | Toggle the daily lock | Profit retained and later profits forgone |
Keep the same symbols and dates, include losing candidates, and reserve unseen data for validation. For a daily lock, single-symbol results are only a preliminary experiment; combine time-aligned trades to evaluate a portfolio-level rule. A lower giveback percentage can retain more existing profit while preventing later recovery. Measure both effects.
Final Takeaway
The useful pattern is an observable undercut and recovery at a preselected area. Its quality depends on context and execution, while its name does not prove manipulation. Pair a defined entry and stop with a defined session-level loss policy, then test whether both improve outcomes across more than the selected winners in a trade review.
Risk Disclosure: This material is for educational and research purposes only and is not financial or investment advice. Trading can result in substantial losses. Backtests are hypothetical, depend heavily on their assumptions, and cannot reproduce every aspect of live execution. Commissions, spreads, slippage, liquidity, gaps, trading halts, order behavior, market regime changes, and discretionary decision-making can materially affect real-world results. Stops and profit-giveback rules do not guarantee an exit price or retained profit. Historical results do not guarantee future performance.
This article is an independent educational companion to the video and is not affiliated with, sponsored by, endorsed by, or authorized by Momentum.