Enhanced Price Direction Predictor📊 Core Mechanism: Rule-Based Scoring:
The indicator relies on a simplified scoring model where it checks for nine specific conditions on the bullish side and nine corresponding conditions on the bearish side.
Bullish/Bearish Score Calculation:The script initializes bullish_score and bearish_score to $0.0$.It then checks a predefined list of features (e.g., $5$-period Rate of Change, $5/20$ EMA crossover, RSI level, Order Flow direction) and adds a fixed point value (weight) to the appropriate score if the condition is met.
Overbought/Oversold Penalty:It includes a built-in risk-management element by applying a $-0.10$ penalty if the RSI is in extreme territory:RSI(14) $>$ 70 (Overbought) $\rightarrow$ Penalty to bullish_score.RSI(14) $<$ 30 (Oversold) $\rightarrow$ Penalty to bearish_score.
Probability Conversion:The probability_up is calculated by taking the ratio of the bullish_score to the total_score (sum of bullish and bearish scores):$$\text{Probability\_Up} = \frac{\text{Bullish\_Score}}{\text{Bullish\_Score} + \text{Bearish\_Score}}$ MIL:IF the total_score is zero (i.e., no strong conditions are met), the probability defaults to $0.5$ (neutral).
Breadth Indicators
⚡ Zero-Lag 60s Binary Predictor🧠 Core Anti-Lag Philosophy
The indicator's primary goal is to overcome the inherent lag of traditional indicators like the Simple Moving Average (SMA) or standard Relative Strength Index (RSI). It achieves this by focusing on:
Leading Indicators: Using derivatives of price/momentum (like acceleration and jerk—the second and third derivatives of price) to predict turns before the price action is clear.
Instantaneous Metrics: Using short lookback periods (e.g., ta.change(close, 1) or fastLength = 5) and heavily weighting the most recent data (e.g., in instMomentum).
Market Microstructure: Incorporating metrics like Tick Pressure and Order Flow Imbalance (OFI), which attempt to measure internal bar dynamics and buying/selling aggression.
Zero-Lag Techniques: Specifically, the Ehlers Zero Lag EMA, which is mathematically constructed to eliminate phase lag by predicting where the price will be rather than where it was.
MAHAR K Stochastic IndicatorWhat It Does
%K line calculates fast stochastic of _src over length, then re-smoothed twice: sk (smoothK), %D (smoothD), and slower %F (smoothF).
Plots the three lines, draws 80/50/20 bands, and highlights extreme values by drawing red circles when sk hits 100 and green when it hits 0.
Notable Details
sma_signal chooses the smoothing kernel (SMA, EMA, WMA, DEMA). ma() delegates to the selected function and contains a VWMA branch even though VWMA is not listed in the input options.
A custom dema() helper implements the classic double EMA.
stOBOS is always true, so the ternary wrappers around the circle plots can be simplified.
Risk / Edge Cases
If highestHigh == lowestLow (flat price over the window) the %K calculation divides by zero, yielding na. Consider guarding against that or defaulting to previous values.
To actually expose VWMA, add it to the input options; otherwise remove the dead code branch.
Next Steps
Decide whether to safeguard the denominator before plotting.
Align the smoothing options with the available choices and prune the redundant conditionals if desired.
EMA6 or SMA6 Touch AlertThis script monitors the market and notifies you whenever the price touches either the 6-period EMA or the 6-period SMA.
It helps identify potential pullbacks, reaction points, or entry zones, as price interaction with these moving averages often signals short-term market shifts.
What the script does:
Calculates the EMA 6 and SMA 6
Detects if price touches either moving average within the candle
Plots both lines on the chart for visibility
Allows you to set alerts to receive automatic notifications
Best suited for:
Scalping
Day Trading
Pullback Entries
Short-term trend reactions
ASTER Key Levels & Alerts (Improved)TradingView Script Description
Title: ASTER Key Levels & Alerts (Improved)
Description:
Enhance your trading strategy with the "ASTER Key Levels & Alerts" indicator, designed for precision and decision-making on the Aster chart (e.g., ASTS). This Pine Script v6 tool overlays customizable key levels and zones to identify optimal entry, exit, and stop-loss points, complete with real-time alerts.Key Features:
Customizable Levels: Adjust add zones (Light & Main), breakout, stop, and take-profit (TP1-TP3
Relative Volume (Multi-TF, D, W, M)Relative Volume (Multi-TF, Candle-Matched Colors)
This indicator measures Relative Volume (RVOL) — the ratio of current volume to average historical volume — across any higher timeframe (Daily, Weekly, or Monthly) and displays it as color-coded columns that match the candle colors of the chart you’re viewing.
RVOL reveals how active today’s market participation is compared to its typical rhythm.
RVOL = 1.0 → normal volume
>1.5 → rising interest
>2.0–3.0 → strong institutional participation
>5.0 → climax or exhaustion levels
Features
Works on any chart timeframe while computing RVOL from your chosen higher timeframe (e.g., show Daily RVOL while trading on a 5-minute chart).
Column colors automatically match your chart’s candle colors (green/red/neutral).
Adjustable lookback period (len) and selectable source timeframe (D, W, or M).
Pre-drawn horizontal guide levels at 1.0, 1.2, 1.5, 2, 3, and 5 for quick interpretation.
Compatible with all chart types, including Heikin Ashi or custom color schemes.
Typical Use
Swing trading:
Look for quiet bases where RVOL stays 0.4–0.9, then expansion ≥2 on breakout days.
Confirm follow-through when green days keep RVOL ≥1.2–1.5 and red pullbacks stay below 1.0.
Day trading:
Watch intraday RVOL (on 1–5m charts) for bursts ≥2 that sustain for several bars — this signals crowd engagement and valid momentum.
Interpretation Summary
RVOL Value Meaning Typical Action
0.4–0.9 Quiet base / low interest Watch for setup
1.0 Normal activity Neutral
1.2–1.5 Valid participation Early confirmation
2–3 Strong expansion Momentum / breakout
≥5 Climax / exhaustion Take profits or avoid new entries
Author’s note:
RVOL isn’t directional; it tells how many players are active, not who’s winning. Combine it with structure (levels, VWAP, or trend) to see when the market crowd truly commits.
PDH & PDL Levels This indicator mark previous day high and low lines on current day. Lines will start at opening of the market and will remain there till end of the day. Lines are marked with PDH and PDL labels
Fib Time Projections aFib Time Projections aFib Time Projections aFib Time Projections aFib Time Projections a
Liquidity & SMT Detector//@version=5
indicator("Liquidity & SMT Detector", overlay=true, max_lines_count=500, max_labels_count=500)
// ============================================
// INPUT SETTINGS
// ============================================
// Group 1: Liquidity Detection
swing_length = input.int(15, "Swing Length", minval=5, maxval=50, group="Liquidity Detection")
swing_strength = input.int(3, "Swing Strength (bars clear)", minval=1, maxval=10, group="Liquidity Detection")
max_lines = input.int(10, "Max Lines Displayed", minval=3, maxval=50, group="Liquidity Detection")
line_color_high = input.color(color.red, "High Line Color", group="Liquidity Detection")
line_color_low = input.color(color.green, "Low Line Color", group="Liquidity Detection")
line_width = input.int(2, "Line Width", minval=1, maxval=5, group="Liquidity Detection")
show_labels = input.bool(true, "Show H/L Labels", group="Liquidity Detection")
// Group 2: Displacement Detection
enable_displacement = input.bool(true, "Enable Displacement Detection", group="Displacement")
displacement_min_points = input.float(10.0, "Min Points Move", minval=1.0, maxval=100.0, step=1.0, group="Displacement")
displacement_multiplier = input.float(3.0, "Size Multiplier", minval=2.0, maxval=10.0, step=0.5, group="Displacement")
displacement_period = input.int(30, "Average Period", minval=10, maxval=100, group="Displacement")
displacement_color_bull = input.color(color.new(color.aqua, 70), "Bullish Color", group="Displacement")
displacement_color_bear = input.color(color.new(color.orange, 70), "Bearish Color", group="Displacement")
show_displacement_label = input.bool(true, "Show Labels", group="Displacement")
// Group 3: SMT Detection
enable_smt = input.bool(true, "Enable SMT Detection", group="SMT Divergence")
nq_symbol = input.string("NQ1!", "Nasdaq Symbol", group="SMT Divergence")
es_symbol = input.string("ES1!", "S&P500 Symbol", group="SMT Divergence")
smt_lookback = input.int(20, "Lookback Period", minval=5, maxval=100, group="SMT Divergence")
smt_line_color = input.color(color.yellow, "SMT Line Color", group="SMT Divergence")
smt_text_color = input.color(color.yellow, "SMT Text Color", group="SMT Divergence")
// Group 4: Consolidation Zone
enable_consolidation = input.bool(true, "Enable Consolidation Zone", group="Consolidation")
consol_lookback = input.int(10, "Lookback Period", minval=5, maxval=50, group="Consolidation")
consol_range_percent = input.float(0.5, "Max Range %", minval=0.1, maxval=2.0, step=0.1, group="Consolidation")
consol_vol_threshold = input.float(0.7, "Volume Threshold", minval=0.3, maxval=1.0, step=0.1, group="Consolidation")
consol_color = input.color(color.new(color.red, 85), "Zone Color", group="Consolidation")
// ============================================
// ARRAYS FOR LINE/LABEL MANAGEMENT
// ============================================
var line high_lines = array.new_line()
var line low_lines = array.new_line()
var label high_labels = array.new_label()
var label low_labels = array.new_label()
var float high_levels = array.new_float()
var float low_levels = array.new_float()
var line smt_lines = array.new_line()
var label smt_labels = array.new_label()
var float smt_nq_levels = array.new_float()
var float smt_es_levels = array.new_float()
var bool smt_nq_lower = array.new_bool()
// ============================================
// FUNCTION: DETECT SWING HIGHS (STRONGER)
// ============================================
isSwingHigh(len, strength) =>
is_pivot = true
pivot_high = high
for i = 1 to strength
if high >= pivot_high or high >= pivot_high
is_pivot := false
break
if is_pivot
for i = strength + 1 to len
if high > pivot_high or high > pivot_high
is_pivot := false
break
is_pivot
// ============================================
// FUNCTION: DETECT SWING LOWS (STRONGER)
// ============================================
isSwingLow(len, strength) =>
is_pivot = true
pivot_low = low
for i = 1 to strength
if low <= pivot_low or low <= pivot_low
is_pivot := false
break
if is_pivot
for i = strength + 1 to len
if low < pivot_low or low < pivot_low
is_pivot := false
break
is_pivot
// ============================================
// SWING HIGH DETECTION & LINE DRAWING
// ============================================
if isSwingHigh(swing_length, swing_strength)
swing_high = high
new_line = line.new(bar_index - swing_length, swing_high, bar_index, swing_high, color=line_color_high, width=line_width, style=line.style_dashed)
array.push(high_lines, new_line)
array.push(high_levels, swing_high)
if show_labels
new_label = label.new(bar_index - swing_length, swing_high, "H", color=color.new(line_color_high, 80), textcolor=line_color_high, style=label.style_label_down, size=size.small)
array.push(high_labels, new_label)
if array.size(high_lines) > max_lines
line.delete(array.shift(high_lines))
array.shift(high_levels)
if show_labels and array.size(high_labels) > 0
label.delete(array.shift(high_labels))
// ============================================
// SWING LOW DETECTION & LINE DRAWING
// ============================================
if isSwingLow(swing_length, swing_strength)
swing_low = low
new_line = line.new(bar_index - swing_length, swing_low, bar_index, swing_low, color=line_color_low, width=line_width, style=line.style_dashed)
array.push(low_lines, new_line)
array.push(low_levels, swing_low)
if show_labels
new_label = label.new(bar_index - swing_length, swing_low, "L", color=color.new(line_color_low, 80), textcolor=line_color_low, style=label.style_label_up, size=size.small)
array.push(low_labels, new_label)
if array.size(low_lines) > max_lines
line.delete(array.shift(low_lines))
array.shift(low_levels)
if show_labels and array.size(low_labels) > 0
label.delete(array.shift(low_labels))
// ============================================
// UPDATE EXISTING LINES & CHECK FOR SWEEPS
// ============================================
if array.size(high_lines) > 0
for i = array.size(high_lines) - 1 to 0
current_line = array.get(high_lines, i)
current_level = array.get(high_levels, i)
if close > current_level
line.delete(current_line)
array.remove(high_lines, i)
array.remove(high_levels, i)
if show_labels and i < array.size(high_labels)
label.delete(array.get(high_labels, i))
array.remove(high_labels, i)
else
line.set_x2(current_line, bar_index)
if array.size(low_lines) > 0
for i = array.size(low_lines) - 1 to 0
current_line = array.get(low_lines, i)
current_level = array.get(low_levels, i)
if close < current_level
line.delete(current_line)
array.remove(low_lines, i)
array.remove(low_levels, i)
if show_labels and i < array.size(low_labels)
label.delete(array.get(low_labels, i))
array.remove(low_labels, i)
else
line.set_x2(current_line, bar_index)
// ============================================
// DISPLACEMENT CANDLE DETECTION
// ============================================
body_size = math.abs(close - open)
avg_body = ta.sma(math.abs(close - open), displacement_period)
candle_range = high - low
points_moved = body_size
is_min_points = points_moved >= displacement_min_points
is_strong_body = body_size > (avg_body * displacement_multiplier)
is_impulsive = body_size > (candle_range * 0.6)
is_displacement = enable_displacement and is_min_points and is_strong_body and is_impulsive
is_bullish = close > open
if is_displacement and show_displacement_label
label.new(bar_index, low, "D", color=color.new(is_bullish ? color.aqua : color.orange, 30), textcolor=is_bullish ? color.aqua : color.orange, style=label.style_label_down, size=size.small, yloc=yloc.belowbar)
// ============================================
// CONSOLIDATION ZONE DETECTION
// ============================================
consol_highest = ta.highest(high, consol_lookback)
consol_lowest = ta.lowest(low, consol_lookback)
consol_range = consol_highest - consol_lowest
consol_range_pct = (consol_range / close) * 100
consol_avg_volume = ta.sma(volume, consol_lookback)
consol_current_vol = ta.sma(volume, math.min(consol_lookback, bar_index + 1))
consol_low_volume = consol_current_vol < (consol_avg_volume * consol_vol_threshold)
consol_body_sizes = array.new_float()
for i = 0 to math.min(consol_lookback - 1, bar_index)
array.push(consol_body_sizes, math.abs(close - open ))
consol_avg_body = array.avg(consol_body_sizes)
consol_overall_avg = ta.sma(math.abs(close - open), 50)
consol_small_candles = consol_avg_body < (consol_overall_avg * 0.7)
consol_tight_range = consol_range_pct <= consol_range_percent
is_consolidation = enable_consolidation and consol_tight_range and consol_low_volume and consol_small_candles
bgcolor(is_consolidation ? consol_color : na, title="Consolidation Zone")
// ============================================
// SMT DIVERGENCE DETECTION
// ============================================
current_symbol = syminfo.ticker
comparison_symbol = str.contains(current_symbol, "NQ") ? es_symbol : nq_symbol
comparison_high = request.security(comparison_symbol, timeframe.period, high, lookahead=barmerge.lookahead_off)
comparison_low = request.security(comparison_symbol, timeframe.period, low, lookahead=barmerge.lookahead_off)
var float prev_current_low = na
var float prev_comparison_low = na
var int prev_swing_bar = na
current_is_swing_low = isSwingLow(swing_length, swing_strength)
comparison_is_swing_low = ta.lowestbars(comparison_low, swing_length * 2 + 1) == -swing_length
if enable_smt and current_is_swing_low
current_swing_low = low
comparison_swing_low = comparison_low
if not na(prev_current_low) and not na(prev_comparison_low)
current_lower = current_swing_low < prev_current_low
comparison_lower = comparison_swing_low < prev_comparison_low
is_smt = (current_lower and not comparison_lower) or (not current_lower and comparison_lower)
if is_smt
smt_line = line.new(prev_swing_bar, prev_current_low, bar_index - swing_length, current_swing_low, color=smt_line_color, width=2, style=line.style_solid)
mid_bar = math.round((prev_swing_bar + bar_index - swing_length) / 2)
mid_price = (prev_current_low + current_swing_low) / 2
smt_label = label.new(mid_bar, mid_price, "SMT", color=color.new(smt_line_color, 80), textcolor=smt_text_color, style=label.style_label_center, size=size.normal)
array.push(smt_lines, smt_line)
array.push(smt_labels, smt_label)
array.push(smt_nq_levels, str.contains(current_symbol, "NQ") ? current_swing_low : comparison_swing_low)
array.push(smt_es_levels, str.contains(current_symbol, "NQ") ? comparison_swing_low : current_swing_low)
array.push(smt_nq_lower, str.contains(current_symbol, "NQ") ? current_lower : comparison_lower)
prev_current_low := current_swing_low
prev_comparison_low := comparison_swing_low
prev_swing_bar := bar_index - swing_length
if enable_smt and array.size(smt_lines) > 0
for i = array.size(smt_lines) - 1 to 0
nq_level = array.get(smt_nq_levels, i)
es_level = array.get(smt_es_levels, i)
nq_was_lower = array.get(smt_nq_lower, i)
current_nq_low = str.contains(current_symbol, "NQ") ? low : comparison_low
current_es_low = str.contains(current_symbol, "NQ") ? comparison_low : low
es_now_lower = current_es_low < es_level
nq_now_lower = current_nq_low < nq_level
smt_invalidated = (nq_was_lower and es_now_lower) or (not nq_was_lower and nq_now_lower)
if smt_invalidated
line.delete(array.get(smt_lines, i))
label.delete(array.get(smt_labels, i))
array.remove(smt_lines, i)
array.remove(smt_labels, i)
array.remove(smt_nq_levels, i)
array.remove(smt_es_levels, i)
array.remove(smt_nq_lower, i)
// ============================================
// ALERTS
// ============================================
alertcondition(array.size(high_lines) < array.size(high_lines) , title="Liquidity Sweep High", message="High liquidity swept at {{close}}")
alertcondition(array.size(low_lines) < array.size(low_lines) , title="Liquidity Sweep Low", message="Low liquidity swept at {{close}}")
alertcondition(is_displacement, title="Displacement Candle", message="Displacement candle detected at {{close}}")
alertcondition(is_consolidation, title="Consolidation Zone", message="Market entering consolidation at {{close}}")
McRoulio (Monthly Anchored VWAPs)The McRoulio indicator is designed to provide a clear view of market value relative to the current and previous month's starting points. It must be used on intraday timeframes (like 1H, 4H, 15m) to function correctly.
All VWAP calculations use (O+H+L+C)/4 as the price source.
Here is what the indicator does:
⚪ Current Month VWAP (Thick White Line)
Anchored to the 1st (00:00) of the current month.
Includes 1.0 Standard Deviation bands.
Displays a "Mcwrap" label. 🔴 Last Month VWAP (Orange Line)
Anchored to the 1st (00:00) of the previous month.
This line is only visible for the duration of that previous month, allowing for historical reference. ⏳ Previous VWAP Level (Horizontal Orange Line)
This line shows the final, settled price of the previous month's VWAP.
It is only visible between the 27th of the month and the 3rd of the next month, highlighting a potential support/resistance zone during the "turn of the month."
Displays a "Mcwrap Mois dernier" label. Trolled par le gap & le mcwrap 😘
BubbleCVD v1.8.3 (CVD + Per-bar Panel)LATO — Liquidity-Adjusted Trend Oscillator
Measures trend momentum normalized by volatility and liquidity to make signals more comparable across symbols/timeframes.
Choch Pattern Levels Altcoin Pioneers Group TRADING ™Choch Pattern Levels - Advanced Structure Break Detector (Premium Exclusive)
Exclusive Access for Premium Members
Unlock elite market structure analysis with this Pine Script v6 indicator, reserved exclusively for Altcoin Pioneers Group Premium Members. This invite-only tool detects Change of Character (ChoCh) patterns in real-time, empowering you with precise signals for high-probability trades. Join our premium community for full access – where patience, discipline, and fearless execution meet cutting-edge tools.
Key Features
- Real-Time ChoCh Detection: Identifies bullish crossovers above pivot highs and bearish crossunders below pivot lows, with adjustable length (default 10) for tailored sensitivity.
- Precision Entry Levels: Pinpoints exact breakout entries (high for longs, low for shorts) to capture momentum shifts early.
- Dynamic Profit Insights: Tracks live % based on maximum favorable excursion (peak high for longs, lowest low for shorts) – revealing true potential beyond current price.
- Visual Pattern Zones: Renders filled polylines, key point circles, and auto-extending S/R lines. Caps at 10 patterns for a clutter-free chart.
- Delta Volume Overlay: Optional labels for cumulative buy/sell volume during formation, color-coded for quick bias assessment.
- Customizable Info Tables: Per-pattern tables showing entry and live P/L (with ↑/↓ indicators), positioned anywhere with adjustable text size (tiny to huge).
- Integrated Alerts: Seamless TradingView alerts for new Bullish/Bearish ChoCh – configure for instant notifications via email, SMS, or webhook.
-*Branded Watermark: Premium watermark with symbol/timeframe details; toggle and customize colors/sizes for your setup.
Pro Tips for Premium Users
1. Paste into Pine Editor and apply to charts (crypto, forex, stocks; 1m–1D).
2. Fine-tune "Length" for your style: Shorter for scalps, longer for swings.
3. Combine with group strategies (Fibonacci, MACD, RSI, EMA/SMA, Volume) for confluence.
4. Enter on signal, trail stops using the zone lines – monitor live profit for exit cues.
5. Backtest rigorously; premium members get exclusive group discussions on optimizations.
Premium Perks
As an invite-only free release for Premium Members, this tool is your edge in the Altcoin Pioneers ecosystem. No public access – share only within our fearless community. Questions? Hit up the group chat for tweaks or signals.
Disclaimer
Educational tool only – not financial advice. Trading risks capital loss; use risk management, backtest, and seek professional guidance. Past results ≠ future performance. Watermark for community use; remove for private charts. Open to premium feedback for v2!
Version: 1.0 (October 2025)
Premium Exclusive: Altcoin Pioneers Group TRADING™
Access: Invite-Only for Premium Members
Elevate your game – trade with the pioneers! 📈🔒
A+ SMC Reversal Setup Detectortesting topg strategy testi
ng topg strategytesting topg strategytesting topg strategy.
testing topg strategy
testing topg strategy
testing topg strategytesting topg strategytesting topg strategy
testing topg strategy
摆渡(链英趋势信号)/@version=6
indicator("摆渡(链英趋势信号)", overlay = true)
// --------------------------------------------------------------------------------------------------------------------}
// 𝙐𝙎𝙀𝙍 𝙄𝙉𝙋𝙐𝙏𝙎
// --------------------------------------------------------------------------------------------------------------------{
float src = input.source(close, "Source")
int length = input.int(25, "Length")
int width = input.int(2, "Line Width")
color color1 = input.color(#22c878, "", inline = "1", group = "color")
color color2 = input.color(#c8224e, "", inline = "1", group = "color")
int transp = input.int
Lux Algo Signals & Overlays [6.3]Like an original one. the script follows a script of LuxAlgo, but free. this is for a personal usage
CHN-Super AnalizAutomatically determines support and resistance levels. Performs trend analysis. Determines stop level. Gives buy and sell signals.
VietNguyen Buy/Sell VIPThis is indicator of VietNammes, it is very good for trade Gold and Crypto.
VietNguyen DN
HwangLongHwangLong 2 is a technical indicator used primarily for identifying trend reversal points in the financial markets. It combines multiple factors such as price action, market momentum, and volatility to generate buy or sell signals. The indicator is designed to help traders spot strong trend changes, potential breakout points, and overbought or oversold conditions. It is particularly favored for its ability to filter out market noise and provide clear, actionable insights. By analyzing both short-term and long-term market dynamics, HwangLong 2 aims to improve trading accuracy and enhance decision-making in dynamic market conditions.
HwangLong2HwangLong 2 is a technical indicator used primarily for identifying trend reversal points in the financial markets. It combines multiple factors such as price action, market momentum, and volatility to generate buy or sell signals. The indicator is designed to help traders spot strong trend changes, potential breakout points, and overbought or oversold conditions. It is particularly favored for its ability to filter out market noise and provide clear, actionable insights. By analyzing both short-term and long-term market dynamics, HwangLong 2 aims to improve trading accuracy and enhance decision-making in dynamic market conditions.
Pythia — v0.5.5 LiteDescription
Pythia Lite helps to identify potential trend reversal zones before they become visible on the chart.
It analyzes the energy of price movement and highlights where momentum starts to fade — signaling possible changes ahead.
Built on adaptive MACD divergence logic and collapse-zone forecasting, it shows where the probability of a reversal becomes the highest.
Core Features
• Forecasts possible reversal areas
• Smart signal filtering based on σ-significance
• Dynamic projection zones (linear regression + ATR)
• Visibility and stability boost for cleaner signals
• Visual markers for directional bias
Lite Limitations
• Reduced sensitivity range
• Single-scale analysis (no macro mode)
• Simplified divergence filters
👉 saellab.gumroad.com
Created through the dialogue of analysis and intelligence.
© Saël Lab — Pythia Project 2025
#Pythia #Forecast #Divergence #CollapseZone #Reversal #MACD #SaelLab #TradingSystem #Energy #MarketExhaustion #AdaptiveIndicator
ATRThis script displays the Average True Range (ATR) value and the ATR as a percentage of the current closing price directly on the main chart as a clean table, with no lines or plots. It allows users to easily monitor both absolute volatility and its relative magnitude, making comparisons across different assets intuitive. The display position is customizable, offering flexibility for personal chart layouts. Ideal for traders seeking quick volatility insights, risk management guidance, or portfolio-wide comparisons.
Frankator BBRSI🧭Strategy Description of Frankator BBRSI: Bollinger Bands + RSI Signal (only on 5 min chart)
Overview
This indicator combines Bollinger Bands and the Relative Strength Index (RSI) to identify potential overbought and oversold market conditions.
It generates buy and sell signals when the price reaches extreme levels confirmed by RSI momentum — helping traders anticipate potential reversals or continuation setups.
📊 How It Works
Bollinger Bands
The script plots three lines:
Upper Band: SMA + (Standard Deviation × Multiplier)
Basis (Middle Band): Simple Moving Average (SMA)
Lower Band: SMA - (Standard Deviation × Multiplier)
When the price touches or breaks the upper band, it may indicate an overbought market.
When the price touches or drops below the lower band, it may indicate an oversold market.
RSI Confirmation
RSI measures momentum to confirm whether the market is truly overbought or oversold.
Default RSI levels:
Overbought: RSI > 70
Oversold: RSI < 30
Signal Conditions
Buy Signal:
Price closes at or below the lower Bollinger Band
RSI < 30 (oversold)
A green triangle appears below the candle
Sell Signal:
Price closes at or above the upper Bollinger Band
RSI > 70 (overbought)
A red triangle appears above the candle
Alerts
You can set TradingView alerts for automatic notifications when either a Buy or Sell condition is met.
Go to “Add Alert” → “Condition” → Choose this indicator → Select Buy/Sell Signal, or Any alert for both alerts.
⚠️ Disclaimer
This indicator is a technical analysis tool, not a guarantee of future performance. Always use proper risk management and confirm signals with other indicators or price patterns before entering trades.
Simple Moving AveragesIn Pine Script v6, the standard method for plotting indicators is still the plot function, and it should be recognized. However, if you are getting an "Undeclared identifier 'plot'" error, double-check these points:
Make sure your script is still using indicator() (not study()) at the top.
The script must not use indentation or syntax errors that break context.
Confirm Pine Script version is set correctly with //@version=6.
Here is a fully corrected Pine Script v6 template for your moving averages scenario using






















