Compression Patterns (w/ Trend + Proximity Filter)🧠 Description:
This indicator identifies high-probability price compression patterns within trending environments — a setup prized by experienced swing and day traders alike. It combines the classic NR4, NR7, 2-Bar NR, 3-Bar NR, and Inside Day formations with a powerful trend filter and proximity logic to deliver clear, focused signals.
🔍 What's Inside:
▪️ Compression Patterns
The core of this tool lies in the logic of price compression. These patterns signal the market taking a breath — volatility contracts, volume dries up, and price coils like a spring.
When this happens in the right context, the next move is often explosive.
NR4 / NR7: Narrowest range in 4 or 7 bars — excellent for spotting the quiet before the storm.
2-Bar NR / 3-Bar NR: These identify the tightest consecutive 2 or 3-day ranges over the past 20 days — contextually rare and powerful.
Inside Day: A simple but highly effective consolidation pattern, especially when it clusters around key moving averages.
▪️ Trend Filter (EMA Stack)
You could say this is where most indicators fall apart — no context.
This one doesn’t make that mistake.
Signals only fire when the 10 EMA > 20 EMA > 50 EMA, and price is above the 20 EMA. That’s a strong, established uptrend — the only environment where breakouts are statistically favourable.
Why?
Because trend following works.
It may not give you fixed daily returns, but it’s the only strategy with theoretically infinite profit potential. You risk little, trade less, and position yourself for rare but massive moves. That’s the edge.
▪️ Proximity Filter (1 ATR to EMA)
We’ve added another layer of discipline. Signals only fire when price is:
Within 1 ATR of the 10 EMA (if price is above it), or
Within 1 ATR of the 20 EMA (if price is below the 10 EMA)
This ensures you’re not chasing. You’re waiting for tight, controlled pullbacks into dynamic support — exactly where institutions add size, not exit.
⚙️ Fully Customisable:
Toggle visibility of each pattern
Custom colours and transparency for label & background
Adjustable ATR length and multiplier
Change label text if needed (useful for translations or tweaks)
🎯 Ideal Use Case:
Swing trading off the daily chart
Day trading with VWAP/MACD filters (in alternate versions)
Supplementing price action strategies
🔚 Final Word:
This isn’t an “everything scanner.”
It’s a discerning sniper scope for traders who wait patiently for clean trends, tight consolidations, and perfect proximity — then strike.
Cerca negli script per "腾讯10大股东"
SMC Entry Signals MTF v2📘 User Guide for the SMC Entry Signals MTF v2 Indicator
🎯 Purpose of the Indicator
This indicator is designed to identify reversal entry points based on Smart Money Concepts (SMC) and candlestick confirmation. It’s especially useful for traders who use:
Imbalance zones, order blocks, breaker blocks
Liquidity grabs
Multi-timeframe confirmation (MTF)
📈 How to Use the Signals on the Chart
✅ LONG Signal (green triangle below the candle):
Conditions:
Price is in a discount zone (below the FIB 50% level)
A bullish engulfing candle appears
A bullish Order Block (OB) or Breaker Block is detected
There’s an upward imbalance
A bullish OB is confirmed on the higher timeframe
➡️ How to act:
Consider entering long on the current or next candle.
Place your stop-loss below the OB or the nearest swing low.
Take profit at the nearest liquidity zone or premium area (above FIB 50%).
🔻 SHORT Signal (red triangle above the candle):
Conditions:
Price is in a premium zone (above FIB 50%)
A bearish engulfing candle appears
A bearish OB or Breaker Block is detected
There’s a downward imbalance
A bearish OB is confirmed on the higher timeframe
➡️ How to act:
Consider short entry after the signal.
Place your stop-loss above the OB or swing high.
Target the discount zone or the next liquidity pocket.
⚙️ Recommended Settings by Trading Style
Trading Style Suggested Settings Notes
Intraday (1–15m) fibLookback = 20–50, obLookback = 5–10, htf_tf = 1H/4H Fast signals. Use Discount/Premium + Engulfing.
Swing/Position (1H–1D) fibLookback = 50–100, obLookback = 10–20, htf_tf = 1D/1W Higher trust in MTF confirmation. Ideal with fundamentals.
Scalping (1m) fibLookback = 10–20, obLookback = 3–5, htf_tf = 15m/1H Remove Breaker and MTF for quick reaction trades.
🧠 Best Practices for Traders
Trend Filtering:
Use EMAs or volume to confirm the current trend.
Take longs only in uptrends, shorts in downtrends.
Liquidity Zones:
Use this indicator after liquidity grabs.
OBs and Breakers often appear right after stop hunts.
Combine with Manual Zones:
This works best when paired with manually drawn OBs and key levels.
Backtest the Signals:
Use Bar Replay mode on TradingView to test past signals.
🧪 Example Trade Setup
Example on BTCUSDT 15m:
Price drops into the discount zone.
A green triangle appears (bullish engulfing + OB + imbalance + HTF OB).
You enter long, stop below the OB, target the premium zone.
🎯 This type of setup often gives a risk/reward ratio of 1:2 or better — profitable even with a 40% win rate.
⏰ Alerts & Automation
Enable alerts:
"SMC Long Entry" — fires when a long signal appears.
"SMC Short Entry" — fires when a short signal appears.
You can integrate this with bots via webhook, like:
TradingConnector, 3Commas, Alertatron, etc.
✅ What This Indicator Gives You
High-probability entries using SMC logic
Customizable filters for entry logic
Multi-timeframe confirmation for stronger setups
Suitable for both intraday and swing trading
Options Volume [theUltimator5]📊 Option Volume — Multi-Strike Option Flow Visualizer
The Option Volume indicator tracks and visualizes volume activity for up to 10 custom option strike symbols on any ticker. It supports both individual strike analysis and a combined cumulative volume mode, providing an intuitive view of option flow across your selected strikes.
🔧 Features:
Dynamic Strike Control: Select up to 10 strikes and customize each with ticker, expiration date (YYMMDD), and option type (Call or Put).
Volume Display Modes:
🔹 Individual: Shows a separate volume bar for each strike.
🔸 Cumulative: Combines all selected strike volumes into a single bar, colored green for Calls and red for Puts.
Customizable Table Display:
Toggle the option symbol table on/off.
Position the table in any corner of the chart.
Table cell colors match plotted bars in Individual mode, or turn red/green in Cumulative mode based on option type.
Smart Volume Filtering: Only shows volume bars on the bar where volume updates (i.e., no carryover from stale bars).
Input Efficiency: All strike prices are automatically rounded to the nearest 0.5 increment for standardized symbol formatting.
⚙️ How to Use:
Select the ticker you want to analyze.
Input the expiration date and option type (C or P).
Define strike prices (up to 10).
Toggle between Individual or Cumulative volume display.
Adjust the number of visible strikes and table position as needed.
This tool is ideal for traders looking to monitor strike-level option volume behavior, spot flow anomalies, or keep track of high-interest strike activity in real-time.
The indicator currently doesn't support multiple expiration dates or a combination of calls/puts. If you want to view multiple expirations or a both calls and puts at the same time, simply add the indicator multiple times.
5ma + O’Neil & Minervini Buy ConditionIndicator Overview
5ma + O’Neil & Minervini Buy Condition is an original TradingView indicator that extends beyond a simple collection of standard moving averages by offering:
- Five Fully Independent Lines : Each of MA1–MA5 can be configured as SMA, EMA, WMA, or VWMA with its own period and data source. This level of customization unlocks unique combinations no existing script provides.
- Synergy of Multiple Timeframes : Default settings (10, 21, 50, 200, 325) reflect ultra‑short, short, medium, long, and volume‑weighted long‑term perspectives. The layered structure functions as a multi‑filter, sharpening entry signals and trend confirmation beyond any single MA.
- Integrated Buy Conditions : Built‑in O’Neil and Minervini buy filters use fixed SMA‑based rules (50 & 200 SMA rising within 15% of 52‑week high; 10 > 21 > 50 SMA rising within high/low thresholds), plus a combined condition highlighting when both methods align.
- Clean Visualization & Style Controls : Background coloring for each buy condition appears only in the Style tab under clearly named parameters (O’Neil Buy Condition, Minervini Buy Condition, Both Conditions). MA lines support transparent default colors and customizable line width for optimal readability without clutter.
Calculation & Logic
SMA: (P₁ + P₂ + … + Pₙ) ÷ N
EMA: α = 2 ÷ (N + 1)
EMA_today = (Price_today – EMA_yesterday) × α + EMA_yesterday
WMA: (P₁×N + P₂×(N–1) + … + Pₙ×1) ÷
VWMA: Σ(Pᵢ×Vᵢ) ÷ Σ(Vᵢ) for i = 1…N
```
Buy Condition Logic
- O’Neil: Price > 50 SMA & 200 SMA (both rising) **and** within 15% of the 52‑week high.
- Minervini : 10 SMA > 21 SMA > 50 SMA (both short‑term SMAs rising) **and** within 25% of the 52‑week high **and** at least 25% above the 52‑week low.
- Combined : Both O’Neil and Minervini conditions true.
Usage Examples
1. Short‑Mid Cross : Observe MA1/MA2 crossover while MA3/MA4 confirm trend strength.
2. Volume‑Weighted Long‑Term : Use VWMA as MA5 to filter institutional‑strength pullbacks.
3. Multi‑Filter Entry : Look for purple background (Both Conditions) on daily chart as high‑confidence entry.
Why It’s Unique
- Not a Mash‑Up : Though built on standard MA formulas, the customizable layering and built‑in buy filters create a novel multi‑dimensional analysis tool.
- Trader‑Friendly : Detailed comments in the code explain parameter choices, calculation methods, and practical entry scenarios so that even Pine novices can understand the underlying mechanics.
- Publication‑Ready : Description and code demonstrate originality, add clear value, and comply with house‑rule requirements by explaining why and how components interact, not just listing features.
- Combined Custom MA & Buy Conditions : By integrating customizable moving averages with built-in buy filters, users can easily recognize O’Neil and Minervini recommended setups.
[blackcat] L3 Dark Horse OscillatorOVERVIEW
The L3 Dark Horse Oscillator is a sophisticated technical indicator meticulously crafted to offer traders deep insights into market momentum. By leveraging advanced calculations involving Relative Strength Value (RSV) and proprietary oscillatory techniques, this script provides clear and actionable signals for identifying potential buying and selling opportunities. Its distinctive feature—a vibrant gradient color scheme—enhances readability and makes it easier to visualize trends and reversals on the chart 📈↗️.
FEATURES
Advanced Calculation Methods: Utilizes complex algorithms to compute the Relative Strength Value (RSV) over specific periods, providing a nuanced view of price movements.
Default Period: 27 bars for initial RSV calculation.
Additional Period: 36 bars for extended RSV analysis.
Dual-Oscillator Components:
Component A: Derived using multiple layers of Simple Moving Averages (SMAs) applied to the RSV, offering a smoothed representation of short-term momentum.
Component B: Employs a unique averaging method tailored to capture medium-term trends effectively.
Dynamic Gradient Color Scheme: Enhances visualization through a spectrum of colors that change dynamically based on the calculated values, making trend identification intuitive and engaging 🌈.
Customizable Horizontal Reference Lines: Key levels are marked at 0, 10, 50, and 90 to serve as benchmarks for assessing the oscillator's readings, helping traders make informed decisions quickly.
Comprehensive Visual Representation: Combines the strengths of both components into a single, gradient-colored candlestick plot, providing a holistic view of market sentiment and momentum shifts 📊.
HOW TO USE
Adding the Indicator: Start by adding the L3 Dark Horse Oscillator to your TradingView chart via the indicators menu. This will overlay the necessary plots directly onto your price chart.
Interpreting the Components: Familiarize yourself with the two primary components represented by yellow and fuchsia lines. These lines indicate the underlying momentum derived from the RSV calculations.
Monitoring Momentum Shifts: Pay close attention to the gradient-colored candlesticks, which reflect the combined strength of both components. Notice how these candles transition through various shades, signaling changes in market dynamics.
Utilizing Reference Levels: Leverage the horizontal lines at 0, 10, 50, and 90 as critical thresholds. For instance, values above 50 might suggest bullish conditions, while those below could hint at bearish tendencies.
Combining with Other Tools: To enhance reliability, integrate this indicator with complementary technical analyses such as moving averages, volume profiles, or other oscillators like RSI or MACD.
LIMITATIONS
Market Volatility: In extremely volatile or sideways-trending markets, the indicator might produce false signals due to erratic price movements. Always cross-reference with broader market contexts.
Testing Required: Before deploying the indicator in real-time trading, conduct thorough backtesting across diverse assets and timeframes to understand its performance characteristics fully.
Asset-Specific Performance: The efficacy of the L3 Dark Horse Oscillator can differ significantly across various financial instruments and market conditions. Tailor your strategies accordingly.
NOTES
Historical Data: Ensure ample historical data availability to facilitate precise calculations and avoid inaccuracies stemming from insufficient data points.
Parameter Adjustments: Experiment with adjusting the default periods (27 and 36 bars) if you find them unsuitable for your specific trading style or market conditions.
Visual Customization: Modify the appearance settings, including line styles and gradient colors, to better suit personal preferences without compromising functionality.
Risk Management: While the indicator offers valuable insights, always adhere to robust risk management practices to safeguard against unexpected market fluctuations.
EXAMPLE STRATEGIES
Trend Following: Use the oscillator to confirm existing trends. When Component A crosses above Component B, consider entering long positions; conversely, look for short entries during downward crossovers.
Mean Reversion: Identify extreme readings near the upper (90) or lower (10) bands where prices might revert to mean levels, presenting potential reversal opportunities.
Divergence Analysis: Compare the oscillator's behavior with price action to spot divergences, which often precede trend reversals. Bullish divergence occurs when prices make lower lows but the oscillator shows higher lows, suggesting upward momentum.
[Kpt-Ahab] PnL-calculatorThe PnL-Cal shows how much you’re up or down in your own currency, based on the current exchange rate.
Let’s say your home currency is EUR.
On October 10, 2022, you bought 10 Tesla stocks at $219 apiece.
Back then, with an exchange rate of 0.9701, you spent €2,257.40.
If you sold the 10 Tesla shares on April 17, 2025 for $241.37 each, that’s around a 10% gain in USD.
But if you converted the USD back to EUR on the same day at an exchange rate of 1.1398, you’d actually end up with an overall loss of about 6.2%.
Right now, only a single entry point is supported.
If you bought shares on different days with different exchange rates, you’ll unfortunately have to enter an average for now.
For viewing on a phone, the table can be simplified.
AllMA Trend Radar [trade_lexx]📈 AllMA Trend Radar is your universal trend analysis tool!
📊 What is AllMA Trend Radar?
AllMA Trend Radar is a powerful indicator that uses various types of Moving Averages (MA) to analyze trends and generate trading signals. The indicator allows you to choose from more than 30 different types of moving averages and adjust their parameters to suit your trading style.
💡 The main components of the indicator
📈 Fast and slow moving averages
The indicator uses two main lines:
- Fast MA (blue line): reacts faster to price changes
- Slow MA (red line): smoother, reflects a long-term trend
The combined use of fast and slow MA allows you to get trend confirmation and entry/exit points from the market.
🔄 Wide range of moving averages
There are more than 30 types of moving averages at your disposal:
- SMA: Simple moving average
- EMA: Exponential moving average
- WMA: Weighted moving average
- DEMA: double exponential MA
- TEMA: triple exponential MA
- HMA: Hull Moving Average
- LSMA: Moving average of least squares
- JMA: Eureka Moving Average
- ALMA: Arnaud Legoux Moving Average
- ZLEMA: moving average with zero delay
- And many others!
🔍 Indicator signals
1️⃣ Fast 🆚 Slow MA signals (intersection and ratio of fast and slow MA)
Up/Down signals (intersection)
- Buy (Up) signal:
- What happens: the fast MA crosses the slow MA from bottom to top
- What does the green triangle with the "Buy" label under the candle look
like - What does it mean: a likely upward trend reversal or an uptrend strengthening
- Sell signal (Down):
- What happens: the fast MA crosses the slow MA from top to bottom
- What does it look like: a red triangle with a "Sell" mark above the candle
- What does it mean: a likely downtrend reversal or an increase in the downtrend
Greater/Less signals (ratio)
- Buy signal (Greater):
- What happens: the fast MA becomes higher than the slow MA
- What does it look like: a green triangle with a "Buy" label under the candle
- What does it mean: the formation or confirmation of an uptrend
- Sell signal (Less):
- What happens: the fast MA becomes lower than the slow MA
- What does it look like: a red triangle with a "Sell" mark above the candle
- What does it mean: the formation or confirmation of a downtrend
2️⃣ Signals ⚡️ Fast MA (fast MA and price)
Up/Down signals (intersection)
- Buy signal (Up Fast):
- What happens: the price crosses the fast MA from bottom to top
- What does it look like: a green triangle with a "Buy" label under the candle
- What does it mean: a short-term price growth signal
- Sell signal (Down Fast):
- What happens: the price crosses the fast MA from top to bottom
- What does it look like: a red triangle with a "Sell" label above the candle
- What does it mean: a short-term price drop signal
Greater/Less signals (ratio)
- Buy signal (Greater Fast):
- What happens: the price is getting higher than the fast MA
- What does it look like: a green triangle with a "Buy" label under the candle
- What does it mean: the price is above the fast MA, which indicates an upward movement
- Sell signal (Less Fast):
- What happens: the price is getting lower than the fast MA
- What does it look like: a red triangle with a "Sell" mark above the candle
- What does it mean: the price is under the fast MA, which indicates a downward movement
3️⃣ Signals 🐢 Slow MA (slow MA and price)
Up/Down signals (intersection)
- Buy signal (Up Slow):
- What happens: the price crosses the slow MA from bottom to top
- What does it look like: a green triangle with a "Buy" label under the candle
- What does it mean: a potential medium-term upward trend reversal
- Sell signal (Down Slow):
- What happens: the price crosses the slow MA from top to bottom
- What does it look like: a red triangle with a "Sell" label above the candle
- What does it mean: a potential medium-term downward trend reversal
Greater/Less signals (ratio)
- Buy signal (Greater Slow):
- What happens: the price is getting above the slow MA
- What does it look like: a green triangle with a "Buy" label under the candle
- What does it mean: the price is above the slow MA, which indicates a strong upward movement
- Sell signal (Less Slow):
- What is happening: the price is getting below the slow MA
- What does it look like: a red triangle with a "Sell" mark above the candle
- What does it mean: the price is under the slow MA, which indicates a strong downward movement
🛠 Filters to filter out false signals
1️⃣ Minimum distance between the signals
- What it does: sets the minimum number of candles between signals of the same type
- Why it is needed: it prevents the appearance of too frequent signals, especially during periods of high volatility
- How to set it up: Set a different value for each signal type (default: 3-5 bars)
- Example: if the value is 3 for Up/Down signals, after the buy signal appears, the next buy signal may appear no earlier than 3 bars later
2️⃣ Advanced indicator filters
🔍 RSI Filter
- What it does: Checks the Relative Strength Index (RSI) value before generating a signal
- Why it is needed: it helps to avoid countertrend entries and catch reversal points
- How to set up:
- For buy signals (🔋 Buy): set the RSI range, usually in the oversold zone (for example, 1-30)
- For sell signals (🪫 Sell): set the RSI range, usually in the overbought zone (for example, 70-100)
- Example: if the RSI = 25 (in the range 1-30), the buy signal will be confirmed
📊 MFI Filter (Cash Flow Index)
- What it does: analyzes volumes and the direction of price movement
- Why it is needed: confirms signals with data on the activity of cash flows
- How to set up:
- For buy signals (🔋 Buy): set the MFI range in the oversold zone (for example, 1-25)
- For sell signals (🪫 Sell): set the MFI range in the overbought zone (for example, 75-100)
- Example: if MFI = 80 (in the range of 75-100), the sell signal will be confirmed
📈 Stochastic Filter
- What it does: analyzes the position of the current price relative to the price range
- Why it is needed: confirms signals based on overbought/oversold conditions
- How to configure:
- You can configure the K Length, D Length and Smoothing parameters
- For buy signals (🔋 Buy): set the stochastic range in the oversold zone (for example, 1-20)
- For sell signals (🪫 Sell): set the stochastic range in the overbought zone (for example, 80-100)
- Example: if stochastic = 15 (is in the range of 1-20), the buy signal will be confirmed
🔌 Connecting to trading strategies
The indicator provides various connectors to connect to your trading strategies.:
1️⃣ Individual connectors for each type of signal
- 🔌Fast vs Slow Up/Down MA Signal🔌: signals for the intersection of fast and slow MA
- 🔌Fast vs Slow Greater/Less MA Signal🔌: signals of the ratio of fast and slow MA
- 🔌Fast Up/Down MA Signal🔌: signals of the intersection of price and fast MA
- 🔌Fast Greater/Less MA Signal🔌: signals of the ratio of price and fast MA
- 🔌Slow Up/Down MA Signal🔌: signals of the intersection of price and slow MA
- 🔌Slow Greater/Less MA Signal🔌: Price versus slow MA signals
2️⃣ Combined connectors
- 🔌Combined Up/Down MA Signal🔌: combines all the crossing signals (Up/Down)
- 🔌Combined Greater/Less MA Signal🔌: combines all the signals of the ratio (Greater/Less)
- 🔌Combined All MA Signals🔌: combines all signals (Up/Down and Greater/Less)
❗️ All connectors return values:
- 1: buy signal
- -1: sell signal
- 0: no signal
📚 How to start using AllMA Trend Radar
1️⃣ Selection of types of moving averages
- Add an indicator to the chart
- Select the type and period for the fast MA (default: DEMA with a period of 14)
- Select the type and period for the slow MA (default: SMA with a period of 14)
- Experiment with different types of MA to find the best combination for your trading style
2️⃣ Signal settings
- Turn on the desired signal types (Up/Down, Greater/Less)
- Set the minimum distance between the signals
- Activate and configure the necessary filters (RSI, MFI, Stochastic)
3️⃣ Checking on historical data
- Analyze how the indicator works based on historical data
- Pay attention to the accuracy of the signals and the presence of false alarms
- Adjust the settings if necessary
4️⃣ Introduction to the trading strategy
- Decide which signals will be used to enter the position.
- Determine which signals will be used to exit the position.
- Connect the indicator to your trading strategy through the appropriate connectors
🌟 Practical application examples
Scalping strategy
- Fast MA: TEMA with a period of 8
- Slow MA: EMA with a period of 21
- Active signals: Fast MA Up/Down
- Filters: RSI (range 1-40 for purchases, 60-100 for sales)
- Signal spacing: 3 bars
Strategy for day trading
- Fast MA: TEMA with a period of 10
- Slow MA: SMA with a period of 20
- Active signals: Fast MA Up/Down and Fast vs Slow Greater/Less
- Filters: MFI (range 1-25 for purchases, 75-100 for sales)
- Signal spacing: 5 bars
Swing Trading Strategy
- Fast MA: DEMA with a period of 14
- Slow MA: VWMA with a period of 30
- Active signals: Fast vs Slow Up/Down and Slow MA Greater/Less
- Filters: Stochastic (range 1-20 for purchases, 80-100 for sales)
- Signal spacing: 8 bars
A strategy for positional trading
- Fast MA: HMA with a period of 21
- Slow MA: SMA with a period of 50
- Active signals: Slow MA Up/Down and Fast vs Slow Greater/Less
- Filters: RSI and MFI at the same time
- The distance between the signals: 10 bars
💡 Tips for using AllMA Trend Radar
1. Select the types of MA for market conditions:
- For trending markets: DEMA, TEMA, HMA (fast MA)
- For sideways markets: SMA, WMA, VWMA (smoothed MA)
- For volatile markets: KAMA, AMA, VAMA (adaptive MA)
2. Combine different types of signals:
- Up/Down signals work better when moving from a sideways trend to a directional
one - Greater/Less signals are optimal for fixing a stable trend
3. Use filters effectively:
- The RSI filter works great in trending markets
- MFI filter helps to confirm the strength of volume movement
- Stochastic filter works well in lateral ranges
4. Adjust the minimum distance between the signals:
- Small values (2-3 bars) for short-term trading
- Average values (5-8 bars) for medium-term trading
- Large values (10+ bars) for long-term trading
5. Use combination connectors:
- For more reliable signals, connect the indicator through the combined connectors
💰 With the AllMA Trend Radar indicator, you get a universal trend analysis tool that can be customized for any trading style and timeframe. The combination of different types of moving averages and advanced filters allows you to significantly improve the accuracy of signals and the effectiveness of your trading strategy!
3M-10Y Yield Spread3M-10Y Yield Spread Indicator Description
What It Is:
This indicator calculates the difference (spread) between the 3-month and 10-year US Treasury yields, plotted as a line with a zero reference. The background turns red when the spread inverts (falls below zero), signaling when the 3-month yield exceeds the 10-year yield.
What It Helps Understand:
Economic Health: An inverted yield curve (spread < 0) often predicts recessions, as it reflects market expectations of future economic slowdown, typically preceding downturns by 6-18 months.
Fed Policy Impact: Fed rate hikes can push short-term yields (like the 3-month) higher, potentially causing inversion if long-term yields (10-year) don’t rise as much due to growth concerns. Conversely, Fed rate cuts can lower short-term yields, steepening the curve (spread > 0), signaling economic stimulus or recovery expectations.
AI-123's BTC vs Gold (Lag Correlation)
DISCLAIMER
I made this indicator with the help of ChatGPT and using what I have learned so far from The Pine Script Mastery Course, LOTS of edits based on what I have learned so far had to be made as well as additions and modifications to my liking thanks to what I have learned so far. I am aware this already exists but I have done my best to make a first ever script/indicator while learning how to properly publish as well, so please bear that in mind.
Overview
This indicator analyzes the correlation between Bitcoin (BTC) and Gold (XAUUSD), with a customizable lag applied to the Gold price, providing insight into the macro relationship between these two assets.
It is designed for traders and investors who want to track how Bitcoin and Gold move in relation to each other, particularly when Gold is lagged by a specific number of days.
Key Features:
BTC and Gold (Lagged) Price Overlay: Display Bitcoin (BTC) and Gold (XAUUSD) prices on the chart, with an adjustable lag applied to the Gold price.
Rolling Correlation Calculation: Measures the correlation between Bitcoin and lagged Gold prices over a customizable lookback period.
Adjustable Lag: The number of days that Gold is lagged relative to Bitcoin is fully customizable (default: 20 days).
Customizable Correlation Length: Allows you to choose the lookback period for the correlation (default: 50 days), providing flexibility for short-term or long-term analysis.
Normalized Plotting: Prices of Bitcoin and Gold are normalized for better visual alignment with the correlation values. BTC is divided by 1000, and Gold by 100.
Correlation Scaling: The correlation value is amplified by 10 for better visual clarity and comparison with price data.
Zero Line: Horizontal line representing a correlation of 0, making it easier to identify positive or negative correlation shifts.
Maximum Correlation Lines: Horizontal lines at +10 and -10 values for extreme correlation scenarios.
Input Settings:
Gold Symbol: Customize the Gold ticker (default: OANDA:XAUUSD).
Bitcoin Symbol: Customize the Bitcoin ticker (default: BINANCE:BTCUSDT).
Lag (in trading days): Adjust the number of trading days to lag the Gold price relative to Bitcoin (default: 20).
Correlation Length (days): Set the number of days over which the rolling correlation is calculated (default: 50).
How to Use:
Price Comparison: The BTC (Spot) and Lagged Gold plots give you a side-by-side visual comparison of the two assets, normalized for clarity.
Correlation Line: The correlation line helps you gauge the strength and direction of the relationship between BTC and lagged Gold. Positive values indicate a strong positive correlation, while negative values indicate a negative correlation.
Visual Analysis: Watch how the correlation shifts with changes in lag and correlation length to identify potential market dynamics between Bitcoin and Gold.
Potential Applications:
Macro Trading: Track how Bitcoin and Gold behave in relation to each other during periods of economic uncertainty or inflation.
Sentiment Analysis: Use the correlation data to understand the sentiment between digital and traditional assets.
Strategic Timing: Identify potential opportunities where Bitcoin and Gold show a strong correlation or diverge based on the lag adjustment.
Understanding Macro Trends/Correlations.
Disclaimer:
This indicator is for informational purposes only. The correlation between Bitcoin and Gold does not guarantee future performance, and users should conduct their own research and use risk management strategies when making trading decisions.
Notes: This script uses historical data, so results may vary across different timeframes.
Customization options allow users to adjust the lag and correlation length to better fit their trading strategy.
Future Enhancements: Additional Correlation Line: A second correlation line for different lengths of lag or different assets.
Color-Coding of Correlation: Future updates may include color-coded correlation strength, visually indicating positive or negative correlation more effectively.
Constance Brown RSI with Composite IndexConstance Brown RSI with Composite Index
Overview
This indicator combines Constance Brown's RSI interpretation methodology with a Composite Index and ATR Distance to VWAP measurement to provide a comprehensive trading tool. It helps identify trends, momentum shifts, overbought/oversold conditions, and potential reversal points.
Key Features
Color-coded RSI zones for immediate trend identification
Composite Index for momentum analysis and divergence detection
ATR Distance to VWAP for identifying extreme price deviations
Automatic divergence detection for early reversal warnings
Pre-configured alerts for key trading signals
How to Use This Indicator
Trend Identification
The RSI line changes color based on its position:
Blue zone (RSI > 50): Bullish trend - look for buying opportunities
Purple zone (RSI < 50): Bearish trend - look for selling opportunities
Gray zone (RSI 40-60): Neutral/transitional market - prepare for potential breakout
The 40-50 area (light blue fill) acts as support during uptrends, while the 50-60 area (light purple fill) acts as resistance during downtrends.
// From the code:
upTrendZone = rsiValue > 50 and rsiValue <= 90
downTrendZone = rsiValue < 50 and rsiValue >= 10
neutralZone = rsiValue > 40 and rsiValue < 60
rsiColor = neutralZone ? neutralRSI : upTrendZone ? upTrendRSI : downTrendRSI
Momentum Analysis
The Composite Index (fuchsia line) provides momentum confirmation:
Values above 50 indicate positive momentum
Values below 40 indicate negative momentum
Crossing above/below these thresholds signals potential momentum shifts
// From the code:
compositeIndexRaw = rsiChange / ta.stdev(rsiValue, rsiLength)
compositeIndex = ta.sma(compositeIndexRaw, compositeSmoothing)
compositeScaled = compositeIndex * 10 + 50 // Scaled to fit 0-100 range
Overbought/Oversold Detection
The ATR Distance to VWAP table in the top-right corner shows how far price has moved from VWAP in terms of ATR units:
Extreme positive values (orange/red): Potentially overbought
Extreme negative values (purple/red): Potentially oversold
Near zero (gray): Price near average value
// From the code:
priceDistance = (close - vwapValue) / ta.atr(atrPeriod)
// Color coding based on distance value
Divergence Trading
The indicator automatically detects divergences between the Composite Index and price:
Bullish divergence: Price makes lower low but Composite Index makes higher low
Bearish divergence: Price makes higher high but Composite Index makes lower high
// From the code:
divergenceBullish = ta.lowest(compositeIndex, rsiLength) > ta.lowest(close, rsiLength)
divergenceBearish = ta.highest(compositeIndex, rsiLength) < ta.highest(close, rsiLength)
Trading Strategies
Trend Following
1. Identify the trend using RSI color:
Blue = Uptrend, Purple = Downtrend
2. Wait for pullbacks to support/resistance zones:
In uptrends: Buy when RSI pulls back to 40-50 zone and bounces
In downtrends: Sell when RSI rallies to 50-60 zone and rejects
3. Confirm with Composite Index:
Uptrends: Composite Index stays above 50 or quickly returns above it
Downtrends: Composite Index stays below 50 or quickly returns below it
4. Manage risk using ATR Distance:
Take profits when ATR Distance reaches extreme values
Place stops beyond recent swing points
Reversal Trading
1. Look for divergences
Bullish: Price makes lower low but Composite Index makes higher low
Bearish: Price makes higher high but Composite Index makes lower high
2. Confirm with ATR Distance:
Extreme readings suggest potential reversals
3. Wait for RSI zone transition:
Bullish: RSI crosses above 40 (purple to neutral/blue)
Bearish: RSI crosses below 60 (blue to neutral/purple)
4. Enter after confirmation:
Use candlestick patterns for precise entry
Place stops beyond the divergence point
Four pre-configured alerts are available:
Momentum High: Composite Index above 50
Momentum Low: Composite Index below 40
Bullish Divergence: Composite Index higher low
Bearish Divergence: Composite Index lower high
Customization
Adjust these parameters to optimize for your trading style:
RSI Length: Default 14, lower for more sensitivity, higher for fewer signals
Composite Index Smoothing: Default 10, lower for quicker signals, higher for less noise
ATR Period: Default 14, affects the ATR Distance to VWAP calculation
This indicator works well across various markets and timeframes, though the default settings are optimized for daily charts. Adjust parameters for shorter or longer timeframes as needed.
Happy trading!
Volume Profile + Price Action Strategy (POC-based)This indicator combines volume dynamics, price action patterns, and a simplified Point of Control (POC) to highlight potential high-probability trade zones.
🔍 Key Features
POC-Based Logic
Plots the POC from the most recent closed 10-minute candle as a horizontal level for intraday structure.
Volume Spike Detection
Highlights unusual activity based on volume compared to the average of the last N candles.
Effort vs. Result Analysis
Based on Wyckoff-inspired logic:
Absorption: Large volume, small body → possible buyer/seller absorption
False Move: Small volume, large body → potential fakeout
Price Action Recognition Detects:
Inside Bars
Pin Bars
Engulfing Candles
Signal Highlights
🔺 Absorption Signals (below bar, teal triangle)
🔻 False Move Signals (above bar, orange triangle)
🔷 POC Line
⚙️ Customizable Inputs
You can control signal sensitivity with these inputs:
Volume Spike Multiplier
Raise to filter only extreme volume spikes
→ Recommended: 2.0 to 3.0 for cleaner setups
Absorption Body Ratio
Lower to detect only very small bodies (tight candles)
→ Try 0.3 to 0.4 for stricter absorption logic
False Move Body Ratio
Raise to catch only large candles on low volume
→ Use 2.0+ to filter weak moves
🧠 How to Use
Use in confluence with:
Support/Resistance
VWAP or moving averages
Session opens/closes
Best on 10-minute charts, but adjustable
✅ Signal Tuning Tips
Want fewer but cleaner signals?
Increase Volume Spike Multiplier: 2.5+
Decrease Absorption Body Ratio: 0.3
Increase False Move Ratio: 2.0+
Want more frequent signals?
Lower Volume Multiplier: 1.2–1.5
Raise Absorption Ratio: 0.6+
Lower False Move Ratio: 1.2–1.4
📊 Recommended Timeframe
Optimized for 10-minute charts
Works intraday, especially around session opens and POC re-tests
⚠️ Disclaimer
This script is for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any asset. Past performance is not indicative of future results. Always do your own research and consult a licensed financial advisor before making trading decisions.
Use at your own risk.
EMA Crossover Signal (15min)📈 EMA Crossover Signal (15min)
This indicator generates Buy and Sell signals based on a simple yet effective Exponential Moving Average (EMA) crossover strategy, strictly evaluated on the 15-minute timeframe.
✅ Strategy:
Buy Signal: Triggered when the 5 EMA crosses above the 10 EMA.
Sell Signal: Triggered when the 5 EMA crosses below the 10 EMA.
📌 Features:
Signals are evaluated using 15-minute data, regardless of your current chart timeframe.
Clear Buy/Sell labels are displayed directly on the chart.
Optional plotting of the 5 EMA and 10 EMA from the 15-minute chart for visual confirmation.
This tool is ideal for traders who want to follow short-term momentum shifts with high clarity and precision.
ZigZag█ Overview
This Pine Script™ library provides a comprehensive implementation of the ZigZag indicator using advanced object-oriented programming techniques. It serves as a developer resource rather than a standalone indicator, enabling Pine Script™ programmers to incorporate sophisticated ZigZag calculations into their own scripts.
Pine Script™ libraries contain reusable code that can be imported into indicators, strategies, and other libraries. For more information, consult the Libraries section of the Pine Script™ User Manual.
█ About the Original
This library is based on TradingView's official ZigZag implementation .
The original code provides a solid foundation with user-defined types and methods for calculating ZigZag pivot points.
█ What is ZigZag?
The ZigZag indicator filters out minor price movements to highlight significant market trends.
It works by:
1. Identifying significant pivot points (local highs and lows)
2. Connecting these points with straight lines
3. Ignoring smaller price movements that fall below a specified threshold
Traders typically use ZigZag for:
- Trend confirmation
- Identifying support and resistance levels
- Pattern recognition (such as Elliott Waves)
- Filtering out market noise
The algorithm identifies pivot points by analyzing price action over a specified number of bars, then only changes direction when price movement exceeds a user-defined percentage threshold.
█ My Enhancements
This modified version extends the original library with several key improvements:
1. Support and Resistance Visualization
- Adds horizontal lines at pivot points
- Customizable line length (offset from pivot)
- Adjustable line width and color
- Option to extend lines to the right edge of the chart
2. Support and Resistance Zones
- Creates semi-transparent zone areas around pivot points
- Customizable width for better visibility of important price levels
- Separate colors for support (lows) and resistance (highs)
- Visual representation of price areas rather than just single lines
3. Zig Zag Lines
- Separate colors for upward and downward ZigZag movements
- Visually distinguishes between bullish and bearish price swings
- Customizable colors for text
- Width customization
4. Enhanced Settings Structure
- Added new fields to the Settings type to support the additional features
- Extended Pivot type with supportResistance and supportResistanceZone fields
- Comprehensive configuration options for visual elements
These enhancements make the ZigZag more useful for technical analysis by clearly highlighting support/resistance levels and zones, and providing clearer visual cues about market direction.
█ Technical Implementation
This library leverages Pine Script™'s user-defined types (UDTs) to create a robust object-oriented architecture:
- Settings : Stores configuration parameters for calculation and display
- Pivot : Represents pivot points with their visual elements and properties
- ZigZag : Manages the overall state and behavior of the indicator
The implementation follows best practices from the Pine Script™ User Manual's Style Guide and uses advanced language features like methods and object references. These UDTs represent Pine Script™'s most advanced feature set, enabling sophisticated data structures and improved code organization.
For newcomers to Pine Script™, it's recommended to understand the language fundamentals before working with the UDT implementation in this library.
█ Usage Example
//@version=6
indicator("ZigZag Example", overlay = true, shorttitle = 'ZZA', max_bars_back = 5000, max_lines_count = 500, max_labels_count = 500, max_boxes_count = 500)
import andre_007/ZigZag/1 as ZIG
var group_1 = "ZigZag Settings"
//@variable Draw Zig Zag on the chart.
bool showZigZag = input.bool(true, "Show Zig-Zag Lines", group = group_1, tooltip = "If checked, the Zig Zag will be drawn on the chart.", inline = "1")
// @variable The deviation percentage from the last local high or low required to form a new Zig Zag point.
float deviationInput = input.float(5.0, "Deviation (%)", minval = 0.00001, maxval = 100.0,
tooltip = "The minimum percentage deviation from a previous pivot point required to change the Zig Zag's direction.", group = group_1, inline = "2")
// @variable The number of bars required for pivot detection.
int depthInput = input.int(10, "Depth", minval = 1, tooltip = "The number of bars required for pivot point detection.", group = group_1, inline = "3")
// @variable registerPivot (series bool) Optional. If `true`, the function compares a detected pivot
// point's coordinates to the latest `Pivot` object's `end` chart point, then
// updates the latest `Pivot` instance or adds a new instance to the `ZigZag`
// object's `pivots` array. If `false`, it does not modify the `ZigZag` object's
// data. The default is `true`.
bool allowZigZagOnOneBarInput = input.bool(true, "Allow Zig Zag on One Bar", tooltip = "If checked, the Zig Zag calculation can register a pivot high and pivot low on the same bar.",
group = group_1, inline = "allowZigZagOnOneBar")
var group_2 = "Display Settings"
// @variable The color of the Zig Zag's lines (up).
color lineColorUpInput = input.color(color.green, "Line Colors for Up/Down", group = group_2, inline = "4")
// @variable The color of the Zig Zag's lines (down).
color lineColorDownInput = input.color(color.red, "", group = group_2, inline = "4",
tooltip = "The color of the Zig Zag's lines")
// @variable The width of the Zig Zag's lines.
int lineWidthInput = input.int(1, "Line Width", minval = 1, tooltip = "The width of the Zig Zag's lines.", group = group_2, inline = "w")
// @variable If `true`, the Zig Zag will also display a line connecting the last known pivot to the current `close`.
bool extendInput = input.bool(true, "Extend to Last Bar", tooltip = "If checked, the last pivot will be connected to the current close.",
group = group_1, inline = "5")
// @variable If `true`, the pivot labels will display their price values.
bool showPriceInput = input.bool(true, "Display Reversal Price",
tooltip = "If checked, the pivot labels will display their price values.", group = group_2, inline = "6")
// @variable If `true`, each pivot label will display the volume accumulated since the previous pivot.
bool showVolInput = input.bool(true, "Display Cumulative Volume",
tooltip = "If checked, the pivot labels will display the volume accumulated since the previous pivot.", group = group_2, inline = "7")
// @variable If `true`, each pivot label will display the change in price from the previous pivot.
bool showChgInput = input.bool(true, "Display Reversal Price Change",
tooltip = "If checked, the pivot labels will display the change in price from the previous pivot.", group = group_2, inline = "8")
// @variable Controls whether the labels show price changes as raw values or percentages when `showChgInput` is `true`.
string priceDiffInput = input.string("Absolute", "", options = ,
tooltip = "Controls whether the labels show price changes as raw values or percentages when 'Display Reversal Price Change' is checked.",
group = group_2, inline = "8")
// @variable If `true`, the Zig Zag will display support and resistance lines.
bool showSupportResistanceInput = input.bool(true, "Show Support/Resistance Lines",
tooltip = "If checked, the Zig Zag will display support and resistance lines.", group = group_2, inline = "9")
// @variable The number of bars to extend the support and resistance lines from the last pivot point.
int supportResistanceOffsetInput = input.int(50, "Support/Resistance Offset", minval = 0,
tooltip = "The number of bars to extend the support and resistance lines from the last pivot point.", group = group_2, inline = "10")
// @variable The width of the support and resistance lines.
int supportResistanceWidthInput = input.int(1, "Support/Resistance Width", minval = 1,
tooltip = "The width of the support and resistance lines.", group = group_2, inline = "11")
// @variable The color of the support lines.
color supportColorInput = input.color(color.red, "Support/Resistance Color", group = group_2, inline = "12")
// @variable The color of the resistance lines.
color resistanceColorInput = input.color(color.green, "", group = group_2, inline = "12",
tooltip = "The color of the support/resistance lines.")
// @variable If `true`, the support and resistance lines will be drawn as zones.
bool showSupportResistanceZoneInput = input.bool(true, "Show Support/Resistance Zones",
tooltip = "If checked, the support and resistance lines will be drawn as zones.", group = group_2, inline = "12-1")
// @variable The color of the support zones.
color supportZoneColorInput = input.color(color.new(color.red, 70), "Support Zone Color", group = group_2, inline = "12-2")
// @variable The color of the resistance zones.
color resistanceZoneColorInput = input.color(color.new(color.green, 70), "", group = group_2, inline = "12-2",
tooltip = "The color of the support/resistance zones.")
// @variable The width of the support and resistance zones.
int supportResistanceZoneWidthInput = input.int(10, "Support/Resistance Zone Width", minval = 1,
tooltip = "The width of the support and resistance zones.", group = group_2, inline = "12-3")
// @variable If `true`, the support and resistance lines will extend to the right of the chart.
bool supportResistanceExtendInput = input.bool(false, "Extend to Right",
tooltip = "If checked, the lines will extend to the right of the chart.", group = group_2, inline = "13")
// @variable References a `Settings` instance that defines the `ZigZag` object's calculation and display properties.
var ZIG.Settings settings =
ZIG.Settings.new(
devThreshold = deviationInput,
depth = depthInput,
lineColorUp = lineColorUpInput,
lineColorDown = lineColorDownInput,
textUpColor = lineColorUpInput,
textDownColor = lineColorDownInput,
lineWidth = lineWidthInput,
extendLast = extendInput,
displayReversalPrice = showPriceInput,
displayCumulativeVolume = showVolInput,
displayReversalPriceChange = showChgInput,
differencePriceMode = priceDiffInput,
draw = showZigZag,
allowZigZagOnOneBar = allowZigZagOnOneBarInput,
drawSupportResistance = showSupportResistanceInput,
supportResistanceOffset = supportResistanceOffsetInput,
supportResistanceWidth = supportResistanceWidthInput,
supportColor = supportColorInput,
resistanceColor = resistanceColorInput,
supportResistanceExtend = supportResistanceExtendInput,
supportResistanceZoneWidth = supportResistanceZoneWidthInput,
drawSupportResistanceZone = showSupportResistanceZoneInput,
supportZoneColor = supportZoneColorInput,
resistanceZoneColor = resistanceZoneColorInput
)
// @variable References a `ZigZag` object created using the `settings`.
var ZIG.ZigZag zigZag = ZIG.newInstance(settings)
// Update the `zigZag` on every bar.
zigZag.update()
//#endregion
The example code demonstrates how to create a ZigZag indicator with customizable settings. It:
1. Creates a Settings object with user-defined parameters
2. Instantiates a ZigZag object using these settings
3. Updates the ZigZag on each bar to detect new pivot points
4. Automatically draws lines and labels when pivots are detected
This approach provides maximum flexibility while maintaining readability and ease of use.
Volume Patterns [SS]Hey everyone,
Been a while since doing anything with Pinescript.
Here is my iteration of a Volume Pattern identification, inspired by Bulkowski's work on patterns and volume.
The indicator aims to identify the 4 major types of volume patterns, these are:
Bullish Breakout Volume
Bearish Breakout Volume
Inverted Domes
Domes
Classification
These patterns are all assigned to a classification based on theory. For example, dome volume is usually bearish, inverted dome is usually bullish, etc. etc. However, in order to accommodate changing sentiments and volatility, I have coded logic into the indicator to assess for the actual sentiment associated with these patterns itself.
The indicator calculates the average return associated with each pattern, scaling the data into a percent return. It then has the ability to re-scale the target using the close price associated with the pattern at the time of pattern signaling, to calculate the target price and plot the target on the chart for you.
Additionally, it provides you with the following:
Labels to signal when a pattern has happened
A table that shows you the average returns associated with the 4 major patterns
Target lines with labels that visually show you the target price associated with the pattern, as well as which pattern they are associated with.
All of these things can be toggled on or off depending on your preference.
Customizing the indicator
In addition to being able to toggle the visuals on or off depending on what you want to see or not see, there are some minor customization abilities in terms of training the indicator to recognize the patterns and predict the TP.
The first one is the Training length
In the settings, you will see "Train", and the default is 500. This is the amount the indicator is looking back in history to learn the patterns and returns associated with them. This 500 is appropriate in most cases and on most timeframes.
Lastly, the Lookforward Length
The look forward length represents the number of bars forward you want to determine the returns for. It is defaulted to 10, but you can modify it.
So, if you are on the 1-Minute chart and have the look forward set to 10, then once a signal happens, the target price is calculated based on 10 minutes from the time of signal. You can increase this or decrease this based on your preference.
Longer look forwards can be good for swingers but should be used on the larger timeframes, shorter are good for scalpers but should be used on the shorter timeframes.
The indicator's use is incredibly simple, you'll pick it up in no time!
Hope you enjoy it and as always, safe trades!
Just an FYI for those who may have questions:
The indicator is open source. This means you are free to take it and modify it as you wish. You do not need to ask me.
Please read the description carefully, as 100% of questions I am asked about indicators are covered in the description. ;-)
Have a good one guys and gals! 🚀🚀🚀
CVD Oscillator - Short Term SwiftEdgeOverview
The CVD Oscillator - Short Term is a technical indicator designed to assist traders in identifying short-term buying and selling pressure in the market. It calculates the Cumulative Volume Delta (CVD) to measure the net volume difference between buying and selling activity, displayed as an oscillator in a separate panel. This indicator is tailored for short-term trading strategies, such as scalping or day trading, on low timeframes (e.g., 1-minute, 5-minute, or 15-minute charts).
How It Works
Cumulative Volume Delta (CVD): The indicator calculates CVD by assigning volume to buyers (when close > open) or sellers (when close < open). If close = open, the volume is neutral.
Short-Term Focus: The CVD is calculated over a user-defined lookback period (default: 10 candles), making it sensitive to recent market activity.
Normalization: The raw CVD is normalized by dividing it by the average volume (over a short period, default: 5 candles) and scaled to fit within a range of -100 to +100, creating an oscillator-like behavior.
Reset Options: Users can reset the CVD at specific intervals (e.g., every minute, 5 minutes, 15 minutes, or daily) to focus on intraday movements.
Live CVD Value: The raw (unnormalized) CVD value is displayed as a label on each candle for real-time monitoring.
Key Features
Customizable Lookback Period: Adjust the number of recent candles (default: 10) to calculate CVD, allowing for precise short-term analysis.
Flexible Reset Periods: Choose to reset the CVD every 1 minute, 5 minutes, 15 minutes, daily, or never, to suit your trading style.
Normalized Oscillator: The CVD is scaled between -100 and +100, making it easier to visualize short-term momentum.
Live CVD Labels: Displays the raw CVD value on each candle, with options to position the label above or below the oscillator line.
How to Use
Add to Chart: Apply the indicator to your chart on a low timeframe (e.g., 1m, 5m, or 15m) for short-term trading.
Interpret the Oscillator:
Above 0 (Green): Indicates buying pressure dominates.
Below 0 (Red): Indicates selling pressure dominates.
Near 0: Suggests neutral market conditions.
Monitor Live CVD: Use the raw CVD value (shown in the label) to assess the exact net volume difference over the lookback period.
Combine with Other Tools: Use the oscillator alongside price action, support/resistance levels, or other indicators to confirm trading decisions.
Adjust Settings:
CVD Lookback Period: Set to a small value (e.g., 5-20 candles) for scalping.
CVD Reset Period: Choose "1m" or "5m" for intraday resets to focus on very short-term trends.
Volume Average Length: Use a short length (e.g., 3-5) for faster responsiveness.
Scale Factor: Increase (e.g., 2.0-3.0) to amplify small changes in CVD.
Settings
CVD Reset Period: Defines when to reset the CVD calculation ("None", "D" for daily, "15m", "5m", "1m").
CVD Lookback Period (Candles): Number of recent candles to calculate CVD (default: 10).
Volume Average Length: Period for averaging volume to normalize CVD (default: 5).
CVD Scale Factor: Adjusts the sensitivity of the normalized CVD (default: 2.0).
CVD Label Position: Choose to display the raw CVD label above or below the oscillator line.
CVD Label Color: Customize the color of the CVD label (default: white).
Limitations
Not a Standalone Tool: This indicator should be used in conjunction with other technical analysis tools, as it does not guarantee profitable trades.
Volume Dependency: The accuracy of CVD relies on the quality of volume data provided by your broker or exchange.
Short-Term Focus: The indicator is optimized for low timeframes and may produce noise on higher timeframes unless adjusted.
No Predictive Claims: The CVD Oscillator reflects past and current market activity but does not predict future price movements.
Notes
This indicator is designed for informational purposes and does not constitute financial advice. Trading involves risk, and past performance is not indicative of future results.
Test the indicator on a demo account to understand its behavior before using it in live trading.
Feedback is welcome! If you have suggestions for improvements, feel free to share them in the comments.
*Auto Backtest & Optimize EngineFull-featured Engine for Automatic Backtesting and parameter optimization. Allows you to test millions of different combinations of stop-loss and take profit parameters, including on any connected indicators.
⭕️ Key Futures
Quickly identify the optimal parameters for your strategy.
Automatically generate and test thousands of parameter combinations.
A simple Genetic Algorithm for result selection.
Saves time on manual testing of multiple parameters.
Detailed analysis, sorting, filtering and statistics of results.
Detailed control panel with many tooltips.
Display of key metrics: Profit, Win Rate, etc..
Comprehensive Strategy Score calculation.
In-depth analysis of the performance of different types of stop-losses.
Possibility to use to calculate the best Stop-Take parameters for your position.
Ability to test your own functions and signals.
Customizable visualization of results.
Flexible Stop-Loss Settings:
• Auto ━ Allows you to test all types of Stop Losses at once(listed below).
• S.VOLATY ━ Static stop based on volatility (Fixed, ATR, STDEV).
• Trailing ━ Classic trailing stop following the price.
• Fast Trail ━ Accelerated trailing stop that reacts faster to price movements.
• Volatility ━ Dynamic stop based on volatility indicators.
• Chandelier ━ Stop based on price extremes.
• Activator ━ Dynamic stop based on SAR.
• MA ━ Stop based on moving averages (9 different types).
• SAR ━ Parabolic SAR (Stop and Reverse).
Advanced Take-Profit Options:
• R:R: Risk/Reward ━ sets TP based on SL size.
• T.VOLATY ━ Calculation based on volatility indicators (Fixed, ATR, STDEV).
Testing Modes:
• Stops ━ Cyclical stop-loss testing
• Pivot Point Example ━ Example of using pivot points
• External Example ━ Built-in example how test functions with different parameters
• External Signal ━ Using external signals
⭕️ Usage
━ First Steps:
When opening, select any point on the chart. It will not affect anything until you turn on Manual Start mode (more on this below).
The chart will immediately show the best results of the default Auto mode. You can switch Part's to try to find even better results in the table.
Now you can display any result from the table on the chart by entering its ID in the settings.
Repeat steps 3-4 until you determine which type of Stop Loss you like best. Then set it in the settings instead of Auto mode.
* Example: I flipped through 14 parts before I liked the first result and entered its ID so I could visually evaluate it on the chart.
Then select the stop loss type, choose it in place of Auto mode and repeat steps 3-4 or immediately follow the recommendations of the algorithm.
Now the Genetic Algorithm at the bottom right will prompt you to enter the Parameters you need to search for and select even better results.
Parameters must be entered All at once before they are updated. Enter recommendations strictly in fields with the same names.
Repeat steps 5-6 until there are approximately 10 Part's left or as you like. And after that, easily pour through the remaining Parts and select the best parameters.
━ Example of the finished result.
━ Example of use with Takes
You can also test at the same time along with Take Profit. In this example, I simply enabled Risk/Reward mode and immediately specified in the TP field Maximum RR, Minimum RR and Step. So in this example I can test (3-1) / 0.1 = 20 Takes of different sizes. There are additional tips in the settings.
━
* Soon you will start to understand how the system works and things will become much easier.
* If something doesn't work, just reset the engine settings and start over again.
* Use the tips I have left in the settings and on the Panel.
━ Details:
Sort ━ Sorting results by Score, Profit, Trades, etc..
Filter ━ Filtring results by Score, Profit, Trades, etc..
Trade Type ━ Ability to disable Long\Short but only from statistics.
BackWin ━ Backtest Window Number of Candle the script can test.
Manual Start ━ Enabling it will allow you to call a Stop from a selected point. which you selected when you started the engine.
* If you have a real open position then this mode can help to save good Stop\Take for it.
1 - 9 Сheckboxs ━ Allow you to disable any stop from Auto mode.
Ex Source - Allow you to test Stops/Takes from connected indicators.
Connection guide:
//@version=6
indicator("My script")
rsi = ta.rsi(close, 14)
buy = not na(rsi) and ta.crossover (rsi, 40) // OS = 40
sell = not na(rsi) and ta.crossunder(rsi, 60) // OB = 60
Signal = buy ? +1 : sell ? -1 : 0
plot(Signal, "🔌Connector🔌", display = display.none)
* Format the signal for your indicator in a similar style and then select it in Ex Source.
⭕️ How it Works
Hypothesis of Uniform Distribution of Rare Elements After Mixing.
'This hypothesis states that if an array of N elements contains K valid elements, then after mixing, these valid elements will be approximately uniformly distributed.'
'This means that in a random sample of k elements, the proportion of valid elements should closely match their proportion in the original array, with some random variation.'
'According to the central limit theorem, repeated sampling will result in an average count of valid elements following a normal distribution.'
'This supports the assumption that the valid elements are evenly spread across the array.'
'To test this hypothesis, we can conduct an experiment:'
'Create an array of 1,000,000 elements.'
'Select 1,000 random elements (1%) for validation.'
'Shuffle the array and divide it into groups of 1,000 elements.'
'If the hypothesis holds, each group should contain, on average, 1~ valid element, with minor variations.'
* I'd like to attach more details to My hypothesis but it won't be very relevant here. Since this is a whole separate topic, I will leave the minimum part for understanding the engine.
Practical Application
To apply this hypothesis, I needed a way to generate and thoroughly mix numerous possible combinations. Within Pine, generating over 100,000 combinations presents significant challenges, and storing millions of combinations requires excessive resources.
I developed an efficient mechanism that generates combinations in random order to address these limitations. While conventional methods often produce duplicates or require generating a complete list first, my approach guarantees that the first 10% of possible combinations are both unique and well-distributed. Based on my hypothesis, this sampling is sufficient to determine optimal testing parameters.
Most generators and randomizers fail to accommodate both my hypothesis and Pine's constraints. My solution utilizes a simple Linear Congruential Generator (LCG) for pseudo-randomization, enhanced with prime numbers to increase entropy during generation. I pre-generate the entire parameter range and then apply systematic mixing. This approach, combined with a hybrid combinatorial array-filling technique with linear distribution, delivers excellent generation quality.
My engine can efficiently generate and verify 300 unique combinations per batch. Based on the above, to determine optimal values, only 10-20 Parts need to be manually scrolled through to find the appropriate value or range, eliminating the need for exhaustive testing of millions of parameter combinations.
For the Score statistic I applied all the same, generated a range of Weights, distributed them randomly for each type of statistic to avoid manual distribution.
Score ━ based on Trade, Profit, WinRate, Profit Factor, Drawdown, Sharpe & Sortino & Omega & Calmar Ratio.
⭕️ Notes
For attentive users, a little tricks :)
To save time, switch parts every 3 seconds without waiting for it to load. After 10-20 parts, stop and wait for loading. If the pause is correct, you can switch between the rest of the parts without loading, as they will be cached. This used to work without having to wait for a pause, but now it does slower. This will save a lot of time if you are going to do a deeper backtest.
Sometimes you'll get the error “The scripts take too long to execute.”
For a quick fix you just need to switch the TF or Ticker back and forth and most likely everything will load.
The error appears because of problems on the side of the site because the engine is very heavy. It can also appear if you set too long a period for testing in BackWin or use a heavy indicator for testing.
Manual Start - Allow you to Start you Result from any point. Which in turn can help you choose a good stop-stick for your real position.
* It took me half a year from idea to current realization. This seems to be one of the few ways to build something automatic in backtest format and in this particular Pine environment. There are already better projects in other languages, and they are created much easier and faster because there are no limitations except for personal PC. If you see solutions to improve this system I would be glad if you share the code. At the moment I am tired and will continue him not soon.
Also You can use my previosly big Backtest project with more manual settings(updated soon)
AI Adaptive Oscillator [PhenLabs]📊 Algorithmic Adaptive Oscillator
Version: PineScript™ v6
📌 Description
The AI Adaptive Oscillator is a sophisticated technical indicator that employs ensemble learning and adaptive weighting techniques to analyze market conditions. This innovative oscillator combines multiple traditional technical indicators through an AI-driven approach that continuously evaluates and adjusts component weights based on historical performance. By integrating statistical modeling with machine learning principles, the indicator adapts to changing market dynamics, providing traders with a responsive and reliable tool for market analysis.
🚀 Points of Innovation:
Ensemble learning framework with adaptive component weighting
Performance-based scoring system using directional accuracy
Dynamic volatility-adjusted smoothing mechanism
Intelligent signal filtering with cooldown and magnitude requirements
Signal confidence levels based on multi-factor analysis
🔧 Core Components
Ensemble Framework : Combines up to five technical indicators with performance-weighted integration
Adaptive Weighting : Continuous performance evaluation with automated weight adjustment
Volatility-Based Smoothing : Adapts sensitivity based on current market volatility
Pattern Recognition : Identifies potential reversal patterns with signal qualification criteria
Dynamic Visualization : Professional color schemes with gradient intensity representation
Signal Confidence : Three-tiered confidence assessment for trading signals
🔥 Key Features
The indicator provides comprehensive market analysis through:
Multi-Component Ensemble : Integrates RSI, CCI, Stochastic, MACD, and Volume-weighted momentum
Performance Scoring : Evaluates each component based on directional prediction accuracy
Adaptive Smoothing : Automatically adjusts based on market volatility
Pattern Detection : Identifies potential reversal patterns in overbought/oversold conditions
Signal Filtering : Prevents excessive signals through cooldown periods and minimum change requirements
Confidence Assessment : Displays signal strength through intuitive confidence indicators (average, above average, excellent)
🎨 Visualization
Gradient-Filled Oscillator : Color intensity reflects strength of market movement
Clear Signal Markers : Distinct bullish and bearish pattern signals with confidence indicators
Range Visualization : Clean representation of oscillator values from -6 to 6
Zero Line : Clear demarcation between bullish and bearish territory
Customizable Colors : Color schemes that can be adjusted to match your chart style
Confidence Symbols : Intuitive display of signal confidence (no symbol, +, or ++) alongside direction markers
📖 Usage Guidelines
⚙️ Settings Guide
Color Settings
Bullish Color
Default: #2b62fa (Blue)
This setting controls the color representation for bullish movements in the oscillator. The color appears when the oscillator value is positive (above zero), with intensity indicating the strength of the bullish momentum. A brighter shade indicates stronger bullish pressure.
Bearish Color
Default: #ce9851 (Amber)
This setting determines the color representation for bearish movements in the oscillator. The color appears when the oscillator value is negative (below zero), with intensity reflecting the strength of the bearish momentum. A more saturated shade indicates stronger bearish pressure.
Signal Settings
Signal Cooldown (bars)
Default: 10
Range: 1-50
This parameter sets the minimum number of bars that must pass before a new signal of the same type can be generated. Higher values reduce signal frequency and help prevent overtrading during choppy market conditions. Lower values increase signal sensitivity but may generate more false positives.
Min Change For New Signal
Default: 1.5
Range: 0.5-3.0
This setting defines the minimum required change in oscillator value between consecutive signals of the same type. It ensures that new signals represent meaningful changes in market conditions rather than minor fluctuations. Higher values produce fewer but potentially higher-quality signals, while lower values increase signal frequency.
AI Core Settings
Base Length
Default: 14
Minimum: 2
This fundamental setting determines the primary calculation period for all technical components in the ensemble (RSI, CCI, Stochastic, etc.). It represents the lookback window for each component’s base calculation. Shorter periods create a more responsive but potentially noisier oscillator, while longer periods produce smoother signals with potential lag.
Adaptive Speed
Default: 0.1
Range: 0.01-0.3
Controls how quickly the oscillator adapts to new market conditions through its volatility-adjusted smoothing mechanism. Higher values make the oscillator more responsive to recent price action but potentially more erratic. Lower values create smoother transitions but may lag during rapid market changes. This parameter directly influences the indicator’s adaptiveness to market volatility.
Learning Lookback Period
Default: 150
Minimum: 10
Determines the historical data range used to evaluate each ensemble component’s performance and calculate adaptive weights. This setting controls how far back the AI “learns” from past performance to optimize current signals. Longer periods provide more stable weight distribution but may be slower to adapt to regime changes. Shorter periods adapt more quickly but may overreact to recent anomalies.
Ensemble Size
Default: 5
Range: 2-5
Specifies how many technical components to include in the ensemble calculation.
Understanding The Interaction Between Settings
Base Length and Learning Lookback : The base length determines the reactivity of individual components, while the lookback period determines how their weights are adjusted. These should be balanced according to your timeframe - shorter timeframes benefit from shorter base lengths, while the lookback should generally be 10-15 times the base length for optimal learning.
Adaptive Speed and Signal Cooldown : These settings control sensitivity from different angles. Increasing adaptive speed makes the oscillator more responsive, while reducing signal cooldown increases signal frequency. For conservative trading, keep adaptive speed low and cooldown high; for aggressive trading, do the opposite.
Ensemble Size and Min Change : Larger ensembles provide more stable signals, allowing for a lower minimum change threshold. Smaller ensembles might benefit from a higher threshold to filter out noise.
Understanding Signal Confidence Levels
The indicator provides three distinct confidence levels for both bullish and bearish signals:
Average Confidence (▲ or ▼) : Basic signal that meets the minimum pattern and filtering criteria. These signals indicate potential reversals but with moderate confidence in the prediction. Consider using these as initial alerts that may require additional confirmation.
Above Average Confidence (▲+ or ▼+) : Higher reliability signal with stronger underlying metrics. These signals demonstrate greater consensus among the ensemble components and/or stronger historical performance. They offer increased probability of successful reversals and can be traded with less additional confirmation.
Excellent Confidence (▲++ or ▼++) : Highest quality signals with exceptional underlying metrics. These signals show strong agreement across oscillator components, excellent historical performance, and optimal signal strength. These represent the indicator’s highest conviction trade opportunities and can be prioritized in your trading decisions.
Confidence assessment is calculated through a multi-factor analysis including:
Historical performance of ensemble components
Degree of agreement between different oscillator components
Relative strength of the signal compared to historical thresholds
✅ Best Use Cases:
Identify potential market reversals through oscillator extremes
Filter trade signals based on AI-evaluated component weights
Monitor changing market conditions through oscillator direction and intensity
Confirm trade signals from other indicators with adaptive ensemble validation
Detect early momentum shifts through pattern recognition
Prioritize trading opportunities based on signal confidence levels
Adjust position sizing according to signal confidence (larger for ++ signals, smaller for standard signals)
⚠️ Limitations
Requires sufficient historical data for accurate performance scoring
Ensemble weights may lag during dramatic market condition changes
Higher ensemble sizes require more computational resources
Performance evaluation quality depends on the learning lookback period length
Even high confidence signals should be considered within broader market context
💡 What Makes This Unique
Adaptive Intelligence : Continuously adjusts component weights based on actual performance
Ensemble Methodology : Combines strength of multiple indicators while minimizing individual weaknesses
Volatility-Adjusted Smoothing : Provides appropriate sensitivity across different market conditions
Performance-Based Learning : Utilizes historical accuracy to improve future predictions
Intelligent Signal Filtering : Reduces noise and false signals through sophisticated filtering criteria
Multi-Level Confidence Assessment : Delivers nuanced signal quality information for optimized trading decisions
🔬 How It Works
The indicator processes market data through five main components:
Ensemble Component Calculation :
Normalizes traditional indicators to consistent scale
Includes RSI, CCI, Stochastic, MACD, and volume components
Adapts based on the selected ensemble size
Performance Evaluation :
Analyzes directional accuracy of each component
Calculates continuous performance scores
Determines adaptive component weights
Oscillator Integration :
Combines weighted components into unified oscillator
Applies volatility-based adaptive smoothing
Scales final values to -6 to 6 range
Signal Generation :
Detects potential reversal patterns
Applies cooldown and magnitude filters
Generates clear visual markers for qualified signals
Confidence Assessment :
Evaluates component agreement, historical accuracy, and signal strength
Classifies signals into three confidence tiers (average, above average, excellent)
Displays intuitive confidence indicators (no symbol, +, ++) alongside direction markers
💡 Note:
The AI Adaptive Oscillator performs optimally when used with appropriate timeframe selection and complementary indicators. Its adaptive nature makes it particularly valuable during changing market conditions, where traditional fixed-weight indicators often lose effectiveness. The ensemble approach provides a more robust analysis by leveraging the collective intelligence of multiple technical methodologies. Pay special attention to the signal confidence indicators to optimize your trading decisions - excellent (++) signals often represent the most reliable trade opportunities.
Average Daily LiquidityIt is important to ensure sufficient stock trading liquidity so that you have sufficient volume to enter the trade and most importantly sufficient liquidity to exit the trade. Because daily trading liquidity can jump around so much by price changes and volume changes, it is important to smooth out the liquidity by using a moving average. Some use a 5 days (trading week) moving average, others use 10 day (2 weeks), 20 day ("month") and some use 65 day (quarter). The default is 10 days based upon the work of Colin Nicholson (The Aggressive Investor and Building Wealth in the Stock Market). Liquidity line changes color dependent upon the chart background luminescence. The amount you are planning to invest in a stock should have a liquidity of 10 (default) times that amount.
EMA 5 Alert Candle ShortThe 5 EMA (Exponential Moving Average) Strategy is a simple yet effective trading strategy that helps traders identify short-term trends and potential entry and exit points. This strategy is widely used in intraday and swing trading, particularly in forex, stocks, and crypto markets.
Components of the 5 EMA Strategy
5 EMA: A fast-moving average that reacts quickly to price movements.
15-minute or 1-hour timeframe (commonly used, but adaptable to other timeframes).
Candlestick Patterns: To confirm entry signals.
How the 5 EMA Strategy Works
Buy (Long) Setup:
Price Above the 5 EMA: The price should be trading above the 5 EMA.
Pullback to the 5 EMA: A minor retracement or consolidation near the 5 EMA.
Bullish Candlestick Confirmation: A bullish candle (e.g., engulfing or pin bar) forms near the 5 EMA.
Entry: Enter a long trade at the close of the bullish candle.
Stop Loss: Place below the recent swing low or 5-10 pips below the 5 EMA.
Take Profit: Aim for a risk-reward ratio of at least 1:2 or trail the stop using a higher EMA (e.g., 10 or 20 EMA).
Sell (Short) Setup:
Price Below the 5 EMA: The price should be trading below the 5 EMA.
Pullback to the 5 EMA: A small retracement towards the 5 EMA.
Bearish Candlestick Confirmation: A bearish candle (e.g., engulfing or pin bar) near the 5 EMA.
Entry: Enter a short trade at the close of the bearish candle.
Stop Loss: Place above the recent swing high or 5-10 pips above the 5 EMA.
Take Profit: Aim for a 1:2 risk-reward ratio or use a trailing stop.
Additional Filters for Better Accuracy
Higher Timeframe Confirmation: Check the trend on a higher timeframe (e.g., 1-hour or 4-hour).
Volume Confirmation: Enter trades when volume is increasing.
Avoid Sideways Market: Use the strategy only when the market is trending.
Advantages of the 5 EMA Strategy
✔️ Simple and easy to use.
✔️ Works well in trending markets.
✔️ Helps traders capture short-term momentum.
Disadvantages
❌ Less effective in choppy or sideways markets.
❌ Requires discipline in following stop-loss rules.
CAPE / Shiller PE Ratio - cristianhkrThe Cyclically Adjusted Price-to-Earnings Ratio (CAPE Ratio), also known as the Shiller P/E Ratio, is a long-term valuation measure for stocks. It was developed by Robert Shiller and smooths out earnings fluctuations by using an inflation-adjusted average of the last 10 years of earnings.
This TradingView Pine Script indicator calculates the CAPE Ratio for a specific stock by:
Fetching historical Earnings Per Share (EPS) data using request.earnings().
Adjusting the EPS for inflation by dividing it by the Consumer Price Index (CPI).
Computing the 10-year (40-quarter) moving average of the inflation-adjusted EPS.
Calculating the CAPE Ratio as (Stock Price) / (10-year Average EPS adjusted for inflation).
Plotting the CAPE Ratio on the chart with a reference line at CAPE = 20, a historically significant threshold.
Cryptolabs Global Liquidity Cycle Momentum IndicatorCryptolabs Global Liquidity Cycle Momentum Indicator (LMI-BTC)
This open-source indicator combines global central bank liquidity data with Bitcoin price movements to identify medium- to long-term market cycles and momentum phases. It is designed for traders who want to incorporate macroeconomic factors into their Bitcoin analysis.
How It Works
The script calculates a Liquidity Index using balance sheet data from four central banks (USA: ECONOMICS:USCBBS, Japan: FRED:JPNASSETS, China: ECONOMICS:CNCBBS, EU: FRED:ECBASSETSW), augmented by the Dollar Index (TVC:DXY) and Chinese 10-year bond yields (TVC:CN10Y). This index is:
- Logarithmically scaled (math.log) to better represent large values like central bank balances and Bitcoin prices.
- Normalized over a 50-period range to balance fluctuations between minimum and maximum values.
- Compared to prior-year values, with the number of bars dynamically adjusted based on the timeframe (e.g., 252 for 1D, 52 for 1W), to compute percentage changes.
The liquidity change is analyzed using a Chande Momentum Oscillator (CMO) (period: 24) to measure momentum trends. A Weighted Moving Average (WMA) (period: 10) acts as a signal line. The Bitcoin price is also plotted logarithmically to highlight parallels with liquidity cycles.
Usage
Traders can use the indicator to:
- Identify global liquidity cycles influencing Bitcoin price trends, such as expansive or restrictive monetary policies.
- Detect momentum phases: Values above 50 suggest overbought conditions, below -50 indicate oversold conditions.
- Anticipate trend reversals by observing CMO crossovers with the signal line.
It performs best on higher timeframes like daily (1D) or weekly (1W) charts. The visualization includes:
- CMO line (green > 50, red < -50, blue neutral), signal line (white), Bitcoin price (gray).
- Horizontal lines at 50, 0, and -50 for improved readability.
Originality
This indicator stands out from other momentum tools like RSI or basic price analysis due to:
- Unique Data Integration: Combines four central bank datasets, DXY, and CN10Y as macroeconomic proxies for Bitcoin.
- Dynamic Prior-Year Analysis: Calculates liquidity changes relative to historical values, adjustable by timeframe.
- Logarithmic Normalization: Enhances visibility of extreme values, critical for cryptocurrencies and macro data.
This combination offers a rare perspective on the interplay between global liquidity and Bitcoin, unavailable in other open-source scripts.
Settings
- CMO Period: Default 24, adjustable for faster/slower signals.
- Signal WMA: Default 10, for smoothing the CMO line.
- Normalization Window: Default 50 periods, customizable.
Users can modify these parameters in the Pine Editor to tailor the indicator to their strategy.
Note
This script is designed for medium- to long-term analysis, not scalping. For optimal results, combine it with additional analyses (e.g., on-chain data, support/resistance levels). It does not guarantee profits but supports informed decisions based on macroeconomic trends.
Data Sources
- Bitcoin: INDEX:BTCUSD
- Liquidity: ECONOMICS:USCBBS, FRED:JPNASSETS, ECONOMICS:CNCBBS, FRED:ECBASSETSW
- Additional: TVC:DXY, TVC:CN10Y
Auto-Length Moving Average + Trend Signals (Zeiierman)█ Overview
The Auto-Length Moving Average + Trend Signals (Zeiierman) is an easy-to-use indicator designed to help traders dynamically adjust their moving average length based on market conditions. This tool adapts in real-time, expanding and contracting the moving average based on trend strength and momentum shifts.
The indicator smooths out price fluctuations by modifying its length while ensuring responsiveness to new trends. In addition to its adaptive length algorithm, it incorporates trend confirmation signals, helping traders identify potential trend reversals and continuations with greater confidence.
This indicator suits scalpers, swing traders, and trend-following investors who want a self-adjusting moving average that adapts to volatility, momentum, and price action dynamics.
█ How It Works
⚪ Dynamic Moving Average Length
The core feature of this indicator is its ability to automatically adjust the length of the moving average based on trend persistence and market conditions:
Expands in strong trends to reduce noise.
Contracts in choppy or reversing markets for faster reaction.
This allows for a more accurate moving average that aligns with current price dynamics.
⚪ Trend Confirmation & Signals
The indicator includes built-in trend detection logic, classifying trends based on market structure. It evaluates trend strength based on consecutive bars and smooths out transitions between bullish, bearish, and neutral conditions.
Uptrend: Price is persistently above the adjusted moving average.
Downtrend: Price remains below the adjusted moving average.
Neutral: Price fluctuates around the moving average, indicating possible consolidation.
⚪ Adaptive Trend Smoothing
A smoothing factor is applied to enhance trend readability while minimizing excessive lag. This balances reactivity with stability, making it easier to follow longer-term trends while avoiding false signals.
█ How to Use
⚪ Trend Identification
Bullish Trend: The indicator confirms an uptrend when the price consistently stays above the dynamically adjusted moving average.
Bearish Trend: A downtrend is recognized when the price remains below the moving average.
⚪ Trade Entry & Exit
Enter long when the dynamic moving average is green and a trend signal occurs. Exit when the price crosses below the dynamic moving average.
Enter short when the dynamic moving average is red and a trend signal occurs. Exit when the price crosses above the dynamic moving average.
█ Slope-Based Reset
This mode resets the trend counter when the moving average slope changes direction.
⚪ Interpretation & Insights
Best for trend-following traders who want to filter out noise and only reset when a clear shift in momentum occurs.
Higher slope length (N): More stable trends, fewer resets.
Lower slope length (N): More reactive to small price swings, frequent resets.
Useful in swing trading to track significant trend reversals.
█ RSI-Based Reset
The counter resets when the Relative Strength Index (RSI) crosses predefined overbought or oversold levels.
⚪ Interpretation & Insights
Best for reversal traders who look for extreme overbought/oversold conditions.
High RSI threshold (e.g., 80/20): Fewer resets, only extreme conditions trigger adjustments.
Lower RSI threshold (e.g., 60/40): More frequent resets, detecting smaller corrections.
Great for detecting exhaustion in trends before potential reversals.
█ Volume-Based Reset
A reset occurs when current volume significantly exceeds its moving average, signaling a shift in market participation.
⚪ Interpretation & Insights
Best for traders who follow institutional activity (high volume often means large players are active).
Higher volume SMA length: More stable trends, only resets on massive volume spikes.
Lower volume SMA length: More reactive to short-term volume shifts.
Useful in identifying breakout conditions and trend acceleration points.
█ Bollinger Band-Based Reset
A reset occurs when price closes above the upper Bollinger Band or below the lower Bollinger Band, signaling potential overextension.
⚪ Interpretation & Insights
Best for traders looking for volatility-based trend shifts.
Higher Bollinger Band multiplier (k = 2.5+): Captures only major price extremes.
Lower Bollinger Band multiplier (k = 1.5): Resets on moderate volatility changes.
Useful for detecting overextensions in strong trends before potential retracements.
█ MACD-Based Reset
A reset occurs when the MACD line crosses the signal line, indicating a momentum shift.
⚪ Interpretation & Insights
Best for momentum traders looking for trend continuation vs. exhaustion signals.
Longer MACD lengths (260, 120, 90): Captures major trend shifts.
Shorter MACD lengths (10, 5, 3): Reacts quickly to momentum changes.
Useful for detecting strong divergences and market shifts.
█ Stochastic-Based Reset
A reset occurs when Stochastic %K crosses overbought or oversold levels.
⚪ Interpretation & Insights
Best for short-term traders looking for fast momentum shifts.
Longer Stochastic length: Filters out false signals.
Shorter Stochastic length: Captures quick intraday shifts.
█ CCI-Based Reset
A reset occurs when the Commodity Channel Index (CCI) crosses predefined overbought or oversold levels. The CCI measures the price deviation from its statistical mean, making it a useful tool for detecting overextensions in price action.
⚪ Interpretation & Insights
Best for cycle traders who aim to identify overextended price deviations in trending or ranging markets.
Higher CCI threshold (e.g., ±200): Detects extreme overbought/oversold conditions before reversals.
Lower CCI threshold (e.g., ±10): More sensitive to trend shifts, useful for early signal detection.
Ideal for detecting momentum shifts before price reverts to its mean or continues trending strongly.
█ Momentum-Based Reset
A reset occurs when Momentum (Rate of Change) crosses zero, indicating a potential shift in price direction.
⚪ Interpretation & Insights
Best for trend-following traders who want to track acceleration vs. deceleration.
Higher momentum length: Captures longer-term shifts.
Lower momentum length: More responsive to short-term trend changes.
█ How to Interpret the Trend Strength Table
The Trend Strength Table provides valuable insights into the current market conditions by tracking how the dynamic moving average is adjusting based on trend persistence. Each metric in the table plays a role in understanding the strength, longevity, and stability of a trend.
⚪ Counter Value
Represents the current length of trend persistence before a reset occurs.
The higher the counter, the longer the current trend has been in place without resetting.
When this value reaches the Counter Break Threshold, the moving average resets and contracts to become more reactive.
Example:
A low counter value (e.g., 10) suggests a recent trend reset, meaning the market might be changing directions frequently.
A high counter value (e.g., 495) means the trend has been ongoing for a long time, indicating strong trend persistence.
⚪ Trend Strength
Measures how strong the current trend is based on the trend confirmation logic.
Higher values indicate stronger trends, while lower values suggest weaker trends or consolidations.
This value is dynamic and updates based on price action.
Example:
Trend Strength of 760 → Indicates a high-confidence trend.
Trend Strength of 50 → Suggests weak price action, possibly a choppy market.
⚪ Highest Trend Score
Tracks the strongest trend score recorded during the session.
Helps traders identify the most dominant trend observed in the timeframe.
This metric is useful for analyzing historical trend strength and comparing it with current conditions.
Example:
Highest Trend Score = 760 → Suggests that at some point, there was a strong trend in play.
If the current trend strength is much lower than this value, it could indicate trend exhaustion.
⚪ Average Trend Score
This is a rolling average of trend strength across the session.
Provides a bigger picture of how the trend strength fluctuates over time.
If the average trend score is high, the market has had persistent trends.
If it's low, the market may have been choppy or sideways.
Example:
Average Trend Score of 147 vs. Current Trend Strength of 760 → Indicates that the current trend is significantly stronger than the historical average, meaning a breakout might be occurring.
Average Trend Score of 700+ → Suggests a strong trending market overall.
█ Settings
⚪ Dynamic MA Controls
Base MA Length – Sets the starting length of the moving average before dynamic adjustments.
Max Dynamic Length – Defines the upper limit for how much the moving average can expand.
Trend Confirmation Length – The number of bars required to validate an uptrend or downtrend.
⚪ Reset & Adaptive Conditions
Reset Condition Type – Choose what triggers the moving average reset (Slope, RSI, Volume, MACD, etc.).
Trend Smoothing Factor – Adjusts how smoothly the moving average responds to price changes.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Custom Support LineIt is made with the following conditions in mind.
1. At the center of the candle at the moment,
Out of the last 10 candles, the low price (L) is within 3% of each other, drawing one line at the low prices of the candles.
2. Out of the last 10 candles, the market price (O) is within 3% of each other, drawing one line at the low end of each candle.
3.Out of the last 10 candles, the closing price (C) is within 3% of each other, and one line is drawn at the lower prices of the candles.
4. Draw one line when the three lines match the above three conditions.
We wanted to create a clear support line according to the above conditions.