8 AM & 9 AM NY Candle HighlighterThis indicator helps me to know when the 9am NY candle has closed above or below the previous candle.
Penunjuk dan strategi
DOGE 15MIN**Warm Reminder:** This strategy is intended solely for exploratory research and experimentation to evaluate the effectiveness of various signals. Drawing inspiration from patterns observed on the DOGE cryptocurrency 15-minute chart, it provides a tailored framework to identify potential trading opportunities. For optimal results, it is currently recommended exclusively for DOGE 15min charts. Remember, trading involves inherent risks, and past performance is not indicative of future results. We are dedicated to ongoing optimizations and refinements to enhance its robustness across broader applications—stay tuned for updates!
#### **A. Long Entry Signals**
These conditions trigger a long position entry, provided the strategy has no existing position (position_size == 0) and is not blocked. Signals can be enabled/disabled via input toggles (e.g., enable_vix).
- **VIX Reversal (vix_long)**: VIX signal shifts from high to low volatility (non-high volatility), with RSI between 30-50.
- **RSI Oversold (rsi_long)**: RSI crosses above 30.
- **CVD Bullish (cvd_long)**: CVD is rising.
- **Price RSI Bullish (prsi_long)**: Price RSI crosses above 30 or a long signal is triggered.
- **RangeEMA Bullish (rema_long)**: Candlestick is above POC, with KAMA trend flipping upward.
- **ZVWAP Oversold (zvwap_long)**: ZVWAP enters the oversold zone.
- **KAMA + Volume Bullish (kama_long)**: KAMA trend flips upward, candlestick is above POC, volume is rising, and the candle is bullish (green).
- **Volume Burst Bullish (vol_burst_long)**: Volume RSI crosses below threshold (default 70), open > close (bearish/red candle), triggered within the last two candles. **Special: Ignores all blocks** (bypasses not_long, Pivot, OI, RSI/ADX extreme filters).
#### **B. Short Entry Signals**
Similar to long entries: requires no existing position and no blocks.
- **RSI Overbought (rsi_short)**: RSI crosses below 70.
- **CVD Bearish (cvd_short)**: CVD is declining.
- **Price RSI Bearish (prsi_short)**: Price RSI crosses below 70 or a short signal is triggered.
- **RangeEMA Bearish (rema_short)**: Candlestick is below POC, with KAMA trend flipping downward.
- **ZVWAP Overbought (zvwap_short)**: ZVWAP enters the overbought zone.
- **KAMA + Volume Bearish (kama_short)**: KAMA trend flips downward, candlestick is below POC, volume is declining, and the candle is bearish (red).
- **Chop Bearish (chop_short)**: Chop crosses below 38.2, with RSI > 50.
- **Volume Burst Bearish (vol_burst_short)**: Volume RSI crosses below threshold (default 70), RSI > 70, and close > open (bullish/green candle), triggered within the last two candles. **Special: Ignores all blocks** (bypasses not_short, Pivot, OI, RSI/ADX extreme filters).
#### **C. Long Entry Blocks/Filters**
These conditions block long entries unless the signal ignores blocks (e.g., Volume Burst).
- **Base Prohibition (not_long)**: Volume is declining, or ADX is bearish (di_bear), or VIX is in high volatility (vix_flag), or RSI < 30.
- **Pivot Filter**: Recent Pivot is in a disadvantaged position.
- **OI Filter**: OI is declining.
- **RSI/ADX Extreme Filter**: RSI > 70 or ADX is bullish (di_bull).
- **Other**: Strategy already has a position (position_size != 0), or extreme volatility (is_extreme, though disabled in code).
#### **D. Short Entry Blocks/Filters**
Similar to long blocks.
- **Base Prohibition (not_short)**: Volume is rising, or (Chop < 38.2 and RSI > 50), or ADX is bullish (di_bull), or RSI > 70.
- **Pivot Filter**: Recent Pivot is in a disadvantaged position.
- **OI Filter**: OI is rising.
- **RSI/ADX Extreme Filter**: RSI < 30 or ADX is bearish (di_bear).
- **Other**: Existing position, or extreme volatility.
#### **E. Long Exit Signals**
Triggers closing of long positions, based on states (e.g., super_long, weak_long, only_kama).
- **KAMA Bearish Flip (exist_long)**: KAMA trend flips downward, or KAMA is downward with a short signal.
- **VIX Signal**: VIX shifts from low to high volatility, with RSI < 50.
- **Reversal Signal**: Short signal present and KAMA is downward.
- **Weak Trend Stop-Loss (weak_stop_long)**: In weak_long state, candlestick near POC, and close crosses below POC.
- **Weak KAMA Stop-Loss (weak_kama_long)**: In weak_long state, candlestick far from POC, and KAMA trend reverses.
- **Global Exit (exist_all)**: Volume RSI crosses below threshold (vol_under), or KAMA exit (kama_exit_long), or weak stop-loss, etc.
- **Special**: If in strong_long_hold (only_kama and KAMA remains bullish), ignore certain exit signals to hold the position.
#### **F. Short Exit Signals**
Similar to long exits.
- **KAMA Bullish Flip (exist_short)**: KAMA trend flips upward, or KAMA is upward with a long signal.
- **Reversal Signal**: Long signal present and KAMA is upward.
- **Weak Trend Stop-Loss (weak_stop_short)**: In weak_short state, candlestick near POC, and close crosses above short_state.current_max.
- **Weak KAMA Stop-Loss (weak_kama_short)**: In weak_short state, candlestick far from POC, and KAMA flips upward.
- **Global Exit (exist_all)**: Same as above.
Kaufman Profit Ranking(% Terms) DualTrend FilterKaufman Dual Trend filter than rank on trend profits instead of price returns.
SOL Smart Alert SystemITECS built this to work alongside my AI agent and scripts to provide a robust notification/alert system that can be configured to best work with the current market conditions.
EMA Curl Strength+EMA Curl Strength+
Description:
This indicator provides a statistically normalized view of EMA slope momentum using Z-score transformation. By evaluating the rate of change of an EMA and comparing it against its historical behavior, the script highlights momentum shifts in a dynamic, adaptive way.
⸻
How It Works:
• Calculates the slope (percentage change) of a chosen EMA.
• Normalizes the slope using Z-score over a custom lookback period.
• Smooths the resulting signal and computes two signal lines for comparison.
• Assigns dynamic colors based on user-defined Z-score thresholds for mild, moderate, and strong momentum in both directions.
⸻
Visual Features:
• Gradient fill between the Z Curl Line and Signal 1 to highlight slope acceleration.
• Histogram showing the difference between the Z Curl Line and its signal.
• Optional signal crossover shapes between configurable pairs (e.g., Z Curl vs. Signal).
• Background highlights when the Z Curl Line exceeds ±2, indicating strong trending behavior.
⸻
Customization:
• Adjustable EMA length, smoothing lengths, signal lengths, histogram smoothing, and Z-score lookback.
• Separate color controls for:
• Z-score strength bands (mild/moderate/strong up/down)
• Histogram bars
• Signal lines
• Background highlight zones
• Crossover shapes
⸻
Use Cases:
• Momentum Confirmation: Confirm strength when Z Curl exceeds ±2 with matching background highlights.
• Trend Entry Timing: Look for trades when Z Curl crosses above or below the 0-line.
• Scalping: Capture quick directional moves when momentum accelerates.
• Trend Following: Use strong Z Curl values to confirm trade direction and filter sideways action.
• Divergence Detection: Spot divergences between price and Z Curl movement to anticipate reversals.
[Stya] Volume Buy vs Volume MA20This indicator focusing on volume movement, where the indicator track if the volume is bigger more than 120% compare to MA20 volume.
Expansion Triangle [TradingFinder] MegaPhone Broadening🔵 Introduction
The Expanding Triangle, also known as the Broadening Formation, is one of the key technical analysis patterns that clearly reflects growing market volatility, increasing indecision among participants, and the potential for sharp price explosions.
This pattern is typically defined by a sequence of higher highs and lower lows, forming within two diverging trendlines. Unlike traditional triangles that converge to a breakout point, the expanding triangle pattern becomes wider over time, leaving no precise apex for a breakout to occur.
From a price action perspective, the pattern represents a prolonged tug-of-war between buyers and sellers, where neither side has taken control yet. Each aggressive swing opens the door to new opportunities whether it's a trend reversal, range trading, or a momentum breakout. This dual nature makes the pattern highly versatile across market conditions, from exhausted trend ends to volatile consolidation zones.
The custom-built indicator for this pattern uses a combination of smart algorithms and detailed analysis of swing dynamics to automatically detect expanding triangles and highlight low-risk entry points.
Traders can use this tool to capitalize on high-probability setups from shorting near the upper edge of the structure with confirmation, to trading bearish breakouts during trend continuations, or entering long positions near the lower boundary during bullish reversals. The chart examples included in this article demonstrate these three highly practical trading scenarios in live market conditions.
A major advantage of this indicator lies in its structural filtering engine, which analyzes the behavior of each price leg in the triangle. With four adjustable filter levels from Very Aggressive, which highlights all potential patterns, to Very Defensive, which only triggers when price actually touches the triangle's trendlines the indicator ensures that only structurally sound and verified setups appear on the chart, reducing noise and false signals significantly.
Long Setup :
Short Setup :
🔵 How to Use
The pattern typically forms in conditions of heightened uncertainty and volatility, where price swings generate a series of higher highs and lower lows. The expanding triangle consists of three key legs bounded by diverging trendlines. The indicator intelligently analyzes each leg's direction and angle to determine whether a valid pattern is forming.
At the core of the indicator’s logic is its leg filtering system, which controls the quality of the pattern and filters out weak or noisy setups. Four structural filter modes are available to suit different trading styles and risk preferences. In Very Aggressive mode, filters are disabled, and the indicator detects any pattern purely based on the sequence of swing points.
This mode is ideal for traders who want to see everything and apply their own discretion.
In Aggressive mode, the indicator checks whether each new leg extends no more than twice the length of the previous one. If a leg overshoots excessively, the structure is invalidated.
In Defensive mode, the filter enforces a minimum movement requirement each leg must move at least 2% of the previous one. This prevents the formation of shallow, weak patterns that visually resemble triangles but lack substance.
The strictest setting, Very Defensive, combines all previous filters and additionally requires the price to physically touch the triangle’s trendlines before issuing a signal. This ensures that setups only appear when real market interaction with key structural levels has occurred, not based on assumptions or geometry alone. This mode is ideal for traders seeking maximum precision and minimal risk.
🟣 Bullish Setup
A bullish setup within the Expanding Triangle pattern occurs when price revisits the lower support boundary after a series of broad swings typically near the third leg of the formation. This area often represents a shift in momentum, where sellers begin to lose strength and buyers prepare to take control.
Ideally, the setup is accompanied by a bullish reversal candle (e.g. doji, pin bar, or engulfing) near the lower trendline. If the Very Defensive filter is active, the indicator will only issue a signal if price makes a confirmed touch on the trendline and reacts from that level. This significantly improves signal accuracy and filters out premature entries.
After confirmation, traders may choose to enter a long position on the bullish candle or shortly afterward. A logical stop-loss is placed just below the recent swing low within the pattern. The target can be set at or near the upper trendline, or projected using the full height of the triangle added to the breakout point. On higher timeframes, this reversal often marks the beginning of a strong uptrend.
🟣 Bearish Setup
A bearish setup forms when price climbs toward the upper resistance trendline, usually as the third leg completes. This is where buyers often begin to show exhaustion, and sellers step in with strength providing an ideal low-risk entry point for short positions.
As with the bullish setup, if the Candle Confirmation filter is enabled, the indicator will only show a signal when a bearish reversal candle forms at the point of contact. If Defensive or Very Defensive filters are also active, the setup must meet strict criteria of proportionate leg movement and an actual trendline touch to qualify.
Once confirmed, traders can enter on the reversal candle, placing a stop-loss slightly above the recent high. The target can be set at the lower trendline or calculated based on the triangle's full height, projected downward. This setup is particularly useful at the end of weak bullish trends or in volatile market tops.
🔵 Settings
🟣 Logic Settings
Pivot Period : Defines how many bars are analyzed to identify swing highs and lows. Higher values detect larger, slower structures, while lower values respond to faster patterns. The default value of 13 offers a balanced sensitivity.
Pattern Filter :
Very Aggressive : Detects all patterns based on point sequence with no structural checks.
Aggressive : Ensures each leg is no more than 2x the size of the previous one.
Defensive : Requires each leg to be at least 2% the size of the previous leg.
Very Defensive : The strictest level; only confirms patterns when price touches trendlines.
Candle Confirmation : When enabled, the indicator requires a valid confirmation candle (doji, pin bar, engulfing) at the interaction point with the trendline before issuing a signal. This reduces false entries and improves entry precision.
🟣 Alert Settings
Alert : Enables alerts for SSS.
Message Frequency : Determines the frequency of alerts. Options include 'All' (every function call), 'Once Per Bar' (first call within the bar), and 'Once Per Bar Close' (final script execution of the real-time bar). Default is 'Once per Bar'.
Show Alert Time by Time Zone : Configures the time zone for alert messages. Default is 'UTC'.
🔵 Conclusion
The Expanding Triangle pattern, with its wide structure and volatility-driven nature, represents chaos but also opportunity. For traders who can read its behavior, it provides some of the most powerful setups for reversals, breakouts, and range-based trades. While the pattern may seem messy at first glance, it is built on clear logic and when properly detected, it offers high-probability opportunities.
This indicator doesn’t just draw expanding triangles it intelligently evaluates their structural quality, validates price interaction through candle confirmation, and allows the trader to fine-tune the detection logic through adjustable filter levels. Whether you’re a reversal trader looking for a turning point, or a breakout trader hunting momentum, this tool adapts to your strategy.
In volatile or uncertain markets, where fakeouts and sudden shifts are common, this indicator can become a cornerstone of your trading system helping you turn volatility into structured, high-quality opportunities.
Orthogonal Projections to Latent Structures (O-PLS)Version 0.1
Orthogonal Projections to Latent Structures (O-PLS) Indicator for TradingView
This indicator, named "Orthogonal Projections to Latent Structures (O-PLS)", is designed to help traders understand the relevance or predictive power of various market variables on the future close price of the asset it's applied to. Unlike standard correlation coefficients that show a simple linear relationship, O-PLS aims to separate variables into "predictive" (relevant to Y) and "orthogonal" (irrelevant noise) components. This Pine Script indicator provides a simplified proxy of the relevance score derived from O-PLS principles.
Purpose of the Indicator
The primary purpose of this indicator is to identify which technical factors (such as price, volume, and other indicators) have the strongest relationship with the future price movement of the current trading instrument. By providing a "relevance score" for each input variable, it helps traders focus on the most influential data points, potentially leading to more informed trading decisions.
Inputs
The indicator offers the following user-definable inputs:
* **Lookback Period:** This integer input (default: 100, min: 10, max: 500) determines the number of past bars used to calculate the relevance scores for each variable. A longer lookback period considers more historical data, which can lead to smoother, less reactive scores but might miss recent shifts in variable importance.
* **External Asset Symbol:** This symbol input (default: `BINANCE:BTCUSDT`) allows you to specify an external asset (e.g., `BINANCE:ETHUSDT`, `NASDAQ:TSLA`) whose close price will be included in the analysis as an additional variable. This is useful for cross-market analysis to see how other assets influence the current chart.
* **Plot Visibility Checkboxes (e.g., "Plot: Open Price Relevance", "Plot: Volume Relevance", etc.):** These boolean checkboxes allow you to toggle the visibility of individual relevance score plots on the chart, helping to declutter the display and focus on specific variables.
Outputs
The indicator provides two main types of output:
Relevance Score Plots: These are lines plotted in a separate pane below the main price chart. Each line corresponds to a specific market variable (Open Price, Close Price, High Price, Low Price, Volume, various RSIs, SMAs, MFI, and the External Asset Close). The value of each line represents the calculated "relevance score" for that variable, typically scaled between 0 and 10. A higher score indicates a stronger predictive relationship with the future close price.
Sorted Relevance Table : A table displayed in the top-right corner of the chart provides a clear, sorted list of all analyzed variables and their corresponding relevance scores. The table is sorted in descending order of relevance, making it easy to identify the most influential factors at a glance. Each variable name in the table is colored according to its plot color, and the external asset's name is dynamically displayed without the "BINANCE:" prefix.
How to Use the Indicator
1. **Add to Chart:** Apply the "Orthogonal Projections to Latent Structures (O-PLS)" indicator to your desired trading chart (e.g., ETH/USDT).
2. **Adjust Inputs:**
* **Lookback Period:** Experiment with different lookback periods to see how the relevance scores change. A shorter period might highlight recent correlations, while a longer one might show more fundamental relationships.
* **External Asset Symbol:** If you trade BTC/USDT, you might add ETH/USDT or SPX as an external asset to see its influence.
3. **Analyze Relevance Scores:**
* **Plots:** Observe the individual relevance score plots over time. Are certain variables consistently high? Do scores change before significant price moves?
* **Table:** Refer to the sorted table on the latest confirmed bar to quickly identify the top-ranked variables.
4. **Incorporate into Strategy:** Use the insights from the relevance scores to:
* Prioritize certain indicators or price actions in your trading strategy. For example, if "Volume" has a high relevance score, it suggests volume confirmation is critical for future price moves.
* Understand the influence of inter-market relationships (via the External Asset Close).
How the Indicator Works
The indicator works by performing the following steps on each bar:
1. **Data Fetching:** It gathers historical data for various price components (open, high, low, close), volume, and calculated technical indicators (SMA, RSI, MFI) for the specified `lookback` period. It also fetches the close price of an `External Asset Symbol` .
2. **Standardization (Z-scoring):** All collected raw data series are standardized by converting them into Z-scores. This involves subtracting the mean of each series and dividing by its standard deviation . Standardization is crucial because it brings all variables to a common scale, preventing variables with larger absolute values from disproportionately influencing the correlation calculations.
3. **Correlation Calculation (Proxy for O-PLS Relevance):** The indicator then calculates a simplified form of correlation between each standardized input variable and the standardized future close price (Y variable) . This correlation is a proxy for the relevance that O-PLS would identify. A high absolute correlation indicates a strong linear relationship.
4. **Relevance Scaling:** The calculated correlation values are then scaled to a range of 0 to 10 to provide an easily interpretable "relevance score" .
5. **Output Display:** The relevance scores are presented both as time-series plots (allowing observation of changes over time) and in a real-time sorted table (for quick identification of top factors on the current bar) .
How it Differs from Full O-PLS
This indicator provides a *simplified proxy* of O-PLS principles rather than a full, mathematically rigorous O-PLS model. Here's why and how it differs:
* **Dimensionality Reduction:** A full O-PLS model would involve complex matrix factorization techniques to decompose the independent variables (X) into components that are predictive of Y and components that are orthogonal (unrelated) to Y but still describe X's variance. Pine Script's array capabilities and computational limits make direct implementation of these matrix operations challenging.
* **Orthogonal Components:** A true O-PLS model explicitly identifies and removes orthogonal components (noise) from the X data that are unrelated to Y. This indicator, in its simplified form, primarily focuses on the direct correlation (relevance) between each X variable and Y after standardization, without explicitly modeling and separating these orthogonal variations.
* **Predictive Model:** A full O-PLS model is ultimately a predictive model that can be used for regression (predicting Y). This indicator, however, focuses solely on **identifying the relevance/correlation of inputs to Y**, rather than building a predictive model for Y itself. It's more of an analytical tool for feature importance than a direct prediction engine.
* **Computational Intensity:** Full O-PLS involves Singular Value Decomposition (SVD) or Partial Least Squares (PLS) algorithms, which are computationally intensive. The indicator uses simpler statistical measures (mean, standard deviation, and direct correlation calculation over a lookback window) that are feasible within Pine Script's execution limits.
In essence, this Pine Script indicator serves as a practical tool for gaining insights into variable relevance, inspired by the spirit of O-PLS, but adapted for the constraints and common use cases of a TradingView environment.
🌀 Vortex Trap OscillatorVortex Oscillator Core
Calculates the difference between upward and downward directional price flow.
Spikes in either direction highlight strong directional bias or potential exhaustion.
Trap Signal Logic
A Bullish Trap is signaled when:
Vortex turns strongly negative (false bearish pressure)
There's a volume burst
Buy/sell tension favors buyers
An RSI bullish divergence is detected
A Bearish Trap is signaled under the inverse conditions.
Volume Burst Filter
Compares current volume to a moving average baseline.
Triggers only when volume surges past a dynamic threshold.
Tension Filter
Compares smoothed buy and sell volumes.
Confirms whether aggressive participants are truly in control.
RSI Divergence Filter
Uses pivot-based divergence detection to validate exhaustion signals.
Adds another layer of trap confirmation.
📈 How To Use:
Overlay Mode: Use alongside price action to visually confirm trap signals.
Entry Timing:
Look for trap markers (▲ for bullish traps below bar, ▼ for bearish traps above bar).
Use confirmation from your own system (e.g. candle patterns, support/resistance).
Exit or Fade Strategy:
Consider fading the trap (trading against the move) if it aligns with higher-timeframe confluence.
Watch for reversal candles near trap zones.
🛠 Settings Tips:
Adjust Vortex Period to control trap sensitivity (shorter = more signals, longer = smoother).
Use Volume Burst Threshold to filter out noise on low-volume assets.
RSI Divergence Depth can be increased on higher timeframes for cleaner divergence reads.
🧠 Best Used For:
Detecting false breakouts
Catching mean reversions after stop hunts
Identifying momentum traps in volatile markets
Filtering aggressive moves that lack volume confirmation
Vortex Hunter X - Strategy (3-Min TF) | PEPE Signal (Binance)⚙️ Vortex Hunter X - Strategy (3-Min TF) | PEPE Signal (Binance)
This strategy is designed for analyzing the PEPE/USDT pair on Binance Futures within the TradingView platform, and can be used to execute trades on any exchange of your choice.
Each position has a fixed 4% profit target and a fixed 2% stop loss. These parameters are hard-coded and do not change dynamically. The risk-to-reward ratio is fixed at 1:2.
🔎 Non-Repainting Signals and Consistency Between Backtest and Live Trading
The signals generated by this strategy are completely non-repainting, meaning once a signal is issued, it will not be altered or modified later.
Backtesting results and live trading performance on TradingView are exactly consistent, demonstrating the high reliability of the strategy.
🔁 Note About Replay Mode on TradingView
When running the strategy in Replay mode on TradingView (historical playback of the chart), you may notice some differences compared to live or backtest results.
These differences arise due to the way data is processed in Replay mode and delays in how certain filters access past information.
✅ However, it is important to understand that these differences do not indicate any repainting of signals. In live and backtest modes, signals are generated exactly according to the strategy’s logic without any changes.
🔄 Important Recommendation for Proper Script Loading
Due to the use of complex filters, multi-stage processing, and sensitive conditions in the signal logic, sometimes the browser cache may cause the script not to load fully or precisely, or some components may load with delays.
This can lead to signals not displaying correctly or minor issues in the strategy’s performance.
✅ Therefore, it is strongly recommended to clear your browser cache or press Ctrl + F5 for a full refresh on the TradingView chart page before the first use and periodically (e.g., every few days).
This ensures the script loads freshly and completely from TradingView servers, enabling accurate and smooth strategy operation.
⚠️ Important Usage Notes:
🔸 This strategy is specifically designed and optimized only for the following conditions:
Symbol: PEPEUSDT
Exchange: BINANCE
Market: Futures
Timeframe: 3 minutes (3m)
🔸 For accurate signals, please ensure the strategy runs only on the PEPE/USDT Futures chart on Binance with a 3-minute timeframe in TradingView.
🔸 ⚠️ Note: For actual trading execution, you may use any exchange (e.g., Binance, Bybit, OKX, etc.), but analysis and strategy operation must be performed strictly within TradingView with the exact above settings.
Using the strategy on incorrect symbols, timeframes, or markets may result in invalid signals.
ℹ️ Strategy Naming:
Each strategy’s name clearly indicates the asset it is configured for.
For example:
Vortex Hunter X - Strategy (3-Min TF) | PEPE Signal (Binance) for PEPE
Vortex Hunter X - Strategy (3-Min TF) | SUI Signal (Binance) for SUI
Currently, the strategy is configured and optimized for only these two pairs:
PEPEUSDT (Binance Futures)
SUIUSDT (Binance Futures)
📌 Purchasing a single subscription grants you access to both strategies (PEPE and SUI).
📈 More assets will be added to this strategy in the future, and subscribers will gain access to new versions automatically.
✅ Summary of Settings:
🎯 Take Profit (TP): 4%
⛔ Stop Loss (SL): 2%
📊 Risk-to-Reward Ratio: 1:2
⏱️ Timeframe: 3 minutes
🧪 Target Market: PEPE Futures on Binance
📩 For access or support, contact:
Polaris Trend All-in-One📘 Polaris Trend Indicator: Trading Rules & Strategy
Guide
The Polaris Trend Indicator is designed to simplify trading decisions by identifying key entry
and exit signals without the need for excessive technical analysis. This system combines the
Polaris Trend with the Polaris Golden Wave and Market Bias tools to give you confidence
across multiple timeframes.
This guide outlines clear trading rules for two use cases:
● Swing Trading
● Long-Term Investing and Holding
⚡ Swing Trading Strategy
Swing trading can be challenging when the market direction is unclear. The Polaris Trend helps
traders stay on the right side of momentum with straightforward visual signals. This approach is
best used on the Daily or Weekly chart.
✅ Entry Criteria (Bullish Trades)
● A solid green column appears above the zero line.
● A green upward arrow confirms bullish momentum.
● Enter your trade immediately when the green column first appears.
● Hold the trade until a red column appears, signaling a shift in momentum.
🚫 Exit Criteria (Bullish Trades)
● The first appearance of a red column after a green run.
● Multiple green columns followed by a red column.
● Do not enter trades mid-trend; always enter on the first green flip.
***Recommended Swing Strategy
● When a new daily green column appears but the weekly columns are still red, stay
nimble. Enter your position when the Polaris Trend Indicator turns green and displays an
upward-pointing arrow.
● If the price pulls back to a higher low but a red daily column forms, sell 50% of your
position and move your stop loss to your original entry. Then, wait for the next daily
green column and arrow to reappear, this is your signal to reenter the 50% you exited.
● If the price continues to rise and the weekly columns also turn green, shift your focus
to the weekly chart. Ignore daily signals and hold the trade until the weekly column
turns red, which will be your cue to exit. The weekly green column is your confirmation of
a stronger uptrend and a potential longer hold.
🔻 Entry Criteria (Bearish Trades)
● A solid red column appears below the zero line.
● A red downward arrow confirms bearish momentum.
● Enter your short trade immediately when the red column first appears.
● Hold until a green column appears, indicating momentum has shifted.
🔁 Exit Criteria (Bearish Trades)
● The first green column that follows a red sequence.
● Same rule applies: enter only on the initial flip, not mid-trend.
Note: The first color flip is the most reliable entry point. Avoid entering positions
deep into a trend, wait for the clear signal from Polaris.
🧭 Long-Term Investing Strategy
This approach combines the Polaris Golden Wave, Polaris Trend, and Market Bias to help
long-term investors buy at deep value levels and scale into positions over time.
📉 Ideal Entry: Golden Zone + Polaris Trend Signal
● Use the Golden Wave to identify the monthly 0.618–0.826 retracement zone
(significant discount levels).
● When price enters the Golden Zone and the Polaris Trend shows a green column on
the Daily or Weekly, this is your optimal entry point.
● If the trend turns red inside the zone, consider trimming positions and re-entering on the
next bullish signal.
If price drops below the Golden Zone, the stock becomes even more undervalued,
wait for the next green Polaris Trend signal to enter.
💰 Secondary Entry: Market Bias Rebounds
● If you miss the Golden Zone entry or are dollar-cost averaging:
○ Use the Market Bias on a Weekly timeframe.
○ Wait for price to retrace into the Market Bias band after moving higher.
○ Look for a red Polaris Trend column, then wait for price to enter the Market
Bias band and once it enters, wait for Polaris Trend signal to flip back to green
for your entry. If the trend turns red inside the zone, consider trimming positions
and re-entering on the next bullish signal.
Think of the Market Bias like a lake and price like a skipping stone—you want to
buy when the stone comes down and touches the surface.
📊 Indicator Explanations
🔶 Golden Wave (Monthly Fibonacci Retracement Zones)
● Highlights key monthly retracement zones (0.618 to 0.826).
● Helps identify deep-value entries on longer timeframes.
● Visible across all chart timeframes for consistent macro reference.
🔴 Market Bias (Smoothed Heikin-Ashi Trend Filter)
● Measures trend direction and strength using smoothed Heikin-Ashi candles and
oscillation logic.
● Customizable smoothing, oscillator period, and timeframe inputs.
● Option to display trend signals in a separate pane with dynamic coloring.
This combined approach empowers traders to make high-quality decisions with clarity and
discipline. Whether you're entering short-term swings or building long-term positions, the
Polaris Trend system guides you with timely, data-driven signals.
[🧪] LABS-ANALYTIX: CANDLE.BEHAVIORAL.ANALYTIX LABS ANALYTIX – Indicator Description
LABS ANALYTIX is your on‑demand Market Recon Tool. It scans every candle across your chosen timeframe and breaks out key performance metrics by weekday, so you can pinpoint patterns, optimize entries, and manage risk with surgical precision.
Features:
• Weekday Performance Metrics – Calculates % of up vs. down candles for Mon→Sun
• Average Gain & Loss – Computes mean gain on winning days and mean loss on losing days
• Max Single‑Bar Run‑Up – Identifies the largest one‑bar gain per weekday
• Max Single‑Bar Drawdown – Identifies the largest one‑bar loss per weekday
• Historical Lookback Control – Set “Lookback Bars” to limit analysis to the most recent X bars or use “0” for full history
• Neon‑themed Table Overlay – Renders a compact, color‑coded table in the top‑right corner for instant tactical insight
Use Cases:
• Discover your strongest and weakest weekdays
• Quantify average move sizes to tailor your stop‑loss and take‑profit levels
• Identify outlier candles for potential trade setups or cautionary risk flags
• Drill into specific timeframes with adjustable lookback
How to Use:
1. Add the indicator to any chart (overlay=false).
2. Adjust “Lookback Bars” input to focus on recent samples or entire history.
3. Refer to the Neon Table to guide your weekly trade cadence and refine strategy.
RSI with 2-Pole FilterA momentum indicator that tells you if a stock is overbought or oversold.
RSI goes between 0 and 100.
70 = overbought (might fall)
<30 = oversold (might rise)
It often looks jagged or choppy on volatile days.
Think of this filter like a momentum smoother:
It still follows RSI closely,
But it doesn’t react to every little jiggle in price,
Which helps avoid false signals.
it keeps track of:
The current RSI,
The last 2 RSI values (inputs), and
The last 2 outputs (filtered RSIs).
It uses feedback to shape the output based on previous values, making it smoother than a simple moving average.
Kinetic Profits Screen_v1.0The Kinetic Profits Screen tool is a momentum tool that seeks to identify whether an asset is moving higher in price with positive momentum, or lower with negative momentum, by assessing the asset's price action relative to historical highs and lows, over a custom and defined lookback period calibrated for the "swing" trading style.
Bullish positive momentum periods are signaled when the bullish green line crosses over and is above the bearish red line, while bearish negative momentum periods are indicated when the bearish red line crosses over and is above the bullish green line.
This tool is designed and intended to be used in the Screener to identify assets that have just recently experience a transition between potentially bullish and bearish periods.The tool is NOT meant to be construed as any form of buy/sell/entry/exit recommendation.
Kinetic Profits Signals_v1.0The Kinetic Profits Signals indicator is a momentum tool that seeks to identify whether an asset is moving higher in price with positive momentum, or lower with negative momentum, by assessing the asset's price action relative to historical highs and lows, over a custom and defined lookback period calibrated for the "swing" trading style.
Bullish positive momentum periods are signaled when the bullish green line crosses over and is above the bearish red line, while bearish negative momentum periods are indicated when the bearish red line crosses over and is above the bullish green line.
This tool is designed and intended to be an indicator that plots signals on the price chart, rather than on a subgraph, so the transitions between potentially bullish and bearish periods are easily spotted. The tool is NOT meant to be construed as any form of buy/sell/entry/exit recommendation.
Kinetic Profits Indicator_v1.0The Kinetic Profits Indicator is a momentum tool that seeks to identify whether an asset is moving higher in price with positive momentum, or lower with negative momentum, by assessing the asset's price action relative to historical highs and lows, over a custom and defined lookback period calibrated for the "swing" trading style.
Bullish positive momentum periods are signaled when the bullish green line crosses over and is above the bearish red line, while bearish negative momentum periods are indicated when the bearish red line crosses over and is above the bullish green line. This indicator alone is plotted as a subgraph below the price chart.
NFP RangesPlots the NFP daily ranges for NFP days. Includes extended hours ranges when the time frame is sub 1D, otherwise, only the daily range is taken.
NFP Dates are pre-populated through 2029 and historically through 2022. Will update script to include farther-out dates before they become necessary.
AI Breakout Bands (Zeiierman)█ Overview
AI Breakout Bands (Zeiierman) is an adaptive trend and breakout detection system that combines Kalman filtering with advanced K-Nearest Neighbor (KNN) smoothing. The result is a smart, self-adjusting band structure that adapts to dynamic market behavior, identifying breakout conditions with precision and visual clarity.
At its core, this indicator estimates price behavior using a two-dimensional Kalman filter (position + velocity), then enhances the smoothing process with a nonlinear, similarity-based KNN filter. This unique blend enables it to handle noisy markets and directional shifts with both speed and stability — providing breakout traders and trend followers a reliable framework to act on.
Whether you're identifying volatility expansions, capturing trend continuations, or spotting early breakout conditions, AI Breakout Bands gives you a mathematically grounded, visually adaptive roadmap of real-time market structure.
█ How It Works
⚪ Kalman Filter Engine
The Kalman filter models price movement as a state system with two components:
Position (price)
Velocity (trend direction)
It recursively updates predictions using real-time price as a noisy observation, balancing responsiveness with smoothness.
Process Noise (Position) controls sensitivity to sudden moves.
Process Noise (Velocity) controls smoothing of directional flow.
Measurement Noise (R) defines how much the filter "trusts" live price data.
This component alone creates a responsive yet stable estimate of the market’s center of gravity.
⚪ Advanced K-Neighbor Smoothing
After the Kalman estimate is computed, the script applies a custom K-Nearest Neighbor (KNN) smoother.
Rather than averaging raw values, this method:
Finds K most similar past Kalman values
Weighs them by similarity (inverse of absolute distance)
Produces a smoother that emphasizes structural similarity
This nonlinear approach gives the indicator an AI feature — reacting fast when needed, yet staying calm in consolidation.
█ How to Use
⚪ Trend Recognition
The line color shifts dynamically based on slope direction and breakout confirmation.
Bullish conditions: price above the mid band with positive slope
Bearish conditions: price below the mid band with negative slope
⚪ Breakout Signals
Price breaking above or below the bands may signal momentum acceleration.
Combine with your own volume or momentum confirmation for stronger entries.
Bands adapt to market noise, helping filter out low-quality whipsaws.
█ Settings
Process Noise (Position): Controls Kalman filter’s sensitivity to price changes.
Process Noise (Velocity): Controls smoothing of directional component.
Measurement Noise (R): Defines how much trust is placed in price data.
K-Neighbor Length: Number of historical Kalman values considered for smoothing.
Slope Calculation Window: Number of bars used to compute trend slope of the smoothed Kalman.
Band Lookback (MAE): Rolling period for average absolute error.
Band Multiplier: Multiplies MAE to determine band width.
-----------------
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.
PRO SMC DASHBOARDPRO SMC DASHBOARD - PRO LEVEL
Advanced Supply & Demand / SMC dashboard for scalping and intraday:
Multi-Timeframe Trend: Visualizes trend direction for M1, M5, M15, H1, H4.
HTF Supply/Demand: Shows closest high time frame (HTF) supply/demand zone and distance (in pips).
Smart “Flip” & Liquidity Signals: Flip and Liquidity Sweep arrows/signals are shown only when truly significant:
Near HTF Supply/Demand zone
And confirmed by volume spike or high confluence score
Momentum & Bias: Real-time momentum (RSI M1), H1 bias and fakeout detection.
Confluence Score: Objective score (out of 7) for trade confidence.
Volume Spike, Divergence, BOS: Includes volume spikes, RSI divergence (M1), and Break of Structure (BOS) for both M15 & H1.
Ultra-clean chart: Only valid signals/alerts shown; no spam or visual clutter.
Full dashboard with all signals and context, always visible bottom-right.
Best used for:
Forex, Gold/Silver, US indices, and crypto
Scalping/intraday with fast, clear decisions based on multi-factor SMC logic
Usage:
Add to your chart, monitor the dashboard for valid setups, and trade only when multiple factors align for high-probability entries.
How to Use the PRO SMC DASHBOARD
1. Add the Script to Your Chart:
Apply the indicator to your favorite Forex, Gold, crypto, or indices chart (best on M1, M5, or M15 for entries).
2. Read the Dashboard (Bottom Right):
The dashboard shows real-time information from multiple timeframes and key SMC filters, including:
Trend (M1, M5, M15, H1, H4):
Arrows show up (↑) or down (↓) trend for each timeframe, based on EMA.
Momentum (RSI M1):
Shows “Strong Up,” “Strong Down,” or “Neutral” plus the current RSI value.
RSI (H1):
Higher timeframe momentum confirmation.
ATR State:
Indicates current volatility (High, Normal, Low).
Session:
Detects if the market is in London, NY, or Asia session (based on UTC).
HTF S/D Zone:
Shows the nearest high timeframe Supply or Demand zone, its timeframe (M15, H1, H4), and exact pip distance.
Fakeout (last 3):
Detects recent false breakouts—if there are multiple fakeouts, potential for reversal is higher.
FVG (Fair Value Gap):
Indicates direction and distance to the nearest FVG (Above/Below).
Bias:
“Strong Buy,” “Strong Sell,” or “Neutral”—multi-timeframe, momentum, and volatility filtered.
Inducement:
Alerts for possible “stop hunt” or liquidity grab before reversal.
BOS (Break of Structure):
Recent or live breaks of market structure (for both M15 & H1).
Liquidity Sweep:
Shows if price just swept a key high/low and then reversed (often key reversal point).
Confluence Score (0-7):
Higher score means more factors align—look for 5+ for strong setups.
Volume Spike:
“YES” appears if the current volume is significantly above average—big players are active!
RSI Divergence:
Bullish or bearish divergence on M1—signals early reversal risk.
Momentum Flip:
“UP” or “DN” appears if RSI M1 crosses the 50 line, confirmed by location and other filters.
Chart Signals (Arrows & Markers):
Flip arrows (up/down) and Liquidity markers only appear when price is at/near a key Supply/Demand zone and confirmed by either a volume spike or strong confluence.
No signal spam:
If you see an arrow or LIQ tag, it’s a truly significant moment!
Suggested Trading Workflow:
Scan the Dashboard:
Is the multi-timeframe trend aligned?
Are you near a major Supply or Demand zone?
Is the Confluence Score high (5 or more)?
Check for Signals:
Is there a Flip or LIQ marker near a Supply/Demand zone?
Is volume spiking or a fakeout just occurred?
Look for Reversal or Continuation:
If there’s a Flip at Demand (with high confluence), consider a long setup.
If there’s a LIQ sweep + flip + volume at Supply, consider a short.
Manage Risk:
Don’t chase every signal.
Confirm with your entry criteria and preferred session timing.
Pro Tips:
Highest confidence trades:
When dashboard signals and chart arrows/markers agree, especially with high confluence and volume spike.
Adapt pip distance filter:
Dashboard is tuned for FX and gold; for other assets, adjust pip-size filter if needed.
Use alerts (if enabled):
Set up custom TradingView alerts for “Flip” or “Liquidity” signals for auto-notifications.
Designed to help you make professional, objective decisions—without chart clutter or second-guessing!
EMA and Dow Theory Strategies🌐 Strategy Description
📘 Overview
This is a hybrid strategy that combines EMA crossovers, Dow Theory swing logic, and multi-timeframe trend overlays. It is suitable for intraday to short-term trading on any asset class: crypto, forex, stocks, and indices.
The strategy provides precise entry/exit signals, dynamic stop-loss and scale-out, and highly visual trade guidance.
🧠 Key Features
・Dual EMA crossover system (applied to both symbol and external index)
・Dow Theory-based swing high/low detection for trend confirmation
・Visual overlay of higher timeframe swing trend (htfTrend)
・RSI filter to avoid overbought/oversold entries
・Dynamic partial take-profit when trend weakens
・Custom stop-loss (%) control
・Visualized trade PnL labels directly on chart
・Alerts for entry, stop-loss, partial exit
・Gradient background zones for swing zones and trend visualization
・Auto-tracked metrics: APR, drawdown, win rate, equity curve
⚙️ Input Parameters
| Parameter | Description |
| ------------------------- | -------------------------------------------------------- |
| Fast EMA / Slow EMA | Periods for detecting local trend via EMAs |
| Index Fast EMA / Slow EMA | EMAs applied to external reference index |
| StopLoss | Maximum loss threshold in % |
| ScaleOut Threshold | Scale-out percentage when trend changes color |
| RSI Period / Levels | RSI period and overbought/oversold levels |
| Swing Detection Length | Number of bars used to detect swing highs/lows |
| Stats Display Options | Toggle PnL labels and position of statistics table |
🧭 About htfTrend (Higher Timeframe Trend)
The script includes a higher timeframe trend (htfTrend) calculated using Dow Theory (pivot highs/lows).
This trend is only used for visual guidance, not for actual entry conditions.
Why? Strictly filtering trades by higher timeframe often leads to missed opportunities and low frequency.
By keeping htfTrend visual-only, traders can still refer to macro structure but retain trade flexibility.
Use it as a contextual tool, not a constraint.
ストラテジー説明
📘 概要
本ストラテジーは、EMAクロスオーバー、ダウ理論によるスイング判定、**上位足トレンドの視覚表示(htfTrend)**を組み合わせた複合型の短期トレーディング戦略です。
仮想通貨・FX・株式・指数など幅広いアセットに対応し、デイトレード〜スキャルピング用途に適しています。
動的な利確/損切り、視覚的にわかりやすいエントリー/イグジット、統計表示を搭載しています。
🧠 主な機能
・対象銘柄+外部インデックスのEMAクロスによるトレンド判定
・ダウ理論に基づいたスイング高値・安値検出とトレンド判断
・上位足スイングトレンド(htfTrend)の視覚表示
・RSIフィルターによる過熱・売られすぎの回避
・トレンドの弱まりに応じた部分利確(スケールアウト)
・**損切り閾値(%)**をカスタマイズ可能
・チャート上に損益ラベル表示
・アラート完備(エントリー・決済・部分利確)
・トレンドゾーンを可視化する背景グラデーション
・勝率・ドローダウン・APR・資産増加率などの自動表示
| 設定項目名 | 説明内容 |
| --------------------- | -------------------------- |
| Fast EMA / Slow EMA | 銘柄に対して使用するEMAの期間設定 |
| Index Fast / Slow EMA | 外部インデックスのEMA設定 |
| 損切り(StopLoss) | 損切りラインのしきい値(%で指定) |
| 部分利確しきい値 | トレンド弱化時にスケールアウトする割合(%) |
| RSI期間・水準 | RSI計算期間と、過熱・売られすぎレベル設定 |
| スイング検出期間 | スイング高値・安値の検出に使用するバー数 |
| 統計表示の切り替え | 損益ラベルや統計テーブルの表示/非表示選択 |
🧭 上位足トレンド(htfTrend)について
本スクリプトには、上位足でのスイング高値・安値の更新に基づく**htfTrend(トレンド判定)が含まれています。
これは視覚的な参考情報であり、エントリーやイグジットには直接使用されていません。**
その理由は、上位足を厳密にロジックに組み込むと、トレード機会の損失が増えるためです。
このスクリプトでは、**判断の補助材料として「表示のみに留める」**設計を採用しています。
→ 裁量で「利確を早める」「逆張りを避ける」判断に活用可能です。
Ultra BUY SELL//@version=5
indicator("Ultra BUY SELL", overlay = false)
// Inputs
src = input(close, "Source", group = "Main settings")
p = input.int(180, "Trend period", group = "Main settings", tooltip = "Changes STRONG signals' sensitivity.", minval = 1)
atr_p = input.int(155, "ATR Period", group = "Main settings", minval = 1)
mult = input.float(2.1, "ATR Multiplier", step = 0.1, group = "Main settings", tooltip = "Changes sensitivity: higher period = higher sensitivty.")
mode = input.string("Type A", "Signal mode", options = , group = "Mode")
use_ema_smoother = input.string("No", "Smooth source with EMA?", options = , group = "Source")
src_ema_period = input(3, "EMA Smoother period", group = "Source")
color_bars = input(true, "Color bars?", group = "Addons")
signals_view = input.string("All", "Signals to show", options = , group = "Signal's Addon")
signals_shape = input.string("Labels", "Signal's shape", options = , group = "Signal's Addon")
buy_col = input(color.rgb(0, 255, 8), "Buy colour", group = "Signal's Addon", inline = "BS")
sell_col = input(color.rgb(255, 0, 0), "Sell colour", group = "Signal's Addon", inline = "BS")
// Calculations
src := use_ema_smoother == "Yes" ? ta.ema(src, src_ema_period) : src
// Source;
h = ta.highest(src, p)
// Highest of src p-bars back;
l = ta.lowest(src, p)
// Lowest of src p-bars back.
d = h - l
ls = ""
// Tracker of last signal
m = (h + l) / 2
// Initial trend line;
m := bar_index > p ? m : m
atr = ta.atr(atr_p)
// ATR;
epsilon = mult * atr
// Epsilon is a mathematical variable used in many different theorems in order to simplify work with mathematical object. Here it used as sensitivity measure.
change_up = (mode == "Type B" ? ta.cross(src, m + epsilon) : ta.crossover(src, m + epsilon)) or src > m + epsilon
// If price breaks trend line + epsilon (so called higher band), then it is time to update the value of a trend line;
change_down = (mode == "Type B" ? ta.cross(src, m - epsilon) : ta.crossunder(src, m - epsilon)) or src < m - epsilon
// If price breaks trend line - epsilon (so called higher band), then it is time to update the value of a trend line.
sb = open < l + d / 8 and open >= l
ss = open > h - d / 8 and open <= h
strong_buy = sb or sb or sb or sb or sb
strong_sell = ss or ss or ss or ss or ss
m := (change_up or change_down) and m != m ? m : change_up ? m + epsilon : change_down ? m - epsilon : nz(m , m)
// Updating the trend line.
ls := change_up ? "B" : change_down ? "S" : ls
// Last signal. Helps avoid multiple labels in a row with the same signal;
colour = ls == "B" ? buy_col : sell_col
// Colour of the trend line.
buy_shape = signals_shape == "Labels" ? shape.labelup : shape.triangleup
sell_shape = signals_shape == "Labels" ? shape.labeldown : shape.triangledown
// Plottings
// Signals with label shape
plotshape(signals_shape == "Labels" and (signals_view == "All" or signals_view == "Buy/Sell") and change_up and ls != "B" and not strong_buy, "Buy signal" , color = colour, style = buy_shape , location = location.belowbar, size = size.normal, text = "BUY", textcolor = color.white, force_overlay=true)
// Plotting the BUY signal;
plotshape(signals_shape == "Labels" and (signals_view == "All" or signals_view == "Buy/Sell") and change_down and ls != "S" and not strong_sell, "Sell signal" , color = colour, style = sell_shape, size = size.normal, text = "SELL", textcolor = color.white, force_overlay=true)
// Plotting the SELL signal.
plotshape(signals_shape == "Labels" and (signals_view == "All" or signals_view == "Strong") and change_up and ls != "B" and strong_buy, "Strong Buy signal" , color = colour, style = buy_shape , location = location.belowbar, size = size.normal, text = "STRONG", textcolor = color.white, force_overlay=true)
// Plotting the STRONG BUY signal;
plotshape(signals_shape == "Labels" and (signals_view == "All" or signals_view == "Strong") and change_down and ls != "S" and strong_sell, "Strong Sell signal" , color = colour, style = sell_shape, size = size.normal, text = "STRONG", textcolor = color.white, force_overlay=true)
// Plotting the STRONG SELL signal.
// Signal with arrow shape
plotshape(signals_shape == "Arrows" and (signals_view == "All" or signals_view == "Buy/Sell") and change_up and ls != "B" and not strong_buy, "Buy signal" , color = colour, style = buy_shape , location = location.belowbar, size = size.tiny, force_overlay=true)
// Plotting the BUY signal;
plotshape(signals_shape == "Arrows" and (signals_view == "All" or signals_view == "Buy/Sell") and change_down and ls != "S" and not strong_sell, "Sell signal" , color = colour, style = sell_shape, size = size.tiny, force_overlay=true)
// Plotting the SELL signal.
plotshape(signals_shape == "Arrows" and (signals_view == "All" or signals_view == "Strong") and change_up and ls != "B" and strong_buy, "Strong Buy signal" , color = colour, style = buy_shape , location = location.belowbar, size = size.tiny, force_overlay=true)
// Plotting the STRONG BUY signal;
plotshape(signals_shape == "Arrows" and (signals_view == "All" or signals_view == "Strong") and change_down and ls != "S" and strong_sell, "Strong Sell signal" , color = colour, style = sell_shape, size = size.tiny, force_overlay=true)
// Plotting the STRONG SELL signal.
barcolor(color_bars ? colour : na)
// Bar coloring
// Alerts
matype = input.string(title='MA Type', defval='EMA', options= )
ma_len1 = input(title='Short EMA1 Length', defval=5)
ma_len2 = input(title='Long EMA1 Length', defval=7)
ma_len3 = input(title='Short EMA2 Length', defval=5)
ma_len4 = input(title='Long EMA2 Length', defval=34)
ma_len5 = input(title='Short EMA3 Length', defval=98)
ma_len6 = input(title='Long EMA3 Length', defval=45)
ma_len7 = input(title='Short EMA4 Length', defval=7)
ma_len8 = input(title='Long EMA4 Length', defval=11)
ma_len9 = input(title='Short EMA5 Length', defval=11)
ma_len10 = input(title='Long EMA5 Length', defval=15)
ma_offset = input(title='Offset', defval=0)
//res = input(title="Resolution", type=resolution, defval="240")
f_ma(malen) =>
float result = 0
if matype == 'EMA'
result := ta.ema(src, malen)
result
if matype == 'SMA'
result := ta.sma(src, malen)
result
result
htf_ma1 = f_ma(ma_len1)
htf_ma2 = f_ma(ma_len2)
htf_ma3 = f_ma(ma_len3)
htf_ma4 = f_ma(ma_len4)
htf_ma5 = f_ma(ma_len5)
htf_ma6 = f_ma(ma_len6)
htf_ma7 = f_ma(ma_len7)
htf_ma8 = f_ma(ma_len8)
htf_ma9 = f_ma(ma_len9)
htf_ma10 = f_ma(ma_len10)
//plot(out1, color=green, offset=ma_offset)
//plot(out2, color=red, offset=ma_offset)
//lengthshort = input(8, minval = 1, title = "Short EMA Length")
//lengthlong = input(200, minval = 2, title = "Long EMA Length")
//emacloudleading = input(50, minval = 0, title = "Leading Period For EMA Cloud")
//src = input(hl2, title = "Source")
showlong = input(false, title='Show Long Alerts')
showshort = input(false, title='Show Short Alerts')
showLine = input(false, title='Display EMA Line')
ema1 = input(true, title='Show EMA Cloud-1')
ema2 = input(true, title='Show EMA Cloud-2')
ema3 = input(true, title='Show EMA Cloud-3')
ema4 = input(true, title='Show EMA Cloud-4')
ema5 = input(true, title='Show EMA Cloud-5')
emacloudleading = input.int(0, minval=0, title='Leading Period For EMA Cloud')
mashort1 = htf_ma1
malong1 = htf_ma2
mashort2 = htf_ma3
malong2 = htf_ma4
mashort3 = htf_ma5
malong3 = htf_ma6
mashort4 = htf_ma7
malong4 = htf_ma8
mashort5 = htf_ma9
malong5 = htf_ma10
cloudcolour1 = mashort1 >= malong1 ? color.rgb(0, 255, 0) : color.rgb(255, 0, 0)
cloudcolour2 = mashort2 >= malong2 ? #4caf4f47 : #ff110047
cloudcolour4 = mashort4 >= malong4 ? #4caf4f52 : #f2364652
cloudcolour5 = mashort5 >= malong5 ? #33ff0026 : #ff000026
//03abc1
mashortcolor1 = mashort1 >= mashort1 ? color.olive : color.maroon
mashortcolor2 = mashort2 >= mashort2 ? color.olive : color.maroon
mashortcolor3 = mashort3 >= mashort3 ? color.olive : color.maroon
mashortcolor4 = mashort4 >= mashort4 ? color.olive : color.maroon
mashortcolor5 = mashort5 >= mashort5 ? color.olive : color.maroon
mashortline1 = plot(ema1 ? mashort1 : na, color=showLine ? mashortcolor1 : na, linewidth=1, offset=emacloudleading, title='Short Leading EMA1', force_overlay=true)
mashortline2 = plot(ema2 ? mashort2 : na, color=showLine ? mashortcolor2 : na, linewidth=1, offset=emacloudleading, title='Short Leading EMA2', force_overlay=true)
mashortline3 = plot(ema3 ? mashort3 : na, color=showLine ? mashortcolor3 : na, linewidth=1, offset=emacloudleading, title='Short Leading EMA3', force_overlay=true)
mashortline4 = plot(ema4 ? mashort4 : na, color=showLine ? mashortcolor4 : na, linewidth=1, offset=emacloudleading, title='Short Leading EMA4', force_overlay=true)
mashortline5 = plot(ema5 ? mashort5 : na, color=showLine ? mashortcolor5 : na, linewidth=1, offset=emacloudleading, title='Short Leading EMA5', force_overlay=true)
malongcolor1 = malong1 >= malong1 ? color.green : color.red
malongcolor2 = malong2 >= malong2 ? color.green : color.red
malongcolor3 = malong3 >= malong3 ? color.green : color.red
malongcolor4 = malong4 >= malong4 ? color.green : color.red
malongcolor5 = malong5 >= malong5 ? color.green : color.red
malongline1 = plot(ema1 ? malong1 : na, color=showLine ? malongcolor1 : na, linewidth=3, offset=emacloudleading, title='Long Leading EMA1', force_overlay=true)
malongline2 = plot(ema2 ? malong2 : na, color=showLine ? malongcolor2 : na, linewidth=3, offset=emacloudleading, title='Long Leading EMA2', force_overlay=true)
malongline3 = plot(ema3 ? malong3 : na, color=showLine ? malongcolor3 : na, linewidth=3, offset=emacloudleading, title='Long Leading EMA3', force_overlay=true)
malongline4 = plot(ema4 ? malong4 : na, color=showLine ? malongcolor4 : na, linewidth=3, offset=emacloudleading, title='Long Leading EMA4', force_overlay=true)
malongline5 = plot(ema5 ? malong5 : na, color=showLine ? malongcolor5 : na, linewidth=3, offset=emacloudleading, title='Long Leading EMA5', force_overlay=true)
fill(mashortline1, malongline1, color=cloudcolour1, title='MA Cloud1', transp=45)
fill(mashortline2, malongline2, color=cloudcolour2, title='MA Cloud2', transp=65)
fill(mashortline4, malongline4, color=cloudcolour4, title='MA Cloud4', transp=65)
fill(mashortline5, malongline5, color=cloudcolour5, title='MA Cloud5', transp=65)
leftBars = input(15, title='Left Bars ')
rightBars = input(15, title='Right Bars')
volumeThresh = input(20, title='Volume Threshold')
//
highUsePivot = fixnan(ta.pivothigh(leftBars, rightBars) )
lowUsePivot = fixnan(ta.pivotlow(leftBars, rightBars) )
r1 = plot(highUsePivot, color=ta.change(highUsePivot) ? na : #FF0000, linewidth=3, offset=-(rightBars + 1), title='Resistance', force_overlay=true)
s1 = plot(lowUsePivot, color=ta.change(lowUsePivot) ? na : #00ff0d, linewidth=3, offset=-(rightBars + 1), title='Support', force_overlay=true)
//Volume %
short = ta.ema(volume, 5)
long = ta.ema(volume, 10)
osc = 100 * (short - long) / long
//For bull / bear wicks
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © divudivu600
// Developer By ALCON ALGO
//telegram : @harmonicryptosignals
//@version = 5
//indicator(shorttitle='Oscillator Vision', title='Alcon Oscillator Vision', overlay=false)
n1 = input(10, 'Channel length')
n2 = input(21, 'Average length')
reaction_wt = input.int(defval=1, title='Reaction in change of direction', minval=1)
nsc = input.float(53, 'Levels About Buys', minval=0.0)
nsv = input.float(-53, 'Levels About Sells', maxval=-0.0)
Buy_sales = input(true, title='Only Smart Buy Reversal')
Sell_sales = input(true, title='Only Smart Sell Reversal')
Histogram = input(true, title='Show Histogarm')
//Trendx = input(false, title='Show Trendx')
barras = input(true, title='Divergence on chart(Bars)')
divregbull = input(true, title='Regular Divergence Bullish')
divregbear = input(true, title='Regular Divergence Bearish')
divhidbull = input(true, title='Show Divergence Hidden Bullish')
divhidbear = input(true, title='Show Divergence Hidden Bearish')
Tags = input(true, title='Show Divergence Lable')
amme = input(false, title='Activar media movil Extra para WT')
White = #FDFEFE
Black = #000000
Bearish = #e91e62
Bullish = #18e0ff
Strong_Bullish = #2962ff
Bullish2 = #00bedc
Blue1 = #00D4FF
Blue2 = #009BBA
orange = #FF8B00
yellow = #FFFB00
LEZ = #0066FF
purp = #FF33CC
// Colouring
tf(_res, _exp, gaps_on) =>
gaps_on == 0 ? request.security(syminfo.tickerid, _res, _exp) : gaps_on == true ? request.security(syminfo.tickerid, _res, _exp, barmerge.gaps_on, barmerge.lookahead_off) : request.security(syminfo.tickerid, _res, _exp, barmerge.gaps_off, barmerge.lookahead_off)
ha_htf = ''
show_ha = input.bool(true, "Show HA Plot/ Market Bias", group="HA Market Bias")
ha_len = input(7, 'Period', group="HA Market Bias")
ha_len2 = input(10, 'Smoothing', group="HA Market Bias")
// Calculations {
o = ta.ema(open, ha_len)
c = ta.ema(close, ha_len)
h1 = ta.ema(high, ha_len)
l1 = ta.ema(low, ha_len)
haclose = tf(ha_htf, (o + h1 + l1 + c) / 4, 0)
xhaopen = tf(ha_htf, (o + c) / 2, 0)
haopen = na(xhaopen ) ? (o + c) / 2 : (xhaopen + haclose ) / 2
hahigh = math.max(h1, math.max(haopen, haclose))
halow = math.min(l1, math.min(haopen, haclose))
o2 = tf(ha_htf, ta.ema(haopen, ha_len2), 0)
c2 = tf(ha_htf, ta.ema(haclose, ha_len2), 0)
h2 = tf(ha_htf, ta.ema(hahigh, ha_len2), 0)
l2 = tf(ha_htf, ta.ema(halow, ha_len2), 0)
ha_avg = (h2 + l2) / 2
// }
osc_len = 8
osc_bias = 100 *(c2 - o2)
osc_smooth = ta.ema(osc_bias, osc_len)
sigcolor =
(osc_bias > 0) and (osc_bias >= osc_smooth) ? color.new(Bullish, 35) :
(osc_bias > 0) and (osc_bias < osc_smooth) ? color.new(Bullish2, 75) :
(osc_bias < 0) and (osc_bias <= osc_smooth) ? color.new(Bearish, 35) :
(osc_bias < 0) and (osc_bias > osc_smooth) ? color.new(Bearish, 75) :
na
// }
nsc1 = nsc
nsc2 = nsc + 5
nsc3 = nsc + 10
nsc4 = nsc + 15
nsc5 = nsc + 20
nsc6 = nsc + 25
nsc7 = nsc + 30
nsc8 = nsc + 35
nsv1 = nsv - 5
nsv2 = nsv - 10
nsv3 = nsv - 15
nsv4 = nsv - 20
nsv5 = nsv - 25
nsv6 = nsv - 30
nsv7 = nsv - 35
nsv8 = nsv - 40
ap = hlc3
esa = ta.ema(ap, n1)
di = ta.ema(math.abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * di)
tci = ta.ema(ci, n2)
wt1 = tci
wt2 = ta.sma(wt1, 4)
direction = 0
direction := ta.rising(wt1, reaction_wt) ? 1 : ta.falling(wt1, reaction_wt) ? -1 : nz(direction )
Change_of_direction = ta.change(direction, 1)
pcol = direction > 0 ? Strong_Bullish : direction < 0 ? Bearish : na
obLevel1 = input(60, 'Over Bought Level 1')
obLevel2 = input(53, 'Over Bought Level 2')
osLevel1 = input(-60, 'Over Sold Level 1')
osLevel2 = input(-53, 'Over Sold Level 2')
rsi = ta.rsi(close,14)
color greengrad = color.from_gradient(rsi, 10, 90, #00ddff, #007d91)
color redgrad = color.from_gradient(rsi, 10, 90, #8b002e, #e91e62)
ob1 = plot(obLevel1, color=#e91e6301)
os1 = plot(osLevel1, color=#00dbff01)
ob2 = plot(obLevel2, color=#e91e6301)
os2 = plot(osLevel2, color=#00dbff01)
p1 = plot(wt1, color=#00dbff01)
p2 = plot(wt2, color=#e91e6301)
plot(wt1 - wt2, color=wt2 - wt1 > 0 ? redgrad : greengrad, style=plot.style_columns)
// fill(p1,p2,color = wt2 - wt1 > 0 ? redgrad: greengrad) // old
fill(p1,p2,color = sigcolor)
// new
fill(ob1,ob2,color = #e91e6350)
fill(os1,os2,color = #00dbff50)
midpoint = (nsc + nsv) / 2
ploff = (nsc - midpoint) / 8
BullSale = ta.crossunder(wt1, wt2) and wt1 >= nsc and Buy_sales == true
BearSale = ta.crossunder(wt1, wt2) and Buy_sales == false
Bullishh = ta.crossover(wt1, wt2) and wt1 <= nsv and Sell_sales == true
Bearishh = ta.crossover(wt1, wt2) and Sell_sales == false
plot(BullSale ? wt2 + ploff : na, style=plot.style_circles, color=color.new(Bearish, 0), linewidth=6, title='BuysG')
plot(BearSale ? wt2 + ploff : na, style=plot.style_circles, color=color.new(Bearish, 0), linewidth=6, title='SellsG')
plot(Bullishh ? wt2 - ploff : na, style=plot.style_circles, color=color.new(Strong_Bullish, 0), linewidth=6, title='Buys On Sale')
plot(Bearishh ? wt2 - ploff : na, style=plot.style_circles, color=color.new(Strong_Bullish, 0), linewidth=6, title='Sells on Sale')
//plot(Histogram ? wt1 - wt2 : na, style=plot.style_area, color=color.new(Blue2, 80), linewidth=1, title='Histograma')
//barcolor(barras == true and Bullishh == true or barras == true and Bearishh == true ? Bullish2 : na)
//barcolor(barras == true and BullSale == true or barras == true and BearSale == true ? Bearish : na)
/////// Divergence ///////
f_top_fractal(_src) =>
_src < _src and _src < _src and _src > _src and _src > _src
f_bot_fractal(_src) =>
_src > _src and _src > _src and _src < _src and _src < _src
f_fractalize(_src) =>
f_top_fractal(_src) ? 1 : f_bot_fractal(_src) ? -1 : 0
fractal_top1 = f_fractalize(wt1) > 0 ? wt1 : na
fractal_bot1 = f_fractalize(wt1) < 0 ? wt1 : na
high_prev1 = ta.valuewhen(fractal_top1, wt1 , 0)
high_price1 = ta.valuewhen(fractal_top1, high , 0)
low_prev1 = ta.valuewhen(fractal_bot1, wt1 , 0)
low_price1 = ta.valuewhen(fractal_bot1, low , 0)
regular_bearish_div1 = fractal_top1 and high > high_price1 and wt1 < high_prev1 and divregbear == true
hidden_bearish_div1 = fractal_top1 and high < high_price1 and wt1 > high_prev1 and divhidbear == true
regular_bullish_div1 = fractal_bot1 and low < low_price1 and wt1 > low_prev1 and divregbull == true
hidden_bullish_div1 = fractal_bot1 and low > low_price1 and wt1 < low_prev1 and divhidbull == true
col1 = regular_bearish_div1 ? Bearish : hidden_bearish_div1 ? Bearish : na
col2 = regular_bullish_div1 ? Strong_Bullish : hidden_bullish_div1 ? Strong_Bullish : na
//plot(title='Divergence Bearish', series=fractal_top1 ? wt1 : na, color=col1, linewidth=2, transp=0)
//plot(title='Divergence Bullish', series=fractal_bot1 ? wt1 : na, color=col2, linewidth=2, transp=0)
plotshape(regular_bearish_div1 and divregbear and Tags ? wt1 + ploff * 1 : na, title='Divergence Regular Bearish', text='Bear', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(Bearish, 0), textcolor=color.new(White, 0))
plotshape(hidden_bearish_div1 and divhidbear and Tags ? wt1 + ploff * 1 : na, title='Divergence Hidden Bearish', text='H Bear', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(Bearish, 0), textcolor=color.new(White, 0))
plotshape(regular_bullish_div1 and divregbull and Tags ? wt1 - ploff * 1 : na, title='Divergence Regular Bullish', text='Bull', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(Strong_Bullish, 0), textcolor=color.new(White, 0))
plotshape(hidden_bullish_div1 and divhidbull and Tags ? wt1 - ploff * 1 : na, title='Divergence Hidden Bullish', text='H Bull', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(Strong_Bullish, 0), textcolor=color.new(White, 0))
/////// Unfazed Alerts //////
////////////////////////////////////////////////-MISTERMOTA MOMENTUM-/////////////////////////////////////
source = input(close)
responsiveness = math.max(0.00001, input.float(0.9, minval=0.0, maxval=1.0))
periodd = input(50)
sd = ta.stdev(source, 50) * responsiveness
var worm = source
diff = source - worm
delta = math.abs(diff) > sd ? math.sign(diff) * sd : diff
worm += delta
ma = ta.sma(source, periodd)
raw_momentum = (worm - ma) / worm
current_med = raw_momentum
min_med = ta.lowest(current_med, periodd)
max_med = ta.highest(current_med, periodd)
temp = (current_med - min_med) / (max_med - min_med)
value = 0.5 * 2
value *= (temp - .5 + .5 * nz(value ))
value := value > .9999 ? .9999 : value
value := value < -0.9999 ? -0.9999 : value
temp2 = (1 + value) / (1 - value)
momentum = .25 * math.log(temp2)
momentum += .5 * nz(momentum )
//momentum := raw_momentum
signal = nz(momentum )
trend = math.abs(momentum) <= math.abs(momentum )
////////////////////////////////////////////////-GROWING/FAILING-//////////////////////////////////////////
length = input.int(title="MOM Period", minval=1, defval=14, group="MOM Settings")
srcc = input(title="MOM Source", defval=hlc3, group="MOM Settings")
txtcol_grow_above = input(#1a7b24, "Above Grow", group="MOM Settings", inline="Above")
txtcol_fall_above = input(#672ec5, "Fall", group="MOM Settings", inline="Above")
txtcol_grow_below = input(#F37121, "Below Grow", group="MOM Settings", inline="Below")
txtcol_fall_below = input(#be0606, "Fall", group="MOM Settings", inline="Below")
ma(source, length, type) =>
switch type
"SMA" => 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)
typeMA = input.string(title = "Method", defval = "SMA", options= , group="MA Settings")
smoothingLength = input.int(title = "Length", defval = 5, minval = 1, maxval = 100, group="MA Settings")
smoothingLine = ma(delta, smoothingLength, typeMA)
deltaText=(delta > 0 ? (delta > delta ? " MOM > 0 and ▲ Growing, MOM = " + str.tostring(delta , "#.##") :" MOM > 0 and ▼ Falling, MOM = " + str.tostring(delta , "#.##") ) : (delta > delta ? "MOM < 0 and ▲ Growing, MOM = " + str.tostring(delta , "#.##"): " MOM < 0 and ▼ Falling, MOM = " + str.tostring(delta , "#.##")))
oneDay = 24 * 60 * 60 * 1000
barsAhead = 3
tmf = if timeframe.ismonthly
barsAhead * oneDay * 30
else if timeframe.isweekly
barsAhead * oneDay * 7
else if timeframe.isdaily
barsAhead * oneDay
else if timeframe.isminutes
barsAhead * oneDay * timeframe.multiplier / 1440
else if timeframe.isseconds
barsAhead * oneDay * timeframe.multiplier / 86400
else
0
angle(_src) =>
rad2degree = 180 / 3.14159265359
//pi
ang = rad2degree * math.atan((_src - _src ) / ta.atr(14))
ang
emae = angle(smoothingLine)
emaanglestat = emae > emae ? "▲ Growing": "▼ Falling"
deltaTextxxx = "MOM MA/ATR angle value is " + str.tostring(emae, "#.##") + "° and is " + emaanglestat
deltacolorxxx = emae >0 and emae >=emae ? txtcol_grow_above : txtcol_fall_below
// Label
label lpt1 = label.new(time, -30, text=deltaTextxxx , color=deltacolorxxx, xloc=xloc.bar_time, style=label.style_label_left, textcolor=color.white, textalign=text.align_left, size=size.normal)
label.set_x(lpt1, label.get_x(lpt1) + tmf)
label.delete(lpt1 )
txtdeltaColors = (delta > 50 ? (delta < delta ? txtcol_grow_above : txtcol_fall_above) : (delta < delta ? txtcol_grow_below : txtcol_fall_below))
label ldelta1 = label.new(time, 30, text=deltaText , color=txtdeltaColors, xloc=xloc.bar_time, style=label.style_label_left, textcolor=color.white, textalign=text.align_left, size=size.normal)
label.set_x(ldelta1, label.get_x(ldelta1) + tmf)
label.delete(ldelta1 )
Trend Catcher with HTF Filter🔷 Trend Catcher with HTF Filter
Overview
“Trend Catcher with HTF Filter” is a dynamic trend detection tool designed to identify clear directional bias and help traders stay aligned with the prevailing momentum. It uses a dual-timeframe approach that combines ATR-based volatility analysis and trend confirmation logic to avoid noise and false flips.
This script is particularly useful for trend-following, swing trading, or tactical scalping, depending on the timeframe used. It's not a strategy script, but a visual tool that enhances your decision-making.
🧠 How It Works (Simplified Logic)
This indicator identifies trends by comparing price to a dynamic stop level derived from ATR (Average True Range). When price breaks above/below that level and remains there for a configurable number of bars (flip sensitivity), the trend is considered to have shifted.
🔹 Core Logic (Lower Timeframe)
ATR stop: Calculated using ATR Length and Multiplier.
Trend detection: When price remains above/below the ATR stop for X bars, the trend "flips."
Labels: When the trend flips, labels (🔼 or 🔽) are shown on the chart.
🔹 Higher Timeframe (HTF) Filter (Optional)
When enabled, this adds a higher timeframe ATR-based filter.
You can choose to:
Only visualize HTF background (green/red).
Or restrict flips on the lower timeframe based on HTF trend direction.
This lets you avoid entering against the broader trend and filters out noise in lower timeframes.
🧾 Flip Sensitivity
Set how many bars must confirm the trend direction before a flip is declared.
Helps avoid whipsaws in volatile conditions.
📋 Real-Time Info Table
A small table at the top-right of your chart shows key values like:
Current ATR value
Trend direction
HTF trend direction
Price level of trend stop
Flip sensitivity
🛡️ Why This Script Is Unique
While many scripts use ATR-based logic or multi-timeframe filters, this script stands out for:
✅ Combining real-time LTF and HTF ATR trend zones
✅ A labeling system that clearly marks confirmed flips (based on multiple bar confirmation)
✅ A user-friendly real-time dashboard with essential metrics
✅ Optional trend-based access control, only allowing flips in HTF-aligned directions (when enabled)
This design is intended to help traders visually stay on the right side of the trend while giving them flexibility in configuration.
⚠️ No Unrealistic Claims
This script does not promise profits, signals, or backtested results. It’s a visual tool to assist discretionary traders in identifying trend shifts. There are no buy/sell signals, and it does not predict the future.