Trendanalyse
Clean Swing Signals - Real-Time Entry“This indicator highlights a specific swing-based pattern and marks potential breakout areas only for visual analysis. It does not provide buy or sell signals.”
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.
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






















