200 EMA with ATR Bands//@version=6
indicator("200 EMA with ATR Bands", overlay=true)
// === Inputs ===
emaLength = input.int(200, "EMA Length", minval=1)
atrLength = input.int(14, "ATR Length", minval=1)
atrMult = input.float(1.5, "ATR Multiplier", step=0.1, minval=0.1)
emaColor = input.color(color.yellow, "EMA Color")
bandColor = input.color(color.new(color.teal, 80), "Band Fill Color")
// === Calculations ===
ema200 = ta.ema(close, emaLength)
atrVal = ta.atr(atrLength)
// Bands based on ATR
upperBand = ema200 + atrVal * atrMult
lowerBand = ema200 - atrVal * atrMult
// === Plot ===
plot(ema200, title="200 EMA", color=emaColor, linewidth=2)
pUpper = plot(upperBand, title="Upper ATR Band", color=color.new(color.teal, 0))
pLower = plot(lowerBand, title="Lower ATR Band", color=color.new(color.teal, 0))
// Fill the band region
fill(pUpper, pLower, color=bandColor, title="ATR Band Fill")
Göstergeler ve stratejiler
Price–Volume Anomaly DetectorDescription
This indicator identifies unusual relationships between price strength and trading volume. By analyzing expected intraday volume behavior and comparing it with current activity, it highlights potential exhaustion, absorption, or expansion events that may signal changing market dynamics.
How It Works
The script profiles average volume by time of day and compares current volume against this adaptive baseline. Combined with normalized price movement (ATR-based), it detects conditions where price and volume diverge:
Exhaustion: Strong price move on low volume (potential fade)
Absorption: Weak price move on high volume (potential reversal)
Expansion: Strong price move on high volume (momentum continuation)
Key Features
Adaptive time-based volume normalization
Configurable sensitivity thresholds
Optional visibility for each anomaly type
Adjustable label transparency and offset
Light Mode support: label text automatically adjusts for dark or light chart backgrounds
Lightweight overlay design
Inputs Overview
Volume Profile Resolution: Defines time bucket size for expected volume
[* ]Lookback Days: Controls how quickly the profile adapts
Price / Volume Thresholds: Tune anomaly sensitivity
Show Expansion / Exhaustion / Absorption: Toggle specific labels
Label Transparency & Offset: Adjust chart visibility
How to Use:
Apply the indicator to any chart or timeframe.
Observe where labels appear:
🔴 Exhaustion: strong price, weak volume
🔵 Absorption: weak price, strong volume
🟢 Expansion: strong price, strong volume
Use these as context clues, not trade signals — combine with broader volume or trend analysis.
How It Helps
Reveals hidden price–volume imbalances
Highlights areas where momentum may be fading or strengthening
Enhances understanding of market behavior beyond raw price action
⚠️Disclaimer:
This script is provided for educational and informational purposes only. It is not financial advice and should not be considered a recommendation to buy, sell, or hold any financial instrument. Trading involves significant risk of loss and is not suitable for every investor. Users should perform their own due diligence and consult with a licensed financial advisor before making any trading decisions. The author does not guarantee any profits or results from using this script, and assumes no liability for any losses incurred. Use this script at your own risk.
DTR & ATR with live zonesThis indicator is designed to help traders gauge the day's volatility in real-time. It compares the current Daily True Range (DTR)—the distance between the session's high and low—to the historical Average True Range (ATR).
The main purpose is to project potential price levels where the market might reach based on its average volatility. These levels (100% ATR, 150%, 200%, etc.) can be used as price targets. For instance, if you're in a long trade, you might consider taking partial or full profits as the price approaches these upper ATR extension levels. The indicator is highly customisable, allowing you to control the appearance of the ATR lines, zones, and labels to fit your charting preferences.
Core Concepts: ATR and DTR
To use this indicator effectively, it's important to understand its two main components:
Average True Range (ATR): This is a classic technical analysis indicator that measures market volatility. It calculates the average range of price movement over a specific period (e.g., 14 days). A higher ATR means the price is, on average, moving more, while a low ATR indicates less volatility. This script uses a higher timeframe ATR (e.g., Daily) to establish a stable volatility baseline for the current trading day.
Daily True Range (DTR): This is simply the difference between the current trading session's highest high and lowest low (session high - session low). It tells you how much the price has actually moved so far today.
The indicator's logic revolves around comparing the live, unfolding DTR to the historical, baseline ATR. An on-screen table conveniently shows this comparison as a percentage, to show how volatile the day has been.
How It Works: The Dynamic & Locked Mechanism
The most clever part of this indicator is how it draws the ATR levels. It operates in two distinct phases during the trading session:
Phase 1: Dynamic Expansion (Before DTR meets ATR)
At the start of the session, the DTR is small. The indicator calculates the remaining range needed to "complete" the 100% ATR level (difference = avg_atr - dtr). It then adds this remaining amount to the session high and subtracts it from the session low. This creates a "floating" 100% ATR range that expands dynamically as the session high or low is extended.
Phase 2: The Lock-in (After DTR meets or exceeds ATR)
Once the day's range (DTR) becomes equal to or greater than the avg_atr, the day has met its "expected" volatility. At this point, the levels lock in place. The indicator intelligently determines the anchor point for the locked range.
Once this primary 100% ATR range is established (either dynamically or locked), the script projects the other levels (150%, 200%, 250%, and 300%) by adding or subtracting multiples of the avg_atr from this base.
How to Use It for Trading
The primary use of this indicator is to set logical, volatility-based price targets.
Setting Profit Targets: If you enter a long position, the upper ATR levels (100%, 150%, 200%) serve as excellent areas to consider taking profits. A move to the 200% or 250% level often signifies an overextended or "exhaustion" move, making it a high-probability exit zone. For short positions, the lower ATR levels serve the same purpose.
Assessing Intraday Momentum: The on-screen table tells you how much of the expected daily range has been used. If it's early in the session and the DTR is only at 30% of the ATR, you can anticipate more significant price movement is likely to come. Conversely, if the DTR is already at 150% of ATR, the bulk of the day's move may already be complete.
Mean Reversion Signals: If the price pushes to an extreme level (e.g., 250% ATR) and shows signs of stalling (e.g., bearish divergence on an oscillator), it could signal a potential reversal or pullback, offering an opportunity for a counter-trend trade.
Key Settings
ATR Length & Smoothing Type: These settings control how the baseline ATR is calculated. The default 14 period and RMA smoothing are standard, but you can adjust them to your preference.
Session Settings: This is crucial. You must set the Market Session and Time Zone to match the primary trading hours of the asset you are analysing (e.g., "0930-1600" for the NYSE session).
Show Lines / Show Labels / Show Zones: The script gives you full control over the visual display. You can toggle each ATR level's lines, labels, and background zones individually to avoid a cluttered chart and focus only on the levels that matter to your strategy.
Renko BandsThis is renko without the candles, just the endpoint plotted as a line with bands around it that represent the brick size. The idea came from thinking about what renko actually gives you once you strip away the visual brick format. At its core, renko is a filtered price series that only updates when price moves a fixed amount, which means it's inherently a trend-following mechanism with built-in noise reduction. By plotting just the renko price level and surrounding it with bands at the brick threshold distances, you get something that works like regular volatility bands while still behaving as a trend indicator.
The center line is the current renko price, which trails actual price based on whichever brick sizing method you've selected. When price moves enough to complete a brick in the renko calculation, the center line jumps to the new brick level. The bands sit at plus and minus one brick size from that center line, showing you exactly how far price needs to move before the next brick would form. This makes the bands function as dynamic breakout levels. When price touches or crosses a band, you know a new renko brick is forming and the trend calculation is updating.
What makes this cool is the dual-purpose nature. You can use it like traditional volatility bands where the outer edges represent boundaries of normal price movement, and breaks beyond those boundaries signal potential trend continuation or exhaustion. But because the underlying calculation is renko rather than standard deviation or ATR around a moving average, the bands also give you direct insight into trend state. When the center line is rising consistently and price stays near the upper band, you're in a clean uptrend. When it's falling and price hugs the lower band, downtrend. When the center line is flat and price is bouncing between both bands, you're ranging.
The three brick sizing methods work the same way as standard renko implementations. Traditional sizing uses a fixed price range, so your bands are always the same absolute distance from the center line. ATR-based sizing calculates brick range from historical volatility, which makes the bands expand and contract based on the ATR measurement you chose at startup. Percentage-based sizing scales the brick size with price level, so the bands naturally widen as price increases and narrow as it decreases. This automatic scaling is particularly useful for instruments that move proportionally rather than in fixed increments.
The visual simplicity compared to full renko bricks makes this more practical for overlay use on your main chart. Instead of trying to read brick patterns in a separate pane or cluttering your price chart with boxes and lines, you get a single smoothed line with two bands that convey the same information about trend state and momentum. The center line shows you the filtered trend direction, the bands show you the threshold levels, and the relationship between price and the bands tells you whether the current move has legs or is stalling out.
From a trend-following perspective, the renko line naturally stays flat during consolidation and only moves when directional momentum is strong enough to complete bricks. This built-in filter removes a lot of the whipsaw that affects moving averages during choppy periods. Traditional moving averages continue updating with every bar regardless of whether meaningful directional movement is happening, which leads to false signals when price is just oscillating. The renko line only responds to sustained moves that meet the brick size threshold, so it tends to stay quiet when price is going nowhere and only signals when something is actually happening.
The bands also serve as natural stop-loss or profit-target references since they represent the distance price needs to move before the trend calculation changes. If you're long and the renko line is rising, you might place stops below the lower band on the theory that if price falls far enough to reverse the renko trend, your thesis is probably invalidated. Conversely, the upper band can mark levels where you'd expect the current brick to complete and potentially see some consolidation or pullback before the next brick forms.
What this really highlights is that renko's value isn't just in the brick visualization, it's in the underlying filtering mechanism. By extracting that mechanism and presenting it in a more traditional band format, you get access to renko's trend-following properties without needing to commit to the brick chart aesthetic or deal with the complications of overlaying brick drawings on a time-based chart. It's renko after all, so you get the trend filtering and directional clarity that makes renko useful, but packaged in a way that integrates more naturally with standard technical analysis workflows.
10Y–2Y Treasury Yield Curve Spread & MES % Change📝 Description:
This indicator tracks the U.S. 10-Year minus 2-Year Treasury yield spread — a powerful macroeconomic signal often used by professional traders to gauge market sentiment and recession risk — and overlays an optional MES % change line to help intraday futures traders spot macro–price divergences in real time.
Features:
🏦 Plots the 10Y–2Y spread, with optional EMA smoothing.
📉 Highlights yield curve inversion (background turns red when spread < 0).
📊 Optional MES % change line from daily or RTH open for directional bias.
🔔 Alert conditions for:
Yield curve inversion / un-inversion.
Sudden spread spikes in basis points (customizable).
🧮 Optional correlation plot to visualize relationship strength between MES and the yield curve.
🧭 Z-score normalization allows both series to be viewed in one pane without scaling issues.
Why it matters:
A falling or inverted 2s10s spread often signals risk-off behavior and pressure on equities.
A steepening curve tends to support risk-on rallies.
Divergences between MES price action and the spread can provide early warning signals of reversals or fakeouts.
Best used with:
MES (MES1!) or MYM charts for intraday & swing bias.
Fed event days, CPI/NFP, or any macro-sensitive sessions.
VWAP or structure-based intraday trading strategies.
⚠️ Note: This indicator is for informational purposes only and does not constitute financial advice. Always combine macro context with your own trade plan and risk management.
Peter Brandt's 3-Day Trailing StopPeter Brandt's 3-day trailing stop rule is a trend-following exit strategy where a sell signal is triggered after a stock has reached a new high, followed by a close below the low of that high day, and then a break below the low of the next day, which is called the "setup day". The rule can be reversed to exit a short position. For long positions, Day 1 is the "high day" with a new price high, Day 2 is the "setup day" where the price closes below the low of Day 1, and Day 3 is the "trigger day" where a sell is executed if the price falls below the low of the setup day.
Long exit signal
Day 1: High Day: — The stock makes a new high.
Day 2: Setup Day: — The stock closes below the low of Day 1. At this point, the exit signal is now active.
Day 3: Trigger Day: — A sell to close is triggered when the price breaks below the low of the "setup day" (Day 2).
Short exit signal
Day 1: Low Day: — The stock makes a new low.
Day 2: Setup Day: — The stock closes above the high of Day 1.
Day 3: Trigger Day: — A buy to close is triggered when the price breaks above the high of the "setup day" (Day 2).
Multi-Moving Average (4x)Configurable moving average indicator where user can select up to 4 MA and configure SMA or EMA , color and width.
EMA HI/LO Cloud Shift + Extra EMA//@version=6
indicator("EMA HI/LO Cloud Shift + Extra EMA + Shift EMA Line", overlay=true, max_lines_count=6, max_labels_count=0)
// ------------------------
// Inputs
// ------------------------
emaLength = input.int(22, "Main EMA Length", minval=1, maxval=200)
emaLineColor = input.color(color.blue, "Main EMA Lines Color")
// Main Cloud colors
cloudAboveColor = input.color(color.new(color.green, 80), "Main Cloud Color (Price Above)")
cloudBelowColor = input.color(color.new(color.red, 80), "Main Cloud Color (Price Below)")
cloudInsideColor = input.color(color.new(color.orange, 80), "Main Cloud Color (Price Inside)")
// ------------------------
// Shift EMA (new logic)
// ------------------------
showShiftEMA = input.bool(true, "Show Shift EMA Line?")
shiftEMALength = input.int(26, "Shift EMA Length", minval=1, maxval=500)
shiftEMASource = input.source(close, "Shift EMA Source") // fully customizable source
shiftEMAColor = input.color(color.purple, "Shift EMA Color")
shiftEMAWide = input.int(2, "Shift EMA Line Width", minval=1, maxval=5)
shiftEMAOffset = input.int(0, "Shift EMA Offset", minval=-100, maxval=100)
// ------------------------
// Second EMA (independent)
// ------------------------
showSecondEMA = input.bool(true, "Show Second EMA?")
secondEMALength = input.int(200, "Second EMA Length", minval=1, maxval=1000)
secondEMAColor = input.color(color.yellow, "Second EMA Color")
secondEMAWide = input.int(2, "Second EMA Line Width", minval=1, maxval=5)
// ------------------------
// Main EMA Cloud Calculations
// ------------------------
emaHigh = ta.ema(high, emaLength)
emaLow = ta.ema(low, emaLength)
// ------------------------
// Main Cloud logic
// ------------------------
priceAboveMain = close > emaHigh
priceBelowMain = close < emaLow
priceInsideMain = not priceAboveMain and not priceBelowMain
cloudColorMain = priceAboveMain ? cloudAboveColor : priceBelowMain ? cloudBelowColor : cloudInsideColor
p1_main = plot(emaHigh, title="Main EMA High", color=emaLineColor, linewidth=2)
p2_main = plot(emaLow, title="Main EMA Low", color=emaLineColor, linewidth=2)
fill(p1_main, p2_main, color=cloudColorMain, title="Main EMA Cloud")
// ------------------------
// Shift EMA Line (replaces cloud offset)
// ------------------------
shiftEMA = ta.ema(shiftEMASource, shiftEMALength)
plot(showShiftEMA ? shiftEMA : na, title="Shift EMA Line", color=shiftEMAColor, linewidth=shiftEMAWide, offset=shiftEMAOffset)
// ------------------------
// Second EMA Plot (Independent)
// ------------------------
secondEMA = ta.ema(close, secondEMALength)
plot(showSecondEMA ? secondEMA : na, title="Second EMA", color=secondEMAColor, linewidth=secondEMAWide)
ΔΔ Holy Grail Chart Logic - Δ1 //─────────────────────────────────────────────
// 📖 HOW TO READ ΔΔ-HG-Δ1
//─────────────────────────────────────────────
//
// • The white line (MA1) is “Present Breath.”
// It moves fastest and reveals the living rhythm of price.
//
// • The blue line (MA3) is “The Scout.”
// Together, white and blue form the breathing void—the heartbeat zone.
//
// The fill color between them (the “void”) tells you the tone of the market:
// 🔵 Blue = Calm alignment, balanced breath
// 🟠 Orange = BYTE phase – testing emotion
// 🟢 Green = Cross phase – spiral turning
// 🟤 Brown = Full Cross – ancestral confirmation
// ⚙️ Grey = Mimicry – legacy echo
// ❌ Red = Tilting – distortion or interference
//
// HUD (right side of chart) shows current phase and full sequence.
//
//─────────────────────────────────────────────
// 🌀 SEQUENCE LOGIC
//─────────────────────────────────────────────
// Touch → BYTE → Cross → Full → Mimicry
//
// Touch – White greets Blue; first awareness of shift.
// BYTE – Brief cross; emotional test of conviction.
// Cross – Intentional movement; spiral begins turning.
// Full – Deep alignment; momentum confirmed.
// Mimicry– Other MAs echo the white line; trend resonance.
//
// Each complete cycle is one “breath” of the market.
// Δ1 calibrates. Δ2 observes. Ahoeaaa ⚡
//
//─────────────────────────────────────────────
Session Anchor Lines (Asia, London, NY)it draws a line at each session open ( in relative to the 4 HR candle )
Trend Candles Full ColorThe coloring over the candle sticks isn't showing up on the picture for some reason but when you click on the indicator the color coding will appear on the chart.
Trend Candles Full Color Indicator Explanation The "Trend Candles Full Color" indicator, designed for TradingView, visually enhances candlestick charts by coloring candles based on their position relative to a simple moving average (SMA). Here's how it works and how it can benefit traders: How It Works Input : Adjust the SMA period (default is 20) to define the trend length.
Logic : The indicator compares the closing price of each candle to the SMA: Green Candle : Close is above the SMA (indicating an uptrend).
Red Candle : Close is below the SMA (indicating a downtrend).
Gray Candle : Close equals the SMA (neutral/no clear trend).
Output : Candles (body, wick, and border) are colored green, red, or gray based on the trend, overlaid directly on your price chart.
Benefits and Use Cases Trend-Following Strategies Benefit: Clearly identifies bullish (green) or bearish (red) trends, helping traders ride momentum.
Example: A swing trader using a 20-period SMA can enter long positions when candles turn green (price above SMA) and exit or short when candles turn red, confirming trend reversals.
Reversal Trading Benefit: Gray candles signal indecision near the SMA, often a precursor to reversals.
Example: A day trader might watch for gray candles after a prolonged uptrend (green candles) to anticipate a potential bearish reversal, combining with other indicators like RSI for confirmation.
Scalping Benefit: Quick visual cues for short-term trend changes on lower timeframes.
Example: A scalper on a 5-minute chart can use green candles to confirm quick bullish moves and red candles to avoid counter-trend trades, enhancing decision speed.
Position Sizing or Risk Management Benefit: Color changes highlight trend strength, aiding in adjusting trade size or stops.
Example: A trader might increase position size during strong green candle sequences (sustained uptrend) and tighten stops when gray candles appear, signaling potential trend weakness.
Tips for Use Adjust the MA Length to suit your trading style (e.g., shorter for scalping, longer for swing trading).
Combine with other indicators (e.g., support/resistance, MACD) for better accuracy.
Test on different timeframes to match your strategy.
Recommended MA Length for 1-Minute Charts Short-Term/Scalping (1-5 minute trades):10-period SMA : Very sensitive, ideal for capturing quick price movements in fast markets. May produce more noise (false signals).
20-period SMA : A balanced choice for 1-minute charts, smoothing minor fluctuations while reacting to short-term trends. A great starting point for scalpers.
Intraday Trend Trading (10-30 minute holds):50-period SMA : Captures broader intraday trends, reducing noise but lagging slightly. Suitable for larger moves within a session.
This indicator simplifies trend identification, making it a versatile tool for traders of all styles, from beginners to advanced users!
Recommended MA Length for Swing Trading / Higher Timeframes Swing Trading (holding trades for days to weeks):50-period SMA : A popular choice for swing traders on higher timeframes (e.g., 1-hour or 4-hour charts). It smooths out short-term fluctuations while identifying medium-term trends. Ideal for capturing multi-day swings.
100-period SMA : Slightly longer, this MA is great for confirming stronger, more sustained trends. It’s useful on 4-hour or daily charts for swing traders aiming to ride larger price moves.
Longer-Term Trend Trading (holding for weeks to months):200-period SMA : A classic choice for higher timeframes like daily or weekly charts. It highlights major market trends and is widely used by swing and position traders to filter out noise and focus on long-term direction.
150-period SMA : A middle ground between the 100 and 200 SMA, suitable for daily charts when you want a balance between responsiveness and trend reliability.
ICT London & NY Kill ZonesICT london and NYC kiill zones marked on the chart automatically - use with NY time zone
FX Sessions by m_cptForex Intraday Sessions Indicator, config time in UTC-4. Support 4 main sessions, smooth end-to-start candles mode, without gaps if your sessions has config like:
1) 19:00 - 03:00
2) 02:00 - 03:00
3) 03:00 -11:00
No excluded last candles issue on all TFs.
Working on LTF up to 1h TF since its intraday sessions indicator.
Stop point MMAAn indicator that determines an important stopping area by overcoming the blue candle. The overriding party is determined by buyers or sellers, as it must be confirmed by two candles closing below
30-Week SMA (Fixed)This indicator plots a true 30-week Simple Moving Average (SMA) on any chart, regardless of the selected timeframe.
It uses weekly candle data (via the request.security() function) to calculate the 30-week average and keeps it fixed — meaning the line remains accurate even when you switch to daily, 4-hour, or other timeframes.
The 30-week SMA is a cornerstone of Stan Weinstein’s Stage Analysis strategy, commonly used to identify major trend phases:
Above a rising SMA → bullish (Stage 2 uptrend)
Below a falling SMA → bearish (Stage 4 downtrend)
Use this indicator to maintain a consistent long-term trend filter on all timeframes
Dot traderInterpret Signals: Green triangles indicate buy (e.g., if BTC holds $109k with bullish crossover); red triangles indicate sell (e.g., if it breaks $108k with bearish divergence).
Candle Colors: Green/bullish, red/bearish, orange/overbought (>70 RSI), blue/oversold (<30 RSI).
Alerts: Enable in TradingView for real-time notifications.
Symmetric MA DeviationThis script used the 50 simple moving average and calculates how far the price is from it.
It can be used for looking at extremes in price and bullish / bearish divergence.
Fiyat - 55 EMA Uzaklık SinyaliThis indicator generates a signal when the price moves a certain percentage away from the 55-period Exponential Moving Average (EMA).
It helps traders identify when the market is stretched too far from its mean level, which can indicate potential reversal or continuation zones.
⚙️ How It Works
Calculates the 55 EMA on the selected chart.
Measures the percentage distance between the current price and the 55 EMA.
When the price distance exceeds the user-defined threshold (default: 0.50%), a visual signal (orange triangle) appears on the chart.
The background also highlights the signal candle.
🧩 Inputs
EMA Length: Default = 55 (can be changed).
Distance Threshold (%): Default = 0.50 → Change to detect stronger or weaker price deviations.
Trend Alignment TableThe Trend Alignment Table is a clean, visual tool designed to quickly assess trend direction and alignment across multiple moving averages — without cluttering your chart.
Instead of plotting moving average lines, this indicator displays a compact on-chart table showing each selected MA and its corresponding trend status using color-coded circles.
🧩 How It Works
Each circle represents the relationship between price and its corresponding moving average (MA):
Price vs. MA MA Direction Circle Color Meaning
Above Rising 🟢 Green Bullish continuation
Above Falling 🟡 Yellow Weakening bullishness
Below Falling 🔴 Red Bearish continuation
Below Rising 🟡 Yellow Weakening bearishness
⚙️ Features
Up to 4 customizable moving averages
Type: SMA, EMA, SMMA (RMA), WMA, VWMA
Source: Any price source (close, open, etc.)
Length: Fully adjustable
Dynamic color-coded circles (green, yellow, red by default — fully customizable)
User-selectable table position (top-left, top-right, bottom-left, bottom-right)
Clean visual layout for quick multi-timeframe trend confirmation
📊 Use Cases
Instantly identify trend alignment across short-, medium-, and long-term averages
Confirm trend strength or weakening momentum
Combine with other indicators or strategies for confirmation signals
🧠 Default Settings
MA Type Length Color
MA #1 SMA 5 Green
MA #2 SMA 20 Gold
MA #3 SMA 50 Orange
MA #4 SMA 150 Red
🧰 Created for traders who value clarity.
Whether you trade trends, reversals, or momentum shifts, the Trend Alignment Table gives you a concise, at-a-glance view of the market’s directional structure.
ADR + MOVE BoxADR + Move 20 day average Box for any ticker. Calculates the average daily range as well as the absolute delta from open to close. For Full day as well as NY session only
DCA Percent SignalOverview
The DCA Percent Signal Indicator generates buy and sell signals based on percentage drops from all-time highs and percentage gains from lowest lows since ATH. This indicator is designed for pyramiding strategies where each signal represents a configurable percentage of equity allocation.
Definitions
DCA (Dollar-Cost Averaging): An investment strategy where you invest a fixed amount at regular intervals, regardless of price fluctuations. This indicator generates signals for a DCA-style pyramiding approach.
Gann Bar Types: Classification system for price bars based on their relationship to the previous bar:
Up Bar: High > previous high AND low ≥ previous low
Down Bar: High ≤ previous high AND low < previous low
Inside Bar: High ≤ previous high AND low ≥ previous low
Outside Bar: High > previous high AND low < previous low
ATH (All-Time High): The highest price level reached during the entire chart period
ATL (All-Time Low): The lowest price level reached since the most recent ATH
Pyramiding: A trading strategy that adds to positions on favorable price movements
Look-Ahead Bias: Using future information that wouldn't be available in real-time trading
Default Properties
Signal Thresholds:
Buy Threshold: 10% (triggers every 10% drop from ATH)
Sell Threshold: 30% (triggers every 30% gain from lowest low since ATH)
Price Sources:
ATH Tracking: High (ATH detection)
ATL Tracking: Low (low detection)
Buy Signal Source: Low (buy signals)
Sell Signal Source: High (sell signals)
Filter Options:
Apply Gann Filter: False (disabled by default)
Buy Sets ATL: False (disabled by default)
Display Options:
Show Buy/Sell Signals: True
Show Reference Lines: True
Show Info Table: False
Show Bar Type: False
How It Works
Buy Signals: Trigger every 10% drop from the all-time highest price reached
Sell Signals: Trigger every 30% increase from the lowest low since the most recent all-time high
Smart Tracking: Uses configurable price sources for signal generation
Key Features
Configurable Thresholds: Adjustable buy/sell percentage thresholds (default: 10%/30%)
Separate Price Sources: Independent sources for ATH tracking, ATL tracking, and signal triggers
Configurable Signals: Uses low for buy signals and high for sell signals by default
Optional Gann Filter: Apply Gann bar analysis for additional signal filtering
Optional Buy Sets ATL: Option to set ATL reference point when buy signals occur
Visual Debug: Detailed labels showing signal parameters and values
Usage Instructions
Apply to Chart: Use on any timeframe (recommended: 1D or higher for better signal quality)
Risk Management: Adjust thresholds based on your risk tolerance and market volatility
Signal Analysis: Monitor debug labels for detailed signal information and validation
Signal Logic
Buy signals are blocked when ATH increases to prevent buying at peaks
Sell signals are blocked when ATL decreases to prevent selling at lows
This ensures signals only trigger on subsequent bars, not the same bar that establishes new reference points
Buy Signals:
Calculate drop percentage from ATH to buy signal source
Trigger when drop reaches threshold increments (10%, 20%, 30%, etc.)
Always blocked on ATH bars to prevent buying at peaks
Optional: Also blocked on up/outside bars when Gann filter enabled
Sell Signals:
Calculate gain percentage from lowest low to sell signal source
Trigger when gain reaches threshold increments (30%, 60%, 90%, etc.)
Always blocked when ATL decreases to prevent selling at lows
Optional: Also blocked on down bars when Gann filter enabled
Limitations
Designed for trending markets; may generate many signals in sideways/ranging markets
Requires sufficient price movement to be effective
Not suitable for scalping or very short timeframes
Implementation Notes
Signals use optimistic price sources (low for buys, high for sells), these can be configured to be more conservative
Gann filter provides additional signal filtering based on bar types
Debug information available in data window for real-time analysis
Detailed labels on each signal show ATH, lowest low, buy level, sell level, and drop/gain percentages






















