Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Asia, London & New York Session Highs/Lows//@version=6
indicator("Asia, London & New York Session Highs/Lows", shorttitle="Sess H/L", overlay=true, max_lines_count=500, max_labels_count=500, max_boxes_count=500)
// ============================================================================
// INPUTS
// ============================================================================
// --- Timezone ---------------------------------------------------------------
// All session windows are evaluated in THIS timezone, independent of the
// chart's visual timezone, so DST shifts are handled correctly via the
// IANA identifier passed to time().
tzChoice = input.string("America/New_York", "Timezone",
options= ,
group="Timezone", tooltip="Session times below are interpreted in this timezone.")
tzStr = tzChoice == "Exchange timezone (syminfo.timezone)" ? syminfo.timezone : tzChoice
// --- Session definitions ------------------------------------------------------
showAsia = input.bool(true, "Show Asia session", group="Sessions")
asiaSession = input.session("1900-0400", "Asia session time", group="Sessions")
showLondon = input.bool(true, "Show London session", group="Sessions")
londonSession = input.session("0300-1200", "London session time", group="Sessions")
showNY = input.bool(true, "Show New York session", group="Sessions")
nySession = input.session("0800-1700", "New York session time", group="Sessions")
// --- Display toggles ----------------------------------------------------------
showHighLines = input.bool(true, "Show high lines", group="Display")
showLowLines = input.bool(true, "Show low lines", group="Display")
showLabels = input.bool(true, "Show price labels", group="Display")
showBg = input.bool(true, "Show session background shading", group="Display")
extendRight = input.bool(true, "Extend completed levels right", group="Display")
showBoxes = input.bool(false, "Show session range boxes", group="Display")
// --- History & style ------------------------------------------------------------
historyCount = input.int(10, "Historical sessions to retain", minval=1, maxval=50, group="History & Style")
hiWidth = input.int(2, "High line width", minval=1, maxval=5, group="History & Style")
loWidth = input.int(2, "Low line width", minval=1, maxval=5, group="History & Style")
lblSizeStr = input.string("Small", "Label size", options= , group="History & Style")
lblSize = lblSizeStr == "Tiny" ? size.tiny : lblSizeStr == "Small" ? size.small : lblSizeStr == "Normal" ? size.normal : size.large
// --- Colors ----------------------------------------------------------------------
asiaColor = input.color(color.purple, "Asia color", group="Colors")
londonColor = input.color(color.blue, "London color", group="Colors")
nyColor = input.color(color.orange, "New York color", group="Colors")
// ============================================================================
// CORE SESSION ENGINE
// ----------------------------------------------------------------------------
// Called once per session from three separate call sites below. Each call
// site is a distinct location in the script, so the `var` state declared
// inside this function is maintained independently per session (Pine gives
// every call-site its own persistent copy of `var` variables declared in a
// user-defined function).
// ============================================================================
f_sessionHL(sessString, tzArg, sessColor, sessionName, doHi, doLo, doLbl, doBox, doExtend, maxHist, wHi, wLo, lSize) =>
var line hiLines = array.new()
var line loLines = array.new()
var label hiLabels = array.new()
var label loLabels = array.new()
var box boxes = array.new()
var float sessHigh = na
var float sessLow = na
var int sessHighBar = na
var int sessLowBar = na
var int sessStartBar = na
var float completedHigh = na
var float completedLow = na
// Session membership test in the chosen IANA timezone (handles DST and
// overnight wraparound, e.g. Asia 19:00-04:00, natively).
inSession = not na(time(timeframe.period, sessString, tzArg))
// na-safe "previous bar was in session" — handles bar_index 0 (chart
// history that starts mid-session) without producing an na boolean.
prevInSession = bar_index == 0 ? false : inSession
isNewSession = inSession and not prevInSession
isSessionEnd = not inSession and prevInSession
// ---- Session start: initialize extremes and create fresh drawings ------
if isNewSession
sessHigh := high
sessLow := low
sessHighBar := bar_index
sessLowBar := bar_index
sessStartBar := bar_index
if doHi
newHiLine = line.new(bar_index, high, bar_index, high, xloc.bar_index, extend.none, sessColor, line.style_solid, wHi)
array.push(hiLines, newHiLine)
if array.size(hiLines) > maxHist
line.delete(array.shift(hiLines))
if doLo
newLoLine = line.new(bar_index, low, bar_index, low, xloc.bar_index, extend.none, sessColor, line.style_dashed, wLo)
array.push(loLines, newLoLine)
if array.size(loLines) > maxHist
line.delete(array.shift(loLines))
if doLbl
newHiLabel = label.new(bar_index, high, sessionName + " H " + str.tostring(high, format.mintick), xloc.bar_index, yloc.price, color.new(color.black, 100), label.style_label_left, sessColor, lSize)
array.push(hiLabels, newHiLabel)
if array.size(hiLabels) > maxHist
label.delete(array.shift(hiLabels))
newLoLabel = label.new(bar_index, low, sessionName + " L " + str.tostring(low, format.mintick), xloc.bar_index, yloc.price, color.new(color.black, 100), label.style_label_left, sessColor, lSize)
array.push(loLabels, newLoLabel)
if array.size(loLabels) > maxHist
label.delete(array.shift(loLabels))
if doBox
newBox = box.new(bar_index, high, bar_index, low, sessColor, 1, line.style_solid, extend.none, xloc.bar_index, color.new(sessColor, 85))
array.push(boxes, newBox)
if array.size(boxes) > maxHist
box.delete(array.shift(boxes))
// ---- While in session: track extremes and update live drawings ---------
if inSession
if na(sessHigh) or high > sessHigh
sessHigh := high
sessHighBar := bar_index
if na(sessLow) or low < sessLow
sessLow := low
sessLowBar := bar_index
if doHi and array.size(hiLines) > 0
curHi = array.get(hiLines, array.size(hiLines) - 1)
line.set_xy1(curHi, sessHighBar, sessHigh)
line.set_xy2(curHi, bar_index, sessHigh)
if doLo and array.size(loLines) > 0
curLo = array.get(loLines, array.size(loLines) - 1)
line.set_xy1(curLo, sessLowBar, sessLow)
line.set_xy2(curLo, bar_index, sessLow)
if doLbl
if array.size(hiLabels) > 0
curHiLbl = array.get(hiLabels, array.size(hiLabels) - 1)
label.set_xy(curHiLbl, bar_index, sessHigh)
label.set_text(curHiLbl, sessionName + " H " + str.tostring(sessHigh, format.mintick))
if array.size(loLabels) > 0
curLoLbl = array.get(loLabels, array.size(loLabels) - 1)
label.set_xy(curLoLbl, bar_index, sessLow)
label.set_text(curLoLbl, sessionName + " L " + str.tostring(sessLow, format.mintick))
if doBox and array.size(boxes) > 0
curBox = array.get(boxes, array.size(boxes) - 1)
box.set_lefttop(curBox, sessStartBar, sessHigh)
box.set_rightbottom(curBox, bar_index, sessLow)
// ---- Session end: freeze levels for alerts, optionally extend lines ----
if isSessionEnd
completedHigh := sessHigh
completedLow := sessLow
if doExtend
if doHi and array.size(hiLines) > 0
line.set_extend(array.get(hiLines, array.size(hiLines) - 1), extend.right)
if doLo and array.size(loLines) > 0
line.set_extend(array.get(loLines, array.size(loLines) - 1), extend.right)
// ============================================================================
// RUN THE ENGINE FOR EACH SESSION (three independent, persistent call sites)
// ============================================================================
= f_sessionHL(asiaSession, tzStr, asiaColor, "Asia",
showAsia and showHighLines, showAsia and showLowLines, showAsia and showLabels, showAsia and showBoxes,
extendRight, historyCount, hiWidth, loWidth, lblSize)
= f_sessionHL(londonSession, tzStr, londonColor, "London",
showLondon and showHighLines, showLondon and showLowLines, showLondon and showLabels, showLondon and showBoxes,
extendRight, historyCount, hiWidth, loWidth, lblSize)
= f_sessionHL(nySession, tzStr, nyColor, "New York",
showNY and showHighLines, showNY and showLowLines, showNY and showLabels, showNY and showBoxes,
extendRight, historyCount, hiWidth, loWidth, lblSize)
// ============================================================================
// BACKGROUND SHADING (must be called unconditionally at top level)
// ============================================================================
bgcolor(showAsia and showBg and asiaIn ? color.new(asiaColor, 92) : na, title="Asia session background")
bgcolor(showLondon and showBg and londonIn ? color.new(londonColor, 92) : na, title="London session background")
bgcolor(showNY and showBg and nyIn ? color.new(nyColor, 92) : na, title="New York session background")
// ============================================================================
// TIMEFRAME WARNING (daily and higher timeframes are not reliable for
// intraday session detection)
// ============================================================================
var table warnTable = table.new(position.top_right, 1, 1)
if barstate.islast
if not timeframe.isintraday
table.cell(warnTable, 0, 0, "⚠ Session Highs/Lows is designed for intraday timeframes", text_color=color.white, bgcolor=color.new(color.red, 10), text_size=size.small)
else
table.cell(warnTable, 0, 0, "", bgcolor=color.new(color.white, 100))
// ============================================================================
// ALERTS — most recently completed session, confirmed-close crossings only
// ============================================================================
asiaCrossUp = barstate.isconfirmed and ta.crossover(close, asiaCompH)
asiaCrossDn = barstate.isconfirmed and ta.crossunder(close, asiaCompL)
londonCrossUp = barstate.isconfirmed and ta.crossover(close, londonCompH)
londonCrossDn = barstate.isconfirmed and ta.crossunder(close, londonCompL)
nyCrossUp = barstate.isconfirmed and ta.crossover(close, nyCompH)
nyCrossDn = barstate.isconfirmed and ta.crossunder(close, nyCompL)
alertcondition(asiaCrossUp, title="Asia High Cross Up", message="Price crossed above the most recently completed Asia session high")
alertcondition(asiaCrossDn, title="Asia Low Cross Down", message="Price crossed below the most recently completed Asia session low")
alertcondition(londonCrossUp, title="London High Cross Up", message="Price crossed above the most recently completed London session high")
alertcondition(londonCrossDn, title="London Low Cross Down", message="Price crossed below the most recently completed London session low")
alertcondition(nyCrossUp, title="New York High Cross Up", message="Price crossed above the most recently completed New York session high")
alertcondition(nyCrossDn, title="New York Low Cross Down", message="Price crossed below the most recently completed New York session low")
Indicator

Indicator

Indicator

Liquidity Sweep Engine Auto Targets [JPT]🔷 OVERVIEW
Liquidity Sweep Engine Auto Targets is an original Pine Script v5 indicator that detects liquidity sweep events using confirmed swing highs and swing lows. Once a valid sweep is identified, the indicator automatically builds a complete trade framework by plotting the Entry, Stop Loss, and multiple Take Profit levels directly on the chart.
The goal is to simplify market structure analysis and provide a clear visual trade plan without requiring manual calculations.
🔷 HOW IT WORKS
The indicator continuously monitors confirmed swing highs and swing lows to identify potential liquidity grabs.
Buy Setup
A bullish setup is generated when price sweeps below a previous swing low and closes back above the swept level (optional close confirmation).
After confirmation, the indicator automatically calculates:
• Entry Price
• Stop Loss
• TP1
• TP2
• TP3
Sell Setup
A bearish setup is generated when price sweeps above a previous swing high and closes back below the swept level.
The indicator then projects:
• Entry Price
• Stop Loss
• TP1
• TP2
• TP3
using user-defined Risk:Reward ratios.
🔷 VISUAL FEATURES
• Buy-side Liquidity Sweep labels
• Sell-side Liquidity Sweep labels
• Automatic Entry line
• Automatic Stop Loss line
• Three configurable Take Profit levels
• Historical trade setup visualization
• Risk-to-Reward projection
• Optional background highlighting
• Configurable line length
• Customizable colors
🔷 AUTO TARGET ENGINE
The built-in Auto Target Engine calculates trade objectives using the selected Risk:Reward values.
Supported target structure:
• TP1 = 1R (default)
• TP2 = 2R
• TP3 = 3R
Users may customize each target independently from the settings panel.
🔷 SIGNAL FILTERS
To reduce false signals, the indicator includes:
• Confirmed swing pivot detection
• Optional close confirmation
• Market structure-based liquidity detection
These filters are designed to help identify higher-quality liquidity sweep events.
🔷 INPUTS
Available settings include:
• Swing Length
• Close Confirmation
• Target Line Length
• TP1 Risk:Reward
• TP2 Risk:Reward
• TP3 Risk:Reward
• Label Visibility
• Line Colors
• Background Highlight
🔷 ALERTS
Built-in alerts are available for:
• Buy-side Liquidity Sweep
• Sell-side Liquidity Sweep
These alerts can be connected to PulseWire's notification system.
🔷 COMMON WORKFLOW
A typical workflow is:
1. Wait for a confirmed liquidity sweep.
2. Allow the signal candle to close (if Close Confirmation is enabled).
3. Review the automatically plotted Entry, Stop Loss, and Take Profit levels.
4. Combine the setup with your own market structure, trend analysis, or additional confirmation before making any trading decisions.
🔷 MARKETS
This indicator can be used on:
• XAUUSD & GOLD
• Forex
• Stocks
• Cryptocurrency
• Futures
• Indices
• Commodities
It is compatible with multiple timeframes and may be adapted to different trading styles.
🔷 BEST PRACTICES
Many traders choose to combine liquidity sweeps with:
• Market Structure
• Break of Structure (BOS)
• Change of Character (CHoCH)
• Fair Value Gaps (FVG)
• Order Blocks
• Higher Timeframe Trend
These concepts are optional and can provide additional context when evaluating a setup.
🔷 DISCLAIMER
This indicator is provided as a chart analysis tool for educational and informational purposes only. It identifies trade setups according to its programmed rules and does not predict future price movements or guarantee trading results. Users should always perform their own analysis, apply sound risk management, and consider additional market factors before making trading decisions. Indicator

Trader Forge Co-Pilot V6.0```pinescript
//══════════════════════════════════════════════════════════════
// T R A D E R F O R G E
//══════════════════════════════════════════════════════════════
//
// MULTI-TIMEFRAME PRECISION SYSTEM — V6
//
// STRUCTURE • TIMEFRAME • PRECISION
//
// Pressure creates strength. Discipline creates edge.
//
//══════════════════════════════════════════════════════════════
```
## WHAT IS TRADER FORGE V6?
Trader Forge V6 is a multi-timeframe decision-support system designed to help traders find structured, higher-quality trade setups.
The system does not rely on one indicator.
It combines market location, higher-timeframe direction, momentum, candle behavior, liquidity, market structure, and setup scoring.
```pinescript
SYSTEM_PROCESS =
LOCATION
→ HIGHER_TIMEFRAME_ALIGNMENT
→ SETUP_DETECTION
→ BREAK_OF_STRUCTURE
→ A_PLUS_CONFIRMATION
```
---
## CORE SYSTEM COMPONENTS
```pinescript
DONCHIAN_CHANNEL = "Identifies recent price extremes"
HIGHER_TIMEFRAMES = "1H, 4H and Daily directional bias"
MARKET_STRUCTURE = "Fast and major swing structure"
BREAK_OF_STRUCTURE = "Confirms directional control"
COMPRESSION = "Identifies stored market energy"
EXHAUSTION = "Identifies rejection at key levels"
LIQUIDITY_SWEEPS = "Tracks failed breaks of highs and lows"
STOCH_RSI = "Confirms momentum direction"
VWAP = "Measures session price positioning"
RELATIVE_VOLUME = "Measures market participation"
SETUP_SCORE = "Grades setup quality from 0 to 100"
ATR_TRADE_PLAN = "Calculates risk-based trade levels"
```
---
## HOW THE SYSTEM WORKS
### 1. LOCATION
Price must first reach a meaningful area.
Examples include:
- Upper Donchian zone
- Lower Donchian zone
- Support or resistance
- Previous swing high or low
- Higher-timeframe price extreme
- Liquidity level
```pinescript
validLocation =
lowerDonchianZone or
upperDonchianZone or
keySupport or
keyResistance
```
The system is designed to avoid low-quality entries in the middle of a range.
```pinescript
if priceInMiddle
action := "WAIT"
```
---
### 2. MULTI-TIMEFRAME ALIGNMENT
The system checks three higher timeframes:
```pinescript
timeframeOne = "1 Hour"
timeframeTwo = "4 Hour"
timeframeThree = "Daily"
```
By default, at least two of the three timeframes should support the trade direction.
```pinescript
bullishAlignment = bullishTimeframes >= 2
bearishAlignment = bearishTimeframes >= 2
```
The higher timeframes provide direction.
The lower timeframe provides execution.
---
### 3. SETUP DETECTION
The system looks for evidence that price may be preparing to move.
```pinescript
bullishSetup =
lowerZone and
bullishMomentum and
(bullishExhaustion or compression or bullishLiquiditySweep)
bearishSetup =
upperZone and
bearishMomentum and
(bearishExhaustion or compression or bearishLiquiditySweep)
```
A setup is not automatically an entry.
It tells the trader to begin watching for confirmation.
---
### 4. STRUCTURE CONFIRMATION
The system waits for a Break of Structure before confirming the setup.
```pinescript
bullishBOS = close > previousSwingHigh
bearishBOS = close < previousSwingLow
```
A bullish Break of Structure suggests buyers are gaining control.
A bearish Break of Structure suggests sellers are gaining control.
```pinescript
if bullishSetup and bullishBOS
confirmation := "BULLISH"
if bearishSetup and bearishBOS
confirmation := "BEARISH"
```
---
### 5. A+ SIGNAL
An A+ signal appears only when the required conditions and minimum setup score are satisfied.
```pinescript
minimumScore = 70
aPlusBuy =
bullishSetup and
bullishBOS and
bullishAlignment and
buyScore >= minimumScore
aPlusSell =
bearishSetup and
bearishBOS and
bearishAlignment and
sellScore >= minimumScore
```
The default qualifying score is:
```pinescript
A_PLUS_SCORE = 70
MAX_SCORE = 100
```
A score of 70 does not mean the trade has a guaranteed 70% win rate.
It means the setup earned 70 of the 100 available system points.
---
## SCORE BREAKDOWN
```pinescript
structureConfirmation = 25
donchianLocation = 20
compressionExhaustion = 15
stochRsiMomentum = 10
vwapPosition = 10
oneHourBias = 5
fourHourBias = 5
dailyBias = 10
maximumScore = 100
```
The strongest setups normally combine:
- Good location
- Higher-timeframe agreement
- Momentum confirmation
- Compression or exhaustion
- Liquidity context
- Break of Structure
- Acceptable reward-to-risk
---
## BEGINNER WORKFLOW
```pinescript
stepOne = "Check the Daily chart for major location"
stepTwo = "Check the 4H chart for trend and market condition"
stepThree = "Check the 1H chart for bias and structure"
stepFour = "Use the 5m or 15m chart for execution"
stepFive = "Wait for price to reach a key location"
stepSix = "Wait for a valid setup to form"
stepSeven = "Wait for Break of Structure confirmation"
stepEight = "Review the setup score"
stepNine = "Plan entry, stop and targets"
stepTen = "Enter only when risk is acceptable"
```
### Recommended chart process
```pinescript
DAILY → LOCATION
FOUR_H → CONTEXT
ONE_H → DIRECTION
FIVE_M → EXECUTION
```
---
## BULLISH SETUP
```pinescript
bullishTrade =
priceNearLowerZone and
bullishHigherTimeframes and
bullishSetupCondition and
bullishBreakOfStructure and
score >= minimumScore
```
A bullish setup may include:
- Price near the lower Donchian zone
- A sweep below a previous low
- A bullish exhaustion candle
- Stochastic RSI turning upward
- Price recovering above VWAP
- A bullish Break of Structure
The system may then display:
```pinescript
signal = "A+ BUY"
```
---
## BEARISH SETUP
```pinescript
bearishTrade =
priceNearUpperZone and
bearishHigherTimeframes and
bearishSetupCondition and
bearishBreakOfStructure and
score >= minimumScore
```
A bearish setup may include:
- Price near the upper Donchian zone
- A sweep above a previous high
- A bearish exhaustion candle
- Stochastic RSI turning downward
- Price falling below VWAP
- A bearish Break of Structure
The system may then display:
```pinescript
signal = "A+ SELL"
```
---
## TRADE PLANNING
The system includes an ATR-based planning tool.
```pinescript
stopDistance = atr * 1.5
targetOne = 1.0R
targetTwo = 2.0R
targetThree = 3.0R
```
The ATR levels are planning references.
The trader must still verify:
- Market structure
- Swing highs and lows
- Support and resistance
- Position size
- Maximum account risk
- Daily loss limits
```pinescript
preferredRiskReward = "2:1 or greater"
```
---
## ALERTS INCLUDED
```pinescript
alertcondition(buySetupPending, "Buy Setup Pending")
alertcondition(sellSetupPending, "Sell Setup Pending")
alertcondition(aPlusBuy, "A+ Buy")
alertcondition(aPlusSell, "A+ Sell")
alertcondition(bullishBOS, "Bullish BOS")
alertcondition(bearishBOS, "Bearish BOS")
alertcondition(bullishSweep, "Bullish Liquidity Sweep")
alertcondition(bearishSweep, "Bearish Liquidity Sweep")
```
A pending alert means a setup may be developing.
It does not mean the trader should enter immediately.
---
## IMPORTANT TRADING RULES
```pinescript
RULE_01 = "No location, no trade"
RULE_02 = "Higher timeframes provide direction"
RULE_03 = "Compression does not predict direction"
RULE_04 = "Momentum confirms; it does not lead"
RULE_05 = "Structure confirms the trade"
RULE_06 = "Never chase an extended signal candle"
RULE_07 = "Define risk before entering"
RULE_08 = "Protect capital before seeking profit"
RULE_09 = "A missed trade is better than a forced trade"
RULE_10 = "Consistency beats intensity"
```
---
## WHEN TO WAIT
```pinescript
waitForTrade =
priceInMiddle or
conflictingTimeframes or
missingStructureConfirmation or
score < minimumScore or
poorRiskReward or
oversizedSignalCandle
```
The system is built to encourage patience.
Not every market movement is a valid trade.
---
## DISCLAIMER
Trader Forge V6 is an analytical and educational decision-support tool.
It does not provide financial advice, guarantee profitable results, or automatically account for:
- Position size
- Brokerage fees
- Slippage
- Options decay
- Contract selection
- Economic news
- Prop-firm rules
- Personal risk tolerance
Always perform your own analysis and use responsible risk management.
```pinescript
//══════════════════════════════════════════════════════════════
// TRADER FORGE
//
// SURVIVE → EXECUTE → SCALE
//
// Pressure creates strength. Discipline creates edge.
//══════════════════════════════════════════════════════════════
``` Indicator

4H Liquidity Sweeps═══════════════════════════════════════════════════════════════════════
4H Liquidity Sweeps — graded, with target and R:R
═══════════════════════════════════════════════════════════════════════
WHAT IT DOES
Marks higher-timeframe swing highs and lows that get wicked through and
rejected, then scores each one and projects where the resulting move is
aimed. Most sweep indicators stop at "a level was taken." This one asks
the two questions that decide whether the sweep is worth anything: how
long had that level been sitting there, and is there anything on the
other side to trade toward.
THE IDEA
A swing high or low is a shelf of resting orders — protective stops from
traders positioned into the swing, and breakout orders from traders
waiting for it to give way. When price trades through that shelf and
closes back inside, the move through it found no continuation, and every
order filled beyond the level is immediately offside.
That makes the sweep itself the setup's trigger, not the trade. The trade
is the return leg, and its natural destination is the nearest untouched
shelf on the opposite side. The indicator tracks both ends of that: the
level being taken, and the level being aimed at.
HOW IT WORKS
Levels
Swing highs and lows are confirmed on the sweep timeframe (default 4H,
independent of your chart timeframe) using a configurable pivot
strength. Equal highs and lows resolve to the first of the pair, so
double tops and bottoms still produce a level. Up to N unswept levels
per side are tracked and drawn as dotted lines.
Sweep detection
A level is swept when an HTF bar trades through it and closes back
inside. Three optional filters refine this:
• Minimum penetration — the wick must exceed the level by a set
fraction of ATR(14), so one-tick clips are ignored.
• Displacement rejection — the sweep bar must also close back inside
the PREVIOUS HTF bar's range (Loose) or beyond its midpoint
(Strict). This is what separates a genuine rejection from the first
bar of a breakout that happened to clip an old level on its way
past. Without it, a strongly trending bar can satisfy the level test
while price is plainly still expanding.
• Killzone — sweeps outside your chosen sessions are either dropped
entirely, or capped at B-grade.
A level that is CLOSED through rather than wicked through is deleted,
not marked. That is a break, not a sweep, and it is the main reason
the chart stays readable.
Grading
Every sweep is scored A, B or C from two measurements:
• Level age — how many HTF bars the level survived before it was
taken. This does most of the work. A level that sat for two days
accumulated orders; one from six hours ago did not.
• Reward — R:R from the projected entry to the nearest unswept level
on the opposite side.
A-grade needs both thresholds (default: 12 bars, 3.0R), B-grade the
looser pair (6 bars, 2.0R). Anything else is C and is hidden by
default, including any sweep with no unswept level to aim at.
Trade plan
On each qualifying sweep the indicator projects:
• Entry — an optimal-trade-entry retracement (default 0.705) of the
sweep bar, or the swept level itself if you prefer.
• Stop — beyond the sweep wick, buffered by a fraction of ATR(14).
• Target — the nearest unswept HTF level on the opposite side.
Each is drawn and labelled with its price, and the resulting R:R is
printed on the sweep label. Hover any label for the full breakdown:
grade, level age, killzone status, entry, stop, target, exact R:R.
WHAT YOU SEE
Dotted grey line : an unswept level, extending to the current bar
Solid line : a swept level, drawn from the swing to the bar that took it (thicker for A-grade)
Red zone / the sweep : level to wick extreme
Green zone / the reaction leg : level to the running extreme since the sweep, growing bar by bar until price loses back through the level or the window expires
Dashed line : the target
Dotted lines : entry and stop
SETTINGS WORTH KNOWING
Pivot strength :2 by default. Raise to 3–4 for fewer, more significant levels.
Level age :the filter to adjust first. Loosen this before you :touch the R:R thresholds.
Displacement : Loose is a sensible default; Strict will roughly halve your A-grade count.
Hide historical : keeps only the last N sweeps on the chart and erases everything older — useful for a live chart where only what is still in play matters.
ALERTS
Graded sweep (A or B) — fires only on setups that pass both filters
4H high swept / 4H low swept — directional
4H sweep (any)
NOTES AND LIMITATIONS
• Chart timeframe must be equal to or lower than the sweep timeframe.
The script raises an error otherwise.
• Nothing repaints. Higher-timeframe data is requested with lookahead
disabled, and every sweep is evaluated only against completed HTF
bars. A sweep therefore prints when its HTF bar closes, and a level
is confirmed a few bars after the swing that formed it — that is
confirmation lag, not repainting, and it is inherent to pivots.
• The green reaction zone updates as the move develops. It is live
state, not a signal.
• The R:R shown is calculated from an entry proxy taken on the sweep
bar itself. If you enter from a lower-timeframe structure shift
instead, your actual entry — and therefore your actual R:R — will
differ. Treat the printed figure as a screening number.
• Killzone membership is decided by the HTF bar's OPEN time. On a 4H
chart that means the session setting selects the bar CONTAINING the
killzone rather than the killzone itself, so the defaults are
deliberately widened. Narrow them if you lower the sweep timeframe.
• This is an analysis tool, not a strategy, and it is not backtested
within PulseWire. It marks structure and projects levels; it makes
no claim about outcomes. Nothing here is financial advice — do your
own testing and manage your own risk. Indicator

Strat 3-1-2 + S/R + ICTStrat 3-1-2 + S/R + ICT — Complete Day-Trading Toolkit
This indicator combines three trading frameworks into one overlay so you can see Strat setups, key levels, support/resistance, and ICT smart-money concepts on a single chart.
■ THE STRAT
• 3-1-2 setups — detects an Outside bar (3) followed by an Inside bar (1), then signals when the inside bar's range breaks (2U up / 2D down). Optional bar-close confirmation for non-repainting signals.
• Failed 2 (F2D / F2U) — flags bars that break the prior low but close green (bullish trap) or break the prior high and close red (bearish trap). Optional strict mode requires the close back inside the prior bar's range.
• Full Timeframe Continuity (FTFC) — a side panel showing up to 8 timeframes colored green/red by their current candle. BUY/SELL signals can require all timeframes to agree.
• Candle numbering — optionally labels every bar 1 / 2U / 2D / 3 to learn the Strat visually.
• Multi-ticker F2 scanner — a dashboard that watches up to 8 symbols on any timeframe and alerts when an F2 fires on any of them.
■ KEY LEVELS
Previous/current day, week, month, and year highs and lows; premarket high/low; the 6 PM ET futures open and midnight ET open. Each level has independent toggles plus separate pickers for line color and label text color. Overlapping labels automatically shift side-by-side so tags never stack on top of each other (spacing is adjustable).
■ SUPPORT & RESISTANCE
Pivot-based levels that merge nearby touches into a single zone and count them — a level touched 3+ times turns solid yellow ("R ×3") to mark it as strong. Broken levels are automatically removed. Alerts on any S/R test.
■ ICT CONCEPTS
• Kill Zones — session shading for London Open, NY Open, London Close, and Asia (all toggleable).
• Fair Value Gaps — 3-candle imbalances drawn as boxes, auto-removed once price closes through them.
• Order Blocks — the last opposing candle before an impulse move, boxed and removed when mitigated.
• Market Structure — labels every break of a swing high/low as BOS (continuation) or CHoCH (potential reversal).
• Equal Highs / Lows — dotted liquidity lines connecting matching pivots, removed automatically once the pool is swept.
• Premium / Discount — daily 50% equilibrium line plus the OTE zone (62–79% retracement) for optimal entries.
• A global "last N bars" setting keeps ICT drawings on recent price action only, so the chart stays clean.
■ 30-MIN ORB
Opening range high/low drawn per session with breakout signals — optionally only the first break per side, close-through required, or FTFC-filtered.
■ ALERTS
Alert conditions for every signal: 3-1 formed, 3-1-2 triggered, F2D/F2U, BUY/SELL, ORB breaks, S/R tests, FVG formed, OB created, and the watchlist scanner. A minimum-timeframe filter stops noise from low timeframes.
■ HOW TO USE
Built for day trading index futures (NQ/ES) on 5–30 min charts, but works on any symbol and timeframe. A typical confluence entry: price in the discount/OTE zone, inside a bullish FVG or order block, during the NY kill zone, with FTFC green — then trigger on a 3-1-2 up or F2D signal.
This tool is for educational purposes and chart analysis only. It is not financial advice, and past patterns do not guarantee future results. Always manage your risk. Indicator

Indicator

FTM ENGINEFTM Engine is a highly advanced Smart Money Concepts (SMC) indicator built on Pine Script v6. Unlike standard SMC tools that clutter your chart with endless, low-probability boxes, FTM Engine utilizes a hidden Multi-Timeframe (MTF) algorithm to track institutional liquidity and filter out fakeouts.
The "Golden OB" 3-Step Strategy:
This indicator is built around a highly specific, high-probability institutional trading model:
Step 1 (Context): The background MTF engine tracks 15m and 30m Fair Value Gaps (FVG). It waits for the price to balance the algorithmic void by hitting the 50% mark (Consequent Encroachment).
Step 2 (Confirmation): If a Lower Timeframe (e.g., 5m) Order Block forms inside or intersecting this mitigated HTF FVG, and is strictly confirmed by a Pinbar or Engulfing candle, the algorithm flags it as a "⭐ Golden OB".
Step 3 (Execution): Upon the very first tap into this Golden OB, the indicator prints a precise 🚀 BUY or 🔻 SELL signal. To prevent overtrading and false signals, each Golden OB fires only once and is then removed from the signal queue.
Key Features:
Real-Time Market Structure: Dynamically plots BOS and CHoCH lines to keep you aligned with the local trend.
Clean Chart Dynamics: Only plots your current timeframe's (Local) FVGs and OBs visually, keeping your screen clutter-free while the 15m/30m logic works silently in the background.
Auto-Mitigation: Standard OBs and FVGs are automatically deleted once breached by a candle close, leaving only valid, fresh zones on your screen.
Advanced Alert System: Specific webhook-ready alerts for every stage of the 3-Step Golden Setup.
Perfect for disciplined day traders and scalpers who value quality setups over quantity. Indicator

Indicator

Engine smt FTMEngine SMT is a comprehensive, next-generation Smart Money Concepts (SMC) toolkit built with the latest Pine Script v6 features. It is designed to keep your charts clean while providing high-probability institutional setups through a built-in Multi-Timeframe (MTF) engine.
Key Features:
Dynamic FVG & Order Blocks: Automatically detects and plots Bullish/Bearish Fair Value Gaps and Order Blocks. Unmitigated zones are continuously extended in real-time, and instantly deleted once invalidated (mitigated by a candle close), ensuring a noise-free chart.
Multi-Timeframe (MTF) Engine: Seamlessly tracks Higher Timeframe (e.g., 30m) Points of Interest (POIs) in the background while you monitor Lower Timeframes (e.g., 5m) for execution.
Market Structure Mapping: Identifies real-time Break of Structure (BOS), Change of Character (CHoCH), and crucial Liquidity Sweeps.
Advanced Alert System: Features a highly optimized, spam-proof alert module that notifies you on:
New HTF Zone creation.
Price's first tap/interaction with an HTF POI.
LTF confirmation signals (when an LTF FVG/OB forms inside an HTF zone).
Perfect for scalpers and intraday traders looking for an automated, highly responsive, and purely logical SMC setup. Indicator

FIE Price Action OverlayFIE (Frequency • Influence • Efficiency) Price Action
FIE is a market analysis framework that measures the quality of agreement between multiple stochastic components and MACD and their respective influence on price action. FIE is designed as an educational decision-support tool for traders who want to evaluate not just whether indicators agree, but how much confidence that agreement deserves.
Instead of treating every component equally, FIE evaluates each component according to three characteristics:
Frequency – How consistently the component aligns with price.
Influence – How much price movement occurs while it is aligned.
Efficiency – A weighted measure that combines consistency and impact.
These measurements are then used to determine each component's relative contribution to the current market move through Share Participation and Normalized Efficiency.
The result is a real-time view of which components are driving the current price action, how much they contribute, and how strongly they agree.
FIE helps distinguish between:
Broad market agreement.
Moves driven primarily by a single component.
Weak participation behind price.
High-confidence confluence where multiple components align with meaningful participation.
The integrated dashboard summarizes each component's contribution, efficiency, participation, and agreement, allowing traders to evaluate the strength and quality of a setup at a glance.
Features
- Frequency, Influence, and Efficiency analysis
- Component Share Participation
- Normalized Efficiency (E-Norm)
- Active Average calculations
- Multi-component confluence analysis
- Confidence and participation dashboard
- High-confluence ("Consensus Signal") identification
- Extensive customization and threshold controls
- Optional Entry signals and crossover levels
- 'Enhanced Candles' to further highlight component/price behaviour
FIE is designed as an educational decision-support tool for traders who want to evaluate not just whether indicators agree, but how much confidence that agreement deserves. Indicator

Market Structure Blocks and MTF ZigZagMarket Structure Blocks and MTF ZigZag
Overview
This indicator combines swing-based market structure analysis with Order Blocks, Breaker Blocks, Mitigation Blocks, and configurable multi-timeframe ZigZag overlays.
The primary ZigZag follows the chart timeframe and is used by the original market-structure calculation. A separate secondary ZigZag can display swing structure from another selected timeframe, such as 1 hour or 4 hours, directly on the current chart.
The indicator is intended to help traders organize price structure and identify areas that may be relevant for further analysis. It does not provide automatic trade entries or guarantee that a displayed zone will cause a reaction.
How the market structure is calculated
The script identifies alternating swing highs and swing lows using a configurable ZigZag length.
When the swing direction changes, the indicator stores the newly identified pivot. It then compares recent swing points and applies the Fib Factor setting to determine whether the structure has changed sufficiently to register a Market Structure Break.
The MSB line marks the relevant structural level associated with the detected change.
Block detection
After a market-structure change, the indicator searches the related price leg for candles that can define the following zones:
Bu-OB: Bullish Order Block.
Be-OB: Bearish Order Block.
Bu-BB: Bullish Breaker Block.
Be-BB: Bearish Breaker Block.
Bu-MB: Bullish Mitigation Block.
Be-MB: Bearish Mitigation Block.
The BB or MB classification depends on the relationship between the relevant recent swing points.
A zone can continue extending toward the right side of the chart until its invalidation condition is met. When Delete Old/Broken Boxes is enabled, invalidated zones are removed.
Primary ZigZag
The primary ZigZag represents the indicator's main structure calculation.
Available controls include:
Show or hide the primary ZigZag.
Adjust the primary ZigZag length.
Customize line color.
Choose Solid, Dashed, or Dotted line style.
Adjust line width.
The primary structure calculation, MSB logic, and block creation use the main ZigZag length and the current chart's price data.
Secondary multi-timeframe ZigZag
The secondary ZigZag is an optional and independent overlay.
It runs the same swing-direction and pivot-selection logic inside the selected secondary timeframe. Confirmed secondary-timeframe swing segments are then displayed on the current chart.
Available controls include:
Enable or disable the secondary ZigZag.
Select a secondary timeframe.
Set an independent ZigZag length.
Customize its color.
Choose Solid, Dashed, or Dotted style.
Adjust line width.
For example, a trader can keep the primary 5-minute or 15-minute ZigZag visible while simultaneously displaying the 1-hour or 4-hour structure.
For the most consistent multi-timeframe interpretation, the secondary timeframe should normally be equal to or higher than the current chart timeframe.
Zone visibility
Each zone family can be enabled or disabled independently:
Bullish Order Blocks.
Bearish Order Blocks.
Bullish Breaker Blocks.
Bearish Breaker Blocks.
Bullish Mitigation Blocks.
Bearish Mitigation Blocks.
Disabling a zone type prevents new boxes of that type from being created. This allows the chart to be simplified according to the trader's preferred workflow.
Important settings
Primary / Structure ZigZag Length
Controls the sensitivity of the primary swing calculation.
A smaller value generally identifies more frequent and smaller swings. A larger value generally produces fewer and broader structural swings.
Fib Factor
Controls the additional distance required by the market-state logic when evaluating a structural change.
Increasing this value makes the structural confirmation requirement more restrictive. Reducing it makes the indicator more sensitive to smaller structural changes.
Delete Old/Broken Boxes
When enabled, zones are deleted after their invalidation condition is met. When disabled, invalidated zones are removed from active management but may remain visible historically.
Alerts
The indicator includes alerts for:
A detected Market Structure Break.
Price trading inside a bullish or bearish Order Block.
Price trading inside a bullish or bearish Breaker or Mitigation Block.
Depending on the alert configuration, zone alerts may occur on multiple bars while price remains inside a zone.
Limitations
ZigZag-based tools confirm swing points only after the reversal conditions have been met. A recent developing swing is therefore not considered final until it is confirmed.
The endpoint of a confirmed ZigZag segment can appear on an earlier candle because that candle contained the actual swing high or swing low. This is normal retrospective pivot plotting and should not be interpreted as a signal that was available on the pivot candle itself.
Order Blocks, Breaker Blocks, Mitigation Blocks, and Market Structure Breaks are analytical references, not guaranteed support, resistance, entries, targets, or reversal points.
The indicator does not include position sizing, stop-loss placement, profit targets, execution rules, or risk management.
Suggested workflow
Use the secondary ZigZag to identify broader higher-timeframe structure.
Use the primary ZigZag to study the current chart's internal structure.
Observe where current-chart blocks align with higher-timeframe swing areas.
Wait for independent confirmation before considering a trade.
Define risk and invalidation before entering a position.
Credits and open-source reuse
The original Market Structure Break and Order Block code base was created by EmreKb.
This modified open-source version adds configurable primary ZigZag styling, an independently calculated multi-timeframe ZigZag overlay, separate secondary ZigZag sensitivity controls, and individual visibility controls for bullish and bearish Order Blocks, Breaker Blocks, and Mitigation Blocks.
The original author is credited both in the source-code header and in this publication description.
Disclaimer
This indicator is provided for chart analysis, education, and research. It is not financial advice and does not guarantee future market behavior. Users are responsible for independently evaluating all information, managing risk, and making their own trading decisions.
Indicator

Indicator

Smoothed Heikin Ashi Strip# Smoothed Heikin Ashi Strength Strip
## Overview
The Smoothed Heikin Ashi Strength Strip is a compact trend-following and trend-pressure indicator. It summarizes the direction and relative size of smoothed Heikin Ashi candle bodies in a separate panel beneath the price chart.
Instead of drawing another set of candles over the price chart, the indicator displays a simple colored strip:
- Green represents a bullish smoothed Heikin Ashi body.
- Red represents a bearish smoothed Heikin Ashi body.
- Bright colors represent larger-than-usual bodies.
- Dim colors represent smaller-than-usual bodies.
This makes it possible to see changes in trend direction and pressure without covering the price chart with additional candles.
The indicator is not designed to generate automatic buy or sell signals. It is a visual tool for identifying trend conditions, trend expansion, slowing momentum, consolidation, and possible reversion environments.
## Understanding Heikin Ashi
Heikin Ashi is a method of rebuilding price candles using averaged price information. Traditional candles display the actual open, high, low, and close for each period. Heikin Ashi candles use calculated values designed to reduce some of the normal bar-to-bar noise.
Because Heikin Ashi values are calculated, they should not be mistaken for actual traded prices. Their purpose is to make the underlying trend easier to see.
This indicator applies additional smoothing before and after calculating the Heikin Ashi values, producing a slower and cleaner representation of the trend.
## How the indicator is calculated
The default configuration uses EMA 10/10 smoothing.
### First smoothing pass
The indicator applies a 10-period exponential moving average to the chart’s open, high, low, and close prices.
This reduces some of the short-term movement in the original price data.
### Heikin Ashi calculation
The indicator then constructs Heikin Ashi open and close values from the smoothed price data.
These two values create the smoothed Heikin Ashi body:
- When the Heikin Ashi close is above its open, the body is bullish.
- When the Heikin Ashi close is below its open, the body is bearish.
### Second smoothing pass
A second 10-period exponential moving average is applied to the Heikin Ashi open and close.
This additional smoothing reduces rapid color changes and emphasizes the broader trend.
### Body-width measurement
The indicator measures the distance between the final smoothed Heikin Ashi open and close:
`Body width = absolute value of HA close − HA open`
A wider body represents a larger difference between the two values. A narrower body represents a smaller difference.
### Relative body strength
Raw body sizes are difficult to compare because every symbol and timeframe uses different price units. The indicator therefore compares the current body width with the preceding average body width.
By default, the comparison baseline is the 20-period EMA of previous smoothed Heikin Ashi body widths.
This produces a relative measurement:
- A ratio below 1.0 means the current body is smaller than its recent average.
- A ratio near 1.0 means the body is approximately average-sized.
- A ratio above 1.0 means the body is larger than its recent average.
- With the default settings, a body at least 2.0 times its recent average receives maximum brightness.
## Reading the strip
### Bright green
Bright green means the smoothed Heikin Ashi body is bullish and relatively large.
This generally represents expanding bullish trend pressure. It does not guarantee that price will continue higher, but it indicates that the bullish body is strong compared with recent bodies.
### Dim green
Dim green means the smoothed Heikin Ashi body remains bullish but has become relatively small.
This may indicate:
- Slowing bullish pressure
- Trend consolidation
- Reduced volatility
- Temporary hesitation
- A possible transition toward reversion
A dim green bar is not automatically bearish. The smoothed body is still bullish; it is simply smaller than usual.
### Bright red
Bright red means the smoothed Heikin Ashi body is bearish and relatively large.
This generally represents expanding bearish trend pressure. It does not guarantee that price will continue lower.
### Dim red
Dim red means the body remains bearish but is relatively small.
This may indicate:
- Slowing bearish pressure
- Consolidation
- Reduced volatility
- Temporary hesitation
- A possible transition toward reversion
A dim red bar is not automatically bullish. It only shows that the bearish body has contracted.
## Reading sequences instead of individual bars
The indicator is most useful when viewed as a developing sequence.
### Strengthening trend
A sequence that becomes progressively brighter while maintaining the same color suggests that the smoothed Heikin Ashi bodies are expanding relative to their recent history.
### Slowing trend
A sequence that gradually becomes dimmer while maintaining the same color suggests that the bodies are contracting.
The trend direction has not yet changed, but its pressure may be slowing.
### Possible transition
A dim sequence followed by a color change may indicate that the previous trend weakened before the smoothed Heikin Ashi direction changed.
This can help identify a possible transition or reversion environment, but the color change should not be treated as a guaranteed entry.
### Choppy conditions
Frequent changes between dim green and dim red often indicate an unclear or sideways environment.
Because neither side is producing large bodies, this condition may be less suitable for trend-following decisions.
### Strong directional change
A transition from one color to a bright opposite color represents a more forceful change than a transition involving dim colors.
It still requires confirmation from price structure and risk management.
## Display modes
### Intensity Strip
This is the default display.
Every column has the same height. Body strength is represented by brightness:
- Dim means a smaller relative body.
- Bright means a larger relative body.
This mode produces the cleanest and most compact trend strip.
### Body-Width Histogram
In this mode, relative body width controls both brightness and column height.
- Smaller bodies create shorter, dimmer columns.
- Larger bodies create taller, brighter columns.
This mode makes changes in body size more visually obvious, although it occupies slightly more chart space.
## Indicator settings
### Smoothing Type
The indicator supports EMA and HMA smoothing.
EMA is the default and provides a balanced, steadily smoothed result.
HMA is generally more responsive. It may recognize changes sooner, but it can also produce more rapid changes and additional visual noise.
The selected smoothing method is applied to both smoothing passes.
### Pre-Smoothing Length
This controls how strongly the original open, high, low, and close prices are smoothed before the Heikin Ashi calculation.
The default is 10.
A smaller value makes the indicator more responsive but potentially noisier. A larger value makes it smoother but slower.
### Post-Smoothing Length
This controls how strongly the calculated Heikin Ashi open and close are smoothed.
The default is 10.
Increasing this value creates a steadier strip but introduces more lag. Decreasing it produces a faster but more sensitive strip.
### Typical Body Lookback
This determines how many periods are used to estimate the normal smoothed Heikin Ashi body width.
The default is 20.
A shorter lookback adapts more quickly to changing market conditions. A longer lookback produces a more stable reference.
### Full Strength at Body Multiple
This determines how large a body must be, relative to its normal size, to receive maximum brightness.
The default is 2.0.
With this setting, a body approximately twice its recent typical width is fully bright.
Lowering this value causes the strip to reach maximum brightness more easily. Raising it reserves maximum brightness for more unusually large bodies.
### Small-Body Transparency
This controls how dim very small bodies appear.
A higher value makes small bodies more transparent. A lower value keeps them more visible.
### Colors
The bullish and bearish colors can be changed to match the chart theme or personal preference.
## Timeframe behavior
The indicator performs its calculations using the chart’s current timeframe.
For example:
- On a daily chart, every strip column represents one trading day.
- On a weekly chart, every column represents one week.
- On a monthly chart, every column represents one month.
Changing the chart timeframe changes the underlying calculations. A bullish daily strip can exist at the same time as a bearish weekly strip because the two timeframes describe different market structures.
## Practical workflow
A simple way to begin using the indicator is:
1. Leave the smoothing settings at EMA 10/10.
2. Use the default Intensity Strip display.
3. Reduce the indicator panel to a thin ribbon.
4. Observe the color to identify the smoothed trend direction.
5. Observe brightness to evaluate whether the bodies are expanding or contracting.
6. Pay attention to sequences rather than reacting to one bar.
7. Confirm important observations using actual price structure, support and resistance, volume, or another independent method.
8. Base decisions on completed bars when possible.
## Important limitations
This indicator does not display actual trade prices. It uses calculated and smoothed Heikin Ashi values.
The two smoothing passes create lag. The strip will generally react later than raw price, especially when longer smoothing settings are used.
Brightness is relative, not absolute. A fully bright body is large compared with that symbol’s recent bodies. It may still be small in absolute price terms.
A dim body can represent slowing trend pressure, but it can also represent ordinary consolidation or reduced volatility. It does not guarantee an approaching reversal.
A large body shows expansion, but it does not guarantee continuation. Large bodies can also occur near exhaustion points.
The current unfinished bar can change color and brightness as the market moves. A bar’s final condition is only known after that bar closes.
The indicator does not provide entries, exits, profit targets, stop-loss levels, or position sizing.
## Summary
The Smoothed Heikin Ashi Strength Strip compresses three useful observations into one clean display:
- Green or red identifies the smoothed Heikin Ashi body direction.
- Brightness shows the body’s relative size.
- Changes in brightness show expansion or contraction in trend pressure.
It is best used as a trend and market-condition tool—not as a standalone trading signal. Indicator

NOVA_FX Miracle v.3.0 IndicatorNOVA_FX Miracle v.3.0
A multi-signal trend indicator combining Smoothed Heiken Ashi trend detection, EMA-based pullback confirmation, and classic pin bar recognition — built for spotting high-probability trend-continuation and reversal entries.
How it works:
• Smoothed Heiken Ashi (SHA) — a double-smoothed Heiken Ashi trend engine that filters out noise and defines the dominant market bias (bullish/bearish).
• SHA Pullback Signals — triggers when price pulls back into the SHA zone during an established trend and reverses, confirmed by an ADX strength filter and a shadow/range filter that excludes abnormally large "outlier" candles.
• EMA Touch Signals — fires when price wicks into a sloped EMA(50) (slope measured relative to ATR, so it adapts to any instrument/timeframe) without the candle's close breaking through it, followed by a candle color reversal — a classic dynamic support/resistance bounce.
• Pin Bar Signals — standalone reversal pattern detection at the EMA, independent of the SHA state machine.
All signal types (long/short, SHA/EMA/Pin Bar) can be toggled independently in settings, along with built-in alert conditions for each.
Русский:
NOVA_FX Miracle v.3.0
Мультисигнальный трендовый индикатор, объединяющий определение тренда через сглаженный Heiken Ashi, подтверждение отката по EMA и классическое распознавание пинбаров — создан для поиска входов на продолжении тренда и на разворотах с повышенной вероятностью отработки.
Как это работает:
• Smoothed Heiken Ashi (SHA) — дважды сглаженный Heiken Ashi определяет доминирующее направление рынка (бычье/медвежье), отфильтровывая рыночный шум.
• SHA Pullback сигналы — срабатывают, когда цена откатывается в зону SHA внутри устоявшегося тренда и разворачивается, с подтверждением по силе тренда (ADX) и фильтром теней/диапазона, который исключает аномально крупные "выбросные" свечи.
• EMA Touch сигналы — появляются, когда цена тенью касается направленной EMA(50) (наклон измеряется относительно ATR, поэтому индикатор адаптируется под любой инструмент и таймфрейм), не закрываясь телом за её пределами, с последующей сменой цвета свечи — классический отбой от динамической поддержки/сопротивления.
• Pin Bar сигналы — самостоятельное распознавание разворотного паттерна у EMA, независимо от состояния SHA.
Каждый тип сигнала (лонг/шорт, SHA/EMA/Pin Bar) включается и выключается отдельно в настройках, для каждого предусмотрены свои алерты.
Indicator

Indicator
