Dark VectorThe Dark Vector is a professional-grade trend-following system designed to solve the two most common causes of trading losses: over-trading during chop and exiting trends too early.
Unlike standard indicators that continuously recalculate based on every price tick, this system operates on a strict "State Machine" logic. This means it tracks the current market phase and refuses to issue conflicting signals. If the system is Long, it mathematically cannot issue another Long signal until the previous trend has concluded.
The system relies on three core engines:
1. The Trend Architecture (Modified SuperTrend) The backbone of the system is an ATR-based trailing stop mechanism. It creates a dynamic trend line that adjusts to volatility. When volatility expands, the line widens to prevent premature stop-outs during market noise. When volatility contracts, the line tightens to protect profits.
2. The Noise Gate (Choppiness Index) This is the system's safety filter. It measures the fractal efficiency of the market—essentially determining if price is moving in a clear direction or moving sideways. When the market enters a consolidation phase (sideways chop), the Noise Gate activates, turning the candles gray and physically blocking all new entry signals. This prevents the user from entering trades in low-probability environments.
3. The Singularity State Machine This internal logic enforces trading discipline. It treats the trend as a binary state (Bullish or Bearish). It forces an alternating signal pattern, ensuring that you are only alerted to the specific moment a major trend reversal occurs, rather than being bombarded with repetitive signals during a long run.
Best Way to Use This System
To maximize profitability and minimize false positives, it is recommended to use the "Regime & Alignment" methodology outlined below.
1. The Traffic Light Rule
Before placing any trade, observe the color of the candlesticks on the chart:
Green Candles: The market is in a confirmed Bullish Impulse. You should only look for Long entries or hold existing positions. Shorting is statistically dangerous here.
Red Candles: The market is in a confirmed Bearish Impulse. You should only look for Short entries or hold cash. Buying the dip here is high-risk.
Gray Candles: The market is in a Chop/Squeeze regime. The Noise Gate is active. Do not open new positions. This indicates indecision, and the market is likely to destroy option premiums or stop out tight leverage. Wait for the candles to return to Green or Red before acting.
2. The Entry Trigger
Enter a trade only when a text label (LONG or SHORT) appears.
Long Signal: Occurs when price closes above the Trend Line AND the market is not in a Chop zone.
Short Signal: Occurs when price closes below the Trend Line AND the market is not in a Chop zone.
3. The Exit Strategy
There are two ways to manage the trade once active:
The Trend Follower (Conservative): Hold the position until the Trend Line flips color. This captures the maximum duration of the move but may give back some profit at the very end.
The Stop Loss (Active): The Trend Line (the white value in your dashboard) acts as your Trailing Stop. If a candle closes beyond this line, the trend is technically invalidated. You should exit immediately.
4. Multi-Timeframe Alignment (The Golden Rule)
The highest win rates are achieved when your trading timeframe aligns with the higher-order trend.
Step 1: Check the 4-Hour chart. Is the Trend Line Green?
Step 2: Switch to the 15-Minute chart.
Step 3: Only take the LONG signals on the 15-Minute chart. Ignore all Short signals.
Reasoning: Counter-trend trades often fail. By trading only in the direction of the higher timeframe, you are swimming with the current, not against it.
Recommended Settings by Style
Swing Trading (Daily/4H): Keep the Trend Factor at 4.0. This ignores daily noise and keeps you in the trade for weeks or months.
Day Trading (1H/15m): Lower the Trend Factor to 3.0. This makes the system more reactive to intraday reversals.
Scalping (5m): Lower the Trend Factor to 2.0 and the ATR Length to 7. This is aggressive and requires strict adherence to the Stop Loss.
Disclaimer
This indicator is for educational and informational purposes only. It does not constitute financial advice, investment advice, or a recommendation to buy or sell any asset. Trading cryptocurrencies, stocks, and futures involves a high degree of risk and the potential for significant financial loss. The user assumes all responsibility for their trading decisions. Past performance of any system or indicator is not indicative of future results. Always practice risk management and never trade with money you cannot afford to lose.
トレンド分析
Pythia — 33 LITEPythia — v33 (Lite Edition)
Core Structural Divergences and Movement Context
Overview
Pythia Lite is the entry point into the Pythia ecosystem.
It shows how the structure of movement evolves: where divergences form, where impulse weakens, and where instability appears due to mismatches between price and internal energy.
The computational engine is inherited from the Standard and Full editions, but most parameters are fixed or simplified, making Lite clean, minimalistic, and easy to use.
Configuration
You control only the essential parameters:
• MACD settings
• pivot sensitivity
• basic divergence and trap visualization
All Flow, TTC, and energy thresholds are fixed internally and optimized for common instruments (Forex, gold, indices, crypto).
What Pythia Lite Displays
• micro- and macro-divergences
• TTC grids showing zones where movement often loses impulse
• minimal Flow context (built-in, no sensitivity adjustments)
• compact EnergyTrap / PriceTrap markers
• OR-impulse spikes
Lite provides a clean structural skeleton: where the market diverges from its own energy, where impulse becomes unstable, and where movement behaves atypically.
Key Modules
1. Divergences (micro / macro)
Identify small and large structural discrepancies between price and MACD.
Settings are reduced to essentials: MACD lengths, pivot sensitivity, and minimal tolerance controls.
2. TTC Grids
A base model that highlights zones where impulse commonly collapses.
All parameters are fixed internally to keep Lite simple and clutter-free.
3. Movement Traps (minimal mode)
EnergyTrap and PriceTrap are displayed as compact dots without extended labels.
Colors and transparency are simplified to avoid over-visualization.
4. OR-Impulses
Mark rare bursts of momentum caused by abrupt structural anomalies.
5. Flow Context
Flow is included internally in a simplified form — no sensitivity controls or separate visual states.
It acts as an automatic background component of the TTC/divergence context.
Release Notes
Pythia v33 (Lite Edition) is designed for traders who need a lightweight structural tool without alerts or advanced modules.
Extended energy logic, alerts, news-impulse detection, and channel geometry are part of the Standard and Full editions.
Lite highlights where movement begins to break — without clutter and without unnecessary complexity.
Interpretation of Chart Markers (1–15)
(with version availability: Full / Standard / Lite)
________________________________________
1 — Pre-Flow Divergence
What it is:
A divergence displayed in a pale version of the trend color, showing early price-energy discrepancy while price moves in a strong impulse.
Why it matters:
Signals that a regular divergence may be ignored because the market still has enough momentum to continue without correction.
How to use:
Not a reversal entry.
Wait for impulse weakening or confirmation from traps, micro-divergences, TTC, or the Catcher zone.
Versions:
(Full, Standard — limited, Lite — not included)
________________________________________
2 — Regular Bearish Divergence
What it is:
A classic discrepancy between price and momentum.
Why it matters:
Shows weakening of the current swing and increases the probability of correction or reversal.
How to use:
Useful for exits or timing counter-trend entries.
Best when combined with traps, TTC, or the Catcher zone.
Versions:
(Full, Standard, Lite)
________________________________________
3 — Divergence Energy Indicator
What it is:
A marker showing how strong the divergence energy load is.
Why it matters:
Helps separate weak divergences from structurally significant ones.
How to use:
High-energy divergences carry greater reversal potential.
Versions:
(Full, Standard — no, Lite — no)
________________________________________
4 — Trap Cloud: Mass Without Impulse
What it is:
A cloud indicating significant trade mass with minimal price progress.
Why it matters:
Shows hidden exhaustion or buildup before a directional change.
How to use:
When combined with divergences or the Catcher zone, attention increases.
Lite uses micro-markers instead of clouds.
Versions:
(Full, Standard, Lite — limited)
________________________________________
5 — Trap Cloud: Impulse Without Mass
What it is:
Shows small clusters of relatively large trades producing impulse without depth.
Why it matters:
Often indicates unstable or misleading moves.
How to use:
Strengthens reversal probability when combined with divergences.
Versions:
(Full, Standard, Lite — limited)
________________________________________
6 — Post-Impulse Oscillation Window
What it is:
The time window after an impulse-shift marker (7).
Why it matters:
Shows whether the new impulse strengthened or faded.
How to use:
Supports reading the stability of short-term structural breaks.
Versions:
(Full, Standard — no, Lite — no)
________________________________________
7 — Instant Impulse-Shift Marker
What it is:
A marker showing a sudden change in structural impulse.
Why it matters:
These points often precede short-term acceleration or instability.
How to use:
Especially meaningful when appearing near traps or divergences.
Versions:
(Full, Standard — no, Lite — no)
________________________________________
8 — Growing Price–Energy Discrepancy
What it is:
Marks increasing separation between price progress and energy behavior.
Why it matters:
Often precedes divergence formation or weakening of movement.
How to use:
Use as an early attention signal, especially when clusters appear.
Versions:
(Full, Standard — no, Lite — no)
________________________________________
9 — Collapsed Micro-Divergences
What it is:
Micro-divergences that formed but collapsed.
Why it matters:
Clusters of such points often reflect hidden weakness.
How to use:
Multiple collapsed micro-divs frequently precede structural slowing.
Versions:
(Full, Standard, Lite)
________________________________________
10 — Low-Energy Uncertainty Cloud
What it is:
A weak instability cloud similar to marker 7 but less pronounced.
Why it matters:
Marks zones where the market struggles with direction.
How to use:
Strengthens reversal context when inside a Catcher zone.
Versions:
(Full, Standard — no, Lite — no)
________________________________________
11 — Catcher Zone Marker
What it is:
Marks the moment a Catcher zone was created.
Why it matters:
Even if the zone collapses, the marker remains as evidence of structural preparation.
How to use:
If traps or divergences appear afterward, reversal probability increases.
Versions:
(Full, Standard, Lite)
________________________________________
12 — Catcher Zone (Forecast Window for Divergence)
What it is:
A dynamic zone predicting where a divergence is most likely to appear.
Why it matters:
Helps anticipate reversal signals earlier and with better timing.
How to use:
Divergences born inside the zone are significantly stronger.
Standard and Lite preserve full functionality with simplified visuals.
Versions:
(Full, Standard — limited visuals, Lite — limited visuals)
________________________________________
13 — Divergence Probation Start
What it is:
Beginning of the window where divergence must prove itself.
Why it matters:
If no structural reaction appears, the signal weakens.
How to use:
Watch traps, micro-divs, and impulse slowdown during this interval.
Versions:
(Full, Standard — limited, Lite — not included)
________________________________________
14 — Divergence Probation End
What it is:
The final point where divergence should manifest.
Why it matters:
If no reaction occurs, the market transitions into Flow and the divergence becomes irrelevant.
How to use:
If price does not react by this point — ignore the divergence.
Versions:
(Full, Standard — limited, Lite — not included)
________________________________________
15 — Catcher HUD (Forecast Accuracy Panel)
What it is:
A panel showing how many divergences the Catcher predicted and how many were confirmed by the market.
Why it matters:
Helps tune the indicator without guesswork.
How to use:
Adjust parameters and observe how HUD accuracy changes instantly.
Optimizes Pythia for each instrument and timeframe.
Versions:
(Full, Standard, Lite)
________________________________________
Note from the Developers
Pythia marks the exact areas where the market can mislead you.
So here is a simple and practical rule:
Do not step into the places where the markers stand.)
Daily EMA TrendThis show whether price is above or below the set DAILY EMAs that you set. Default is 200, 100, 50 & 20.
Fibonacci Projection with Volume & Delta Profile (Zeiierman)█ Overview
Fibonacci Projection with Volume & Delta Profile (Zeiierman) blends classic Fibonacci swing analysis with modern volume-flow reading to create a unified, projection-based market framework. The indicator automatically detects the latest swing high and swing low, builds a complete Fibonacci structure, and then projects future extension targets with clear visual pathways.
What makes this tool unique is the integration of two volume-based systems directly into the Fibonacci structure. A Fib-aligned Volume Profile shows how bullish and bearish volume accumulated inside the swing range, while a separate Delta Profile reveals the imbalance of buy–sell pressure inside each Fibonacci interval. Together, these elements transform the standard Fibonacci tool into a multi-dimensional structural and volume-flow map.
█ How It Works
The indicator first detects the most recent swing high and swing low using the Period setting. That swing defines the Fibonacci range, from which the script draws retracement levels (0.236–0.786) and builds a forward projection path using the chosen Projection Level and a 1.272 extension.
Along this path, it draws projection lines, target boxes, and percentage labels that show how far each projected leg extends relative to the previous one.
Inside the same swing range, the script builds a Fib-based Volume Profile by splitting price into rows and assigning each bar’s volume as bullish (close > open) or bearish (close ≤ open). On top of that, it calculates a Volume Delta Profile between each pair of fib levels, showing whether buyers or sellers dominated that band and how strong that imbalance was.
█ How to Use
This tool helps traders quickly understand market structure and where the price may be heading next. The projection engine shows the most likely future targets, highlights strong or weak legs in the move, and updates automatically whenever a new swing forms. This ensures you always see the most relevant and up-to-date projection path.
The Fib Volume Profile shows where volume supported the move and where it did not. Thick bullish buckets reveal zones where buyers stepped in aggressively, often becoming retestable support. Thick bearish buckets highlight zones of resistance or rejection, particularly useful if projected levels align with prior liquidity.
The Delta Profile adds a second dimension to volume reading by showing where buy–sell pressure was truly imbalanced. A projected Fibonacci target that aligns with a strong bullish delta, for example, may suggest continuation. A projection into a band dominated by bearish delta may warn of reversal or hesitation.
█ Settings
Period – bars used to determine swing high/low
Projection Level – chosen Fib ratio for projection path
-----------------
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.
CCI Threshold HistogramSynopsis
The Custom CCI Indicator by Simon20cent enhances traditional CCI analysis with adjustable smoothing and a momentum-based histogram. The histogram highlights key thresholds, turning green above +100 and red below –100 to clearly identify strong bullish or bearish momentum. Both the CCI and smoothed CCI lines can be toggled for a cleaner view, making this tool effective for spotting momentum shifts, breakout conditions, and potential entry zones with improved clarity.
Nexural Regime MatrixNexural Regime Matrix
A regime detection indicator that tells you not just where price is going, but whether smart money is confirming the move.
WHY I BUILT THIS
I got tired of staring at oscillators that just wiggle up and down without telling me anything useful. RSI is overbought. Great. Now what? MACD crossed. Cool. Is anyone actually buying?
I wanted an indicator that answers the questions I actually care about when I am trading. What regime is the market in right now? Is smart money confirming this move or fading it? Is this trend accelerating or running out of steam?
That is what this indicator does. It combines trend detection with delta analysis to map the market onto a visual regime matrix. You look at the dot, you see where you are, you know what is happening. No interpretation required.
Instead of giving you a single oscillator line and leaving you to figure out what it means, it maps your current position onto a visual matrix and tells you exactly what regime you are in. The indicator also tracks how fast you are moving through the matrix. A dot racing toward the Markup corner is very different from one that is stalling in the middle. This velocity component helps you understand momentum quality, not just direction.
THE FOUR REGIMES
This indicator classifies the market into four states based on Wyckoff methodology. Understanding these four regimes is the foundation of how this indicator works.
Markup is when trend is up and buying pressure confirms it. This is the easy money environment. Trend followers thrive here. Price is rising and the money flow confirms that buyers are in control. When you see the dot deep in the Markup quadrant with strong velocity, you are in a trending bull market with conviction behind it.
Markdown is the opposite. Trend is down and selling pressure confirms it. Shorts work. Longs get destroyed. Price is falling and sellers are clearly in control. This is where trend followers short and buy the dip traders get wrecked.
Accumulation is where it gets interesting. Price trend is still negative but buying pressure is emerging underneath. Smart money is loading while retail is still bearish. This often precedes reversals to the upside. When you see the dot move from Markdown into Accumulation, someone with deep pockets is buying the weakness. Pay attention.
Distribution is the mirror image. Price trend is still positive but selling pressure is building. Smart money is unloading into strength while retail chases the move. This often precedes reversals to the downside. When you see the dot move from Markup into Distribution, the smart money is heading for the exits while everyone else is still bullish.
The matrix shows these four quadrants with color gradients. The deeper into a corner you go, the stronger that regime. A dot in the far corner of Markup with high velocity is a completely different situation than a dot barely in Markup and stalling. The gradient intensity tells you conviction at a glance.
Accumulation and Distribution are the regimes that matter most for anticipating reversals. They signal potential turning points before price confirms them. This is where the real edge lives.
WHAT MAKES THIS DIFFERENT
Three things separate this from typical regime indicators.
Zero-Lag Engine
Most indicators use moving averages that lag significantly. By the time they confirm a trend, half the move is over. This indicator uses Ehlers Instantaneous Trendline as the default smoothing method. It responds faster without adding noise.
The Ehlers algorithm was developed by John Ehlers, an electrical engineer who applied signal processing theory to financial markets. It filters out market noise while preserving the actual trend signal. The result is earlier detection without the false signals that come from overly sensitive indicators.
You also have ZLEMA and Kalman Filter options if you prefer those. ZLEMA is a zero-lag exponential moving average that compensates for inherent lag. Kalman Filter is an adaptive algorithm that adjusts its smoothing based on price behavior. Each has its own characteristics and you can experiment to find what works best for your trading style.
Smart Delta Calculation
Instead of just using volume, the indicator estimates actual buying versus selling pressure from each candle. This is not a simple calculation.
It analyzes where price closes within the bar. A close near the high suggests buyers won. A close near the low suggests sellers won. But it goes deeper than that.
It factors in the candle body direction and size. A large bullish body carries more weight than a small one.
It analyzes upper and lower wick lengths. A long lower wick means buyers stepped in and rejected lower prices. A long upper wick means sellers stepped in and rejected higher prices. These wicks tell you about intrabar rejection and intent.
It weights the result by bar size relative to ATR. A large range bar that moves significantly compared to average volatility carries more conviction than a tiny bar. Big moves matter more.
It amplifies the signal when volume is expanding. Increasing volume on a move suggests real participation. Declining volume suggests the move lacks commitment.
The final delta value combines all of these factors into a single reading that approximates order flow from standard OHLCV data.
I want to be clear about something. This is not true Level 2 order flow. It is not reading the tape or analyzing actual bid and ask volume. That data is not available in TradingView. What this does is extract the maximum possible information from candlestick structure and volume to approximate what order flow might look like. On liquid instruments during active sessions, it works well. On illiquid instruments or during thin trading, it is less reliable. That is a fundamental limitation of working with OHLCV data.
Regime Velocity
The indicator tracks not just where you are in the matrix but how fast you are moving. This is the velocity component.
A dot racing toward Markup is very different from a dot sitting in Markup but stalling. The first suggests momentum is building and the trend has legs. The second suggests the trend might be exhausted.
Velocity tells you if momentum is building or fading. It answers the question of whether you are accelerating into a regime or decelerating out of it.
The display shows momentum quality in plain terms. Surge means you are moving fast and accelerating. Fast means you are moving quickly. Steady means moderate movement. Slow means you are barely moving. Stall means you have stopped or are moving so slowly it does not matter.
Along with momentum quality, you see a direction arrow showing where you are heading. If you see Surge with an arrow pointing toward MKUP, you know momentum is strong and building toward the bullish corner. If you see Stall with no clear direction, you know the market is indecisive.
This velocity component adds a dimension that static regime classification misses. Two traders might both see Markup on their indicator. But if one sees Surge velocity and the other sees Stall, they are looking at completely different situations.
THE VOLATILITY FILTER
This might be the most underrated feature of the entire indicator.
The indicator uses ADX and ATR percentile to detect ranging conditions. When the market is choppy and directionless, it shows a Ranging state instead of forcing a regime classification.
Why does this matter? Because most losses come from trading in chop. You get long, it drops. You get short, it rips. You get chopped to pieces taking small loss after small loss while the market goes nowhere.
The volatility filter tells you when conditions are not favorable for directional trades. When you see Ranging, step aside or reduce size. This alone eliminates a significant number of bad trades.
The filter works on two dimensions. ADX measures trend strength. When ADX is below the threshold, the market lacks directional conviction. ATR percentile measures volatility expansion. When ATR is in the bottom percentile of recent readings, the market is quiet and range-bound.
Both conditions contribute to the ranging detection. You can adjust the thresholds to be more or less strict depending on your preferences.
When the indicator shows Ranging, the candles turn gray and the regime state displays Ranging instead of one of the four quadrants. This is a visual reminder to be patient. The best trade is often no trade at all.
THE CONFLUENCE SCORING SYSTEM
Behind the scenes, the indicator calculates a confluence score from zero to one hundred percent. This score combines multiple factors to gauge overall conviction.
Trend strength contributes up to thirty points. The stronger the trend value, the more points.
Delta confirmation contributes up to twenty-five points. When trend and delta agree in direction, you get confirmation points. When they disagree, you get nothing.
Volatility contributes up to twenty-five points. When ADX and ATR indicate trending conditions, you get volatility points. When the market is ranging, this component goes to zero.
RSI alignment contributes up to twenty points. When RSI confirms the trend direction, you get alignment points. When RSI diverges from trend, this component is reduced.
The final confluence percentage tells you how many factors are aligned. High confluence means multiple indicators agree. Low confluence means mixed signals.
When the market is ranging, the entire confluence score gets cut in half. This penalizes signals that come during unfavorable conditions.
The confluence score is displayed in the matrix panel. Use it as a quick gauge of conviction. A regime change with ninety percent confluence is more meaningful than one with thirty percent.
HOW TO READ THE MATRIX
The matrix overlay on your chart shows a colored dot representing your current position in regime space.
Bottom right green is Markup. This is bullish trend with bullish flow. Everything aligns to the upside.
Top right orange is Distribution. This is bullish trend but bearish flow. Price is still up but selling pressure is emerging. Smart money may be exiting.
Bottom left purple is Accumulation. This is bearish trend but bullish flow. Price is still down but buying pressure is emerging. Smart money may be entering.
Top left red is Markdown. This is bearish trend with bearish flow. Everything aligns to the downside.
The dot position within each quadrant tells you intensity. A dot in the far corner indicates strong conviction in that regime. A dot near the center indicates weak or transitioning conditions.
The color gradient in each quadrant reinforces this. Deeper color means stronger regime. Lighter color means weaker.
The trail behind the dot shows your recent path through the matrix. You can see where you have been and how you got to where you are. This context helps you understand if you are entering a regime fresh or have been in it for a while.
The axis labels show the scale. Trend runs from negative on the left to positive on the right. Delta runs from negative at the top to positive at the bottom. The plus and minus signs at the edges remind you of the orientation.
The quadrant labels at the corners show MKDN for Markdown, DIST for Distribution, ACCM for Accumulation, and MKUP for Markup. These abbreviations let you quickly identify each zone.
HOW TO READ THE INFO ROWS
Below the matrix grid you see several rows of information.
The first row shows NEXURAL branding, the current regime state in text, and the confluence percentage.
The second row shows velocity information. You see the momentum quality label, the direction arrow showing where you are heading, and the speed percentile.
The third row shows the raw values. TRD shows trend value with an arrow indicating direction. DLT shows delta value with an arrow. The final cell shows TREND or RANGE status.
The fourth row shows the engine settings. You see which zero-lag method is active and the lookback length, plus the current ADX value.
All of this information is available at a glance. You do not need to hover over anything or check multiple places. Everything you need is in one consolidated display.
HOW TO READ THE OSCILLATOR
The oscillator pane below your chart shows two lines.
The main line is the trend value. It oscillates roughly between negative ten and positive ten. Above zero is bullish. Below zero is bearish. The color shifts based on value and ranging status.
The secondary line is the delta value. It also oscillates between negative ten and positive ten. Above zero means net buying pressure. Below zero means net selling pressure.
When both lines are above zero and moving together, you have confirmation. Trend is up and buyers are in control.
When both lines are below zero and moving together, you also have confirmation. Trend is down and sellers are in control.
When the lines diverge, pay attention. If trend is positive but delta is negative, you have Distribution conditions. If trend is negative but delta is positive, you have Accumulation conditions. These divergences often precede reversals.
The end labels on the right side of the oscillator show the exact current values. Trend and Delta with their numerical readings. This gives you precision when you need it.
The fill between the trend line and zero creates a visual gradient. Green fill above zero, red fill below zero. The intensity of the fill corresponds to the strength of the move.
Dotted horizontal lines mark the threshold levels. These correspond to the Neutral Zone Width setting. Values between the thresholds are considered neutral.
When the market is ranging, the background of the oscillator pane turns slightly gray. This visual cue reinforces the ranging state.
HOW I USE THIS INDICATOR
I use this as a context filter, not as an entry signal. Let me explain what that means.
Before I take any trade, I check the regime. The regime tells me if conditions favor my trade idea or not.
If I want to go long but the matrix shows Distribution, I either skip the trade entirely or reduce size significantly. The indicator is telling me that smart money might be selling into this strength. Going long against that flow is fighting an uphill battle.
If I want to go long and the matrix shows Markup with Fast or Surge velocity, I have more confidence. Trend is up, buyers are in control, and momentum is building. Conditions favor my trade.
If I want to go long but the matrix shows Ranging, I wait. There is no edge in choppy markets. Let conditions clarify before committing capital.
I pay special attention to regime transitions. These are the moments when opportunity emerges.
When the dot moves from Markdown into Accumulation, I start looking for long setups. Smart money is buying the weakness. I want to be on the same side.
When the dot moves from Markup into Distribution, I start looking for exits on my longs or potential short setups. Smart money is selling the strength. I do not want to be the one holding when they are done.
When the dot moves from Accumulation into Markup, I know the reversal is confirming. Buyers took control and now price is following.
When the dot moves from Distribution into Markdown, I know the reversal is confirming. Sellers took control and price is following.
The velocity component helps me gauge conviction. If I see a regime change but velocity is Stall, I wait for acceleration before committing. The regime changed but there is no momentum behind it yet. That could be a false move.
If velocity is Surge and pointing toward a corner, I act with more urgency. The move has conviction and I do not want to miss it.
The Ranging state keeps me patient. When I see it, I know this is not the time to force trades. I wait for conditions to improve. The market will eventually break out of the range and when it does, the indicator will show me which direction and with what conviction.
I combine this indicator with my own price action analysis. I look for support and resistance levels. I look for candlestick patterns. I look for volume confirmation. The Nexural Regime Matrix tells me the context. My other analysis tells me the specific entry.
I never take a trade based solely on this indicator. It is one input among several. But it is an important input that shapes how aggressive or defensive I am with my positioning.
SETTINGS THAT MATTER
Let me walk through each setting and explain what it does and how to think about adjusting it.
Lookback Length
This is the main sensitivity control for trend detection. It determines how many bars the indicator uses to calculate trend values.
Default of fourteen works well across most timeframes. This is a good starting point.
Lower values respond faster but show more noise. If you set this to seven, you will see regime changes more quickly but you will also see more false signals and whipsaws. This might suit scalpers who need fast response.
Higher values are smoother but slower. If you set this to twenty or twenty-five, you will see cleaner signals but you will be later to regime changes. This might suit swing traders who can afford to wait for confirmation.
I recommend starting with the default and only adjusting if you find it too slow or too noisy for your specific trading style and timeframe.
Zero-Lag Method
This lets you choose between three different smoothing algorithms.
Ehlers is the default and what I recommend. It provides excellent noise filtering while responding quickly to real trend changes. John Ehlers developed this algorithm specifically for financial markets and it shows.
ZLEMA is a zero-lag exponential moving average. It compensates for the inherent lag in traditional EMAs by projecting price forward. It is slightly more responsive than Ehlers but also slightly more prone to noise.
Kalman is an adaptive filter that adjusts its smoothing based on price behavior. It is the smoothest of the three but also the slowest to respond to changes. If you find Ehlers too noisy, try Kalman.
Each method has its own character. I encourage you to switch between them and see which one feels right for how you trade.
Kalman Gain
This only applies if you select Kalman as your zero-lag method. It controls how responsive the Kalman filter is.
Higher values respond faster but are more sensitive to noise. Lower values are smoother but slower.
Default of 0.7 is a good balance. Adjust if needed.
Delta Smoothing
This controls noise in the delta calculation. The raw delta from each bar can be noisy, so we apply smoothing.
Default of five means the delta is smoothed with a five-period exponential moving average.
Lower values are more responsive. You see delta changes more quickly but with more noise.
Higher values are smoother. Delta changes are cleaner but slower to appear.
If you find the delta line too jumpy, increase this value. If you find it too slow, decrease it.
ADX Length
This sets the period for the ADX calculation used in ranging detection.
Default of fourteen is standard. Most traders use fourteen-period ADX.
You can adjust this but I recommend leaving it at fourteen unless you have a specific reason to change it.
ADX Threshold
This sets the level below which the market is considered ranging.
Default of twenty is standard. ADX below twenty generally indicates a trendless market.
If you want stricter trend requirements, raise this to twenty-five or thirty. The indicator will show Ranging more often.
If you want looser requirements, lower it to fifteen. The indicator will show trending regimes more often, even in weaker trends.
ATR Percentile Filter
This adds a second ranging check based on volatility expansion.
Default of thirty means if current ATR is in the bottom thirty percent of the last one hundred readings, it contributes to ranging detection.
This catches situations where ADX might be above threshold but volatility is still compressed. Low volatility often means range-bound conditions even if there is a slight directional bias.
Raise this value if you want more aggressive ranging detection. Lower it if you want less.
Confirmation Bars
This sets how many bars a new regime must persist before the indicator confirms the change.
Default of two means a regime must hold for two bars before it is displayed. This prevents single-bar whipsaws.
Set to zero for fastest response. You will see regime changes immediately but you will also see more false signals that reverse on the next bar.
Set higher for more confirmation. Three or four bars provides more confidence that the regime change is real, but you will be later to the move.
This is a classic tradeoff between responsiveness and reliability. There is no right answer. It depends on your risk tolerance and trading style.
Neutral Zone Width
This controls the dead zone around zero where the indicator shows neutral rather than bullish or bearish.
Default of 0.3 means trend or delta values between negative 0.9 and positive 0.9 are considered neutral.
This prevents tiny fluctuations around zero from causing constant regime flipping. A small buffer creates stability.
Raise this value if you want a wider neutral zone. Lower it if you want the indicator to classify regimes more aggressively.
WHAT THIS INDICATOR DOES WELL
Let me be specific about where this indicator excels.
Regime classification is fast and accurate. You know immediately whether you are in a trending or ranging environment and what type of trend it is. There is no ambiguity. The matrix shows you exactly where you stand.
Delta adds information that pure price indicators miss. Seeing buying pressure build while price is still weak is genuinely useful. This is information you cannot get from looking at price alone. It gives you a window into participation and intent.
Velocity tells you about momentum quality. You know if a move has legs or is running out of steam. Two identical regime states can have completely different implications depending on velocity.
The volatility filter keeps you out of chop. This prevents a lot of frustration and losses. Knowing when to sit on your hands is just as valuable as knowing when to trade.
The visual matrix makes everything instant. No squinting at oscillator values trying to figure out what they mean. You glance at the dot position and you know. This speed of interpretation matters when markets are moving fast.
It works across instruments and timeframes. I use it primarily on index futures but it works on crypto, forex, stocks, commodities, whatever you trade. The underlying logic is universal.
The consolidated display puts everything in one place. You do not need to check multiple indicators or panels. Regime, velocity, confluence, values, and status are all visible at a glance.
WHAT THIS INDICATOR DOES NOT DO WELL
Let me be equally specific about the limitations. Every indicator has them and pretending otherwise would be dishonest.
The delta is an approximation. It is not true order flow from Level 2 or tick data. On illiquid instruments or during thin trading sessions, it can give misleading readings. If there is no volume, the delta calculation has nothing to work with. If the market is illiquid, the candle structure may not reflect actual order flow dynamics. This is a fundamental limitation of working with OHLCV data and no indicator can overcome it.
The confirmation filter adds lag. You will not catch exact tops and bottoms. The indicator waits for persistence before confirming a regime change. This reduces whipsaws but means you sacrifice some timeliness. If you set confirmation bars to zero, you will be faster but you will also get more false signals. There is no way to have both speed and reliability. It is always a tradeoff.
Ranging detection is not perfect. Sometimes choppy markets slip through and the indicator shows a trending regime when conditions are actually range-bound. Sometimes trending markets get flagged as ranging when volatility is low but direction is clear. No volatility filter catches every condition.
Sharp V-reversals are hard to catch. By the time the regime flips from one extreme to the other, you have missed the first part of the move. The indicator needs a few bars to recognize that conditions have changed. This is the cost of filtering noise. A more responsive indicator would catch reversals faster but would also give many more false signals.
The matrix takes up screen space. If you are running multiple indicators on a small screen, it can feel crowded. You can disable it and just use the oscillator pane if needed. But then you lose the visual regime mapping which is one of the main features.
This indicator does not tell you when to enter or exit. It tells you the regime, the momentum quality, and the confluence. It does not draw arrows or give buy and sell signals. If that is what you want, this indicator is not for you.
WHAT THIS INDICATOR IS NOT
Let me be clear about what you should not expect.
This is not a signal service. There are no buy and sell arrows. I do not believe in indicators that try to tell you exactly when to enter and exit. Markets are too complex for that. Anyone who claims their indicator can reliably tell you exactly when to buy and sell is either lying or deluded.
This is not a magic solution. It will have periods where it underperforms. It will miss moves. It will occasionally be wrong about regime classification. Every indicator does. Markets are driven by human behavior and geopolitics and randomness. No mathematical formula captures all of that perfectly.
This is not a replacement for learning how to trade. It is a tool that helps you see the market more clearly. You still need to understand market structure. You still need to develop your own setups. You still need to practice proper risk management. You still need screen time and experience. The indicator helps. It does not replace the work.
This is not holy grail. There is no holy grail. If someone tells you otherwise, they are selling something.
COMMON QUESTIONS
What timeframe works best?
The indicator works on all timeframes. I primarily use it on five-minute and fifteen-minute charts for intraday futures trading. Others use it on hourly or daily charts for swing trading. The logic adapts to whatever timeframe you apply it to. Lower timeframes will show more regime changes. Higher timeframes will show fewer but larger ones.
What instruments work best?
Liquid instruments with good volume work best. Index futures, major forex pairs, large cap stocks, Bitcoin and Ethereum. The delta calculation relies on meaningful volume data. On illiquid instruments where volume is thin or unreliable, the delta component loses accuracy.
Can I use this for entries?
You can but I do not recommend it as your sole entry trigger. Use it for context. Know what regime you are in and what the velocity is. Then use your own price action analysis or other tools for specific entry timing. The indicator tells you if conditions are favorable. You decide when to pull the trigger.
Why does delta sometimes disagree with price?
That is the entire point. When price is going up but delta shows selling pressure, that is Distribution. Smart money is exiting. When price is going down but delta shows buying pressure, that is Accumulation. Smart money is entering. These divergences are the most valuable signals the indicator provides.
Why is it showing Ranging when the market is clearly trending?
Check the ADX value displayed in the panel. If it is below your threshold, the indicator classifies conditions as ranging. You can lower the ADX threshold or ATR percentile filter if you want stricter trending requirements. Sometimes a slow steady trend will register as ranging because volatility is low even though direction is clear.
Can I turn off the matrix and just use the oscillator?
Yes. In the settings under Display, you can disable Show Regime Matrix. You will still have the oscillator with trend and delta lines and the end labels. Some traders prefer the cleaner look. You lose the visual regime mapping but the core calculations remain.
FINAL WORDS
I built this indicator because I was frustrated with oscillators that just showed values without context. I wanted to know what regime the market was in. I wanted to know whether smart money was confirming the move. I wanted to know whether momentum was building or fading.
This indicator answers those questions. It is not perfect. Nothing is. But it gives me information I find useful every single session.
The regime classification helps me avoid fighting the trend. When the market is in Markdown with strong velocity, I am not looking for longs no matter how oversold price looks.
The delta component helps me see when moves have real participation behind them. A rally with positive delta is different from a rally with negative delta. The first has buyers behind it. The second might be a short squeeze or exhaustion move.
The velocity tracking helps me gauge conviction. A regime change with Surge velocity demands attention. A regime change with Stall velocity might be noise.
The volatility filter keeps me patient. When conditions are ranging, I wait. The market will eventually move and when it does, I will be ready.
Use this indicator as context, not as a crutch. Combine it with your own analysis and your own rules. Let it inform your decisions, not make them for you.
Good trading.
HTF Manipulation Swing Points [Pogiest]General
HTF Manipulation Swing Points plots out relevant swings on the higher timeframes selected and draws a horizontal line anchored from the extremes of the swing point. These are important levels traders can look to base entries off of. This indicator is designed to track higher timeframe swing points on a lower timeframe. It will detect a sweep (Manipulation) or a breakout/breakdown (Failure to Manipulate) based on the higher timeframe candle close.
Usage
Depending on how the higher timeframe candles engage the relevant swing points, it can assist traders on bias and direction given the higher timeframe order-flow, lower timeframe order-flow, zones, levels, etc. Manipulation of swing points can potentially signal the start of a reversal or retracement. Failure to Manipulate swing points can potentially signal continuation of the higher timeframe current trend. It is up to the trader to gauge the price action at these levels.
How the Indicator works
1. Lines (Not engaged) - Plots out line from higher timeframe swing points and extends to the right.
2. Manipulation (M) - M label will be plotted on the swing point line that has been engaged. For example, if 1 hour timeframe was selected in settings and the 1 hour swing point line is plotted on the chart, the indicator will track the first one hour candle to engage the line and wait for the 1 hour engaging candle to close before marking it out as a Manipulation label. It is deemed to be manipulation if the 1 hour candle sweeps the level and closes back into the range.
3. Failure to Manipulate (FTM) - FTM label functions the same as Manipulation in which it waits for the swing point line to be engaged in order for a label to be printed. However, if the price does not sweep the swing point, breaks through, and closes beyond the level then it would be deemed a "Failure to Manipulate".
Note: The timeframe selected in settings will match the engaging candle. For instance, if a 4 hour timeframe is selected, the next 4 hour candle that engages the swing point level will need to close before it displays a label. In addition, this indicator is designed to view on lower timeframes with higher timeframe swing points selected in Settings.
Settings
Timeframes:
1. Choose up to two timeframes for swing point levels.
2. Adjust Pivot lookback.
3. Option to change high and low line color, line style, and line width.
Timeframe Manipulation Labels:
4. Show/hide labels.
5. Option to adjust offset of labels horizontally/vertically for each high or low line.
6. Option to change label colors, label size, and text color.
Line Tags:
7. Show/hide line end tags.
8. Option to change tag size and tag color.
9. Adjust offset of tags.
Overlap Detection:
10. Adjust overlap threshold percentage.
11. Adjust label shift amount (for when labels are overlapping each other).
Alerts:
12. Option to enable/disable all alerts. Select different alerts for each timeframe (i.e. manipulate alert or failure to manipulate alert).
Risk Disclaimer
This indicator is for educational and informational purposes only and does not constitute financial advice. All trading and investment decisions remain solely the responsibility of the user.
Trading involves a high degree of risk, and past performance is not indicative of future results.
Always conduct your own research and consult with a qualified financial professional before making any trading decisions.
By using this indicator, users acknowledge they understand these risks and accept full responsibility for their trading decisions and outcomes.
APLAPL (Adaptive Power Line) is an adaptive trend channel indicator based on the energy distribution within a price range. It utilizes the highest and lowest prices over a specific period, constructing three core structures through a combination of different exponential weights: the upper band (In Up), the lower band (In Dn), and the middle band (Mid). Unlike traditional channels, APL does not directly use linear averages but instead employs a power-weighted approach, allowing it to more accurately reflect the strength of price movements within a range.
The upper band emphasizes the weight of the highest price, more closely reflecting upward price momentum; the lower band emphasizes the weight of the lowest price, used to depict downward pressure; and the middle band, as the geometric median, reflects the equilibrium point and true center of the price range. This structure maintains smoothness while quickly adapting to fluctuations.
The three structural lines of APL can be used to identify trend direction, determine support and resistance levels, and observe the degree of price deviation within the range. When the price approaches or breaks through the upper band, it signifies increased upward momentum; approaching the lower band reflects dominant downward momentum; and fluctuations around the middle band indicate a balanced oscillation within the range. APL is simple yet effective, and is a highly applicable auxiliary tool for locating trend rhythms and range energy.
MAVBThe VB indicator (Velocity of Breakout) is a quantitative trend analysis tool centered on the "speed of price change." Based on the two-dimensional relationship between time and price, it reveals the market's energy rhythm and trend state by studying the magnitude of price changes within a unit of time. Its theoretical basis stems from the Kostolany egg model: the market spends approximately 15% of its time in rapid, one-sided upward movement, 70% in sideways consolidation, and 15% in rapid decline. The core objective of VB is to identify areas of "fast price fluctuation" within these three market states to capture trading opportunities, while avoiding "slow" oscillating ranges, thereby improving operational efficiency and risk-reward ratio.
Structurally, VB consists of a main line and its smoothed line, combined with a zero axis and red/green bars, visually reflecting the trend direction and momentum changes of price movement. When the market enters the high-speed zone, it indicates accelerated trend and emerging opportunities; entering the low-speed zone suggests increased volatility and the need for cautious trading. Through trend segmentation, speed breakouts, and divergence confirmation, VB can effectively identify primary and secondary trends, assisting in trading decisions. It is applicable to various markets such as stocks, futures, and cryptocurrencies. It is a dynamic quantitative tool that connects the essence of price movement with the rhythm of trading, providing traders with a new perspective on trends from the speed dimension.
3-Daumen-RegelThis indicator evaluates three key market conditions and summarizes them in a compact table using simple thumbs-up / thumbs-down signals. It’s designed specifically for daily timeframes and helps you quickly assess whether a market is showing technical strength or weakness.
The Three Checks
Price Above the 200-Day SMA
Indicates the long-term trend direction. A thumbs-up means the price is trading above the 200-day moving average.
Positive Performance During the First 5 Trading Days of the Year (YTD Start)
Measures early-year strength. If not enough bars are available, a warning is shown.
Price Above the YTD Level
Compares the current price to the first trading day’s close of the year.
Color Coding for Instant Clarity
Green: Condition met
Red: Condition not met
This creates a compact “thumbs check” that gives you a quick read on the market’s technical health.
Note
The indicator is intended for daily charts. A message appears if a different timeframe is used.
RSI-ma Wave Sensor (Free ver.)RSI-ma Wave Sensor is a 3-line RSI-based oscillator (Main / Middle / Wave) that shows trend direction, momentum and higher timeframe context in a single pane.
Compared with many classic MA/RSI tools it aims to:
• react with very low lag (almost real-time feeling)
• detect trend direction early
• avoid “overbought/oversold sticking” so you can hold calmly until the trend really starts to end
This Free version is a DAY trade preset for the 15m chart:
• Main = 14, Middle = EMA 9, Wave = EMA 28
• 1h higher timeframe wave sensor included
• good for learning / testing how to read trends with RSI waves
Triple Screen System [FlexibleMAs MACD-RSI-ADX]#### Triple Screen System (TSS-FMR)
The TSS-FMR script is a specialized, multi-timeframe confirmation tool built for Swing, Positional Traders, and Longer Term Investors. It is engineered to filter out low-conviction noise by implementing an advanced interpretation of the Elder's Triple Screen strategy, relying on proprietary momentum, volatility, and volume analysis to isolate high-probability setups.
---
#### 🧠 Core Methodology & Logic
The TSS-FMR synthesizes three distinct layers of confirmation to generate signals:
1. Macro Trend & Volatility: Determines the primary trend and overall market condition using configurable EMA+RSI metrics , the script uses Average Directional Index (ADX) as an internal component to filter out non-trending, consolidating market conditions.
2. Momentum Synchronization: A proprietary filter requiring MACD,MAs and RSI to be synchronized * within a specified bar window (`MACD/RSI Sync Window`) ensures that entries align with current short-term momentum shifts.
3. Volume & Price Action: Final entry is triggered only when the higher timeframes align and the entry timeframe (Daily or 4H) confirms the move, optionally requiring * Candle Confirmation * and filtering out low-quality trades using the * Volume Filter *
The key is the separation of input thresholds and lengths for Weekly and Daily lookbacks, allowing for precise tuning unavailable in standard public libraries.
---
#### 🎯 Understanding Signal Strength & Conviction
Signals are categorized using a proprietary Strength scale (from Overbought/Oversold to 6) to help traders gauge the potential size and probability of the momentum move, This scale is dynamically influenced by the ADX volatility readings.
#### 🔍 Integrating External Visual Tools (Addressing Rule: Vendor/Chart)
The TSS-FMR generates signals based solely on its internal logic and inputs .*
We recommend overlaying the TSS-FMR signals with external tools (such as the Lux Algo SmartMoneyConcepts indicator or similar public S/R tools) for visual confirmation only :
* Signals (2, 3, 4) + CHOCH/BOS: * A signal with lower internal strength (2-4) gains stronger conviction if it aligns precisely with a CHOCH or BOS event visually identified by the external tool. This confirms that the market structure is validating the script's momentum reading.
Zone Confirmation: When signals land precisely within visually defined Liquidity or Accumulation/Distribution Zones (provided by external visual tools), it adds significant conviction to the TSS-FMR's output.
The *Overbought/Oversold regions* are decided based on the script's internal strength calculation and prevailing price action.
#### Summary:
--- This script is for Swing, Positional Traders and Longer Term Investors
--- It will only work with Monthly,Weekly, Daily and 4H chart to help you make confirmation based positions.
--- Sell Signals are Overbought Exits and Short sell signals, Plan according to Weekly Signals and Daily signals
--- Use the Momentum Table/matrix at the right top of the chart when TSS indicator is active.
--- Use Volume Filter enable to remove chaos of signals
--- Keep *Lux Algo -SmartMoneyConcepts* indicator active for visual of zones
--- Adjust Volume Filter in Settings to avoid crowding of signals
--- Adjust Input signal length to select number of history bars
--- Watch-out for Weekly 100ema Line and
--- Watch-out for Sell Signals, in discount region they are marked as Buy oversold or moderate, vise versa Sell Overbought signals are added to the charts.
--- To earn money, we need to look out for early signals, fake breakouts, breakdowns and what we want the table/matrix turning all green or red in Momentum trades.
---
#### House Rule Compliance Statement
This script description is provided strictly for technical clarity. It is free from all promotional content, external links, contact information, social media references, and solicitations, as per TradingView's General House Rule #2. The justification for its closed-source nature is based on its proprietary signal synchronization logic and flexible, multi-timeframe implementation.
GENESIS DHANUS A clean, non-repainting trend-following signal indicator.
Buy signals appear when:
• Fast EMA (9) crosses above Slow EMA (21)
• RSI > 50 (bullish momentum)
• Previous bar volume > 1.5× 20-period average
• Price is above the current Heikin-Ashi "trend level"
Sell signals use the exact opposite conditions.
All conditions use confirmed data only (no future leak, no repainting).
Perfect for swing trading and alert setups on any timeframe.
Features:
- Large clear arrows with text
- Optional light background coloring
- Precise alert conditions
- EMA lines can be toggled
100% Pine Script v5 – open source and free.
Multi-factor momentum & flow confluence oscillator
MarketExploiter
Momentum–flow confluence oscillator.
Overview
This indicator combines momentum structure, money-flow behavior, trend context, and divergence detection into a single visual tool. It helps highlight when momentum is strengthening, weakening, or beginning to shift direction.
Components
• A smoothed momentum curve that visualizes acceleration and exhaustion.
• Money-flow bias reflecting underlying buying or selling pressure.
• Momentum-shift dots that appear only when several factors align, such as momentum inflection, curve behavior, and supportive flow.
• Bullish and bearish divergence detection between price and the momentum curve.
• A trend panel offering broader directional context.
How to Use
Signals are most effective when they appear in the direction of the trend panel and when money-flow conditions support the move. Divergence signals may highlight early strength or weakness relative to price action. The indicator is intended for context and confirmation rather than standalone entries. Works across all liquid markets and timeframes.
Notes
Non-repainting. Suitable for momentum assessment, trend reading, and identifying potential inflection zones.
HTF Candle overlayOverview
This Pine Script indicator overlays three separate Mini Charts onto the right side of your main chart area. These mini charts display price action from Higher Timeframes (HTF), allowing traders to monitor multi-timeframe market structure and trends without switching screens. Each mini chart is overlaid with up to 5 customizable EMA (Exponential Moving Average) Clouds.
Key Features
1. Three Independent Mini Charts
Users can select three distinct higher timeframes (e.g., 1 Hour, 4 Hours, 1 Day).
The script automatically checks to ensure the selected timeframe is higher than the current chart's timeframe.
Displays up to 10 historical candles per mini chart (limited to optimize Pine Script drawing resources).
2. Smart Data Handling (RTH vs. ETH)
Daily, Weekly, Monthly: For timeframes of 1 Day or higher, the script forces Regular Trading Hours (RTH) data. This ensures daily candles look standard and aren't distorted by pre/post-market low volume ticks.
Intraday (e.g., 1H, 4H): For timeframes below 1 Day, the script uses Extended Trading Hours (ETH) data, ensuring you see the full picture of pre-market and after-hours moves.
Ticker Cleaning: The script automatically sanitizes ticker IDs to prevent "Symbol Resolve Errors" when used on charts with complex session settings.
3. Comprehensive EMA Clouds
5 Customizable Clouds: Each mini chart can display up to 5 different EMA Clouds (pairs of Short and Long Moving Averages).
Full Color Control: Users can individually customize:
Line Colors: Distinct colors for Short and Long EMA lines.
Cloud Fill: Distinct colors and transparency for Bullish and Bearish trends.
Toggle Visibility: Each of the 5 clouds can be turned On or Off via settings.
Source Selection: Users can calculate EMAs based on Close, Open, High, Low, HL2, HLC3, or OHLC4.
4. Custom Visuals & Positioning
Candle Aesthetics: Users can define Bull/Bear candle colors, transparency, and Candle Width (thickness).
Positioning:
Horizontal Offset: Shift the entire dashboard left or right to avoid overlapping with current price action.
Spacing: Adjust the gap between the three mini charts.
Assistance Lines: Optional Support/Resistance lines (Fibonacci or Range High/Low) can be drawn extending from the mini charts.
How it Works (Technical Summary)
The script utilizes request.security to fetch OHLC data and Moving Average data from the specified higher timeframes. It stores this data in Matrices and Arrays to manage history. It then uses Pine Script's line.new and label.new functions to manually draw the candles and EMA lines onto the main chart canvas, relative to the current bar_index. It includes logic to handle dynamic array resizing and garbage collection to stay within Pine Script's execution limits.
SuperTrend Oscillator [ChartPrime]⯁ OVERVIEW
The SuperTrend Oscillator is a hybrid momentum–trend indicator that transforms the classic SuperTrend into a full-strength oscillator.
Instead of simply plotting SuperTrend direction on the chart, this tool measures the distance between price and SuperTrend, normalizes it by volatility, and converts it into a dynamic oscillator that highlights trend strength, momentum extremes, and high-precision reversal points.
⯁ CONCEPTS
SuperTrend Engine: The indicator extracts the SuperTrend baseline and direction using ATR-based volatility. This acts as the core structure from which the oscillator is built.
Volatility-Adjusted Oscillation: (close − SuperTrend) is divided by ATR to standardize momentum across all markets and timeframes.
Adaptive Oscillator Types: The signal can be transformed using HMA, EMA, or SMA smoothing for varying responsiveness.
Momentum Extremes: Values above +1.7 or below −1.7 signal stretched price conditions where reversals are more likely.
Reversal Logic: The oscillator compares its current value with its value three bars ago. Large positive or negative pivots indicate momentum shifts.
⯁ FEATURES
Trend-Colored SuperTrend Line
The SuperTrend line shifts color based on direction, giving immediate context for oscillator readings.
Full Oscillator Transformation
Converts price–SuperTrend distance into a normalized oscillator, showing when momentum is expanding, contracting, or reaching exhaustion.
Gradient Momentum Coloring
The oscillator line and candles are colored using a two-sided gradient:
• Red tones for bearish momentum
• Orange/cream tones for bullish momentum
• Gray tones for low momentum
This makes strength visually intuitive.
Extreme Zones (±1.7 Bands)
Built-in upper and lower thresholds highlight zones where price is statistically overextended.
Dual Fill Layers
The area above/below zero is filled in different colors to emphasize bullish or bearish oscillator regime.
Reversal Diamonds
The script highlights significant reversals when:
• Momentum shifts downward from high values (bearish pivot)
• Momentum shifts upward from deep lows (bullish pivot)
These diamonds help pinpoint exhaustion-based turning points.
⯁ HOW TO USE
Identify Trend Strength:
A rising oscillator above 0 confirms bullish SuperTrend conditions; falling below 0 confirms bearish ones.
Spot Momentum Extremes:
Readings above +1.7 or below −1.7 often signal overextended price moves.
Use Reversal Diamonds as Pivot Alerts:
Diamond markers indicate high-probability turning points when momentum sharply reverses from extreme zones.
Confirm Trend Shifts with Color Changes:
Candle and oscillator colors shift based on momentum direction, providing clean visual alignment with SuperTrend direction.
Combine with Structure or OB Zones:
Reversal signals become more reliable when they occur at key S/R, order blocks, or liquidity sweeps.
⯁ CONCLUSION
The SuperTrend Oscillator modernizes the SuperTrend by transforming it into a volatility-aware oscillator with clear reversal markers, trend coloring, and momentum normalization.
This tool is ideal for traders who want both trend context and precise timing signals, blending SuperTrend’s reliability with the dynamics of a professional-grade momentum oscillator.
Std Dev Reversal LevelsPlots standard deviation bands around a central mean to identify statistically extreme price levels where reversals are likely.
How It Works
Price statistically tends to stay within predictable ranges around its mean. This indicator plots sigma (σ) levels showing where price becomes statistically extended.
Green lines: Levels above the mean (+1σ to +5σ)
Red lines: Levels below the mean (-1σ to -5σ)
White line: Center/mean (optional)
How To Use
Set timeframe to 1D or 4H
Use Statistical method with 20-30 lookback
Watch for price touching ±3σ levels
Look for reversal confirmation at these extremes
Target the center line for mean reversion plays
Best Metal to Sell → More BTCWhichever precious metal has outperformed Bitcoin the most over the last 21 days (by >4%) is showing short-term strength → sell a small slice of that metal and rotate into BTC.
Orange = trim some gold → buy BTC
Grey = trim some silver → buy BTC
Black = no clear edge → hold
This is a gradual, disciplined rebalancing tool for anyone holding physical gold & silver who wants to slowly increase their BTC exposure on relative strength spikes — without ever going “all-in”.
You decide the pace: 1% per signal, pause anytime, or stop when you’ve reached your personal comfort level of BTC allocation.
2020–2025 backtest (weekly 1% rotations):
$200k metals → 18.4 BTC + $0 metals left = $1.68 million
HODL metals only = $320k
HODL BTC from day one = ~$1.4 million
It’s not about beating BTC every cycle — it’s about turning stagnant metals into more sats, at your own pace.
HoneG_BJVH 軽量化版v11VJBH v11 is a tool that displays volatility and range reference tables tailored for one-touch options trading, organized by currency and trading time.
Try applying it to any chart you like, whether it's a 1-minute chart or a 15-second chart.
Volatility levels are divided into four stages from 0 to 4, and you can set alerts for specific stages.
Internally, it monitors second-based charts, so even when used on a 1-minute chart, a Premium or higher grade is required.
ザオプションのワンタッチ取引向けに作ったボラや通貨毎・取引時間毎の幅の目安表を表示するツール VJBH v11 です。
1分足チャートでも、15秒足チャートでも、お好きなチャートに適用してお試しください。
ボラのレベルは0~4の4段階に分けてまして、段階を選んでアラートを出せます。
内部的には秒足を見ているので、1分足チャートで使う場合でも、Premium以上のグレードが必要になります。
HoneG_ヒゲヒゲ067ALT_v2
HigeHige is a tool that displays the wick ratio for one-touch trading on The Option.
Try applying it to your preferred chart, whether it's a 1-minute chart or a 15-second chart.
ザオプションのワンタッチ取引向けにヒゲ比率を表示するツール ヒゲヒゲ です。
1分足チャートでも、15秒足チャートでも、お好きなチャートに適用してお試しください。
RSI + BB + RSI Advanced MTF Panel//@version=6
indicator(title="RSI + BB + RSI Advanced MTF Panel", shorttitle="RSI + BB + RSI Advance MTF Panel", format=format.price, precision=2, overlay=false)
bb_group = "BB (Price Overlay)"
bb_length = input.int(50, minval=1, group = bb_group)
bb_maType = input.string("SMA", "Basis MA Type", options = , group = bb_group)
bb_src = input.source(close, title="Source", group = bb_group)
bb_mult = input.float(0.2, minval=0.001, maxval=50, title="StdDev", group = bb_group)
BasisColor = input.color(color.rgb(163, 41, 245), "Basis Color", group = bb_group, display = display.none)
UpperColor = input.color(color.rgb(120, 156, 202,100), "Upper Color", group = bb_group, display = display.none)
LowerColor = input.color(color.rgb(120, 156, 202,100), "Lower Color", group = bb_group, display = display.none)
offset = input.int(0, "Offset", minval = -500, maxval = 500, display = display.data_window, group = bb_group)
ma(source, bb_length, _type) =>
switch _type
"SMA" => ta.sma(source, bb_length)
"EMA" => ta.ema(source, bb_length)
"SMMA (RMA)" => ta.rma(source, bb_length)
"WMA" => ta.wma(source, bb_length)
"VWMA" => ta.vwma(source, bb_length)
basis = ma(bb_src, bb_length, bb_maType)
dev = bb_mult * ta.stdev(bb_src, bb_length)
upper = basis + dev
lower = basis - dev
plot(basis, "Basis", color=BasisColor, offset = offset, force_overlay = true)
p1 = plot(upper, "Upper", color=UpperColor, offset = offset, force_overlay = true)
p2 = plot(lower, "Lower", color=LowerColor, offset = offset, force_overlay = true)
fill(p1, p2, title = "Background", color=color.rgb(163, 41, 245, 90))
rsiLengthInput = input.int(30, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
calculateDivergence = input.bool(false, title="Calculate Divergence", group="RSI Settings", display = display.data_window, tooltip = "Calculating divergences is needed in order for divergence alerts to fire.")
SignalDot = input.bool(false, title="Signal Dot", group="Smoothing", display = display.data_window, tooltip = "Signal for possible entry")
change = ta.change(rsiSourceInput)
up = ta.rma(math.max(change, 0), rsiLengthInput)
down = ta.rma(-math.min(change, 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsiPlot = plot(rsi, "RSI", color= rsi >= 51 ? color.rgb(13, 197, 230) : color.red)
rsiUpperBand = hline(70, "RSI Upper Band", color=#787B86)
midline = hline(50, "RSI Middle Band", color=color.new(#787B86, 50))
rsiLowerBand = hline(30, "RSI Lower Band", color=#787B86)
fill(rsiUpperBand, rsiLowerBand, color=color.rgb(126, 87, 194, 90), title="RSI Background Fill")
midLinePlot = plot(50, color = na, editable = false, display = display.none)
fill(rsiPlot, midLinePlot, 100, 70, top_color = color.new(color.green, 0), bottom_color = color.new(color.green, 100), title = "Overbought Gradient Fill")
fill(rsiPlot, midLinePlot, 30, 0, top_color = color.new(color.red, 100), bottom_color = color.new(color.red, 0), title = "Oversold Gradient Fill")
GRP = "Smoothing"
TT_BB = "Only applies when 'SMA + Bollinger Bands' is selected. Determines the distance between the SMA and the bands."
maTypeInput = input.string("SMA", "Type", options = , group = GRP, display = display.data_window)
maLengthInput = input.int(14, "Length", group = GRP, display = display.data_window)
bbMultInput = input.float(2.0, "BB StdDev", minval = 0.001, maxval = 50, step = 0.5, tooltip = TT_BB, group = GRP, display = display.data_window)
var enableMA = maTypeInput != "None"
var isBB = maTypeInput == "SMA + Bollinger Bands"
smoothma(source, length, MAtype) =>
switch MAtype
"SMA" => ta.sma(source, length)
"SMA + Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
smoothingMA = enableMA ? smoothma(rsi, maLengthInput, maTypeInput) : na
smoothingStDev = isBB ? ta.stdev(rsi, maLengthInput) * bbMultInput : na
plot(smoothingMA, "RSI-based MA", color=color.yellow, display = enableMA ? display.all : display.none, editable = enableMA)
bbUpperBand = plot(smoothingMA + smoothingStDev, title = "Upper Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
bbLowerBand = plot(smoothingMA - smoothingStDev, title = "Lower Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
fill(bbUpperBand, bbLowerBand, color= isBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill", display = isBB ? display.all : display.none, editable = isBB)
lookbackRight = 5
lookbackLeft = 5
rangeUpper = 60
rangeLower = 5
bearColor = color.red
bullColor = color.green
textColor = color.white
noneColor = color.new(color.white, 100)
_calcBarsSince(cond) =>
ta.barssince(cond)
rsiLBR = rsi
// 1. Calculate Pivots Unconditionally
plFound = not na(ta.pivotlow(rsi, lookbackLeft, lookbackRight))
phFound = not na(ta.pivothigh(rsi, lookbackLeft, lookbackRight))
// 2. Calculate History Unconditionally
barsSincePL = _calcBarsSince(plFound )
barsSincePH = _calcBarsSince(phFound )
// 3. Check Ranges Unconditionally
inRangePL = rangeLower <= barsSincePL and barsSincePL <= rangeUpper
inRangePH = rangeLower <= barsSincePH and barsSincePH <= rangeUpper
// 4. Calculate Conditions
var bool bullCond = false
var bool bearCond = false
if calculateDivergence
rsiHL = rsiLBR > ta.valuewhen(plFound, rsiLBR, 1) and inRangePL
lowLBR = low
priceLL = lowLBR < ta.valuewhen(plFound, lowLBR, 1)
bullCond := priceLL and rsiHL and plFound
rsiLH = rsiLBR < ta.valuewhen(phFound, rsiLBR, 1) and inRangePH
highLBR = high
priceHH = highLBR > ta.valuewhen(phFound, highLBR, 1)
bearCond := priceHH and rsiLH and phFound
else
bullCond := false
bearCond := false
plot(plFound ? rsiLBR : na, offset = -lookbackRight, title = "Regular Bullish", linewidth = 2, color = (bullCond ? bullColor : noneColor), display = display.pane, editable = calculateDivergence)
plotshape(bullCond ? rsiLBR : na, offset = -lookbackRight, title = "Regular Bullish Label", text = " Bull ", style = shape.labelup, location = location.absolute, color = bullColor, textcolor = textColor, display = display.pane, editable = calculateDivergence)
plot(phFound ? rsiLBR : na, offset = -lookbackRight, title = "Regular Bearish", linewidth = 2, color = (bearCond ? bearColor : noneColor), display = display.pane, editable = calculateDivergence)
plotshape(bearCond ? rsiLBR : na, offset = -lookbackRight, title = "Regular Bearish Label", text = " Bear ", style = shape.labeldown, location = location.absolute, color = bearColor, textcolor = textColor, display = display.pane, editable = calculateDivergence)
alertcondition(bullCond, title='Regular Bullish Divergence', message="Found a new Regular Bullish Divergence.")
alertcondition(bearCond, title='Regular Bearish Divergence', message='Found a new Regular Bearish Divergence.')
// --- Panel Options (General) ---
g_panel = 'MTF Panel Options'
i_orientation = input.string('Vertical', 'Orientation', options = , group = g_panel)
i_position = input.string('Bottom Right', 'Position', options = , group = g_panel)
i_border_width = input.int(1, 'Border Width', minval = 0, maxval = 10, group = g_panel, inline = 'border')
i_color_border = input.color(#000000, '', group = g_panel, inline = 'border')
i_showHeaders = input.bool(true, 'Show Headers', group = g_panel)
i_color_header_bg = input.color(#5d606b, 'Headers Background', group = g_panel, inline = 'header')
i_color_header_text = input.color(color.white, 'Text', group = g_panel, inline = 'header')
i_color_tf_bg = input.color(#2a2e39, 'Timeframe Background', group = g_panel, inline = 'tf')
i_color_tf_text = input.color(color.white, 'Text', group = g_panel, inline = 'tf')
i_debug = input.bool(false, 'Display colors palette (debug)', group = g_panel)
// --- RSI Colors (Conditional Formatting) ---
g_rsi = 'MTF RSI Colors'
i_threshold_ob = input.int(70, 'Overbought Threshold', minval=51, maxval=100, group = g_rsi)
i_color_ob = input.color(#128416, 'Overbought Background', inline = 'ob', group = g_rsi)
i_tcolor_ob = input.color(color.white, 'Text', inline = 'ob', group = g_rsi)
i_threshold_uptrend = input.int(60, 'Uptrend Threshold', minval=51, maxval=100, group = g_rsi)
i_color_uptrend = input.color(#2d472e, 'Uptrend Background', inline = 'up', group = g_rsi)
i_tcolor_uptrend = input.color(color.white, 'Text', inline = 'up', group = g_rsi)
i_color_mid = input.color(#131722, 'No Trend Background', group = g_rsi, inline = 'mid')
i_tcolor_mid = input.color(#b2b5be, 'Text', group = g_rsi, inline = 'mid')
i_threshold_downtrend = input.int(40, 'Downtrend Threshold', group = g_rsi, minval=0, maxval=49)
i_color_downtrend = input.color(#5b2e2e, 'Downtrend Background', group = g_rsi, inline = 'down')
i_tcolor_downtrend = input.color(color.white, 'Text', group = g_rsi, inline = 'down')
i_threshold_os = input.int(30, 'Oversold Threshold', minval=0, maxval=49, group = g_rsi)
i_color_os = input.color(#db3240, 'Oversold Background', group = g_rsi, inline = 'os')
i_tcolor_os = input.color(color.white, 'Text', group = g_rsi, inline = 'os')
// --- Individual RSI Settings (MTF Sources) ---
g_rsi1 = 'RSI #1'
i_rsi1_enabled = input.bool(true, title = 'Enabled', group = g_rsi1)
i_rsi1_tf = input.timeframe('5', 'Timeframe', group = g_rsi1)
i_rsi1_len = input.int(30, 'Length', minval = 1, group = g_rsi1)
i_rsi1_src = input.source(close, 'Source', group = g_rsi1) * 10000
v_rsi1 = i_rsi1_enabled ? request.security(syminfo.tickerid, i_rsi1_tf, ta.rsi(i_rsi1_src, i_rsi1_len)) : na
g_rsi2 = 'RSI #2'
i_rsi2_enabled = input.bool(true, title = 'Enabled', group = g_rsi2)
i_rsi2_tf = input.timeframe('15', 'Timeframe', group = g_rsi2)
i_rsi2_len = input.int(30, 'Length', minval = 1, group = g_rsi2)
i_rsi2_src = input.source(close, 'Source', group = g_rsi2) * 10000
v_rsi2 = i_rsi2_enabled ? request.security(syminfo.tickerid, i_rsi2_tf, ta.rsi(i_rsi2_src, i_rsi2_len)) : na
g_rsi3 = 'RSI #3'
i_rsi3_enabled = input.bool(true, title = 'Enabled', group = g_rsi3)
i_rsi3_tf = input.timeframe('60', 'Timeframe', group = g_rsi3)
i_rsi3_len = input.int(30, 'Length', minval = 1, group = g_rsi3)
i_rsi3_src = input.source(close, 'Source', group = g_rsi3) * 10000
v_rsi3 = i_rsi3_enabled ? request.security(syminfo.tickerid, i_rsi3_tf, ta.rsi(i_rsi3_src, i_rsi3_len)) : na
g_rsi4 = 'RSI #4'
i_rsi4_enabled = input.bool(true, title = 'Enabled', group = g_rsi4)
i_rsi4_tf = input.timeframe('240', 'Timeframe', group = g_rsi4)
i_rsi4_len = input.int(30, 'Length', minval = 1, group = g_rsi4)
i_rsi4_src = input.source(close, 'Source', group = g_rsi4) * 10000
v_rsi4 = i_rsi4_enabled ? request.security(syminfo.tickerid, i_rsi4_tf, ta.rsi(i_rsi4_src, i_rsi4_len)) : na
g_rsi5 = 'RSI #5'
i_rsi5_enabled = input.bool(true, title = 'Enabled', group = g_rsi5)
i_rsi5_tf = input.timeframe('D', 'Timeframe', group = g_rsi5)
i_rsi5_len = input.int(30, 'Length', minval = 1, group = g_rsi5)
i_rsi5_src = input.source(close, 'Source', group = g_rsi5) * 10000
v_rsi5 = i_rsi5_enabled ? request.security(syminfo.tickerid, i_rsi5_tf, ta.rsi(i_rsi5_src, i_rsi5_len)) : na
g_rsi6 = 'RSI #6'
i_rsi6_enabled = input.bool(true, title = 'Enabled', group = g_rsi6)
i_rsi6_tf = input.timeframe('W', 'Timeframe', group = g_rsi6)
i_rsi6_len = input.int(30, 'Length', minval = 1, group = g_rsi6)
i_rsi6_src = input.source(close, 'Source', group = g_rsi6) * 10000
v_rsi6 = i_rsi6_enabled ? request.security(syminfo.tickerid, i_rsi6_tf, ta.rsi(i_rsi6_src, i_rsi6_len)) : na
g_rsi7 = 'RSI #7'
i_rsi7_enabled = input.bool(false, title = 'Enabled', group = g_rsi7)
i_rsi7_tf = input.timeframe('W', 'Timeframe', group = g_rsi7)
i_rsi7_len = input.int(30, 'Length', minval = 1, group = g_rsi7)
i_rsi7_src = input.source(close, 'Source', group = g_rsi7) * 10000
v_rsi7 = i_rsi7_enabled ? request.security(syminfo.tickerid, i_rsi7_tf, ta.rsi(i_rsi7_src, i_rsi7_len)) : na
g_rsi8 = 'RSI #8'
i_rsi8_enabled = input.bool(false, title = 'Enabled', group = g_rsi8)
i_rsi8_tf = input.timeframe('W', 'Timeframe', group = g_rsi8)
i_rsi8_len = input.int(30, 'Length', minval = 1, group = g_rsi8)
i_rsi8_src = input.source(close, 'Source', group = g_rsi8) * 10000
v_rsi8 = i_rsi8_enabled ? request.security(syminfo.tickerid, i_rsi8_tf, ta.rsi(i_rsi8_src, i_rsi8_len)) : na
g_rsi9 = 'RSI #9'
i_rsi9_enabled = input.bool(false, title = 'Enabled', group = g_rsi9)
i_rsi9_tf = input.timeframe('W', 'Timeframe', group = g_rsi9)
i_rsi9_len = input.int(30, 'Length', minval = 1, group = g_rsi9)
i_rsi9_src = input.source(close, 'Source', group = g_rsi9) * 10000
v_rsi9 = i_rsi9_enabled ? request.security(syminfo.tickerid, i_rsi9_tf, ta.rsi(i_rsi9_src, i_rsi9_len)) : na
g_rsi10 = 'RSI #10'
i_rsi10_enabled = input.bool(false, title = 'Enabled', group = g_rsi10)
i_rsi10_tf = input.timeframe('W', 'Timeframe', group = g_rsi10)
i_rsi10_len = input.int(30, 'Length', minval = 1, group = g_rsi10)
i_rsi10_src = input.source(close, 'Source', group = g_rsi10) * 10000
v_rsi10 = i_rsi10_enabled ? request.security(syminfo.tickerid, i_rsi10_tf, ta.rsi(i_rsi10_src, i_rsi10_len)) : na
// --- Panel Helper Functions ---
// Function 4: String Position to Constant (Indentation cleaned)
f_StrPositionToConst(_p) =>
switch _p
'Top Left' => position.top_left
'Top Right' => position.top_right
'Top Center' => position.top_center
'Middle Left' => position.middle_left
'Middle Right' => position.middle_right
'Middle Center' => position.middle_center
'Bottom Left' => position.bottom_left
'Bottom Right' => position.bottom_right
'Bottom Center' => position.bottom_center
=> position.bottom_right
// Function 5: Timeframe to Human Readable (Indentation cleaned)
f_timeframeToHuman(_tf) =>
seconds = timeframe.in_seconds(_tf)
if seconds < 60
_tf
else if seconds < 3600
str.tostring(seconds / 60) + 'm'
else if seconds < 86400
str.tostring(seconds / 60 / 60) + 'h'
else
switch _tf
"1D" => "D"
"1W" => "W"
"1M" => "M"
=> str.tostring(_tf)
type TPanel
table src = na
bool vertical_orientation = true
int row = 0
int col = 0
// Method 1: Increment Column (Indentation cleaned)
method incCol(TPanel _panel) =>
if _panel.vertical_orientation
_panel.col += 1
else
_panel.row += 1
// Method 2: Increment Row (Indentation cleaned)
method incRow(TPanel _panel) =>
if not _panel.vertical_orientation
_panel.col += 1
_panel.row := 0
else
_panel.row += 1
_panel.col := 0
// Method 3: Add Cell (Indentation cleaned)
method add(TPanel _panel, string _v1, color _bg1, color _ctext1, string _v2, color _bg2, color _ctext2) =>
table.cell(_panel.src, _panel.col, _panel.row, _v1, text_color = _ctext1, bgcolor = _bg1)
_panel.incCol()
table.cell(_panel.src, _panel.col, _panel.row, _v2, text_color = _ctext2, bgcolor = _bg2)
_panel.incRow()
// Function 6: Background Color
f_bg(_rsi) =>
c_line = na(_rsi) ? i_color_mid :
_rsi >= i_threshold_ob ? i_color_ob :
_rsi >= i_threshold_uptrend ? i_color_uptrend :
_rsi <= i_threshold_os ? i_color_os :
_rsi <= i_threshold_downtrend ? i_color_downtrend :
i_color_mid
// Function 7: Text Color
f_rsi_text_color(_rsi) =>
c_line = na(_rsi) ? i_tcolor_mid :
_rsi >= i_threshold_ob ? i_tcolor_ob :
_rsi >= i_threshold_uptrend ? i_tcolor_uptrend :
_rsi <= i_threshold_os ? i_tcolor_os :
_rsi <= i_threshold_downtrend ? i_tcolor_downtrend :
i_tcolor_mid
f_formatRsi(_rsi) => na(_rsi) ? 'N/A' : str.tostring(_rsi, '0.00')
// --- Panel Execution Logic ---
if barstate.islast
v_panel = TPanel.new(vertical_orientation = i_orientation == 'Vertical')
v_max_rows = 20
v_panel.src := table.new(f_StrPositionToConst(i_position), v_max_rows, v_max_rows, border_width = i_border_width, border_color = i_color_border)
if i_showHeaders
v_panel.add('TF', i_color_header_bg, i_color_header_text, 'RSI', i_color_header_bg, i_color_header_text)
if i_rsi1_enabled
v_panel.add(f_timeframeToHuman(i_rsi1_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi1), f_bg(v_rsi1), f_rsi_text_color(v_rsi1))
if i_rsi2_enabled
v_panel.add(f_timeframeToHuman(i_rsi2_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi2), f_bg(v_rsi2), f_rsi_text_color(v_rsi2))
if i_rsi3_enabled
v_panel.add(f_timeframeToHuman(i_rsi3_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi3), f_bg(v_rsi3), f_rsi_text_color(v_rsi3))
if i_rsi4_enabled
v_panel.add(f_timeframeToHuman(i_rsi4_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi4), f_bg(v_rsi4), f_rsi_text_color(v_rsi4))
if i_rsi5_enabled
v_panel.add(f_timeframeToHuman(i_rsi5_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi5), f_bg(v_rsi5), f_rsi_text_color(v_rsi5))
if i_rsi6_enabled
v_panel.add(f_timeframeToHuman(i_rsi6_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi6), f_bg(v_rsi6), f_rsi_text_color(v_rsi6))
if i_rsi7_enabled
v_panel.add(f_timeframeToHuman(i_rsi7_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi7), f_bg(v_rsi7), f_rsi_text_color(v_rsi7))
if i_rsi8_enabled
v_panel.add(f_timeframeToHuman(i_rsi8_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi8), f_bg(v_rsi8), f_rsi_text_color(v_rsi8))
if i_rsi9_enabled
v_panel.add(f_timeframeToHuman(i_rsi9_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi9), f_bg(v_rsi9), f_rsi_text_color(v_rsi9))
if i_rsi10_enabled
v_panel.add(f_timeframeToHuman(i_rsi10_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi10), f_bg(v_rsi10), f_rsi_text_color(v_rsi10))
if i_debug
t = table.new(position.middle_center, 21, 20, border_width = i_border_width, border_color = i_color_border)
v_panel2 = TPanel.new(t, vertical_orientation = i_orientation == 'Vertical')
v_panel2.add('Debug', i_color_header_bg, i_color_header_text, 'Colors', i_color_header_bg, i_color_header_text)
// Using a tuple array for debugging colors demo
// Final Syntax Correction: Use array.new() and array.set() to avoid 'tuple()' function reference error
v_rows = 5 // We know we have 5 elements
demo = array.new(v_rows, '') // Initialize array with 5 string elements, will hold string representation of the tuple
// We will push the elements as a *string* representation of the tuple, as Pine v6 allows
// and then parse them inside the loop if necessary.
// To preserve the structure (string, float) without the tuple() function:
// We must define two separate arrays if the 'tuple' function is truly unavailable.
tf_array = array.new(v_rows)
rsi_array = array.new(v_rows)
// Populate the arrays
array.set(tf_array, 0, 'Overbought')
array.set(rsi_array, 0, float(i_threshold_ob))
array.set(tf_array, 1, 'Uptrend')
array.set(rsi_array, 1, float(i_threshold_uptrend))
array.set(tf_array, 2, 'No Trend')
array.set(rsi_array, 2, 50.0)
array.set(tf_array, 3, 'Downtrend')
array.set(rsi_array, 3, float(i_threshold_downtrend))
array.set(tf_array, 4, 'Oversold')
array.set(rsi_array, 4, float(i_threshold_os))
// Iterate over the arrays using a simple index
for i = 0 to v_rows - 1
tf = array.get(tf_array, i)
rsi = array.get(rsi_array, i)
v_panel2.add(tf, i_color_tf_bg, i_color_tf_text, f_formatRsi(rsi), f_bg(rsi), f_rsi_text_color(rsi))
Goldsky - Gold Market SpecialistGoldsky is a sophisticated TradingView Pine Script indicator designed exclusively for XAUUSD (Gold) trading. It features adaptive parameter adjustment, session-based optimization, market regime detection, news event filtering, multi-timeframe analysis, and intelligent risk management specifically calibrated for gold's unique market characteristics.
Features
Adaptive System: Parameters adjust automatically based on market conditions
Session-Based Optimization: Different strategies for Asian/European/American/Overlap sessions
Market Regime Detection: TRENDING/RANGING/BREAKOUT/NEUTRAL market analysis
News Event Filter: Automatic detection and protection during high volatility
Multi-Timeframe Analysis: H1 trend + M15 structure + M5 execution confluence
RSI Integration: Advanced RSI filtering for entries and exits
Bollinger Bands Integration: Volatility analysis and extreme value detection
Risk Management: Gold-specific risk parameters and position sizing
Combined Up down with volumeIndicates the day with a purple dot where price moved up or down by 5% or more






















