MST Medio v1.0MST Medio — 3-Phase Price Action Confirmation
MST Medio is a structured price action indicator that detects high-probability reversal entries using a 3-phase confirmation process: Break → Confirm → Retest. It waits for a confirmed Higher High / Lower Low, validates the impulse wave, then triggers only when price retests the key level.
No repainting. No lagging indicators. Pure price action logic built on swing structure.
────────────────
How It Works
Phase 1 — Break
Price forms a Higher High (HH) above the previous Swing High, or a Lower Low (LL) below the previous Swing Low. The break must pass two filters:
Break Strength — The break distance must exceed a minimum percentage of the previous swing range (configurable, default 0.25×).
Impulse Body Filter — The first candle closing beyond the old high/low must have a body ≥ 1.5× the 20-bar average body. This ensures the break is driven by momentum, not a weak drift.
The indicator then identifies the W1 impulse wave — the highest high (BUY) or lowest low (SELL) from the break candle until the first opposing candle.
Phase 2 — Confirm
After the impulse wave, price must pull back and then close beyond the W1 peak (for BUY) or below the W1 trough (for SELL). This confirms that momentum has resumed after the correction.
Invalidation rules:
Price returns to the entry level (old SH/SL) before confirmation → structure broken, cancel.
Price hits the Stop Loss level → cancel.
Phase 3 — Retest Entry
Once confirmed, the indicator waits for price to retest the original Swing High (BUY) or Swing Low (SELL). This is your entry point — buying at the old resistance turned support, or selling at the old support turned resistance.
Invalidation rules:
Price hits Stop Loss → cancel.
Price breaks below the W1 trough (BUY) or above the W1 peak (SELL) → cancel.
────────────────
Visual Elements
Entry / SL / TP lines (dashed) — Drawn at signal confirmation with labels showing levels and R:R ratio.
Risk/Reward zones — Colored boxes: red zone (Entry → SL) and green zone (Entry → TP) for instant visual assessment.
Confirm Break label — "▲ Confirm Break" / "▼ Confirm Break" at the wave confirmation candle.
Pending state — Dotted lines and phase labels ("Phase 1 BUY", "Phase 2 SELL") showing the indicator is tracking a potential setup before it triggers.
Swing markers (optional) — Small triangles at detected pivot highs and lows.
────────────────
Take Profit Logic
TP is placed at the high of the Confirm Break candle (BUY) or the low of the Confirm Break candle (SELL). This represents the point where momentum was confirmed — a natural target that aligns with the structure of the move.
────────────────
Inputs
Pivot Lookback (default: 5) — Bars left/right to confirm a swing point. Higher values = fewer but stronger pivots.
Break Strength (default: 0.25) — Break distance must be ≥ this multiple of the previous swing range. Set 0 to disable.
Impulse Body Filter (default: 1.5) — The break candle body must be ≥ this multiple of the 20-bar average body. Set 0 to disable.
Show Entry / SL / TP Lines — Toggle dashed level lines and labels.
Show Risk/Reward Zones — Toggle colored risk/reward boxes.
Show Pending State — Toggle the dotted lines and phase labels for setups being tracked.
Show Confirm Break Label — Toggle the confirmation label.
Show Swing Points — Toggle swing high/low markers on the chart.
Full color customization for all visual elements.
────────────────
Alerts
BUY Signal — Fires when Phase 3 retest is triggered on a bullish setup.
SELL Signal — Fires when Phase 3 retest is triggered on a bearish setup.
Any Signal — Fires on either direction.
────────────────
Notes
Works on all timeframes and all instruments.
Non-repainting — All signals use confirmed (closed) pivots. No lookahead.
This is a detection tool , not a strategy. Use it alongside your own risk management and confluence analysis.
Best suited for trending markets where HH/LL structures form clean impulse waves.
The 3-phase confirmation significantly reduces false signals compared to raw breakout detection.
Indicator

Indicator

Superior-Range Bound Renko - Alerts - 11-29-25 - Signal LynxSuperior-Range Bound Renko – Alerts Edition with Advanced Risk Management Template
Signal Lynx | Free Scripts supporting Automation for the Night-Shift Nation 🌙
1. Overview
This is the Alerts & Indicator Edition of Superior-Range Bound Renko (RBR).
The Strategy version is built for backtesting inside PulseWire.
This Alerts version is built for automation: it emits clean, discrete alert events that you can route into webhooks, bots, or relay engines (including your own Signal Lynx-style infrastructure).
Under the hood, this script contains the same core engine as the strategy:
Adaptive Range Bounding based on volatility
Renko Brick Emulation on standard candles
A stack of Laguerre Filters for impulse detection
K-Means-style Adaptive SuperTrend for trend confirmation
The full Signal Lynx Risk Management Engine (state machine, layered exits, AATS, RSIS, etc.)
The difference is in what we output:
Instead of placing historical trades, this version:
Plots the entry and RM signals in a separate pane (overlay = false)
Exposes alertconditions for:
Long Entry
Short Entry
Close Long
Close Short
TP1, TP2, TP3 hits (Staged Take Profit)
This makes it ideal as the signal source for automated execution via PulseWire Alerts + Webhooks.
2. Quick Action Guide (TL;DR)
Best Timeframe:
4H and above. This is a swing-trading / position-trading style engine, not a micro-scalper.
Best Assets:
Volatile but structured markets, e.g.:
BTC, ETH, XAUUSD (Gold), GBPJPY, and similar high-volatility majors or indices.
Script Type:
indicator() – Alerts & Visualization Only
No built-in order placement
All “orders” are emitted as alerts for your external bot or manual handling
Strategy Type:
Volatility-Adaptive Trend Following + Impulse Detection
using Renko-like structure and multi-layer Laguerre filters.
Repainting:
Designed to be non-repainting on closed candles.
The underlying Risk Management engine is built around previous-bar data (close , high , low ) for execution-critical logic.
Intrabar values can move while the bar is forming (normal for any advanced signal), but once a bar closes, the alert logic is stable.
Recommended Alert Settings:
Condition: one of the built-in signals (see section 3.B)
Options: “Once Per Bar Close” is strongly recommended for automation
Message: JSON, CSV, or simple tokens – whatever your webhook / relay expects
3. Detailed Report: How the Alerts Edition Works
A. Relationship to the Strategy Version
The Alerts Edition shares the same internal logic as the strategy version:
Same Adaptive Lookback and volatility normalization
Same Range and Close Range construction
Same Renko Brick Emulator and directional memory (renkoDir)
Same Fib structures, Laguerre stack, K-Means SuperTrend, and Baseline signals (B1, B2)
Same Risk Management Engine and layered exits
In the strategy script, these signals are wired into strategy.entry, strategy.exit, and strategy.close.
In the alerts script:
We still compute the final entry/exit signals (Fin, CloseEmAll, TakeProfit1Plot, etc.)
Instead of placing trades, we:
Plot them for visual inspection
Expose them via alertcondition(...) so that PulseWire can fire alerts.
This ensures that:
If you use the same settings on the same symbol/timeframe, the Alerts Edition and Strategy Edition agree on where entries and exits occur.
(Subject only to normal intrabar vs. bar-close differences.)
B. Signals & Alert Conditions
The alerts script focuses on discrete, automation-friendly events.
Internally, the main signals are:
Fin – Final entry decision from the RM engine
CloseEmAll – RM-driven “hard close” signal (for full-position exits)
TakeProfit1Plot / 2Plot / 3Plot – One-time event markers when each TP stage is hit
On the chart (in the separate indicator pane), you get:
plot(Fin) – where:
+2 = Long Entry event
-2 = Short Entry event
plot(CloseEmAll) – where:
+1 = “Close Long” event
-1 = “Close Short” event
plot(TP1/TP2/TP3) (if Staged TP is enabled) – integer tags for TP hits:
+1 / +2 / +3 = TP1 / TP2 / TP3 for Longs
-1 / -2 / -3 = TP1 / TP2 / TP3 for Shorts
The corresponding alertconditions are:
Long Entry
alertcondition(Fin == 2, title="Long Entry", message="Long Entry Triggered")
Fire this to open/scale a long position in your bot.
Short Entry
alertcondition(Fin == -2, title="Short Entry", message="Short Entry Triggered")
Fire this to open/scale a short position.
Close Long
alertcondition(CloseEmAll == 1, title="Close Long", message="Close Long Triggered")
Fire this to fully exit a long position.
Close Short
alertcondition(CloseEmAll == -1, title="Close Short", message="Close Short Triggered")
Fire this to fully exit a short position.
TP 1 Hit
alertcondition(TakeProfit1Plot != 0, title="TP 1 Hit", message="TP 1 Level Reached")
First staged take profit hit (either long or short). Your bot can interpret the direction based on position state or message tags.
TP 2 Hit
alertcondition(TakeProfit2Plot != 0, title="TP 2 Hit", message="TP 2 Level Reached")
TP 3 Hit
alertcondition(TakeProfit3Plot != 0, title="TP 3 Hit", message="TP 3 Level Reached")
Together, these give you a complete trade lifecycle:
Open Long / Short
Optionally scale out via TP1/TP2/TP3
Close remaining via Close Long / Close Short
All while the Risk Management Engine enforces the same logic as the strategy version.
C. Using This Script for Automation
This Alerts Edition is designed for:
Webhook-based bots
Execution relays (e.g., your own Lynx-Relay-style engine)
Dedicated external trade managers
Typical setup flow:
Add the script to your chart
Same symbol, timeframe, and settings you use in the Strategy Edition backtests.
Configure Inputs:
Longs / Shorts enabled
Risk Management toggles (SL, TS, Staged TP, AATS, RSIS)
Weekend filter (if you do not want weekend trades)
RBR-specific knobs (Adaptive Lookback, Brick type, ATR vs Standard Brick, etc.)
Create Alerts for Each Event Type You Need:
Long Entry
Short Entry
Close Long
Close Short
TP1 / TP2 / TP3 (optional, if your bot handles partial closes)
For each:
Condition: the corresponding alertcondition
Option: “Once Per Bar Close” is strongly recommended
Message:
You can use structured JSON or a simple token set like:
{"side":"long","event":"entry","symbol":"{{ticker}}","time":"{{timenow}}"}
or a simpler text for manual trading like:
LONG ENTRY | {{ticker}} | {{interval}}
Wire Up Your Bot / Relay:
Point PulseWire’s webhook URL to your execution engine
Parse the messages and map them into:
Exchange
Symbol
Side (long/short)
Action (open/close/partial)
Size and risk model (this script does not position-size for you; it only signals when, not how much.)
Because the alerts come from a non-repainting, RM-backed engine that you’ve already validated via the Strategy Edition, you get a much cleaner automation pipeline.
D. Repainting Protection (Alerts Edition)
The same protections as the Strategy Edition apply here:
Execution-critical logic (trailing stop, TP triggers, SL, RM state changes) uses previous bar OHLC:
open , high , low , close
No security() with lookahead or future-bar dependencies.
This means:
Alerts are designed to fire on states that would have been visible at bar close, not on hypothetical “future history.”
Important practical note:
Intrabar: While a bar is forming, internal conditions can oscillate.
Bar Close: With “Once Per Bar Close” alerts, the fired signal corresponds to the final state of the engine for that candle, matching your Strategy Edition expectations.
4. For Developers & Modders
You can treat this Alerts script as an ”RM + Alert Framework” and inject any signal logic you want.
Where to plug in:
Find the section:
// BASELINE & SIGNAL GENERATION
You’ll see how B1 and B2 are built from the RBR stack and then combined:
baseSig = B2
altSig = B1
finalSig = sigSwap ? baseSig : altSig
To use your own logic:
Replace or wrap the code that sets baseSig / altSig with your own conditions:
e.g., RSI, MACD, Heikin Ashi filters, candle patterns, volume filters, etc.
Make sure your final decision is still:
2 → Long / Buy signal
-2 → Short / Sell signal
0 → No trade
finalSig is then passed into the RM engine and eventually becomes Fin, which:
Drives the Long/Short Entry alerts
Interacts with the RM state machine to integrate properly with AATS, SL, TS, TP, etc.
Because this script already exposes alertconditions for key lifecycle events, you don’t need to re-wire alerts each time — just ensure your logic feeds into finalSig correctly.
This lets you use the Signal Lynx Risk Management Engine + Alerts wrapper as a drop-in chassis for your own strategies.
5. About Signal Lynx
Automation for the Night-Shift Nation 🌙
Signal Lynx builds tools and templates that help traders move from:
“I have an indicator” → “I have a structured, automatable strategy with real risk management.”
This Superior-Range Bound Renko – Alerts Edition is the automation-focused companion to the Strategy Edition. It’s designed for:
Traders who backtest with the Strategy version
Then deploy live signals with this Alerts version via webhooks or bots
While relying on the same non-repainting, RM-driven logic
We release this code under the Mozilla Public License 2.0 (MPL-2.0) to support the Pine community with:
Transparent, inspectable logic
A reusable Risk Management template
A reference implementation of advanced adaptive logic + alerts
If you are exploring full-stack automation (PulseWire → Webhooks → Exchange / VPS), keep Signal Lynx in your search.
License: Mozilla Public License 2.0 (Open Source).
If you build improvements or helpful variants, please consider sharing them back with the community. Indicator

Superior-Range Bound Renko - Strategy - 11-29-25 - SignalLynxSuperior-Range Bound Renko Strategy with Advanced Risk Management Template
Signal Lynx | Free Scripts supporting Automation for the Night-Shift Nation 🌙
1. Overview
Welcome to Superior-Range Bound Renko (RBR) — a volatility-aware, structure-respecting swing-trading system built on top of a full Risk Management (RM) Template from Signal Lynx.
Instead of relying on static lookbacks (like “14-period RSI”) or plain MA crosses, Superior RBR:
Adapts its range definition to market volatility in real time
Emulates Renko Bricks on a standard, time-based chart (no Renko chart type required)
Uses a stack of Laguerre Filters to detect genuine impulse vs. noise
Adds an Adaptive SuperTrend powered by a small k-means-style clustering routine on volatility
Under the hood, this script also includes the full Signal Lynx Risk Management Engine:
A state machine that separates “Signal” from “Execution”
Layered exit tools: Stop Loss, Trailing Stop, Staged Take Profit, Advanced Adaptive Trailing Stop (AATS), and an RSI-style stop (RSIS)
Designed for non-repainting behavior on closed candles by basing execution-critical logic on previous-bar data
We are publishing this as an open-source template so traders and developers can leverage a professional-grade RM engine while integrating their own signal logic if they wish.
2. Quick Action Guide (TL;DR)
Best Timeframe:
4 Hours (H4) and above. This is a high-conviction swing-trading system, not a scalper.
Best Assets:
Volatile instruments that still respect market structure:
Bitcoin, Ethereum, Gold (XAUUSD), high-volatility Forex pairs (e.g., GBPJPY), indices with clean ranges.
Strategy Type:
Volatility-Adaptive Trend Following + Impulse Detection.
It hunts for genuine expansion out of ranges, not tiny mean-reversion nibbles.
Key Feature:
Renko Emulation on time-based candles.
We mathematically model Renko Bricks and overlay them on your standard chart to define:
“Equilibrium” zones (inside the brick structure)
“Breakout / impulse” zones (when price AND the impulse line depart from the bricks)
Repainting:
Designed to be non-repainting on closed candles.
All RM execution logic uses confirmed historical data (no future bars, no security() lookahead). Intrabar flicker during formation is allowed, but once a bar closes the engine’s decisions are stable.
Core Toggles & Filters:
Enable Longs and Shorts independently
Optional Weekend filter (block trades on Saturday/Sunday)
Per-module toggles: Stop Loss, Trailing Stop, Staged Take Profits, AATS, RSIS
3. Detailed Report: How It Works
A. The Strategy Logic: Superior RBR
Superior RBR builds its entry signal from multiple mathematical layers working together.
1) Adaptive Lookback (Volatility Normalization)
Instead of a fixed 100-bar or 200-bar range, the script:
Computes ATR-based volatility over a user-defined period.
Normalizes that volatility relative to its recent min/max.
Maps the normalized value into a dynamic lookback window between a minimum and maximum (e.g., 4 to 100 bars).
High Volatility:
The lookback shrinks, so the system reacts faster to explosive moves.
Low Volatility:
The lookback expands, so the system sees a “bigger picture” and filters out chop.
All the core “Range High/Low” and “Range Close High/Low” boundaries are built on top of this adaptive window.
2) Range Construction & Quick Ranges
The engine constructs several nested ranges:
Outer Range:
rangeHighFinal – dynamic highest high
rangeLowFinal – dynamic lowest low
Inner Close Range:
rangeCloseHighFinal – highest close
rangeCloseLowFinal – lowest close
Quick Ranges:
“Half-length” variants of those, used to detect more responsive changes in structure and volatility.
These ranges define:
The macro box price is trading inside
Shorter-term “pressure zones” where price is coiling before expansion
3) Renko Emulation (The Bricks)
Rather than using the Renko chart type (which discards time), this script emulates Renko behavior on your normal candles:
A “brick size” is defined either:
As a standard percentage move, or
As a volatility-driven (ATR) brick, optionally inhibited by a minimum standard size
The engine tracks a base value and derives:
brickUpper – top of the emulated brick
brickLower – bottom of the emulated brick
When price moves sufficiently beyond those levels, the brick “shifts”, and the directional memory (renkoDir) updates:
renkoDir = +2 when bricks are advancing upward
renkoDir = -2 when bricks are stepping downward
You can think of this as a synthetic Renko tape overlaid on time-based candles:
Inside the brick: equilibrium / consolidation
Breaking away from the brick: momentum / expansion
4) Impulse Tracking with Laguerre Filters
The script uses multiple Laguerre Filters to smooth price and brick-derived data without traditional lag.
Key filters include:
LagF_1 / LagF_W: Based on brick upper/lower baselines
LagF_Q: Based on HLCC4 (high + low + 2×close)/4
LagF_Y / LagF_P: Complex averages combining brick structures and range averages
LagF_V (Primary Impulse Line):
A smooth, high-level impulse line derived from a blend of the above plus the outer ranges
Conceptually:
When the impulse line pushes away from the brick structure and continues in one direction, an impulse move is underway.
When its direction flips and begins to roll over, the impulse is fading, hinting at mean reversion back into the range.
5) Fib-Based Structure & Swaps
The system also layers in Fib levels derived from the adaptive ranges:
Standard levels (12%, 23.6%, 38.2%, 50%, 61%, 76.8%, 88%) from the main range
A secondary “swap” set derived from close-range dynamics (fib12Swap, fib23Swap, etc.)
These Fibs are used to:
Bucket price into structural zones (below 12, between 23–38, etc.)
Detect breakouts when price and Laguerre move beyond key Fib thresholds
Drive zSwap logic (where a secondary Fib set becomes the active structure once certain conditions are met)
6) Adaptive SuperTrend with K-Means-Style Volatility Clustering
Under the hood, the script uses a small k-means-style clustering routine on ATR:
ATR is measured over a fixed period
The range of ATR values is split into Low, Medium, High volatility centroids
Current ATR is assigned to the nearest centroid (cluster)
From that, a SuperTrend variant (STK) is computed with dynamic sensitivity:
In quiet markets, SuperTrend can afford to be tighter
In wild markets, it widens appropriately to avoid constant whipsaw
This SuperTrend-based oscillator (LagF_K and its signals) is then combined with the brick and Laguerre stack to confirm valid trend regimes.
7) Final Baseline Signals (+2 / -2)
The “brain” of Superior RBR lives in the Baseline & Signal Generation block:
Two composite signals are built: B1 and B2:
They combine:
Fib breakouts
Renko direction (renkoDir)
Expansion direction (expansionQuickDir)
Multiple Laguerre alignments (LagF_Q, LagF_W, LagF_Y, LagF_Z, LagF_P, LagF_V)
They also factor in whether Fib structures are expanding or contracting.
A user toggle selects the “Baseline” signal:
finalSig = B2 (default) or B1 (alternate baseline)
finalSig is then filtered through the RM state machine and only when everything aligns, we emit:
+2 = Long / Buy signal
-2 = Short / Sell signal
0 = No new trade
Those +2 / -2 values are what feed the Risk Management Engine.
B. The Risk Management (RM) Engine
This script features the Signal Lynx Risk Management Engine, a proprietary state machine built to separate Signal from Execution.
Instead of firing orders directly on indicator conditions, we:
Convert the raw signal into a clean integer (Fin = +2 / -2 / 0)
Feed it into a Trade State Machine that understands:
Are we flat?
Are we in a long or short?
Are we in a closing sequence?
Should we permit re-entry now or wait?
Logic Injection / Template Concept:
The RM engine expects a simple integer:
+2 → Buy
-2 → Sell
Everything else (0) is “no new trade”
This makes the script a template:
You can remove the Superior RBR block
Drop in your own logic (RSI, MACD, price action, etc.)
As long as you output +2 or -2 into the same signal channel, the RM engine can drive all exits and state transitions.
Aggressive vs Conservative Modes:
The input AgressiveRM (Aggressive RM) governs how we interpret signals:
Conservative Mode (Aggressive RM = false):
Uses a more filtered internal signal (AF) to open trades
Effectively waits for a clean trend flip / confirmation before new entries
Minimizes whipsaw at the cost of fewer trades
Aggressive Mode (Aggressive RM = true):
Reacts directly to the fresh alert (AO) pulses
Allows faster re-entries in the same direction after RM-based exits
Still respects your pyramiding setting; this script ships with pyramiding = 0 by default, so it will not stack multiple positions unless you change that parameter in the strategy() call.
The state machine enforces discipline on top of your signal logic, reducing double-fires and signal spam.
C. Advanced Exit Protocols (Layered Defense)
The exit side is where this template really shines. Instead of a single “take profit or stop loss,” it uses multiple, cooperating layers.
1) Hard Stop Loss
A classic percentage-based Stop Loss (SL) relative to the entry price.
Acts as a final “catastrophic protection” layer for unexpected moves.
2) Standard Trailing Stop
A percentage-based Trailing Stop (TS) that:
Activates only after price has moved a certain percentage in your favor (tsActivation)
Then trails price by a configurable percentage (ts)
This is a straightforward, battle-tested trailing mechanism.
3) Staged Take Profits (Three Levels)
The script supports three staged Take Profit levels (TP1, TP2, TP3):
Each stage has:
Activation percentage (how far price must move in your favor)
Trailing amount for that stage
Position percentage to close
Example setup:
TP1:
Activate at +10%
Trailing 5%
Close 10% of the position
TP2:
Activate at +20%
Trailing 10%
Close another 10%
TP3:
Activate at +30%
Trailing 5%
Close the remaining 80% (“runner”)
You can tailor these quantities for partial scaling out vs. letting a core position ride.
4) Advanced Adaptive Trailing Stop (AATS)
AATS is a sophisticated volatility- and structure-aware stop:
Uses Hirashima Sugita style levels (HSRS) to model “floors” and “ceilings” of price:
Dungeon → Lower floors → Mid → Upper floors → Penthouse
These levels classify where current price sits within a long-term distribution.
Combines HSRS with Bollinger-style envelopes and EMAs to determine:
Is price extended far into the upper structure?
Is it compressed near the lower ranges?
From this, it computes an adaptive factor that controls how tight or loose the trailing level (aATS / bATS) should be:
High Volatility / Penthouse areas:
Stop loosens to avoid getting wicked out by inevitable spikes.
Low Volatility / compressed structure:
Stop tightens to lock in and protect profit.
AATS is designed to be the “smart last line” that responds to context instead of a single fixed percentage.
5) RSI-Style Stop (RSIS)
On top of AATS, the script includes a RSI-like regime filter:
A McGinley Dynamic mean of price plus ATR bands creates a dynamic channel.
Crosses above the top band and below the lower band change a directional state.
When enabled (UseRSIS):
RSIS can confirm or veto AATS closes:
For longs: A shift to bearish RSIS can force exits sooner.
For shorts: A shift to bullish RSIS can do the same.
This extra layer helps avoid over-reactive stops in strong trends while still respecting a regime change when it happens.
D. Repainting Protection
Many strategies look incredible in the Strategy Tester but fail in live trading because they rely on intrabar values or future-knowledge functions.
This template is built with closed-candle realism in mind:
The Risk Management logic explicitly uses previous bar data (open , high , low , close ) for the key decisions on:
Trailing stop updates
TP triggers
SL hits
RM state transitions
No security() lookahead or future-bar access is used.
This means:
Backtest behavior is designed to match what you can actually get with PulseWire alerts and live automation.
Signals may “flicker” intrabar while the candle is forming (as with any strategy), but on closed candles, the RM decisions are stable and non-repainting.
4. For Developers & Modders
We strongly encourage you to mod this script.
To plug your own strategy into the RM engine:
Look for the section titled:
// BASELINE & SIGNAL GENERATION
You will see composite logic building B1 and B2, and then selecting:
baseSig = B2
altSig = B1
finalSig = sigSwap ? baseSig : altSig
You can replace the content used to generate baseSig / altSig with your own logic, for example:
RSI crosses
MACD histogram flips
Candle pattern detectors
External condition flags
Requirements are simple:
Your final logic must output:
2 → Buy signal
-2 → Sell signal
0 → No new trade
That output flows into the RM engine via finalSig → AlertOpen → state machine → Fin.
Once you wire your signals into finalSig, the entire Risk Management system (Stops, TPs, AATS, RSIS, re-entry logic, weekend filters, long/short toggles) becomes available for your custom strategy without re-inventing the wheel.
This makes Superior RBR not just a strategy, but a reference architecture for serious Pine dev work.
5. About Signal Lynx
Automation for the Night-Shift Nation 🌙
Signal Lynx focuses on helping traders and developers bridge the gap between indicator logic and real-world automation. The same RM engine you see here powers multiple internal systems and templates, including other public scripts like the Super-AO Strategy with Advanced Risk Management.
We provide this code open source under the Mozilla Public License 2.0 (MPL-2.0) to:
Demonstrate how Adaptive Logic and structured Risk Management can outperform static, one-layer indicators
Give Pine Script users a battle-tested RM backbone they can reuse, remix, and extend
If you are looking to automate your PulseWire strategies, route signals to exchanges, or simply want safer, smarter strategy structures, please keep Signal Lynx in your search.
License: Mozilla Public License 2.0 (Open Source).
If you make beneficial modifications, please consider releasing them back to the community so everyone can benefit. Strategy

[Kpt-Ahab] Poor Mans Orderflow SimulatorScript Description – Poor Mans Orderflow Simulator
Purpose of the Script
This script simulates a simplified order flow approach ("Poor Man's Orderflow") without access to actual Bid/Ask data. The goal is to detect, quantify, and visualize patterns such as absorption, impulsive moves, and structured re-entry behaviors.
Calculation Logic
Absorption Candles
A candle is classified as "absorption" if:
The ratio of body size to full candle range is below a defined threshold,
Volume is significantly higher than the average of the last N periods,
The candle direction is negative (for long absorption) or positive (for short absorption).
These conditions define a candle with high activity but minimal price movement in the respective direction.
Impulse Candles
A candle is classified as "impulse" if:
The body-to-range ratio is high (indicating a strong directional move),
Volume exceeds the average significantly,
The price closes in the direction of the candle body (bullish or bearish).
Additionally, the average range of previous candles serves as a minimum benchmark for the impulse.
Cluster Detection
A cluster is detected when:
A minimum number of absorption candles is counted within a defined lookback period,
Either the long or short version of the absorption logic is used,
The result is a binary condition: cluster active or inactive.
Entry Signals (Re-entry)
An entry signal is generated when:
One or more absorption candles occurred in the last two bars,
A pullback against the direction of absorption occurs,
The current candle shows a directional move confirmed by a close in the expected direction.
These re-entry signals are evaluated separately for long and short scenarios.
Cluster-Confirmed Signals
A separate signal is generated when a valid re-entry setup occurs while a cluster is active. This represents a combined logic condition.
Alert Logic
The script provides a multi-layer alert framework:
Signal selection (Alertmode):
The user defines which signal type should trigger an alert (e.g. re-entry only, cluster only, combination, or impulse).
Optional filter (Filtermode):
A secondary filter limits alerts to cases where an additional condition (e.g. absorption cluster) is active.
Signal output:
As a simple binary value (+1 / –1) for classic alerts,
Or via an encoded Multibit signal, compatible with other modules in the djmad ecosystem.
These alerts are intended for integration with external systems or for use within platform-native visual or automation features. Indicator

Impulse Zones | Flux Charts💎 GENERAL OVERVIEW
Introducing our new Impulse Zones indicator, a powerful tool designed to identify significant price movements accompanied by strong volume, highlighting potential areas of support and resistance. These Impulse Zones can offer valuable insights into market momentum and potential reversal or continuation points. For more information about the process, please check the "HOW DOES IT WORK ?" section.
Impulse Zones Features :
Dynamic Zone Creation : Automatically identifies and plots potential supply and demand zones based on significant price impulses and volume spikes.
Customizable Settings : Allows you to adjust the sensitivity of zone detection based on your trading style and market conditions.
Retests and Breakouts : Clearly marks instances where price retests or breaks through established Impulse Zones, providing potential entry or exit signals.
Alerts : You can set alerts for Bullish & Bearish Impulse Zone detection and their retests.
🚩 UNIQUENESS
Our Impulse Zones indicator stands out by combining both price action (impulsive moves) and volume confirmation to define significant zones. Unlike simple support and resistance indicators, it emphasizes the strength behind price movements, potentially filtering out less significant levels. The inclusion of retest and breakout visuals directly on the chart provides immediate context for potential trading opportunities. The user can also set up alerts for freshly detected Impulse Zones & the retests of them.
📌 HOW DOES IT WORK ?
The indicator identifies bars where the price range (high - low) is significantly larger than the average true range (ATR), indicating a strong price movement. The Size Sensitivity input allows you to control how large this impulse needs to be relative to the ATR.
Simultaneously, it checks if the volume on the impulse bar is significantly higher than the average volume. The Volume Sensitivity input governs this threshold.
When both the price impulse and volume confirmation criteria are met, an Impulse Zone is created in the corresponding direction. The high and low of the impulse bar define the initial boundaries of the zone. Zones are extended forward in time to remain relevant. The indicator manages the number of active zones to maintain chart clarity and can remove zones that haven't been touched for a specified period. The indicator monitors price action within and around established zones.
A retest is identified when the price touches a zone and then moves away. A break occurs when the price closes beyond the invalidation point of a zone. Keep in mind that if "Show Historic Zones" setting is disabled, you will not see break labels as their zones will be removed from the chart.
The detection of Impulse Zones are immediate signs of significant buying or selling pressure entering the market. These zones represent areas where a strong imbalance between buyers and sellers has led to a rapid price movement accompanied by high volume. Bullish Impulse Zones act as a possible future support zone, and Bearish Impulse Zones act as a possible future resistance zone. Retests of the zones suggest a strong potential movement in the corresponding direction.
⚙️ SETTINGS
1. General Configuration
Show Historic Zones: If enabled, invalidated or expired Impulse Zones will remain visible on the chart.
2. Impulse Zones
Invalidation Method: Determines which part of the candle (Wick or Close) is used to invalidate a zone break.
Size Sensitivity: Controls the required size of the impulse bar relative to the ATR for a zone to be detected. Higher values may identify fewer, larger zones. Lower values may detect more, smaller zones.
Volume Sensitivity: Controls the required volume of the impulse bar relative to the average volume for a zone to be detected. Higher values require more significant volume.
Labels: Toggles the display of "IZ" labels on the identified zones.
Retests: Enables the visual highlighting of retests on the zones.
Breaks: Enables the visual highlighting of zone breaks.
Indicator

Machine Learning RSI ║ BullVisionOverview:
Introducing the Machine Learning RSI with KNN Adaptation – a cutting-edge momentum indicator that blends the classic Relative Strength Index (RSI) with machine learning principles. By leveraging K-Nearest Neighbors (KNN), this indicator aims at identifying historical patterns that resemble current market behavior and uses this context to refine RSI readings with enhanced sensitivity and responsiveness.
Unlike traditional RSI models, which treat every market environment the same, this version adapts in real-time based on how similar past conditions evolved, offering an analytical edge without relying on predictive assumptions.
Key Features:
🔁 KNN-Based RSI Refinement
This indicator uses a machine learning algorithm (K-Nearest Neighbors) to compare current RSI and price action characteristics to similar historical conditions. The resulting RSI is weighted accordingly, producing a dynamically adjusted value that reflects historical context.
📈 Multi-Feature Similarity Analysis
Pattern similarity is calculated using up to five customizable features:
RSI level
RSI momentum
Volatility
Linear regression slope
Price momentum
Users can adjust how many features are used to tailor the behavior of the KNN logic.
🧠 Machine Learning Weight Control
The influence of the machine learning model on the final RSI output can be fine-tuned using a simple slider. This lets you blend traditional RSI and machine learning-enhanced RSI to suit your preferred level of adaptation.
🎛️ Adaptive Filtering
Additional smoothing options (Kalman Filter, ALMA, Double EMA) can be applied to the RSI, offering better visual clarity and helping to reduce noise in high-frequency environments.
🎨 Visual & Accessibility Settings
Custom color palettes, including support for color vision deficiencies, ensure that trend coloring remains readable for all users. A built-in neon mode adds high-contrast visuals to improve RSI visibility across dark or light themes.
How It Works:
Similarity Matching with KNN:
At each candle, the current RSI and optional market characteristics are compared to historical bars using a KNN search. The algorithm selects the closest matches and averages their RSI values, weighted by similarity. The more similar the pattern, the greater its influence.
Feature-Based Weighting:
Similarity is determined using normalized values of the selected features, which gives a more refined result than RSI alone. You can choose to use only 1 (RSI) or up to all 5 features for deeper analysis.
Filtering & Blending:
After the machine learning-enhanced RSI is calculated, it can be optionally smoothed using advanced filters to suppress short-term noise or sharp spikes. This makes it easier to evaluate RSI signals in different volatility regimes.
Parameters Explained:
📊 RSI Settings:
Set the base RSI length and select your preferred smoothing method from 10+ moving average types (e.g., EMA, ALMA, TEMA).
🧠 Machine Learning Controls:
Enable or disable the KNN engine
Select how many nearest neighbors to compare (K)
Choose the number of features used in similarity detection
Control how much the machine learning engine affects the RSI calculation
🔍 Filtering Options:
Enable one of several advanced smoothing techniques (Kalman Filter, ALMA, Double EMA) to adjust the indicator’s reactivity and stability.
📏 Threshold Levels:
Define static overbought/oversold boundaries or reference dynamically adjusted thresholds based on historical context identified by the KNN algorithm.
🎨 Visual Enhancements:
Select between trend-following or impulse coloring styles. Customize color palettes to accommodate different types of color blindness. Enable neon-style effects for visual clarity.
Use Cases:
Swing & Trend Traders
Can use the indicator to explore how current RSI readings compare to similar market phases, helping to assess trend strength or potential turning points.
Intraday Traders
Benefit from adjustable filters and fast-reacting smoothing to reduce noise in shorter timeframes while retaining contextual relevance.
Discretionary Analysts
Use the adaptive OB/OS thresholds and visual cues to supplement broader confluence zones or market structure analysis.
Customization Tips:
Higher Volatility Periods: Use more neighbors and enable filtering to reduce noise.
Lower Volatility Markets: Use fewer features and disable filtering for quicker RSI adaptation.
Deeper Contextual Analysis: Increase KNN lookback and raise the feature count to refine pattern recognition.
Accessibility Needs: Switch to Deuteranopia or Monochrome mode for clearer visuals in specific color vision conditions.
Final Thoughts:
The Machine Learning RSI combines familiar momentum logic with statistical context derived from historical similarity analysis. It does not attempt to predict price action but rather contextualizes RSI behavior with added nuance. This makes it a valuable tool for those looking to elevate traditional RSI workflows with adaptive, research-driven enhancements. Indicator

Engulfing Pattern & Impulse [UAlgo]The Engulfing Pattern & Impulse is a tool designed for technical traders who utilize price action and volume analysis to assess market trends and potential reversals. This indicator identifies two powerful trading signals: Engulfing Patterns and Volume Impulses, which are essential components for evaluating potential bullish or bearish market momentum.
Engulfing Patterns are classic candlestick formations often associated with reversals or trend continuations, depending on the overall trend context. This indicator highlights both bullish and bearish engulfing patterns based on configurable criteria such as trend detection settings, comparison with average body size, and a customizable body multiplier for validation. The Volume Impulse feature signals moments of significant volume compared to historical levels, which often precede substantial price movements. Together, these features provide traders with a versatile tool for better timing entry and exit points.
The indicator also offers an adaptive trend detection system, allowing traders to choose from multiple methods (e.g., SMA50 or SMA50/SMA200 combinations) to assess the trend context, making it ideal for various market conditions.
🔶Key Features
Engulfing Pattern Detection: Identifies bullish and bearish engulfing patterns with customizable parameters, including body length and average size comparison.
Configurable trend basis: Choose between SMA50 or SMA50 with SMA200 to define trend direction.
Body size multiplier: Adjust the size threshold for valid engulfing patterns, providing flexibility based on market conditions.
Volume Impulse Signal: Highlights volume spikes that meet or exceed a specified multiplier, which can indicate increased buying or selling interest.
Customizable volume period and multiplier: Allows you to tailor the volume impulse detection based on the instrument’s average volume behavior.
Trend Detection Options: Select different trend detection methods to suit various trading styles and instruments.
SMA50-based detection: Classifies the trend based on the position of price relative to the 50-period SMA.
SMA50 and SMA200 combination: Incorporates a dual-moving average approach, classifying trends based on the relationship between price, SMA50, and SMA200.
Enhanced Visualization: Distinguishes bullish and bearish signals with customizable colors, providing clear and immediate visual cues for easy interpretation.
Custom label colors: Allows you to set distinct colors for bullish, bearish, and neutral signals for quick identification.
Pattern filtering: Enable or disable specific patterns (Bullish, Bearish, or Both) based on your trading preferences.
🔶 Interpreting Indicator
Bullish Engulfing Pattern: Indicates a potential bullish reversal in a downtrend. This signal occurs when a white candlestick with a body size exceeding a specified multiplier completely engulfs the previous black candlestick. The pattern will display a “BE” label below the candle if it meets the criteria, signaling potential upward momentum.
Bearish Engulfing Pattern: Indicates a potential bearish reversal in an uptrend. A black candlestick with a body size exceeding the specified multiplier fully engulfs the previous white candlestick, signaling possible downward movement. The “BE” label appears above the candle to denote this pattern.
Volume Impulse Up: Displays a “VI” label below the candle when the volume surpasses the defined multiplier, and the price closes higher than it opened, indicating strong upward buying interest.
Volume Impulse Down: Displays a “VI” label above the candle when the volume meets or exceeds the specified threshold, and the price closes lower than it opened, signaling strong selling pressure.
Indicator uses the SMA50 and SMA200 to determine trend direction due to their popularity in technical analysis as indicators of medium- and long-term trends. The SMA50 reflects the average price over the past 50 periods, providing insight into intermediate trends, while the SMA200 is often used to identify the broader trend direction. These SMAs help traders quickly assess whether the market is in an uptrend, downtrend, or consolidation phase, enhancing decision-making for both short-term and long-term strategies.
🔶 Disclaimer
Use with Caution: This indicator is provided for educational and informational purposes only and should not be considered as financial advice. Users should exercise caution and perform their own analysis before making trading decisions based on the indicator's signals.
Not Financial Advice: The information provided by this indicator does not constitute financial advice, and the creator (UAlgo) shall not be held responsible for any trading losses incurred as a result of using this indicator.
Backtesting Recommended: Traders are encouraged to backtest the indicator thoroughly on historical data before using it in live trading to assess its performance and suitability for their trading strategies.
Risk Management: Trading involves inherent risks, and users should implement proper risk management strategies, including but not limited to stop-loss orders and position sizing, to mitigate potential losses.
No Guarantees: The accuracy and reliability of the indicator's signals cannot be guaranteed, as they are based on historical price data and past performance may not be indicative of future results. Indicator

Candle Patterns with Volume ValidationHey Guys !
█ This indicator shows validated Hammer and Shooting Star candle patterns based on volume.
This indicator identifies Hammer and Shooting Star patterns and validates them using volume analysis.
Hammer and Shooting Star patterns are candlestick patterns that signal potential reversals in the market.
█ Usages:
A hammer is formed when in a session, the price has fallen, only to reverse and recover to close back near the opening price. This is a sign of strength with the selling having been absorbed in sufficient strength for the buyers to overwhelm the sellers, allowing the market to recover. The hammer is so called as it is ‘hammering out a bottom’, and just like the shooting star, is immensely powerful when combined with Volume Price Analysis (VPA).
The shooting star is a bearish reversal pattern that appears at the top of uptrends. It signifies that prices have peaked and a downward reversal is likely. The presence of high volume strengthens this signal, indicating that the insiders are offloading their positions.
When combined with volume analysis, these patterns become powerful signals. The volume provides context to the price action, helping traders confirm the validity of the pattern. For example, a hammer with high volume suggests strong buying interest, whereas a shooting star with high volume indicates strong selling pressure.
█ Features:
• Detects Hammer and Shooting Star patterns.
• Validates patterns with volume thresholds.
• Color codes patterns based on volume validation.
• Allows customization of volume thresholds and pattern criteria.
• Option to show or hide signals.
█ Parameters:
• Volume Average Period: The period used to calculate the average volume.
• Higher Volume Multiplier: Multiplier to define higher volume threshold.
• Much Higher Volume Multiplier: Multiplier to define much higher volume threshold.
• Enormous Volume Multiplier: Multiplier to define enormous volume threshold.
• Body/Shadow Ratio for Hammer and Shooting Star: Ratio of body to shadow for pattern validation.
• Upper Shadow Limit for Hammer: Upper shadow limit for Hammer pattern.
• Lower Shadow Limit for Shooting Star: Lower shadow limit for Shooting Star pattern.
• Show Hammer Signals: Display signals for Hammer patterns.
• Show Shooting Star Signals: Display signals for Shooting Star patterns.
Enjoy ! Indicator

Impulse MACD buy OwlPixelDescription:
The Impulse MACD Buy Indicator, developed by OwlPixel, is a powerful trading tool for traders using PulseWire's Pine Script version 5. This indicator aims to provide valuable insights for identifying potential buy signals in the market using the popular MACD (Moving Average Convergence Divergence) oscillator.
Key Features:
MACD Analysis: The indicator displays the MACD line (blue) and the signal line (orange) on the chart, helping traders assess the momentum and trend direction of an asset.
Impulse Histo: The Impulse Histo (blue histogram) visualizes the difference between the MACD line and the signal line, making it easier to spot changes in market strength and potential trend reversals.
Impulse MACD CD Signal: This histogram (maroon color) highlights the divergence between the Impulse Histo and the signal line, providing further insights into trend shifts.
Background Boxes: The indicator features three rows of different colored background boxes that represent distinct market conditions - an uptrend (light green), a downtrend (light red), and a neutral trend (light yellow).
Crossover Points: Buy signals are marked with green circles when the MACD line crosses above the signal line, suggesting potential entry points for long positions.
Demand and Supply Bars: The demand (lime/green) and supply (red/orange) bars are intensified, aiding traders in identifying possible reversal areas.
Stop Loss and Take Profit:
The Impulse MACD Buy Indicator automatically calculates Stop Loss (SL) and Take Profit (TP) levels for buy signals. The SL level is set at the highest of the last three candles, while the TP level is determined by a user-defined percentage of the closing price. This information helps traders manage risk and optimize their profit potential.
Usage:
Apply the Impulse MACD Buy Indicator to your PulseWire chart by copying the provided Pine Script into the Pine Editor.
Configure the input parameters, such as the MA Length and Signal Length, to suit your trading preferences.
Observe the MACD line, signal line, and histograms to gain insights into market momentum and trends.
Identify buy signals when the MACD line crosses above the signal line, signaled by green circles.
Utilize the provided Stop Loss and Take Profit levels for risk management and exit strategies.
Please note that this indicator is for informational purposes only and should be used in conjunction with other analysis techniques to make well-informed trading decisions. Happy trading! Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Consolidation Ranges [kingthies] Consolidation Range Analysis
Published by Eric Thies, January 2021
█ Indicator Summary
This tool calculates, analyzes and plots the visualization of a relative range over a given period of time
By adding to charts, users are enabled to see the impulsive nature of market cycles, along with their efforts to consolidate thereafter
The default period is 30, and should be adjusted to users preference
The default input is the current close price, on the chosen timeframe of the chart
█ Script Source
//
//@version=4
//© kingthies || This source code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
study("Consolidation Ranges ", shorttitle="CR ", overlay=true)
// !<------ User Inputs ----->
src = input(close, title='Range Input (Default set to Close'), lengthEMA=input(30,title='Length'),zoneToggle = input(true, title="Toggle Zone Highlights"), iCol = color.new(#FFFFFF, 100),
// !<---- Declarations & Calculations ---- >
trndUp = float(na),trndDwn = float(na), mid = float(na), e = ema(src, lengthEMA)
trndUp := src < nz(trndUp ) and src > trndDwn ? nz(trndUp ) : high, trndDwn := src < nz(trndUp ) and src > trndDwn ? nz(trndDwn ) : low, mid := avg(trndUp, trndDwn)
// !< ---- Plotting ----->
highRange = plot(trndUp == nz(trndUp ) ? trndUp : na, color=color.white, linewidth=2, style=plot.style_linebr, title="Top of Period Range")
lowRange = plot(trndDwn == nz(trndDwn ) ? trndDwn : na, color=color.white, linewidth=2, style=plot.style_linebr, title="Bottom of Period Range")
xzone = plot(zoneToggle ? src > e ? trndDwn : trndUp : na, color=iCol, style=plot.style_circles, linewidth=0, editable=false)
fill(highRange, xzone, color=color.lime,transp=70), fill(xzone, lowRange, color=color.red,transp=70)
//
Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator
