paigep.llc - SuperMA
SuperMA is a multi-layered moving-average and candle-coloring system that combines SMA, EMA, and optional HMA logic to help traders visualize trend shifts, pullbacks, and momentum changes in a clean, structured way.
The script includes multiple modules: trend-based moving averages, pullback signals, exit logic, and an optional HMA cross engine.
📌 Core Features
1. Full SMA + EMA Framework
The indicator plots multiple moving averages (8, 9, 13, 20, 50, 200) using both SMA and EMA calculations. Each line automatically colors bullish or bearish based on its relationship to the 200-period baseline. Users can toggle SMAs and EMAs independently for clearer chart control.
2. Main Trend Entry & Exit Logic (8×200 and 8×20)
Built-in crossover logic detects:
Main Entry: SMA 8 crossing above/below EMA 200
Main Exit: SMA 8 and SMA 20 cross (with an option to choose which SMA is treated as the “fast” leg)
A “first exit only” option allows the script to ignore additional exit signals until a new trend regime begins.
3. Pullback Module (20 SMA Interaction)
Pullback entries and exits occur when price crosses the 20 SMA during existing trend conditions.
This includes:
Pullback entries through the 20 SMA
Pullback exits back across the 20 SMA
Labels and candle colors are available for all pullback events.
4. Optional HMA Cross Module
A separate module allows traders to use two Hull Moving Averages (HMA) with customizable:
Lengths
Independent timeframes
Line colors
Cross-based entries and exits
This module has its own events, labels, and optional candle coloring.
5. Advanced Candle Coloring System
Candle coloring is layered in priority order, based on:
Main trend entries
Main exits
HMA entries
HMA exits
Pullback entries
Pullback exits
Trend-only candles (based on SMA 8 relative to EMA 200)
Users may also independently color wicks and borders.
6. Configurable Alerts (Fully Decoupled from Visuals)
Alerts are available for all major events, including:
Main Entries (8×200)
Main Exits (8×20)
Pullback Entries and Exits
HMA Entries and Exits
Bull or Bear Trend candles
Any colored candle event
Alerts can fire on bar close only or intrabar, depending on user preference.
Use Cases
SuperMA helps traders visualize:
Trend direction using SMA/EMA structure
Momentum shifts through HMA crosses
Pullback zones around the 20 SMA
Early regime transitions based on the 8×200 relationship
Candle-level context through color-coded bars
The indicator works across all markets and timeframes.
⚠️ Note
This tool is for visual and analytical assistance only. It does not guarantee future performance and should be combined with additional analysis and risk management.
指标和策略
Josh FXJoshFX Multi-Timeframe Levels & Fair Value Gap Indicator
This powerful TradingView indicator provides a comprehensive view of key market levels and trends across multiple timeframes. Designed for traders who want precise entries and market context, it includes:
Previous Daily Levels: Automatically marks the previous day’s High, Low, and 50% midpoint.
Multi-Timeframe Trend: Displays the trend direction for 5-minute, 15-minute, 1-hour, and 4-hour charts directly on your current chart.
Daily Candle Display: Shows the current daily candle for quick visual reference.
Pivot Points: Accurately marks technical highs and lows (pivot points) to the exact unit on the chart.
Fair Value Gaps (FVGs): Highlights areas of imbalance for potential high-probability trade setups.
JoshFX Telegram Watermark: Includes branding for the JoshFX community.
This all-in-one tool is perfect for traders combining price action, liquidity concepts, and multi-timeframe analysis to find high-quality setups efficiently.
Long-Term Strategy: 1-Year Breakout + 6-Month ExitDescripción (Description): (Copia y pega todo lo que está dentro del recuadro de abajo)
Description
This is a long-term trend-following strategy designed to capture major market moves while filtering out short-term noise. It is based on the classic principle of "buying strength" (Breakouts) and allowing profits to run, while cutting losses when the medium-term trend reverses.
How it Works (Logic)
1. Entry Condition (Long Only): The strategy looks for a significant display of strength. It enters a Long position only when two conditions are met simultaneously:
Price Breakout: The closing price exceeds the highest high of the last 252 trading days (approximately 1 year). This ensures we are entering during a strong momentum phase.
Trend Filter: The SuperTrend indicator (Settings: ATR 10, Factor 3.0) must be bullish. This acts as a confirmation filter to avoid false breakouts in choppy markets.
2. Exit Condition: The strategy uses a trailing stop based on price action, not a fixed percentage.
It closes the position when the price closes below the lowest low of the last 126 trading days (approximately 6 months).
This wide exit allows the trade to "breathe" during normal market corrections without exiting the position prematurely.
Settings & Risk Management
Capital Usage: The script is configured to use 10% of equity per trade to reflect realistic risk management (compounding).
Commissions: Included at 0.1% to simulate real trading costs.
Slippage: Included (3 ticks) to account for market execution variability.
Best Use: This strategy is intended for higher timeframes (Daily or Weekly) on trending assets like Indices, Crypto, or Commodities.
LiquidityPulse RSI Candle Strength MomentumLiquidity-Pulse RSI Candle Strength Momentum is a multifunctional and original candle-analysis tool designed to highlight the potential internal strength of each candle using a combination of body size and volume.
To view the candle-strength scores clearly: right-click on the chart, go to Settings, and in the Symbol tab untick Body, Borders and Wicks.
Candle Strength Scores
The indicator calculates the average body size and average volume over a user-defined lookback period. Each candle is then compared to these averages, and the indicator combines relative body expansion and relative volume expansion with a square-root calculation to create a (normalised) candle-strength score from 1 to 10.
10 – exceptionally strong compared to the lookback average (large body size and volume)
1 – very weak compared to the lookback average (small body size and volume)
Bullish and bearish candles are evaluated independently, producing separate bull-strength and bear-strength scores.
Optional ATR and volume floors can be enabled to restrict strength scoring to candles that exceed a minimum volatility or participation threshold. This helps users who prefer to filter out low-impact candles during quiet market periods. This option can be enabled or adjusted in the settings but is turned off by default.
Candle Colours
This tool also shows candles coloured based on the candle-strength scores (10 colours in each theme), which makes it easier to visualise the scores and see whether the candle score was high or not. There are several options in the 'colour theme' dropdown menu in the settings. Users can also customise all colours manually.
RSI Candle Strength Arrows
The Relative Strength Index is a long-established momentum tool that calculates the ratio of average upward moves to average downward moves over a defined period, allowing traders to identify potential overbought and oversold market conditions where momentum may be stretched. As well as this, strong early momentum and participation are often associated with more sustained moves.
This indicator combines this methodology and provides optional arrows that appear only when candle strength and RSI conditions align:
– A candle meets or exceeds a chosen strength threshold
– RSI has recently reached an overbought or oversold level
– The candle direction matches the expected momentum shift
For example, if price has reached an oversold RSI level and a strong bullish candle forms (high candle-strength number), an upside arrow may plot.
Users can customise the RSI oversold and overbought thresholds, the minimum candle-strength threshold, and how many bars back the RSI condition must have occurred in the settings.
These arrows are not buy or sell signals but instead highlight rare moments where strong candle behaviour aligns with meaningful RSI extremes. This is useful to users because it allows the candle-strength logic to be applied only when momentum is genuinely stretched, filtering out noise and focusing attention on the most statistically significant market moves.
This indicator brings together a quantitative candle-strength model and a momentum-based RSI filter to give users a clearer view of how individual candles behave relative to their recent environment, while also highlighting when those movements occur during meaningful shifts in market momentum. By combining both forms of analysis, the tool helps traders distinguish ordinary price changes from potentially significant structural behaviour.
How traders can use this indicator
– Stronger candle scores in the trend direction can confirm continuation pressure.
– Powerful opposing candles appearing at RSI extremes may signal potential reversals or exhaustion points.
– If breakouts occur with high candle scores, price may be more likely to follow through.
– Weak candles with low scores help traders avoid false signals or low-quality setups.
– Candle-strength scoring helps users quickly interpret both volume and candle-body behaviour without manual analysis.
Open source, if anyone has any ideas on how to make the script better or have any questions please let me know :)
Disclaimer
This indicator is provided for educational and analytical purposes only and should not be interpreted as financial advice or a recommendation to buy or sell any asset. The candle-strength values displayed by this tool are not literal or definitive measures of market strength; they are derived from a custom mathematical model designed to highlight relative differences in candle behaviour. These values should be viewed as a simplified representation of candle dynamics, not as an objective or universal measure of strength.
Users should be aware that this calculation does not replace the importance of analysing real traded volume, order flow, liquidity conditions, or broader market context. As with any technical tool, results should be considered alongside other forms of analysis, and past performance does not guarantee future outcomes. Use at your own discretion and risk.
1小时区域背景颜色// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) creativecommons.org
// © LuxAlgo
//@version=5
indicator("Sessions ", "LuxAlgo - Sessions", overlay = true, max_bars_back = 500, max_lines_count = 500, max_boxes_count = 500, max_labels_count = 500)
//------------------------------------------------------------------------------
//Settings
//-----------------------------------------------------------------------------{
//Session A
show_sesa = input(true, '', inline = 'sesa', group = 'Session A')
sesa_txt = input('New York', '', inline = 'sesa', group = 'Session A')
sesa_ses = input.session('1300-2200', '', inline = 'sesa', group = 'Session A')
sesa_css = input.color(#ff5d00, '', inline = 'sesa', group = 'Session A')
sesa_range = input(true, 'Range', inline = 'sesa_overlays', group = 'Session A')
sesa_tl = input(false, 'Trendline', inline = 'sesa_overlays', group = 'Session A')
sesa_avg = input(false, 'Mean', inline = 'sesa_overlays', group = 'Session A')
sesa_vwap = input(false, 'VWAP', inline = 'sesa_overlays', group = 'Session A')
sesa_maxmin = input(false, 'Max/Min', inline = 'sesa_overlays', group = 'Session A')
//Session B
show_sesb = input(true, '', inline = 'sesb', group = 'Session B')
sesb_txt = input('London', '', inline = 'sesb', group = 'Session B')
sesb_ses = input.session('0700-1600', '', inline = 'sesb', group = 'Session B')
sesb_css = input.color(#2157f3, '', inline = 'sesb', group = 'Session B')
sesb_range = input(true, 'Range', inline = 'sesb_overlays', group = 'Session B')
sesb_tl = input(false, 'Trendline', inline = 'sesb_overlays', group = 'Session B')
sesb_avg = input(false, 'Mean', inline = 'sesb_overlays', group = 'Session B')
sesb_vwap = input(false, 'VWAP', inline = 'sesb_overlays', group = 'Session B')
sesb_maxmin = input(false, 'Max/Min', inline = 'sesb_overlays', group = 'Session B')
//Session C
show_sesc = input(true, '', inline = 'sesc', group = 'Session C')
sesc_txt = input('Tokyo', '', inline = 'sesc', group = 'Session C')
sesc_ses = input.session('0000-0900', '', inline = 'sesc', group = 'Session C')
sesc_css = input.color(#e91e63, '', inline = 'sesc', group = 'Session C')
sesc_range = input(true, 'Range', inline = 'sesc_overlays', group = 'Session C')
sesc_tl = input(false, 'Trendline', inline = 'sesc_overlays', group = 'Session C')
sesc_avg = input(false, 'Mean', inline = 'sesc_overlays', group = 'Session C')
sesc_vwap = input(false, 'VWAP', inline = 'sesc_overlays', group = 'Session C')
sesc_maxmin = input(false, 'Max/Min', inline = 'sesc_overlays', group = 'Session C')
//Session D
show_sesd = input(true, '', inline = 'sesd', group = 'Session D')
sesd_txt = input('Sydney', '', inline = 'sesd', group = 'Session D')
sesd_ses = input.session('2100-0600', '', inline = 'sesd', group = 'Session D')
sesd_css = input.color(#ffeb3b, '', inline = 'sesd', group = 'Session D')
sesd_range = input(true, 'Range', inline = 'sesd_overlays', group = 'Session D')
sesd_tl = input(false, 'Trendline', inline = 'sesd_overlays', group = 'Session D')
sesd_avg = input(false, 'Mean', inline = 'sesd_overlays', group = 'Session D')
sesd_vwap = input(false, 'VWAP', inline = 'sesd_overlays', group = 'Session D')
sesd_maxmin = input(false, 'Max/Min', inline = 'sesd_overlays', group = 'Session D')
//Timezones
tz_incr = input.int(0, 'UTC (+/-)', group = 'Timezone')
use_exchange = input(false, 'Use Exchange Timezone', group = 'Timezone')
//Ranges Options
bg_transp = input.float(90, 'Range Area Transparency', group = 'Ranges Settings')
show_outline = input(true, 'Range Outline', group = 'Ranges Settings')
show_txt = input(true, 'Range Label', group = 'Ranges Settings')
Weekday HighlighterThis is a simple indicator that highlights specific weekdays on the chart.
You can choose which weekdays to highlight and optionally use different colors for each day. It is useful for visually separating sessions such as Mondays, Fridays, or any custom trading day you want to focus on.
ただ単に曜日を指定してハイライトするインジです。
Volume Weighted Average Price - 6 band by buckstrdrstandard VWAP improved to allow 6 bands as standard
Daily Gap Highlighter (Partial Gaps + Age Filter)Daily Gap Highlighter – 部分的な窓の未埋めエリアを自動描画
このインジケーターは、日足チャートにおける窓(ギャップ)を自動で検出し、
その後の値動きで一部だけ埋まった場合も、埋め残し部分だけを正確に描画するツールです。
🔍 主な特徴
日足ベースで窓を検出
上窓:当日の安値 > 前日の高値
下窓:当日の高値 < 前日の安値
部分的な窓埋めにも対応
例:窓の90%が埋まった → 残り10%だけ窓として残す
完全に埋まった窓は自動的に削除
窓の“鮮度フィルター”を搭載
指定した日数(デフォルト90日)を経過した古い窓は自動で非表示にできます。
トレンド転換ポイントの可視化に最適
未埋めギャップは多くのトレーダーが注目する価格帯であり、
サポート/レジスタンスとして高い機能を持ちます。
📈 活用例
スイングトレードでのターゲット設定
窓埋めの完了・未完了の判定
重要水平ラインとしての分析
長期的な価格メモリーの可視化
日足チャートを使うトレーダーの方にとって、
“本当に意味のある未埋め窓だけ”が残る実用的なインジケーターです。
🇺🇸 English Description (for TradingView Community)
Daily Gap Highlighter – Precise Partial Gap Visualization
This indicator automatically detects daily price gaps and visualizes them on the chart —
but with one powerful upgrade:
It keeps only the unfilled portion of the gap.
🔍 Key Features
Daily-based gap detection
Up Gap: Today’s Low > Previous High
Down Gap: Today’s High < Previous Low
Partial gap filling supported
Example: If 90% of the gap has been filled,
→ Only the remaining 10% is still shown as an active gap.
Fully filled gaps are automatically removed
Gap “age filter” included
Automatically hide gaps older than a chosen number of days (default: 90).
Great for identifying key market levels
Unfilled gaps often act as strong support/resistance zones
and are widely watched by professional traders.
📈 Use Cases
Setting targets for swing trades
Determining whether a gap is filled or partially filled
Highlighting significant horizontal price levels
Visualizing long-term market memory zones
This tool is ideal for traders who want
a clean and accurate view of meaningful unfilled gaps only.
Daily Backtest Pivots Problem with the built-in Pivot Points Standard indicator in backtesting/replay mode:
The default "Pivot Points Standard" indicator is excellent on live charts, but it becomes completely unusable for proper backtesting or bar-replay because it always calculates and displays the current day’s pivot points (P, R1, R2, S1, S2, etc.) using the high/low/close of the still-forming current day — even when you're replaying historical bars.
Example:
When replaying or backtesting September 8 at 08:00 (Asian session), the indicator already shows the final R1, R2, S1, S2 for the entire September 8 daily candle, even though in real trading at that moment you would have no idea where the day will close or what the final daily range will be. This creates massive look-ahead bias and makes any strategy that uses daily pivots impossible to test realistically.
Desired behavior (historical accuracy):
During backtesting or bar replay, the indicator should only plot:
The previous day’s completed pivot levels (which were actually known at the start of the current day)
NO current-day pivot levels at all (or only plot them after the daily candle is closed)
Many custom pivot scripts already do exactly this (they only show the prior day’s levels throughout the current day), which is why people abandon the built-in indicator for backtesting.
Supertrend + DEMA Strategy ( customised & Switchable, Fixed TP)Supertrend line – a moving line that follows the price and shows whether the market is trending up or down.
If the price goes above this line, it usually means the market is going up.
If the price goes below, it usually means the market is going down.
DEMA (Double Exponential Moving Average) – another line that smooths out price movements to spot trends more clearly.
It calculates an average of prices but reacts faster than a normal moving average.
Multi Condition Stock Screener & Alert SystemMulti Condition Stock Screener & Strategy Builder
This script is a comprehensive Stock Screener and Strategy Builder designed to scan predefined groups of stocks (specifically focused on BIST/Istanbul Stock Exchange symbols) or a custom list of symbols based on user-defined technical conditions.
It allows users to combine multiple technical indicators to create complex entry or exit conditions without writing code. The script iterates through a list of symbols and triggers alerts when the conditions are met.
Key Features
• Custom Strategy Building: Users can define up to 6 separate conditions. • Logical Operators: Conditions can be linked using logical operators (AND / OR) to create flexible strategies. • Predefined Groups: Includes 14 groups of stocks (covering BIST symbols) for quick scanning. • Custom Scanner: Users can select the "SPECIAL" group to manually input up to 40 custom symbols to scan. • Directional Scanning: Capable of scanning for both Buy/Long and Sell/Short signals. • Alert Integration: Generates JSON-formatted alert messages suitable for webhook integrations (e.g., sending notifications to Telegram bots).
Supported Indicators for Conditions
The script utilizes built-in ta.* functions to calculate the following indicators:
• MA (Moving Average): Supports EMA, SMA, RMA, and WMA. • RSI (Relative Strength Index) • CCI (Commodity Channel Index) • ATR (Average True Range) • BBW (Bollinger Bands Width) • ADX (Average Directional Index) • MFI (Money Flow Index) • MOM (Momentum)
How it Works
The script uses request.security() to fetch data for the selected group of symbols based on the current timeframe. It evaluates the user-defined logic (Condition 1 to 6) for each symbol.
• Comparison Logic: You can compare an indicator against a value (e.g., RSI > 50 ) or against another indicator (e.g., MA1 CrossOver MA2 ). • Signal Generation: If the logical result is TRUE based on the "AND/OR" settings, a visual label is plotted on the chart, and an alert condition is triggered.
Alert Configuration
The script produces a JSON output containing the Ticker, Signal Type, Period, and Price. This is optimized for users who want to parse alerts programmatically or send them to external messaging apps via webhooks.
Disclaimer This tool is for informational purposes only and does not constitute financial advice. Since it uses request.security across multiple symbols, please allow time for the script to load data on the chart.
Pivot Move Ranges█ OVERVIEW
“Pivot Move Ranges” is an indicator that displays only the historical price ranges of moves that match the direction of the current swing.
It measures the price range of each individual swing and draws them as horizontal Δ-boxes positioned at the level of the most recently detected pivot.
The indicator operates with a delay equal to the set pivot detection length – after each new Pivot High, only red Δ-boxes appear showing the sizes of previous downward moves; after each new Pivot Low, only green Δ-boxes appear showing the sizes of previous upward moves. When the swing direction changes, the displayed set of levels instantly switches to the opposite direction.
█ CONCEPTS
The indicator was created to instantly provide the trader with objective, real historical price ranges – perfectly reinforcing classic tools such as Fibonacci extension/retracement, daily/weekly pivots, moving averages, order blocks, or Volume Profile.
It detects classic Pivot High and Pivot Low points:
- New Pivot High → only previous downward moves are shown (red Δ-boxes)
- New Pivot Low → only previous upward moves are shown (green Δ-boxes)
This ensures that at any moment you see only the historical ranges that match the current market direction. Price moves very often repeat themselves – the indicator makes these recurring levels immediately visible and ready to serve as natural reinforcement for other technical analysis tools.
█ FEATURES
- Pivot High / Pivot Low detection with adjustable length (default 12)
- Δ-boxes – thin horizontal lines showing the exact size of previous moves that match the current swing
- Automatic switching of the Δ-box set whenever a new opposite pivot appears
- Memory of the last N moves (default 6, max. 50) – oldest are automatically removed
- Labels showing move size (Δ) and start date/time
- Full color customization (separate for up and down), border and text transparency
- Choice of date format (DD.MM.YYYY or MM/DD/YYYY)
- Small circles marking the exact pivot locations
█ HOW TO USE
Add the indicator to your TradingView chart → paste the code → Add to Chart.
Settings:
- Pivot Length – higher values = fewer but more significant pivots (detected with a delay equal to this length)
- Max Corrections to Keep – how many previous matching moves are displayed at once
- Upward / Downward Box Color – colors of the Δ-boxes
- Box Border Transparency (%) – 0 = solid lines, 50–70 = subtle
- Show Δ Text + Move Start Date – turn labels on/off
Interpretation:
At any given moment the chart shows only the historical ranges of moves in the current direction:
- after a Pivot High → red Δ-boxes = “how far the market previously fell”
- after a Pivot Low → green Δ-boxes = “how far the market previously rose”
█ APPLICATIONS
- Instant reinforcement of technical levels – historical moves matching the current swing direction often coincide with Fibonacci levels, daily/weekly pivots, moving averages, or order blocks
- Fast cluster detection – set a high Max Corrections value (30–50) to see where the largest number of similarly sized moves cluster, then reduce to 6–10 and focus only on the most recent levels
█ NOTES
- On very strong trends, Δ-boxes can be extremely long – this is normal and correct behavior
- Always use as a supporting layer alongside other technical analysis tools
Support Resistance📌 1. Indicator Name
Premium Auto Support & Resistance
📌 2. One-Line Description
An automated S/R system that generates support and resistance zones based on swing highs and lows, displaying them in a premium visual style directly on the chart.
📌 3. Overall Summary (7+ lines)
This indicator automatically detects price levels where the market has repeatedly reacted and generates support and resistance zones.
Instead of simple horizontal lines, it visualizes reaction ranges as zones, helping traders clearly understand the actual price areas where activity occurs.
It uses swing points (high/low pivots) as the fundamental basis and continuously updates only the most meaningful recent S/R levels.
A smoothing process is applied, reducing noise and creating more natural, reliable S/R zones.
Support and resistance are displayed as filled transparency-based zones, enabling intuitive identification of zone strength and market position.
When price touches one of these zones, a small signal appears to highlight potential reversal points.
All elements are plotted directly over the candles with overlay=true, making it an instantly usable and visually premium tool.
📌 4. Advantages (6 items)
① Automatic Swing-Based S/R Detection
Automatically analyzes key pivot points and extracts only the most meaningful support and resistance levels.
② Support/Resistance Zone Structure
Provides intuitive reaction ranges instead of single lines, making it far more practical for real trading.
③ Smooth Premium-Style Lines
S/R lines are smoothed to remove noise, maintaining a natural and refined premium visual appearance.
④ Automatic Candle-Touch Alerts
Displays signals whenever price touches support or resistance, helping you quickly identify potential reversal areas.
⑤ Overlay-Based Immediate Clarity
Drawn directly onto the chart without occupying indicator windows, keeping visual focus on price action.
⑥ Simple Yet Powerful Framework
A pivot + smoothing + zone combination that strengthens automatic S/R detection while remaining easy for beginners to use.
Filter Trend1. Indicator Name
Premium EMA Ribbon Filter (Pro Version)
(Advanced Trend & Momentum Filtering System Based on EMA Ribbons)
2. One-Line Introduction
A professional trend-analysis indicator that blends an advanced noise-filtering algorithm with an EMA ribbon system to extract only the pure bullish/bearish trend while smoothing out market noise.
3. Overall Description (7+ lines)
The Premium EMA Ribbon Filter is more than just a set of EMAs.
It analyzes the structure of a fast, medium, and slow EMA ribbon—along with the spacing and alignment between them—to determine whether the market is in a bullish trend, bearish trend, or a neutral/noise-heavy zone.
The core of this indicator is its noise-reduction algorithm and trend-strength calculation system.
Instead of relying on simple EMA cross signals, it evaluates how consistently the ribbon maintains bullish/bearish alignment over a specified period and highlights only strong trends with color coding, while weak or noisy areas are displayed in gray.
This helps traders avoid confusing or false signals and clearly focus only on the “meaningful zones.”
A Triple-Smoothing System is applied to create smoother, more refined ribbon movements, forming a stable “premium trend curve” that is less affected by short-term volatility.
As a result, this indicator works effectively for scalping, swing trading, and long-term trend following—staying true to the principle of removing noise and highlighting only the core market flow.
4. Short Advantages (6 items)
① Complete Noise Filtering
Using EMA ribbon comparison + tolerance logic, false reversals are largely eliminated, leaving only stable trend phases.
② Highly Readable Color System
Bullish trends are mint, bearish trends are red, and neutral/noise zones are gray—instantly visualizing market conditions.
③ Trend Strength Visualization
Not only trend direction but also trend strength is displayed via dynamic color transparency.
④ Smooth, Premium-Style Ribbon Design
Triple-smoothing creates a refined, luxury-level smoothness in movement.
⑤ Works Across All Timeframes
From 1-minute scalping to daily/weekly macro trend analysis.
⑥ Excellent Real-Trading Compatibility
Works extremely well when combined with ATR, SuperTrend, and volume-based indicators.
Indicator Manual (Required Section)
📌 Understanding the Core Concept
The indicator uses three EMAs (e.g., 20/50/100) arranged as a ribbon to analyze the structural alignment of the trend.
When the EMAs are cleanly aligned Top → Middle → Bottom, the market is in a bullish trend.
When aligned Bottom → Middle → Top, the market is in a bearish trend.
The indicator further evaluates the ribbon spread (gap) and the consistency of alignment to compute trend strength.
Noisy market conditions are shaded gray to clearly indicate “uncertain/indecisive” zones.
⚙️ Settings Description
Option Description
Fast EMA Most sensitive EMA; detects early trend signals
Mid EMA Stabilizes the primary trend direction
Slow EMA Defines the broader, long-term trend flow
Trend Lookback The period used to analyze trend strength
Noise Tolerance (%) Higher values = stronger noise removal
Smoothing Steps Controls how smooth the ribbon becomes
📈 Example Recognition
A bullish continuation/entry scenario forms when:
EMAs align in the order Fast → Mid → Slow (top side)
Ribbon color shifts into mint (strong bullish trend)
The ribbon begins to expand while price stays above the ribbon
📉 Example Recognition
A bearish continuation/entry occurs when:
EMAs align Fast → Mid → Slow (bottom side)
Ribbon color remains red
After contracting, the ribbon expands again during renewed downside strength
🧪 Recommended Usage
Combine with volume-based indicators (OBV, Volume Profile) → enhanced strong-trend detection
Use with SuperTrend or ATR Stop → clearer stop-loss placement
Combine with RSI/Stoch → avoid counter-trend entries in overheated conditions
Higher leverage traders should use higher tolerance settings
🔒 Cautions
EMA ribbons are trend-following tools; signals may weaken in ranging/sideways markets.
Never rely solely on this indicator—always confirm with volume, price patterns, or structure.
Very low Lookback values may cause excessive re-entry signals.
In high-volatility environments, ribbon spacing can contract/expand rapidly—use with caution.
ma_PLibrary "ma_P"
This library is made to expand traders moving average arsenal.
sma(src, length)
Parameters:
src (float)
length (simple int)
sma(src, length)
Parameters:
src (float)
length (int)
eit(src)
Parameters:
src (float)
ema(src, length)
Parameters:
src (float)
length (simple int)
ema(src, length)
Parameters:
src (float)
length (int)
ahma(src, length)
Parameters:
src (float)
length (simple int)
ahma(src, length)
Parameters:
src (float)
length (int)
bmf(src, length)
Parameters:
src (float)
length (simple int)
bmf(src, length)
Parameters:
src (float)
length (int)
cma(src, length)
Parameters:
src (float)
length (simple int)
cma(src, length)
Parameters:
src (float)
length (int)
dema(src, length)
Parameters:
src (float)
length (simple int)
dema(src, length)
Parameters:
src (float)
length (int)
dswf(src, length)
Parameters:
src (float)
length (simple int)
dswf(src, length)
Parameters:
src (float)
length (int)
evwma(src, length, volume)
Parameters:
src (float)
length (simple int)
volume (float)
evwma(src, length, volume)
Parameters:
src (float)
length (int)
volume (float)
esd(src, length)
Parameters:
src (float)
length (simple int)
esd(src, length)
Parameters:
src (float)
length (int)
frama(src, length)
Parameters:
src (float)
length (simple int)
frama(src, length)
Parameters:
src (float)
length (int)
flsma(src, len)
Parameters:
src (float)
len (simple int)
flsma(src, len)
Parameters:
src (float)
len (int)
gmma(src, length)
Parameters:
src (float)
length (simple int)
gmma(src, length)
Parameters:
src (float)
length (int)
hcf(src, length)
Parameters:
src (float)
length (simple int)
hcf(src, length)
Parameters:
src (float)
length (int)
hma(src, length)
Parameters:
src (float)
length (simple int)
hma(src, length)
Parameters:
src (float)
length (int)
jma(src, length)
Parameters:
src (float)
length (simple int)
jma(src, length)
Parameters:
src (float)
length (int)
kama(source, length, min_length, max_length)
Parameters:
source (float)
length (int)
min_length (int)
max_length (int)
kijun(src, length)
Parameters:
src (float)
length (simple int)
kijun(src, length)
Parameters:
src (float)
length (int)
lsma(src, length)
Parameters:
src (float)
length (simple int)
lsma(src, length)
Parameters:
src (float)
length (int)
lma(src, length)
Parameters:
src (float)
length (simple int)
lma(src, length)
Parameters:
src (float)
length (int)
mf(src, length)
Parameters:
src (float)
length (simple int)
mf(src, length)
Parameters:
src (float)
length (int)
mm(src, length)
Parameters:
src (float)
length (simple int)
mm(src, length)
Parameters:
src (float)
length (int)
smma(src, length)
Parameters:
src (float)
length (simple int)
smma(src, length)
Parameters:
src (float)
length (int)
ssma(src, length)
Parameters:
src (float)
length (simple int)
ssma(src, length)
Parameters:
src (float)
length (int)
swma(src, length)
Parameters:
src (float)
length (simple int)
swma(src, length)
Parameters:
src (float)
length (int)
tma(src, length)
Parameters:
src (float)
length (simple int)
tma(src, length)
Parameters:
src (float)
length (int)
tema(src, length)
Parameters:
src (float)
length (simple int)
tema(src, length)
Parameters:
src (float)
length (int)
tsf(src, length)
Parameters:
src (float)
length (simple int)
tsf(src, length)
Parameters:
src (float)
length (int)
varma(src, length)
Parameters:
src (float)
length (simple int)
varma(src, length)
Parameters:
src (float)
length (int)
vama(src, length)
Parameters:
src (float)
length (simple int)
vama(src, length)
Parameters:
src (float)
length (int)
vma(src, length)
Parameters:
src (float)
length (simple int)
vma(src, length)
Parameters:
src (float)
length (int)
vbma(src, length)
Parameters:
src (float)
length (simple int)
vbma(src, length)
Parameters:
src (float)
length (int)
vida(src, length)
Parameters:
src (float)
length (simple int)
vida(src, length)
Parameters:
src (float)
length (int)
qma(src, length)
Parameters:
src (float)
length (simple int)
qma(src, length)
Parameters:
src (float)
length (int)
rpma(src, len)
Parameters:
src (float)
len (simple int)
rpma(src, len)
Parameters:
src (float)
len (int)
rma(src, length)
Parameters:
src (float)
length (simple int)
rma(src, length)
Parameters:
src (float)
length (int)
rsrma(src, length)
Parameters:
src (float)
length (simple int)
rsrma(src, length)
Parameters:
src (float)
length (int)
zlema(src, length)
Parameters:
src (float)
length (simple int)
zlema(src, length)
Parameters:
src (float)
length (int)
selector(src, length, selectMA, min_length, max_length)
This function gives trader an instrument to test different kinds of moving averages on their strategy.
Parameters:
src (float)
length (simple int)
selectMA (string)
min_length (int)
max_length (int)
Returns: user selected moving average
selector(src, length, selectMA, min_length, max_length)
Parameters:
src (float)
length (int)
selectMA (string)
min_length (int)
max_length (int)
SoopAlgo — Premium Buy & Sell Targets (v6)SoopAlgo — Premium Targets (v6)
Description / Usage:
SoopAlgo — Premium Targets is a powerful trading tool designed to provide clear and actionable buy and sell signals directly on your chart. It highlights optimal entry points with distinct labels and automatically plots target levels, helping traders plan exits with precision.
Advantages:
Clear Visual Signals: Buy and sell opportunities are displayed prominently, reducing confusion and improving decision-making speed.
Integrated Target Levels: Automatic target lines allow traders to set realistic profit expectations without manual calculations.
Customizable Alerts: Receive alerts when signals occur, ensuring you never miss a trade opportunity.
Clean, Modern Display: Minimal clutter with intuitive color-coding (Buy in blue, Sell in purple) for easy chart readability.
Flexible Settings: Easily adjust target distances, label sizes, and indicator sensitivity to fit different trading styles.
Ideal For:
Traders who want a streamlined, easy-to-read tool for spotting market entries and exits with visual targets and alerts, while keeping the chart clean and focused.
Libernovaq LevelsThis indicator not only marks the levels like previously. It marks the range for monthly and weekly open defined by custom timeframe by the user. // Backgound colour doesn’t work.
iQFFTLibrary "iQFFT"
TODO: add library description here
fft(x, y, dir)
Parameters:
x (array)
y (array)
dir (string)
fftPower(x, y)
Parameters:
x (array)
y (array)
fftFreq(N)
Parameters:
N (int)
EMA CrossMoving averages based trend indicator
Plots
Hull Moving average 34
Simple MA 200
Exponential MA 5
Signals on crossing and turn around points.
ICT Key Levels: PDH / PDL / Daily Open//@version=5
indicator("ICT Key Levels: PDH / PDL / Daily Open", shorttitle="ICT Levels", overlay=true)
// --- Inputs
showPD = input.bool(true, "Mostrar PDH/PDL")
showOpen = input.bool(true, "Mostrar Daily Open")
pdhColor = input.color(color.new(color.green, 0), "Color PDH")
pdlColor = input.color(color.new(color.red, 0), "Color PDL")
openColor = input.color(color.new(color.orange, 0), "Color Daily Open")
lineWidth = input.int(1, "Ancho líneas", minval=1, maxval=4)
// --- Previous day high / low (using daily security)
pdh = request.security(syminfo.tickerid, "D", high )
pdl = request.security(syminfo.tickerid, "D", low )
// --- Daily open (current day's open on Daily timeframe)
dailyOpen = request.security(syminfo.tickerid, "D", open)
// --- Plots
plot(showPD and not na(pdh) ? pdh : na, title="PDH", color=pdhColor, linewidth=lineWidth, style=plot.style_line)
plot(showPD and not na(pdl) ? pdl : na, title="PDL", color=pdlColor, linewidth=lineWidth, style=plot.style_line)
plot(showOpen and not na(dailyOpen) ? dailyOpen : na, title="Daily Open", color=openColor, linewidth=lineWidth, style=plot.style_line)
// --- Optional: etiquetas en inicio de día (solo en la primera barra diaria)
isNewDay = ta.change(time("D"))
labelNewDayOpen = input.bool(true, "Mostrar etiqueta en apertura diaria")
if labelNewDayOpen and isNewDay
label.new(bar_index, dailyOpen, text="Open", style=label.style_label_down, color=color.new(openColor,50), textcolor=color.black, yloc=yloc.price)
My script//@version=5
indicator("LTF Multi-Condition BUY Signal (v5 clean)", overlay=true, max_labels_count=100, max_lines_count=100)
// ───────────────── INPUTS ─────────────────
pivot_len = input.int(4, "Pivot sensitivity (structure)", minval=2, maxval=12)
range_len = input.int(20, "Range lookback for breakout", minval=5)
htf_tf = input.timeframe("480", "HTF timeframe (8H+)")
reclaim_window = input.int(5, "Reclaim window (bars)", minval=1)
ema_fast_len = input.int(9, "EMA fast length")
ema_slow_len = input.int(21, "EMA slow length")
rsi_len = input.int(14, "RSI length")
rsi_pivot_len = input.int(4, "RSI pivot sensitivity")
rsi_div_lookback = input.int(30, "RSI divergence max lookback (bars)")
daily_vol_mult = input.float(1.0, "Daily volume vs SMA multiplier", step=0.1)
htf_vol_sma_len = input.int(20, "HTF volume SMA length")
require_reclaim = input.bool(true, "Require HTF reclaim")
use_aggressive_HL = input.bool(false, "Aggressive HL detection")
// ───────────────── BASE INDICATORS ─────────────────
emaFast = ta.ema(close, ema_fast_len)
emaSlow = ta.ema(close, ema_slow_len)
rsiVal = ta.rsi(close, rsi_len)
// ───────────────── DAILY CHECKS (VOLUME & OBV) ─────────────────
// Daily OBV and previous value
daily_obv = request.security(syminfo.tickerid, "D",
ta.cum(ta.change(close) > 0 ? volume : ta.change(close) < 0 ? -volume : 0))
daily_obv_prev = request.security(syminfo.tickerid, "D",
ta.cum(ta.change(close) > 0 ? volume : ta.change(close) < 0 ? -volume : 0) )
// Daily volume & SMA
daily_vol = request.security(syminfo.tickerid, "D", volume)
daily_vol_sma = request.security(syminfo.tickerid, "D", ta.sma(volume, 20))
daily_vol_ok = not na(daily_vol) and not na(daily_vol_sma) and daily_vol > daily_vol_sma * daily_vol_mult
daily_obv_ok = not na(daily_obv) and not na(daily_obv_prev) and daily_obv > daily_obv_prev
// ───────────────── HTF SUPPORT / RECLAIM ─────────────────
htf_high = request.security(syminfo.tickerid, htf_tf, high)
htf_low = request.security(syminfo.tickerid, htf_tf, low)
htf_close = request.security(syminfo.tickerid, htf_tf, close)
htf_volume = request.security(syminfo.tickerid, htf_tf, volume)
htf_vol_sma = request.security(syminfo.tickerid, htf_tf, ta.sma(volume, htf_vol_sma_len))
htf_bull_reject = not na(htf_high) and not na(htf_low) and not na(htf_close) and (htf_close - htf_low) > (htf_high - htf_close)
htf_vol_confirm = not na(htf_volume) and not na(htf_vol_sma) and htf_volume > htf_vol_sma
htf_support_level = (htf_bull_reject and htf_vol_confirm) ? htf_low : na
// Reclaim: LTF close back above HTF support within N bars
reclaimed_now = not na(htf_support_level) and close > htf_support_level and ta.barssince(close <= htf_support_level) <= reclaim_window
htf_reclaim_ok = require_reclaim ? reclaimed_now : true
// ───────────────── STRUCTURE: BOS & HL (CoC) ─────────────────
swingHighVal = ta.pivothigh(high, pivot_len, pivot_len)
swingLowVal = ta.pivotlow(low, pivot_len, pivot_len)
swingHighCond = not na(swingHighVal)
swingLowCond = not na(swingLowVal)
lastSwingHigh = ta.valuewhen(swingHighCond, swingHighVal, 0)
prevSwingHigh = ta.valuewhen(swingHighCond, swingHighVal, 1)
lastSwingLow = ta.valuewhen(swingLowCond, swingLowVal, 0)
prevSwingLow = ta.valuewhen(swingLowCond, swingLowVal, 1)
bos_bull = not na(prevSwingHigh) and close > prevSwingHigh
hl_confirm = not na(lastSwingLow) and not na(prevSwingLow) and lastSwingLow > prevSwingLow and ta.barssince(swingLowCond) <= 30
if use_aggressive_HL
hl_confirm := hl_confirm or (low > low and ta.barssince(swingLowCond) <= 12)
// ───────────────── RSI BULLISH DIVERGENCE ─────────────────
rsiLowVal = ta.pivotlow(rsiVal, rsi_pivot_len, rsi_pivot_len)
rsiLowCond = not na(rsiLowVal)
priceAtRsiLowA = ta.valuewhen(rsiLowCond, low , 0)
priceAtRsiLowB = ta.valuewhen(rsiLowCond, low , 1)
rsiLowA = ta.valuewhen(rsiLowCond, rsiVal , 0)
rsiLowB = ta.valuewhen(rsiLowCond, rsiVal , 1)
rsi_div_ok = not na(priceAtRsiLowA) and not na(priceAtRsiLowB) and not na(rsiLowA) and not na(rsiLowB) and
(priceAtRsiLowA < priceAtRsiLowB) and (rsiLowA > rsiLowB) and ta.barssince(rsiLowCond) <= rsi_div_lookback
// ───────────────── RANGE BREAKOUT ─────────────────
range_high = ta.highest(high, range_len)
range_breakout = ta.crossover(close, range_high)
// ───────────────── EMA CROSS / TREND ─────────────────
ema_cross_happened = ta.crossover(emaFast, emaSlow)
ema_trend_ok = emaFast > emaSlow
// ───────────────── FINAL BUY CONDITION ─────────────────
all_price_checks = bos_bull and hl_confirm and rsi_div_ok and range_breakout
all_filter_checks = ema_trend_ok and ema_cross_happened and daily_vol_ok and daily_obv_ok and htf_reclaim_ok
buy_condition = all_price_checks and all_filter_checks
// ───────────────── PLOTS & ALERT ─────────────────
plotshape(
buy_condition,
title = "BUY Signal",
location = location.belowbar,
style = shape.labelup,
text = "BUY",
textcolor = color.white,
color = color.green,
size = size.small)
plot(htf_support_level, title="HTF Support", color=color.new(color.green, 0), linewidth=2, style=plot.style_linebr)
alertcondition(buy_condition, title="LTF BUY Signal", message="LTF BUY Signal on {{ticker}} ({{interval}}) — all conditions met")
Adaptive ATR% Grid + SuperTrend + OrderFlipDescription:
This indicator combines multiple technical analysis tools to identify key price levels and trading signals:
ATR% Grid – automatic plotting of support and resistance levels based on current price and volatility (ATR). Useful for identifying potential targets and entry/exit zones.
SuperTrend – a classic trend indicator with an adaptive ATR multiplier that adjusts based on average volatility.
OrderFlip – identifies price reversal points relative to a moving average with ATR-based sensitivity, optionally filtered by OBV and DMI.
MTF Confirmation – multi-timeframe trend verification using EMA to reduce false signals.
Signal Labels – "LONG" and "SHORT" labels appear on the chart with an offset from the price for better visibility.
JSON Alerts – ready-to-use format for automated alerts, including price, SuperTrend direction, Fair Zone, and ATR%.
Features:
Fully compatible with Pine Script v6
Lines and signals are fixed on the chart, do not shift with new bars
Configurable grid, ATR, SuperTrend, and filter parameters
Works with MTF analysis and classic indicators (OBV/DMI)
Usage:
Best used with additional indicators and risk management strategies. ATR% Grid is ideal for both positional trading and intraday setups.
перевод на русский
Описание:
Этот индикатор объединяет несколько методов технического анализа для выявления ключевых уровней цены и сигналов на покупку/продажу:
Сетка ATR% (ATR% Grid) – автоматическое построение уровней поддержки и сопротивления на основе текущей цены и волатильности (ATR). Позволяет видеть потенциальные цели и зоны входа/выхода.
SuperTrend – классический трендовый индикатор с адаптивным множителем ATR, который корректируется на основе средней волатильности.
OrderFlip – определение моментов разворота цены относительно скользящей средней с учетом ATR, с возможностью фильтрации по OBV и DMI.
MTF-подтверждение – проверка направления тренда на нескольких таймфреймах с помощью EMA, чтобы снизить ложные сигналы.
Сигнальные метки – на графике появляются "LONG" и "SHORT" с отступом от цены для наглядности.
JSON Alerts – готовый формат для автоматических уведомлений, включающий цену, направление SuperTrend, Fair Zone и ATR%.
Особенности:
Поддержка Pine Script v6
Линии и сигналы закреплены на графике, не двигаются при обновлении свечей
Настраиваемые параметры сетки, ATR, SuperTrend и фильтров
Совместимость с MTF-анализом и классическими индикаторами OBV/DMI
Рекомендации:
Используйте в сочетании с другими индикаторами и стратегиями управления риском. Сетка ATR% отлично подходит для позиционной торговли и интрадей.
ATR% Grid – automatic plotting of support and resistance levels based on current price and volatility (ATR). Useful for identifying potential targets and entry/exit zones.
SuperTrend – a classic trend indicator with an adaptive ATR multiplier that adjusts based on average volatility.
TRI - Linear Regression ChannelsDESCRIPTION:
Advanced Linear Regression Channel indicator with comprehensive breakout detection
and alert system. Provides visual representation of price trends using statistical
regression analysis with customizable bands, channels, and future projections.
This indicator calculates linear regression lines based on price action and creates
dynamic channels that adapt to market volatility. It includes multiple visualization
modes, breakout detection, and an extensive alert system for trading opportunities.
KEY FEATURES:
Linear Regression Bands: Upper, middle, and lower bands based on regression analysis
Regression Channel: Alternative channel visualization with deviation bands
Future Projection: Extends regression channel into the future for trend prediction
Breakout Detection: Real-time detection of price breakouts above/below key levels
Confirmed Breakouts: Validates breakouts using previous bar confirmation
Pivot Markers: Visual markers for pivot points outside channel boundaries
Comprehensive Alerts: Multiple alert types for different breakout scenarios
Customizable Colors: Full control over line colors and fill transparency
Flat Color Fills: Non-gradient background fills for clean visualization
CREDITS & ATTRIBUTION:
Based on the "Linear Regression Channel" indicator by ChartPrime.
Original work licensed under Mozilla Public License 2.0.
IMPROVEMENTS & DIFFERENCES FROM ORIGINAL:
1. Enhanced Alert System:
Added comprehensive breakout alerts for mid line, support, and resistance
Implemented confirmed breakout detection using previous bar validation
Separate alerts for bullish and bearish breakouts
Real-time and confirmed breakout alerts for better signal quality
2. Improved Visualization:
Flat color fills without gradients for cleaner appearance
Customizable line colors with separate controls for upper/lower/mid lines
Color coordination: lines match their respective fill colors with less transparency
Better visual organization with meaningful plot names
3. Performance Optimizations:
Pre-calculated common conditions to reduce redundant evaluations
Optimized RMA calculation (calculated once instead of twice)
Streamlined alert logic to eliminate redundant checks
Better code organization for improved execution efficiency
4. Code Quality:
Reorganized code structure for better readability and maintainability
Clear separation of concerns (calculations, detection, alerts, visualization)
Consistent naming conventions and code formatting
Comprehensive comments and documentation
5. Additional Features:
Pivot-based breakout markers with directional triangles
Support for multiple channel modes (bands, channel, future projection)
Arrow direction indicator for trend visualization
Configurable extension periods for channels
USAGE:
1. Enable Linear Regression Bands for standard upper/mid/lower visualization
2. Use Regression Channel for alternative channel display with deviation bands
3. Enable Future Projection to see where the channel may extend
4. Configure alerts in TradingView alert settings for breakout notifications
5. Customize colors to match your trading style and chart theme
ALERT TYPES:
Mid Line Breakout: Price crosses the middle regression line
Support Breakout: Price breaks below the lower band
Resistance Breakout: Price breaks above the upper band
Confirmed Breakouts: Validated breakouts using previous bar confirmation
Pivot Markers: Visual indicators when pivots occur outside channel boundaries






















