State, Level, Reaction, Exit: Compare the First and Second Opportunity

Video: How To Start Trading To Make $150/Day (Full Tutorial)
Creator: Day Trading Addict
Original Video: Watch the original video
Difficulty: Intermediate

The Big Idea

A practical trade idea needs more than a direction. The source organizes its process into market state, a relevant level, an entry reaction, and an exit plan. Its most useful comparison is between acting on the first response and waiting for another opportunity-while accepting that either choice can miss or lose.

An Average Is Not a Daily Obligation

Although the title mentions $150 per day, the creator explicitly says that trading does not deliver the same amount every session. An average can combine large gains, small gains, no activity, and losses. Turning an average into a daily quota can encourage a decision that does not fit the method.

Five unequal sessions can share one average

These are invented net session results for arithmetic, not a forecast or a reconstruction of the creator’s account.

StepObservation or calculationInterpretation
Five sessions+$250, −$150, $0, +$450, +$200Total +$750 across five observations.
Average$750 / 5 = $150The average describes the completed sample.
Next sessionUnknownThe average does not prescribe the next result.
Evidence limitFive hypothetical observationsThis is not enough to estimate a real method’s reliability.

The source shows or describes profitable months and discusses futures accounts. The supplied text does not independently verify those account records, execution costs, or complete trade history. This guide does not recommend a broker or funding provider and does not translate the reported results into an earnings expectation.

The Four Decisions Form a Sequence

DecisionQuestionWhat to record
StateWhat is price doing now?Trend, range, breakout, or reversal hypothesis.
LevelWhere will the hypothesis be evaluated?A swing reference or explicitly defined area.
ReactionWhat completed response is required?First or later response and its trigger.
ExitWhere is the idea wrong, and what reward is available?Invalidation, objective, risk distance, and execution assumptions.

The creator treats upward and downward trends as one broad trending state, alongside ranging, breakout, and reversal states. These are useful descriptions rather than perfectly exclusive categories. A breakout can begin a new trend, while a reversal hypothesis can fail and become continuation.

Write the state before entering. If price breaks a selected support and begins moving down, the earlier bullish label may need revision. That revision should respond to a predefined structural event, not simply to a losing trade or a desire to reverse direction.

A Level Is a Place to Ask a Question

The source uses swing highs, swing lows, and supply or demand areas, primarily on a five-minute chart. A former swing high may become a pullback reference after a break above it; a former support can become relevant from below after a breakdown. Neither role is guaranteed by the label.

The transcript’s directional examples include a downtrend short, a reversal near a prior support area, and breakout-pullback continuations. The useful common feature is location plus a reaction. Buying every former high or selling every supply rectangle would omit the state and entry decisions.

Because the source’s level selection is discretionary, a coded study needs extra definitions. The companion indicator uses confirmed pivots and an EMA direction proxy for a breakout-and-retest subset. It does not claim to recognize every range, reversal, or supply/demand area discussed in the lesson.

First Reaction and Second Reaction Are Different Samples

The first response may provide an earlier entry but can fail. Waiting for another response can add information, yet the second opportunity may never arrive. The source includes both first-attempt stop-outs and moves that continue without offering a second entry.

Do not compare only the occasions when a second response worked. Count initial opportunities that never returned, reactions that failed to confirm, and proposals that could not fill. Otherwise the later-entry approach is credited with avoiding losses without being charged for the opportunities it missed.

A second response must also be distinct from several consecutive candles touching the same area. Our code requires an entire completed bar away from the contact zone before another approach can be counted. That is an original separation rule, not a numerical instruction supplied by the creator.

Reaction, Trigger, and Fill Are Separate Events

The source often describes acting when price breaks the response candle’s extreme. A historical OHLC candle cannot always establish the exact sequence of every intrabar touch. The research proxy waits for a later completed close beyond the recorded reaction extreme, accepting a possible delay.

A clearer reaction can still produce a worse executable ratio

These fictional long-side prices omit costs and do not reproduce a source trade.

StepObservation or calculationInterpretation
ReferenceBroken level 100; response candle high 100.40 and low 99.80The reaction is recorded only after it completes.
Hypothetical fillEntry 100.50; stop 99.70; objective 102.10Risk 0.80; reward 1.60: 2R.
Later fillEntry 100.90 with the same stop and objectiveRisk 1.20; reward 1.20: 1R.
Revised true 2R target100.90 + 2 × 1.20 = 103.30A different objective, which needs its own justification.

The transcript contains some inconsistent verbal stop-side descriptions. For an ordinary directional plan, verify the intended failure point rather than copying a garbled phrase. The worked example uses a stop below the long idea and an objective above it as our explicit teaching assumptions.

Two R Means Twice the Initial Risk, Not Twice the Account

The source favors a two-to-one reward-to-risk structure, sometimes using one-to-one when space is limited. That refers to the potential reward relative to the defined initial loss distance. It does not mean doubling the account, guaranteeing the target, or knowing the win rate.

For a hypothetical method with half its trades winning 2R and half losing 1R, the arithmetic expectancy is 0.5 × 2 − 0.5 × 1 = +0.5R before costs. With equal 1R wins and losses, it is zero before costs. These assumptions illustrate the formula; they are not estimates for the source’s method.

A reentry after a loss also creates new risk. It is appropriate to study only if the idea remains valid under written rules and the combined session exposure stays within its limit. Recovering the previous loss is not evidence that the next entry qualifies.

Make the Session Part of the Definition

The creator generally observes the morning from 9:30 toward noon Eastern, often finishing earlier, and discusses slower evening alternatives. Different activity levels can change spread, movement, and opportunity frequency. The same visual setup should not be assumed to behave identically in both periods.

The code defaults to 09:30–12:00 America/New_York. Its clock is independent of the chart display clock. If studying another session, record the change and compare it as a separate condition rather than combining all examples under one earnings claim.

Pine Script Indicator

View Pine Script Indicator Code
//@version=6
// Guide: https://candlechasers.com/state-level-first-second-reaction/
// Original breakout/retest proxy only. No income forecast, orders or simulated fills.
indicator("CC First and Second Reaction Map", overlay=true)
strength = input.int(2, "Pivot confirmation bars", minval=1)
emaLength = input.int(50, "EMA direction proxy", minval=2)
nearATR = input.float(0.25, "Level contact half-width / prior ATR", minval=0.01)
life = input.int(60, "Broken-level lifetime in chart bars", minval=2)
triggerLife = input.int(3, "Reaction trigger valid for later bars", minval=1)
zone = input.string("America/New_York", "Session timezone")
tradeSession = input.session("0930-1200", "Observation session")
valid = chart.is_standard and timeframe.isminutes and timeframe.multiplier <= 15
inSession = not na(time(timeframe.period, tradeSession, zone))
e = ta.ema(close, emaLength)
a = ta.atr(14)
ph = ta.pivothigh(high, strength, strength)
pl = ta.pivotlow(low, strength, strength)
var float knownH = na
var float knownL = na
var int direction = 0
var int born = na
var float level = na
var float tol = na
var int reactions = 0
var bool ready = false
var bool pending = false
var int reactionBar = na
var float reactionHigh = na
var float reactionLow = na
bool first = false
bool second = false
bool reactionSeen = false
if valid and barstate.isconfirmed
    if not na(ph)
        knownH := ph
    if not na(pl)
        knownL := pl
    bool occupied = direction != 0
    if occupied
        bool invalid = direction == 1 ? close < level - 4 * tol : close > level + 4 * tol
        if bar_index - born > life or invalid or not inSession
            direction := 0
            pending := false
        else
            if pending and bar_index > reactionBar
                bool failed = direction == 1 ? close < reactionLow : close > reactionHigh
                bool confirmed = direction == 1 ? close > reactionHigh : close < reactionLow
                if failed or bar_index - reactionBar > triggerLife
                    pending := false
                else if confirmed
                    first := reactions == 1
                    second := reactions == 2
                    pending := false
            // Require an entire later bar away from the zone before another approach.
            bool away = direction == 1 ? low > level + tol : high < level - tol
            if not pending and away
                ready := true
            bool touch = low <= level + tol and high >= level - tol
            bool response = direction == 1 ? close > level and close > open : close < level and close < open
            if bar_index > born and ready and not pending and reactions < 2 and touch and response
                reactions += 1
                reactionBar := bar_index
                reactionHigh := high
                reactionLow := low
                pending := true
                ready := false
                reactionSeen := true
    bool upBreak = close > knownH and close[1] <= knownH and close > e
    bool downBreak = close < knownL and close[1] >= knownL and close < e
    if not occupied and direction == 0 and inSession and (upBreak or downBreak)
        direction := upBreak ? 1 : -1
        level := upBreak ? knownH : knownL
        tol := a[1] * nearATR
        born := bar_index
        reactions := 0
        ready := true
        pending := false
plot(e, "EMA direction proxy", color=color.orange, linewidth=2)
plot(knownH, "Latest confirmed pivot high", color=color.new(color.gray, 75), style=plot.style_stepline)
plot(knownL, "Latest confirmed pivot low", color=color.new(color.gray, 75), style=plot.style_stepline)
plot(direction != 0 ? level : na, "Frozen broken level", color=color.blue, linewidth=2, style=plot.style_linebr)
plot(pending ? (direction == 1 ? reactionHigh : reactionLow) : na, "Pending reaction extreme: completed-close trigger", color=color.fuchsia, style=plot.style_linebr)
plotshape(reactionSeen, "Completed reaction recorded (not trigger)", shape.circle, location.abovebar, color.gray, size=size.tiny)
plotshape(first, "Later close confirms reaction ONE", shape.diamond, location.abovebar, color.aqua, text="1", size=size.small)
plotshape(second, "Later close confirms reaction TWO", shape.diamond, location.abovebar, color.orange, text="2", size=size.small)
alertcondition(first, "First reaction confirmation", "CC: later close confirms first recorded reaction. Inspect direction, risk and actual execution.")
alertcondition(second, "Second reaction confirmation", "CC: later close confirms second recorded reaction. This does not verify a first-trade loss or profitability.")
var table status = table.new(position.top_right, 1, 2, bgcolor=color.new(color.black, 10))
if barstate.islast
    string message = not valid ? "Use standard 1-15 minute candles (source: 5m)" : direction == 0 ? "Waiting for session + EMA-aligned pivot breakout" : pending ? "Reaction recorded; waiting for later close beyond its extreme" : reactions >= 2 ? "Two reactions recorded; no more until a new setup" : "Watching frozen level for separated response"
    table.cell(status, 0, 0, message, text_color=color.white, text_size=size.small)
    table.cell(status, 0, 1, tradeSession + " | " + zone + " | 1 and 2 label order, NOT long/short", text_color=color.white, text_size=size.small)

What This Indicator Shows

The indicator plots an EMA and the latest confirmed pivot references. An EMA-aligned break freezes one level and a 0.25-prior-ATR contact tolerance. Completed bullish or bearish responses near that level receive gray dots; later closes beyond their recorded extreme receive diamonds labeled 1 or 2. The numbers show response order, not long/short direction or trade outcomes. Use a standard one- to fifteen-minute chart; five minutes matches the source’s main view.

Only one broken-level setup is active. New candidates are ignored until it expires after sixty bars, a close moves more than four frozen tolerances to the wrong side, or the chart leaves the observation session. Each pending reaction has three later bars to confirm and is canceled by a close beyond its opposite extreme. A failed or expired trigger still counts as a recorded reaction. A whole bar away from the zone is required before counting another response; at most two are recorded. Replacement waits for a later bar.

What This Indicator Does Not Show

It does not classify all four source states, reproduce discretionary supply/demand, verify actual stop-outs, size contracts, forecast income, or simulate execution. The EMA, pivots, ATR tolerance, separation rule, expiry, and close-based confirmation are ours. The second diamond is not a claim that the first trade lost or that the second is safer. Both references and the panel remain useful when no event qualifies.

Setup and Validation

Paste the complete code into TradingView’s Pine Editor, save it, and add it to a standard candlestick chart with sufficient history. Begin with the chart interval described above, inspect the visible references and status panel, then use replay to check marker timing. For alert conditions, use Once Per Bar Close and recreate alerts after code or input changes. No alert submits an order.

Validation status: Reviewed statically for source fidelity, explicit proxy definitions, completed-bar timing, future-data use, persistent state, replacement, expiry, and visible output. This code has not been compiled or chart-tested in TradingView here. No profitability or live-execution validation is claimed. Report any compiler or runtime message exactly; static checks do not replace compilation and chart verification.

Research and Review Lab

These are original proposed experiments, not results established by the source. Change one main feature at a time, preserve missing opportunities and failures, and evaluate any revised definition on a later period rather than repeatedly selecting rules from the same outcomes.

Does waiting for response two improve the whole opportunity?

For each frozen breakout level, compare a predefined first-response proposal with a second-response proposal. Keep the session, cost assumptions, exit convention, and evaluation dates fixed. Record no-second-response cases, unconfirmed reactions, and actual entry distances as well as outcomes per triggered proposal.

How much does close confirmation change entry?

Compare an explicitly submitted stop-entry proposal beyond the reaction extreme with the later-close rule. Use lower-timeframe or actual execution records where needed; do not infer a guaranteed intrabar fill from the final candle. Measure missed fills, price deterioration, and ambiguous cases.

Does the observation session matter?

Compare the same written model in a fixed morning and evening window. Keep the symbol and risk convention constant, record spread and movement, and evaluate on a later period. A difference in trade count alone does not establish a better method.

Check Your Understanding

Does a $150 average require $150 tomorrow? No. It describes a sample, not the next session.

Can waiting for a second response miss the move? Yes. A later opportunity may never appear.

Does 2R mean doubling the account? No. It means twice the defined initial risk.

Are labels 1 and 2 verified trade results? No. They identify the order of coded reactions.

What makes a reentry a new valid decision? The idea must still meet written rules and fit the remaining risk budget.

Final Takeaway

Use state, level, reaction, and exit to make each decision reviewable. The first-versus-second response question is a trade-off between information, price, and missed opportunity. Test that trade-off across the full sample instead of treating a daily income figure as a requirement.

Risk Disclosure

This material is educational and is not personalized financial, investment, or trading advice. Trading can cause substantial losses. Source-reported results and hypothetical examples do not establish future performance. Calculations depend on their assumptions and omit costs unless stated. Spread, commissions, slippage, gaps, leverage, liquidity, financing, contract terms, and changing conditions can materially affect outcomes. Indicators do not simulate broker execution or establish profitability. Evaluate any approach with appropriate data, realistic costs, and risk limits before considering live use.

This is an independent educational companion and is not affiliated with, sponsored by, endorsed by, or authorized by the source creator, channel, or TradingView.

As an Amazon Associate I earn from qualifying purchases.