Momentum Turtle Swing StrategyMomentum Breakout Swing Tool — Overview
This indicator is built for traders who like breakout-style swing entries with a simple, disciplined structure. It blends trend context + momentum confirmation to highlight moments when price is more likely to continue rather than chop.
Core idea
Focus on directional expansion: it looks for points where price starts moving decisively after a period of structure building.
Signals are filtered so they appear primarily when the market is showing a clear directional bias, not when it’s indecisive.
Confirmation concept
Uses a trend context filter to stay aligned with the dominant market direction.
Adds a momentum sanity check so signals are less likely to trigger when strength is fading.
Position logic (unique signals)
Designed to keep signals clean and non-spammy: it produces distinct entry markers instead of repeated triggers in the same direction.
The internal flow treats market states as “in-trade / out-of-trade” to keep the chart readable.
Exit philosophy
Exits are based on a reactive market reference (to adapt when momentum cools or structure shifts), rather than fixed targets.
The goal is to stay in the move while it’s healthy and step aside when conditions degrade.
Best conditions
Works best in markets with clear swings and breakout continuation behavior.
Less effective in tight ranges or noisy sideways phases, where breakouts can fail more often.
For educational and analytical purposes only. Always forward-test on different markets and timeframes.
Chỉ báo và chiến lược
Confluence Signal Intelligence Indicators (CSI Indicators)CSI - Confluence Signal Intelligence is a dual-oscillator analysis tool that combines two specialized indicators in a single pane. It provides visibility into cycle exhaustion and statistical deviation conditions to help identify potential turning points.
The Two Oscillators
CEI - Cycle Exhaustion Index (Upper Section)
CEI measures where price sits within its recent cycle range and detects momentum depletion states. It identifies moments when a move has stretched beyond typical levels, which historically have preceded mean-reversion.
Normalized range from -1.0 to +1.0
Configurable exhaustion thresholds
Reversal signals (REV) when extreme zones begin turning
Cycle wave overlay showing peak/trough phases
Stepped confluence indicator between sections
PRG - PDF Reversal Gauge (Lower Section)
PRG applies statistical transforms across multiple timeframes to measure deviation from price norms. It combines readings from primary and secondary periods to create a confluence assessment.
Multi-period analysis for timing and confirmation
Strong Confluence (SC) signals at statistical extremes
Confluence scoring when multiple periods align
Deviation bars showing distance from mean
Signal Types
CEI Signals:
REV - Reversal signal when exhaustion zone begins turning
Triangle markers - Entry into exhaustion zones
X markers - Extreme exhaustion levels
PRG Signals:
SC - Strong Confluence signal when threshold met
Triangle markers - Standard reversal signals
Diamond markers - Multi-period confluence alignment
Visual Design
The pane is divided into two distinct sections with a separator line:
Upper Section (CEI) - Cycle analysis with area fill and confluence stepping
Lower Section (PRG) - Statistical gauge with deviation bars
Color Coding - Gold for strong confluence, Green/Red for direction, Gray for neutral
Zone Backgrounds - Shaded areas marking overbought/oversold regions
Information Table - Real-time values, zones, confluence scores, and signals for both oscillators
Configuration
CEI Settings:
Cycle period and exhaustion lookback
Signal smoothing and sensitivity
Upper/lower exhaustion thresholds
Extreme level definition
PRG Settings:
Primary and secondary periods
Smoothing and extreme threshold
Confluence sensitivity
Strong confluence threshold
Multi-period confluence toggle
Layout Settings:
Adjustable vertical positioning
Independent scale factors for each oscillator
Separator position control
Alert Conditions
CEI Alerts - Bull/Bear reversals, extreme exhaustion levels
PRG Alerts - Strong confluence buy/sell, standard reversals
Combined Alerts - Both oscillators signaling together, strong combined confluence
Companion Indicator
CSI - Confluence Signal Intelligence is the main chart overlay that generates BUY/SELL signals with confidence classifications (HIGH/MEDIUM/LOW). This oscillator pane is designed to work alongside it, showing the cycle and statistical dynamics that contribute to signal generation.
When using both together:
Main CSI provides analytical signals directly on the price chart
This pane reveals the underlying CEI and PRG oscillator states
Aligned readings across both indicate stronger confluence
Reading the Pane
For potential long setups:
CEI in lower exhaustion zone (OS) and rising
PRG in oversold territory and turning up
REV or SC labels appearing
Both oscillators showing elevated confluence scores
For potential short setups:
CEI in upper exhaustion zone (OB) and falling
PRG in overbought territory and turning down
REV or SC labels appearing
Both oscillators showing elevated confluence scores
The oscillators may not signal on the exact same bar. When readings cluster within a few bars, this suggests developing conditions that warrant attention.
Risk Disclosure
This indicator measures technical conditions—not future price direction. Confluence scores represent analytical assessments based on statistical deviation and cycle position, not guarantees of market movement. All trading involves substantial risk of loss. Use this tool alongside your own analysis and proper risk management. No indicator can predict future price movements with certainty.
---
## AUTHOR'S INSTRUCTIONS:
```
To request access to CSI - Confluence Signal Intelligence , please send a private message or visit frontieralgo.com/tradingview.
For best results, use alongside the main CSI overlay on the price chart.
Confluence Signal Intelligence (CSI)CSI - Confluence Signal Intelligence is a professional-grade analytical overlay that evaluates market conditions across multiple dimensions simultaneously. Rather than relying on a single indicator, CSI synthesizes multiple evidence factors and classification models into unified BUY/SELL signals with confidence classifications.
What It Does
CSI identifies potential reversal zones by detecting when multiple independent analytical components align in the same direction. Each signal displays a confidence classification:
HIGH - Strong multi-factor alignment (Gold labels)
MEDIUM - Moderate factor alignment
LOW - Limited factor alignment
Important : The confidence level measures analytical consensus—not a prediction of trade outcome. A HIGH reading means multiple components agree on directional bias at that moment, not that the trade will be profitable.
Multi-Factor Analysis
The classification system evaluates conditions across several categories:
Statistical Extremes - Normalized price transforms that identify stretched conditions
Momentum Indicators - Multiple oscillators confirming oversold/overbought states
Cycle Analysis - Gauges measuring exhaustion and potential turning points
Trend Alignment - Multi-timeframe directional agreement
Market Structure - Break of Structure events and swing point analysis
Pattern Classification - Models comparing current conditions to historical setups
Volume Analysis - Confirming directional moves with participation
Divergence Detection - Price/momentum disagreements across multiple oscillators
Classification Components
CSI incorporates multiple classification models (KNN, gradient boosting approximation, perceptron) that analyze current market conditions against historical patterns. These models contribute to the overall confidence assessment by identifying setups with characteristics similar to past formations.
Smart Money Concepts
The indicator includes institutional trading concepts:
Break of Structure (BOS) - Markers when price violates significant swing points
Order Blocks - Potential support/resistance zones based on price structure
Fair Value Gaps (FVG) - Price imbalances that may act as future reference points
Regime Detection - Background coloring distinguishing trending vs. ranging conditions
Key Features
Non-Repainting Mode - Optional bar-close confirmation prevents signal changes on the current bar
Adaptive Thresholds - Automatically adjusts sensitivity based on market volatility
Signal Filtering - Option to hide LOW confidence signals to reduce noise
Configurable Cooldown - Minimum bars between signals to prevent overtrading
Comprehensive Dashboard - Real-time display of key metrics and states
Trend EMAs - 20/50/200 period moving averages for context
Extensive Alerts - Conditions for signals, structure breaks, divergences, and more
Intended Use
CSI is designed as a decision-support tool for traders conducting their own analysis. It identifies moments of technical alignment that may warrant further investigation—it does not guarantee profitable outcomes. Market results depend on numerous variables beyond any single analytical tool.
The indicator works across all markets and timeframes.
Companion Indicator
CSI - Confluence Signal Intelligence is published separately and displays the underlying oscillators in their own pane:
CEI (Cycle Exhaustion Index) - Cycle position and momentum depletion measurement
PRG (PDF Reversal Gauge) - Statistical deviation scoring
When used together, the main CSI overlay provides signals on the chart while the oscillator pane offers visibility into the cycle and reversal dynamics contributing to those signals.
Risk Disclosure
This indicator is an analytical tool—not financial advice. Past performance does not guarantee future results. All trading involves substantial risk of loss. Confidence levels reflect internal model agreement only and should be considered alongside broader market context, your own analysis, and sound risk management practices. No indicator can predict future price movements with certainty.
---
## AUTHOR'S INSTRUCTIONS:
```
To request access to CSI - Confluence Signal Intelligence, please visit frontieralgo.com/tradingview or send a private message.
Warpath Structure + Liquidity Tool (Updated - V3)Warpath visually organizes the key elements required to trade Gold professionally:
1. Market Structure Clarity
Automatically labels HH / HL / LH / LL on major pivot points (current chart timeframe). Makes directional bias immediately obvious. Helps prevent counter-trend trading in strong expansions.
2. Liquidity Sweep Detection (Wick-Only)
Highlights true liquidity sweeps using wick behavior (no breakout guessing). Marks the sweep wick with user-defined colors. Draws a swept-zone box that extends forward to show where liquidity was taken. Designed to identify fuel vs reversal behavior in trends.
3. Key Session Levels
Automatically plots:
Asian High / Low
Previous Day High / Low
Equal Highs / Equal Lows from current timeframe and higher timeframes (1H / 4H / Daily)
These levels represent where price is likely to react, not where trades should be forced.
4. Multi-Confluence HTF Bias Dashboard
Small dashboard showing bias for 15M, 1H, 4H, and Daily timeframes. Each timeframe bias is calculated using four confluence factors:
EMA Stack: 8/21/50 alignment and price position relative to EMAs
Structure: Recent HH/HL vs LH/LL pivot behavior
Price Patterns: Engulfing candles, hammers, double bottoms/tops, break of structure
Momentum: Recent candle direction and close trend
Displays a confluence score (e.g., "BULLS (4)") so you can see signal strength, not just direction. Overall bias weights higher timeframes more heavily for smarter alignment.
5. Trade Positioning Dashboard
Replaces basic overbought/oversold readings with actionable positioning context:
Range Position: Shows exactly where price sits within the selected range (Previous Session, Previous Day, or Weekly) as a percentage. Zones include Deep Discount (0-25%), Discount (25-40%), Equilibrium (40-60%), Premium (60-75%), and Deep Premium (75-100%).
VWAP Deviation: Displays distance from VWAP in standard deviations (σ). Readings beyond ±1.5σ indicate meaningful extension. Readings beyond ±2σ suggest caution on continuation and potential mean reversion.
Trade Favor: Combines HTF bias alignment, range position, and VWAP deviation into a single directional score. Displays as "LONGS ●●●○" or "SHORTS ●●○○" so you know at a glance whether conditions favor continuation or reversal.
6. Continuation Reload Awareness (Strong Trend Environments)
Built to handle markets that:
Remain overbought
Stay in premium
Sweep buy-side liquidity repeatedly
The multi-confluence scoring system catches trend continuation setups (like higher lows forming with bullish momentum) even before swing structure fully confirms. Supports compression → expansion continuation behavior. Prevents missed participation during multi-day trends without abandoning discipline.
Multi-Confirmation Fib Zones This indicator combines **dynamic Fibonacci-style price zones** with a **multi-signal confirmation layer** to highlight areas where reactions are more likely to matter.
Core purpose
* Map out **contextual price areas** derived from recent market ranges.
* Provide a structured way to read potential **reaction / continuation zones** without relying on a single input.
Zone framework
* The tool continuously tracks the market’s recent extremes and builds **adaptive reference zones** around them.
* It can display both **bullish-context** and **bearish-context** zones, depending on the current market behavior.
Confirmation layer (confluence concept)
Instead of treating any zone touch as a signal, it evaluates **multiple market perspectives**, such as:
* momentum pressure,
* momentum shifts,
* short-term oscillation balance,
* participation / activity confirmation.
Signals are intended to be interpreted only when **several views align**, helping reduce false positives.
Practical use
* Useful for traders who want **structured levels + confirmation** in one visual workflow.
* Can support both **trend continuation** and **reaction-based setups**, depending on broader context.
* Best treated as a **decision support system** (a “dashboard”), not a standalone trade trigger.
Best conditions
* Works best when markets are **respecting ranges and reacting at obvious areas**.
* In extremely noisy, thin, or news-driven spikes, confirmations may desync and require more discretion.
*For educational and analytical purposes only. Always validate across different instruments and timeframes.*
Dual Momentum Confluence Oscillator MACD + RSIThis indicator is built around the **simultaneous use of two complementary momentum perspectives**, designed to be read **together**, not in isolation.
### Core purpose
* Highlight moments where **momentum agreement** or **momentum imbalance** becomes visually evident.
* Help distinguish between **healthy movement**, **loss of strength**, and **potential transition phases**.
### Combined reading approach
* One component focuses on **momentum flow and acceleration**, showing how force develops or fades.
* The other evaluates **relative pressure within recent price action**, adding context to whether momentum is stretched or still balanced.
* Signals are meant to be interpreted when **both perspectives are considered at the same time**, reinforcing or filtering each other.
### Practical use
* Particularly useful as a **confirmation layer** for directional strategies.
* Helps avoid decisions based on a single momentum measure by requiring **contextual alignment**.
* Can also support timing refinement in both continuation and pullback scenarios.
### Visual structure
* Everything is displayed in **one compact pane**, allowing quick cross-market scanning without overloading the chart.
* Visual contrast makes changes in momentum state easy to spot at a glance.
### Best conditions
* Most effective in markets with **clear participation and readable momentum shifts**.
* Less informative during flat, low-energy phases.
*For educational and analytical purposes only. Always test across multiple markets and timeframes.*
---
Così è chiaro che **RSI e MACD lavorano insieme**, ma **nessuno può risalire a come**.
Engulfing Cycle 2.0## Cycle-Phased Price Action Tool — Overview
This indicator highlights **high-impact moments** in price action by combining a **candlestick-based trigger** with a **cycle-phase timing approach** and broad context filters.
### What it aims to do
* Emphasize situations where price shows a **clear shift in control** between buyers and sellers.
* Reduce noise by focusing on signals that occur in **more meaningful timing windows** within a repeating market rhythm.
### Context & quality checks
* Signals are conditioned by a general **directional environment** filter, so they’re less likely to appear against unstable conditions.
* A momentum “sanity check” helps avoid entries when price looks **too stretched**.
* Activity/participation can be used as confirmation to prioritize **stronger reactions**.
### Cycle timing logic
* The indicator tracks market swings and assigns each moment to a **phase** of the current move.
* It prioritizes two key phases:
* an **early phase**, where new movement often starts to form,
* a **mid phase**, where continuation or decisive turning behavior is more likely to show up.
### How it’s used
* Treat signals as **attention markers**, not automatic entries.
* It works best when combined with basic structure reading (levels, ranges, and obvious swing areas).
### Best conditions
* Markets with **clean swings** and repeatable movement patterns.
* Less effective in extremely choppy, compressed ranges where timing signals can cluster.
*For educational use only. Always test across symbols and timeframes before relying on it.*
Delta Price Range BandsThis indicator uses the historical price delta range analysis method, perhaps known to some as HPDR thanks to YouTuber Krown.
To test the method and it's usability, I programmed my own version and put some more features into it, like a preview median price feature.
trendY - Trend Signals & Smart Trailing Bands (OverltrendY is a clean, responsive trend-following overlay built around ATR (Average True Range) - so it adapts automatically to changing volatility instead of using fixed, one-size-fits-none” levels. It plots dynamic trend bands directly on your chart, highlights directional shifts, and prints Buy / Sell labels exactly when the trend flips - making it easy to spot momentum transitions and manage trades with a logical trailing structure.
What it does
Builds volatility-adjusted trend bands using ATR.
Locks bands in the trend direction (reduces noise and whipsaws compared to naive channels).
Detects trend reversals and prints clear Buy (trend turns up) / Sell (trend turns down) signals.
Includes ready-to-use alerts for automation and fast execution.
Key features
Adaptive to market conditions: ATR-based logic expands/contract bands as volatility changes.
Clear trend visualization: Green band for uptrends, red band for downtrends.
Flip-based signals: Labels only appear when direction changes, not on every candle.
Works on any market & timeframe: Crypto, forex, stocks, indices - scalping to swing.
Customizable: Adjust ATR Period and ATR Multiplier to fit your instrument and style.
Alerts included: Buy, Sell, and Direction Change alerts supported.
How to use it effectively
Treat trend flips as directional bias shifts (not magic). Many traders use:
Buy = trend turns up → look for longs (especially with confirmation).
Sell = trend turns down → look for shorts / exits.
Use the plotted band as a dynamic trailing stop guide or trend invalidation” level.
For higher-quality setups, combine trendY with:
Structure (break of recent swing, support/resistance)
Volume or VWAP
A higher timeframe trend filter
Settings guide
ATR Period: Higher = smoother, fewer signals. Lower = faster, more signals.
ATR Multiplier: Higher = wider bands, fewer flips. Lower = tighter bands, more flips.
Alerts
Long Trend
Short Trend
Direction Change
Important note (read before trading real money)
This indicator is a decision-support tool, not a guarantee of profit. Markets can and will fake out trend systems - especially during ranging conditions or news spikes. Always use proper risk management and test settings on your instrument before relying on signals.
ADX CornerShows the current ADX value along with the average ADX over the last N candles in a small table on the chart.
It’s meant as a quick reference to see whether the market is generally trending or stuck in chop, without needing a separate indicator pane.
Premarket, Previous Day, Current Day high/lowHighs and lows for premarket, previous day, and current day
NeuraLine v1Neuraline is a daily market-regime indicator designed to help traders stay aligned with the dominant trend while avoiding noise, false flips, and emotional overtrading.
Instead of reacting to every small move, Neuraline focuses on structural trend confirmation, combining trend strength, regime persistence, and higher-timeframe context into one clean visual layer.
1. Anti-Flip Trend Logic
Neuraline uses a buffered EMA regime system with built-in hysteresis.
This means the indicator does not flip trend on every minor crossover, but only when price confirms a meaningful shift.
Result: fewer false signals, more stability.
2. Market Strength Filter (ADX)
Trend changes are only validated when market strength confirms the move.
This prevents signals during low-volatility, choppy conditions where most indicators fail.
3. Clear Market Regime: Bullish or Bearish
Neuraline always operates in one of two states:
• Bullish regime
• Bearish regime
No confusion. No over-analysis.
Every signal is contextualized within the current regime.
4. Higher-Timeframe Structure via 50 / 200 Moving Averages
The integrated 50 & 200 day moving averages provide long-term market context:
• MA lines automatically adapt their color based on bullish or bearish alignment
• A subtle ribbon highlights the structural zone between them
This makes it instantly clear whether price action is occurring within a healthy trend or against macro structure.
5. Minimal, Emotion-Free Signals
Buy and sell signals are only triggered on confirmed regime transitions, not on every fluctuation. Signals are displayed as clean, non-intrusive icons directly on the chart — no clutter, no noise.
6. Designed for Daily & Swing Traders
Neuraline is optimized for:
• Daily charts
• Swing trading
• Position management
• Market bias confirmation
It is not a scalping tool.
It is a decision-filter.
PDI / MMXM Execution OverlayCreates FVG's on lower time frames automatically. Helps with charting live.
Trade Assistant by thedatalayers.comThe Trade Assistant by DataLayers.com is designed to bridge the gap between futures-based trade ideas and their precise execution on CFD instruments.
Many traders identify high-quality setups on futures markets but execute their trades on CFDs due to broker access, margin efficiency, or position sizing flexibility.
This tool ensures that the price levels, risk parameters, and position sizing from the futures contract are translated accurately to the selected CFD.
The indicator supports inverted instruments and differing quote conventions.
For example, it can accurately convert trades from a futures contract such as USD/CAD Future to an inverted CFD like CAD/USD, even when price scales and quotation formats differ.
Users can define custom scaling factors to ensure correct price mapping across instruments with different decimal structures or broker-specific pricing models.
Killshotcopy// This source code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
//@version=5
indicator("Killshot", overlay=true, format = format.price, max_labels_count=500, max_lines_count=500)
max_bars_back(time, 5000)
////////////////////////////////////////////////////////////////////////////
///// /////
///// Input Block /////
///// /////
////////////////////////////////////////////////////////////////////////////
// Color inputs for EMAs
short_color = input.color(defval=color.blue, title="Fast EMA Color", group="EMA Settings")
medium_color = input.color(defval=color.orange, title="Slow EMA Color", group="EMA Settings")
long_color = input.color(defval=color.red, title="Long EMA Color", group="EMA Settings")
// EMA period inputs
fastEMA = input.int(defval=20, title="Fast EMA", group="EMA Settings")
slowEMA = input.int(defval=50, title="Slow EMA", group="EMA Settings")
longEMA = input.int(defval=238, title="Long EMA", group="EMA Settings")
//Support & Resistance
showSR = input.bool(title="Display Support and Resistance", defval=true, group="S&R; Settings")
atrMovement = input.float(title="ATR Movement Required", defval=1.0, step=0.5, tooltip="Minimum ATR distance price must move to consider a pivot zone to be 'major'")
lookback = input.int(title="High/Low Lookback", defval=25, step=5, tooltip="Lookback period for detecting swing highs/lows")
maxZoneSize = input.float(title="Max Zone Size (Compared to ATR)", defval=2.5, step=0.5, tooltip="If a zone is larger than the current ATR multiplied by this, it is considered too large and ignored")
newStructureReset = input.int(title="Zone Update Count Before Reset", defval=25, step=5, tooltip="The script draws two zones until they're violated - if the first zone is updated this many times, the second zone is reset")
drawPreviousStructure = input.bool(title="Draw Previous Structure", defval=true, tooltip="This turns on/off drawing 'support-turned-resistance' and 'resistance-turned-support'")
displayStars = input.bool(title="Display Stars", defval=true, group="Star Settings")
////////////////////////////////////////////////////////////////////////////
///// /////
///// EMA Cross Plot Block /////
///// /////
////////////////////////////////////////////////////////////////////////////
short = ta.ema(close, fastEMA)
medium = ta.ema(close, slowEMA)
long = ta.ema(close, longEMA)
plot(short, color=short_color, linewidth=1)
plot(medium, color=medium_color, linewidth=1)
plot(long, color=long_color, linewidth=1)
//Show the directional arrows
plotshape(ta.cross(short,medium) and short>medium ? short : na, style=shape.triangleup, color=color.blue, size=size.small, location=location.belowbar)
plotshape(ta.cross(short,medium) and shortmedium ? bullColor : bearColor
plot(series=low, style=plot.style_columns, color=c_ma)
////////////////////////////////////////////////////////////////////////////
///// /////
///// Support & Resistance Code Block /////
///// /////
////////////////////////////////////////////////////////////////////////////
// Get current ATR value
atr = ta.atr(14)
// Get highest body and lowest body for the current candle
highestBody = open > close ? open : close
lowestBody = open > close ? close : open
// Set up our persistent S&R; variables (1 = the wick and 2 = the body)
var res1 = 0.0
var res2 = 0.0
var sup1 = 0.0
var sup2 = 0.0
var lookForNewResistance = true
var lookForNewSupport = true
// Set up our *previous* support & resistance variables (for drawing support-turned-resistance etc)
var previousRes1 = 0.0
var previousRes2 = 0.0
var previousSup1 = 0.0
var previousSup2 = 0.0
// Set up our ATR variables (for identifying significant declines/rallies to validate S&R; zones)
var atrSaved = 0.0
var potentialR1 = 0.0
var potentialR2 = 0.0
var potentialS1 = 0.0
var potentialS2 = 0.0
// Detect fractal swing highs for resistance
// We're looking for this pattern: .|.
if high == ta.highest(high, lookback) and high < high and lookForNewResistance
r1 = high
r2 = highestBody > highestBody ? highestBody : highestBody > highestBody ? highestBody : highestBody
if (r1 - r2) / atr <= maxZoneSize
lookForNewResistance := false
potentialR1 := r1
potentialR2 := r2
atrSaved := atr
// Detect fractal swing lows for support
// We're looking for this pattern: *|*
if low == ta.lowest(low, lookback) and low > low and lookForNewSupport
s1 = low
s2 = lowestBody < lowestBody ? lowestBody : lowestBody < lowestBody ? lowestBody : lowestBody
if (s2 - s1) / atr <= maxZoneSize
lookForNewSupport := false
potentialS1 := s1
potentialS2 := s2
atrSaved := atr
// Check if potential resistance zone has already been violated. If it has, reset our potential R1 & R2
if close > potentialR1 and barstate.isconfirmed
potentialR1 := na
potentialR2 := na
// Check if potential support zone has already been violated. If it has, reset our potential S1 & S2
if close < potentialS1 and barstate.isconfirmed
potentialS1 := na
potentialS2 := na
// Check if we've had a significant decline since detecting swing high
if potentialR1 - low >= (atrSaved * atrMovement)
previousRes1 := na(previousRes1) ? potentialR1 : previousRes1 // Store previous resistance if we're not already drawing it
previousRes2 := na(previousRes2) ? potentialR2 : previousRes2
res1 := potentialR1
res2 := potentialR2
potentialR1 := na
potentialR2 := na
// Check if we've had a significant rally since detecting swing low
if high - potentialS1 >= (atrSaved * atrMovement)
previousSup1 := na(previousSup1) ? potentialS1 : previousSup1 // Store previous support if we're not already drawing it
previousSup2 := na(previousSup2) ? potentialS2 : previousSup2
sup1 := potentialS1
sup2 := potentialS2
potentialS1 := na
potentialS2 := na
// Declare support & resistance update counters
// This is used for forcing a zone reset if a zone is not violated within a reasonable period of time
var supCount = 0
var resCount = 0
// If the previous resistance high has been violated then begin searching for a new resistance zone
if close >= res1 and barstate.isconfirmed
lookForNewResistance := true
lookForNewSupport := true
resCount := resCount + 1
// If the previous support low has been violated then begin searching for a new support zone
if close <= sup1 and barstate.isconfirmed
lookForNewSupport := true
lookForNewResistance := true
supCount := supCount + 1
// If our current resistance zone has been violated, store its values to draw new *potential* support zone
// The idea being that once a major resistance zone is violated it often becomes future support
// But we only save previous S&R; if we don't already have one saved (or our zone update count exceeds newStructureReset)
if (close > res1 and na(previousRes1) and barstate.isconfirmed) or previousRes1 == 0.0 or supCount >= newStructureReset
previousRes1 := res1
previousRes2 := res2
supCount := 0
// If our current support zone has been violated, store its values to draw new *potential* resistance zone
// The idea being that once a major support zone is violated it often becomes future resistance
// But we only save previous S&R; if we don't already have one saved (or our zone update count exceeds newStructureReset)
if (close < sup1 and na(previousSup1) and barstate.isconfirmed) or previousSup1 == 0.0 or resCount >= newStructureReset
previousSup1 := sup1
previousSup2 := sup2
resCount := 0
// If our resistance-turned-support zone has been violated, reset our saved resistance variables
if close < previousRes2 and barstate.isconfirmed
previousRes1 := na
previousRes2 := na
// If our support-turned-resistance zone has been violated, reset our saved support variables
if close > previousSup2 and barstate.isconfirmed
previousSup1 := na
previousSup2 := na
// Draw our current resistance zone
r1 = plot(res1 == res1 ? res1 : na, color=close >= res1 ? color.green : color.red, style=plot.style_linebr, title="R1")
r2 = plot(res1 == res1 ? res2 : na, color=close >= res1 ? color.green : color.red, style=plot.style_linebr, title="R2")
fill(r1, r2, color=close > res1 ? color.green : color.new(color.red, 50), title="Resistance Zone")
// Draw our current support zone
s1 = plot(sup1 == sup1 ? sup1 : na, color=close < sup1 ? color.red : color.green, style=plot.style_linebr, title="S1")
s2 = plot(sup1 == sup1 ? sup2 : na, color=close < sup1 ? color.red : color.green, style=plot.style_linebr, title="S2")
fill(s1, s2, color=close < sup1 ? color.red : color.new(color.green, 50), title="Support Zone")
// Draw our previous support zone (turned potential resistance)
ps1 = plot(previousSup1 == previousSup1 and previousSup1 != sup1 and drawPreviousStructure ? previousSup1 : na, color=color.red, style=plot.style_linebr, title="PS1")
ps2 = plot(previousSup1 == previousSup1 and previousSup1 != sup1 and drawPreviousStructure ? previousSup2 : na, color=color.red, style=plot.style_linebr, title="PS2")
fill(ps1, ps2, color=color.new(color.red, 10), title="Previous Support Zone")
// Draw our previous resistance zone (turned potential support)
pr1 = plot(previousRes1 == previousRes1 and previousRes1 != res1 and drawPreviousStructure ? previousRes1 : na, color=color.green, style=plot.style_linebr, title="PR1")
pr2 = plot(previousRes1 == previousRes1 and previousRes1 != res1 and drawPreviousStructure ? previousRes2 : na, color=color.green, style=plot.style_linebr, title="PR2")
fill(pr1, pr2, color=color.new(color.green, 10), title="Previous Resistance Zone")
////////////////////////////////////////////////////////////////////////////
///// /////
///// STARS Code Block /////
///// /////
////////////////////////////////////////////////////////////////////////////
//calculation variables. Hardcoded for now.
Depth1 = 5
Depth2 = 13
Depth3 = 34
Deviation1 = 1
Deviation2 = 8
Deviation3 = 13
Backstep1 = 3
Backstep2 = 5
Backstep3 = 8
// STAR Color settings - MEDIUM NOW BLUE
color1 = input(title = "Small Stars Color", defval = color.yellow)
color2 = color1
color3 = input(title = "Medium Stars Color", defval = color.aqua)
color4 = color3
color5 = input(title = "Large Sell Stars Color", defval = color.red)
color6 = input(title = "Large Buy Stars Color", defval = color.lime)
repaint = true
// CHATGPT FIX #1: Add useStar parameter
zigzag(Depth0, Deviation0, Backstep0, color0, color00, size0, useStar) =>
var last_h = 1
last_h += 1
var last_l = 1
last_l += 1
var lw = 1
var hg = 1
lw += 1
hg += 1
p_lw = -ta.lowestbars(Depth0)
p_hg = -ta.highestbars(Depth0)
lowing = lw == p_lw or low - low > Deviation0 * syminfo.mintick
highing = hg == p_hg or high - high > Deviation0 * syminfo.mintick
lh = ta.barssince(not highing )
ll = ta.barssince(not lowing )
down = ta.barssince(not(lh > ll)) >= Backstep0
lower = low > low
higher = high < high
if lw != p_lw and (not down or lower)
lw := p_lw < hg ? p_lw : 0
lw
if hg != p_hg and (down or higher)
hg := p_hg < lw ? p_hg : 0
hg
label point = na
x1 = down ? lw : hg
y1 = down ? low -3 : high
if down == down
if repaint
label.delete(point )
down
if down != down
if down
last_h := hg
last_h
else
last_l := lw
last_l
if not repaint
nx = down ? last_h : last_l
point := label.new(bar_index-nx, down ? high : low -6, text = "🟡", style=down?label.style_label_down:label.style_label_up)
down
if repaint
// FINAL FIX: Use red/green circle emojis for Depth3, yellow circles for Depth1/2
txt = useStar ? (down ? "🟢" : "🔴") : "🟡"
point := label.new(bar_index - x1, y1, txt, style=label.style_none, size=size0, textcolor=down ? color00 : color0, xloc=xloc.bar_index, yloc=yloc.price, force_overlay=true)
if displayStars
// CHATGPT FIX #3: Pass false for Depth1/2, true for Depth3
zigzag(Depth1, Deviation1, Backstep1, color1, color2, size.normal, false)
zigzag(Depth2, Deviation2, Backstep2, color3, color4, size.large, false)
zigzag(Depth3, Deviation3, Backstep3, color5, color6, size.huge, true)
////////////////////////////////////////////////////////////////////////////
///// /////
///// Trigger Alerts /////
///// /////
////////////////////////////////////////////////////////////////////////////
// Code Alerts
alert_message = ""
if ta.cross(short,medium) and short>medium
alert_message := "EMA Cross Buy alert for " + syminfo.description + " price: " + str.tostring(math.round(open, 2))
alert(alert_message, freq=alert.freq_once_per_bar)
if ta.cross(short,medium) and short
Seasonality Scanner by thedatalayers.comThe Seasonality Scanner automatically detects seasonal patterns by scanning a user-defined number of past years (e.g., the last 10 years).
Based on this historical window, the indicator identifies the strongest seasonal tendency for the currently selected date range.
The scanner evaluates all valid seasonal windows using two filters:
• Hit Rate - the percentage of profitable years
• Average Return - the highest mean performance across the analyzed period
The best-scoring seasonal setup is displayed directly on the chart, including the exact start and end dates of the identified pattern for the chosen time range.
Users can define the period they want to analyze, and the indicator will automatically determine which seasonal window performed best over the selected history.
Recommended Settings (Standard Use)
For optimal and consistent results, the following settings are recommended:
• Search Window: 20-30
• Minimum Length: 5
• Time Period: from 2015 onward
• US Election Cycle: All Years
These settings provide a balanced and reliable baseline to detect meaningful seasonal tendencies across markets.
This indicator helps traders understand when recurring seasonal patterns typically occur and how they may align with ongoing market conditions.
This indicator is intended to be used exclusively on the daily timeframe, as all calculations are based on daily candles.
Using it on lower timeframes may result in inaccurate or misleading seasonal readings.
Seasonality Calculation Tool by thedatalayers.comThe Seasonality Calculation Tool is designed to analyze and evaluate the strength of any seasonal pattern detected by the Seasonality Indicator.
While the Seasonality Indicator displays the historical seasonal curve, this tool goes one step further by examining how reliable and consistent that curve truly is.
The tool checks whether a seasonal pattern is strong, distorted by a few outlier years, or statistically meaningful. It calculates the average return within the selected seasonal window and highlights how accurate or robust the pattern has been over the evaluated period.
To support manual confirmation and deeper analysis, the tool also visualizes the seasonal windows directly on the chart. This allows traders to review past occurrences and backtest the pattern themselves to validate the quality of the signal.
The Seasonality Calculation Tool is an ideal complement to the main Seasonality Indicator, helping traders identify high-quality, data-driven seasonal tendencies and avoid misleading or weak seasonal patterns.
This script is intended to be used exclusively on the daily timeframe, as all calculations rely on daily candle data.
The settings are intuitive and easy to adjust, allowing users to quickly evaluate any seasonal window displayed by the Seasonality Indicator.
Seasonality by thedatalayers.comThe Seasonality Indicator calculates the average historical performance of the currently selected asset by analyzing a user-defined number of past years (e.g., the last 10 years).
The number of years included in the calculation can be adjusted directly in the settings panel.
Based on this historical window, the indicator creates an average seasonal curve, which represents how the market typically behaved during each part of the year.
This averaged curve acts as a forecast for the upcoming months, highlighting periods where the market has shown a consistent tendency in the past.
Traders can use this seasonal projection to identify times of higher statistical likelihood for upward or downward movement.
The indicator works especially well when combined with the Seasonality Analysis Tool, which helps identify specific historical windows and strengthens overall seasonal decision-making.
This indicator must be used exclusively on the daily timeframe, as all calculations are based on daily candle data.
Other timeframes will not display accurate seasonal structures.
The Seasonality Indicator provides a clear, data-driven view of recurring annual patterns and allows traders to better understand when historical tendencies may influence future price action.
Trading Asset Comparison Oscillator by thedatalayers.comThe Trading Asset Comparison Oscillator compares the currently opened asset with a user-selected reference symbol to identify periods of relative overvaluation and undervaluation.
The concept is based on the idea that markets constantly seek fair value. When an asset becomes mispriced relative to a meaningful benchmark, it often moves back toward equilibrium.
This indicator measures that relationship and transforms it into an easy-to-read oscillator:
• Green Zone (Undervalued) - The selected asset is undervalued compared to the reference symbol.
This reflects potential upward pressure as markets tend to correct undervaluation over time.
• Red Zone (Overvalued) - The asset is overvalued relative to the reference symbol.
This may indicate a higher likelihood of downward movement as price seeks rebalancing.
Users can set any reference instrument they consider relevant-commodities, indices, currency pairs, or other assets. The oscillator quantifies the valuation difference based on a configurable cycle length.
The recommended setting is Cycle = 10, which provides a balanced and responsive signal
structure.
Since this indicator relies on broader valuation dynamics, it is designed to be used exclusively on the daily timeframe. Lower timeframes may not reflect true fundamental value relationships.
The Asset Comparison Oscillator helps traders identify when an asset appears cheap or expensive relative to another, offering an additional layer of fundamental context to support directional trading decisions.
COT Index by thedatalayers.comThe COT Index transforms the weekly COT net positions of Commercial traders into a normalized mathematical model.
Instead of displaying raw net positioning, the COT Index processes the data through a cyclical normalization algorithm (commonly using a 26-week or alternatively a 52-week cycle).
This makes it easier to identify bullish or bearish extremes in Commercial activity.
The index is plotted as a color-coded line:
• Green Zone - Commercials are mathematically classified as bullish.
Historically, bullish Commercial positioning often aligns with upward market pressure.
• Red Zone - Commercials are mathematically classified as bearish.
This typically corresponds with increased downward pressure in the underlying market.
• Neutral Zone - Neither bull nor bear dominance; positioning is mid-range.
Since COT data is published only once per week and the COT Index is built on cyclical multi-week analysis, the indicator is intended to be used exclusively on the weekly timeframe.
Using lower timeframes will not reflect the structure of the data accurately.
The selected cycle length (typically 26 weeks, optionally 52 weeks) determines how net positions are compared and normalized, and can influence how quickly extreme zones appear.
The COT Index provides an objective way to interpret Commercial trader sentiment and to identify potential directional bias in the market.
COT Net Positions by thedatalayers.comCOT Net Positions by thedatalayers.com visualizes the net positioning of different trader groups based on the weekly Commitments of Traders (COT) reports published by the CFTC every Friday.
The indicator processes the raw COT data by calculating Long positions minus Short positions for each trader category. This results in the net position of every group per report.
The script then plots these net positions continuously over time, based on every available COT release. This creates a clear and easy-to-read visualization of how different market participants are positioned.
The indicator displays the three primary COT categories:
• Commercials
• Non-Commercials
• Non-Reportables
By observing how these trader groups shift their positioning, traders can better understand market sentiment and identify potential directional biases or changes in underlying market pressure.
This tool is designed to help traders incorporate positioning data into their analysis and to better interpret how institutional and speculative flows evolve over time.
This indicator is intended to be used exclusively on the weekly timeframe.
COT data is published once per week by the CFTC and therefore only updates weekly.
Using this script on lower timeframes may result in misleading visualization or irregular spacing between data points.
For correct interpretation, please apply it on 1W charts only.
HTF High/Low/Open RangesHTF High/Low/Open Ranges is an indicator designed to visualize higher-timeframe (HTF) ranges on lower-timeframe charts.
It automatically groups candles by the selected timeframe (15m, 1H, 4H, Daily, Weekly) and plots:
the High level of the range,
the Low level of the range,
the Open level of the range,
vertical lines marking the start of each new HTF period.
Тime offset support (useful for New York / London sessions).
How to use
Use HTF High / Low as key liquidity and price reaction levels.
HTF Open often acts as an intraday equilibrium level.
Vertical lines help visually track transitions between trading periods.
MASTER ENGINE v6
MASTER ENGINE v6 is a multi-timeframe decision engine that shows direction, alignment quality, risk conditions, and a realistic target zone — without forcing trades.
What it actually does (short version)
Finds the dominant direction using multiple timeframes
Weights higher timeframes more heavily so noise can’t override structure
Grades trade quality (A–D) so you know when conditions are strong or marginal
Checks timing alignment so you’re not trading against momentum
Flags stretched or reversal-risk conditions early and clearly
Shows a conservative ATR-based target zone, scaled by trade quality
Everything is filtered through risk first, not opportunity first.
How to read it (at a glance)
DIR / ALIGNMENT → market bias and confidence
GRADE → trade quality, not probability
PLUS1 / NOW → timing agreement
TRADE → ON, CAREFUL, or stand aside
WHY → the single most important reason
TARGET ZONE → potential distance, not a promise
What it is not
❌ Not an entry signal
❌ Not a take-profit system
❌ Not predictive
❌ Not automated
In short
MASTER ENGINE v6 acts like a calm, experienced trader sitting next to you, saying:
“Direction is clear.”
“Timing is okay… but be careful.”
“Market’s stretched — don’t force it.”
“This is a reasonable zone, not a guaranteed target.”
You still make the final decision.






















