DAS Levels and BoxesTrading levels mainly used to trade MNQ Futures plus 1-Hour & 4-Hour price range boxes. I define the day trading range from 6:30AM PST to 1PM PST. I define the overnight range from midnight PST to 6:30AM PST. I define the futures market entire range as starting at 3PM PST going overnight and ending at 2PM PST the following day.
The 1-hour box is for scalping and catching smaller moves and are more risky. Enter long or short trade upon 1-hour candle close above & below the mid-line, respectively.
The 4-hour box is for catching larger moves and require more patience. Enter long or short trade upon 4-hour candle close above & below the mid-line, respectively. This is my first indicator so be patient. These are the lines and boxes that I use to trade so I thought it would save time to have them all present in one indicator. This is set up with Pacific Standard Time as default. I may need to adjust later for day light savings time.
Levels include:
Previous Day Low (PDL)
Previous Day High (PDH)
Overnight Low (ONL)
Overnight High (ONH)
Open AM Price
Open PM Price
Indicadores e estratégias
Target Ladder Pro MTF ATR and HIT Confirmation
Target Ladder Pro is a multi-timeframe price-targeting and confirmation system designed to give traders clear, actionable target levels regardless of chart timeframe.
The indicator combines volatility-based ATR targets across multiple higher timeframes with a live, candle-by-candle target engine that confirms when price has objectively reached its projected objective (“HIT”). The result is a structured target ladder that helps traders frame expectations, manage trades, and avoid emotional decision-making.
What makes Target Ladder Pro different:
Multi-Timeframe Target Ladder
ATR-derived targets are calculated for 1H, 4H, Daily, and Weekly timeframes.
Each timeframe can be enabled or disabled independently, allowing traders to focus on a single horizon or view full market structure at once.
Live Active Target + HIT Confirmation
A dynamic target updates with each new candle on the active chart timeframe.
When price reaches the target, a HIT label is printed—objectively confirming completion rather than relying on subjective interpretation.
Historical Target Context
Recent targets are retained on the chart, allowing traders to see how price interacts with previous objectives.
This provides valuable insight into continuation, exhaustion, or reversal behavior.
Deviation Band Context (Optional)
Mean and deviation bands offer visual context for where targets sit relative to recent price distribution.
These bands can be toggled on or off without affecting targets or confirmations.
Clean, Chart-Locked Design
All plots and labels are locked to the price scale and designed for clarity across assets and timeframes.
No repainting or future-looking values are used.
Target Ladder Pro is designed to support entries, exits, partials, and risk planning, while remaining flexible enough for scalpers, swing traders, and higher-timeframe analysts alike.
How to Use This Indicator
1. Choose Your Timeframe Focus
Enable only the target ladders that matter to your strategy (e.g., 4H + Daily for swing trading, or 1H for intraday structure).
2. Identify the Active Target
The active target represents the current volatility-based objective for price. This level updates as new candles form.
3. Watch for HIT Confirmation
When price reaches the active target, a HIT label confirms completion. This can be used for:
Profit-taking
Trade management decisions
Evaluating continuation vs. exhaustion
4. Use the Ladder for Context
Higher-timeframe targets often act as decision zones. Price behavior near these levels can signal:
Trend continuation
Compression and consolidation
Potential reaction or reversal areas
5. Optional: Enable Deviation Bands
Deviation bands provide additional context for whether targets are occurring within typical price behavior or at statistically extended levels.
Best Use Cases
Defining objective profit targets
Managing trades across multiple timeframes
Avoiding premature exits during strong trends
Identifying completed moves versus unfinished structure
QT-1.2QT یک اندیکاتور چندلایه برای تحلیل ساختار زمانی/چرخهای بازار است که چند منطق کلیدی را بهصورت یکپارچه روی چارت نمایش میدهد:
باکسهای چرخهای (Cycle Boxes): تفکیک دقیق چرخهها در تایمفریمهای مختلف (سالانه، ماهانه، هفتگی، روزانه، 90 دقیقه و Micro) با استایل و رنگبندی قابل تنظیم، جهت درک سریع محدودههای زمانی و ساختار بازار.
SSMT (Smart/Structured SMT) چندلایه: شناسایی SMT بر اساس شکست سقف/کف کوارتر قبلی بین چند نماد (Symbol A/B و خود چارت) با سه سطح نمایش (Same / +1 / +2) و سه حالت خروجی (Trigger-only / Prev+Trigger / Line-only). منطق حذف/لغو سیگنالها و پاکسازی خودکار، برای جلوگیری از شلوغی و سیگنالهای منقضی طراحی شده است.
Negative-Correlation SSMT (اختیاری): پشتیبانی از نمایش SMT برای نمادهای همبستگی معکوس با نرمالسازی دادهها (Invert) تا منطق SMT دقیقاً مطابق نسخه اصلی، روی سری معکوس اجرا شود.
PSP Divergence Markers: نمایش اختلاف جهت کندلها بین نمادها (یا حالت Swing در PSP Mode) با مارکرهای سبک و قابل تنظیم، همراه با محدودیت تعداد مارکها برای کنترل منابع.
True Opens by Q2 (TMO/TWO/TDO/TSO/TMSO): ترسیم خطوط «True Open» برای Q2 چرخههای مختلف (ماهانه/هفتگی/روزانه/90m/Micro) با بهروزرسانی پیشرونده و اتصال دقیق به زمان داخل کندل از طریق داده 1 دقیقهای.
این ابزار برای تریدرهایی طراحی شده که به ساختار زمانی، رفتار بینمارکتی (Intermarket) و تایید/عدم تایید شکستها اهمیت میدهند و میخواهند تمام اجزا را در یک اسکریپت سبک و کنترلشده داشته باشند.
English (Description)
QT is a multi-layer, cycle-aware market structure indicator that consolidates several core logics into a single, clean overlay:
Cycle Boxes: Accurate time-cycle segmentation across multiple horizons (Yearly, Monthly, Weekly, Daily, 90m, and Micro) with configurable styling/colors to quickly contextualize price action inside its time structure.
Multi-layer SSMT (Structured SMT): Detects SMT by comparing current breaks vs. the previous quarter’s high/low across multiple symbols (Chart / Symbol A / Symbol B), with three display layers (Same / +1 / +2) and three output modes (Trigger-only / Prev+Trigger / Line-only). Built-in invalidation/cleanup logic helps reduce clutter and expired signals.
Optional Negative-Correlation SSMT: Supports inverse-correlation instruments via series normalization (inversion), allowing the same SSMT engine to run on the inverted series while preserving the original SSMT behavior and rules.
PSP Divergence Markers: Highlights candle-direction mismatches between symbols (or swing-based PSP mode) using lightweight, customizable markers and resource limits for performance control.
True Opens by Q2 (TMO/TWO/TDO/TSO/TMSO): Plots True Open levels for Q2 across cycles (Monthly/Weekly/Daily/90m/Micro), including progressive extensions and precise intra-bar timestamp attachment using 1-minute data when needed.
QT is built for traders who focus on time structure, intermarket confirmation/denial, and disciplined SMT-based signaling, while keeping everything unified, performant, and configurable.
Candle Intelligence🔹 Candle Intelligence (IM-CI)
Candle Intelligence (IM-CI) is a context-only intraday market behavior indicator designed to help traders understand how price is behaving, not where to buy or sell.
This tool classifies individual candles, detects short-term behavioral patterns, and displays a non-blocking market state to improve decision awareness during live trading.
⚠️ IM-CI does NOT generate buy/sell signals.It is strictly intended for market context, confirmation, and study.
🔍 What This Indicator Does
🧠 Candle Intelligence Layer
Each candle is classified based on volatility-adjusted behavior using ATR:
Strong expansion candles
Normal directional candles
Weak / neutral candles
These classifications are shown as compact candle codes (optional) to quickly read price behavior without clutter.
📐 Pattern Recognition (Context Only)
IM-CI detects short, non-predictive behavioral patterns, such as:
Compression
Absorption
Momentum bursts
Distribution
These patterns are displayed as soft zones, not signals, helping traders visually study how price reacts around key moments.
Cooldown logic is used to prevent repetitive pattern noise.
🌐 Market State Engine
The indicator continuously evaluates recent candle behavior and VWAP positioning to describe the current market condition, such as:
Expansion
Extended
Distribution
Balanced
This state is shown in a small HUD panel and is designed to:
Reduce emotional over-trading
Identify unsuitable market conditions
Improve alignment with higher-probability environments
⚙️ Key Features
ATR-aware candle classification
VWAP extension detection
Timeframe-adaptive candle code visibility
Non-repainting logic
Clean, lightweight HUD panel
Designed for intraday futures & index trading
🛠 How to Use
Use IM-CI as a context filter, not a trigger
Combine with your own execution system
Avoid trading during Extended or unclear states
Best suited for lower timeframes (1–5 min)
⚠️ Disclaimer
This indicator is provided for educational and informational purposes only. It does not constitute financial advice and should not be used as a standalone trading system.
All trading decisions remain the sole responsibility of the user.
Momentum Clarity Engine📘 Description - Momentum Clarity Engine
Momentum Clarity Engine (MC-Engine) is a visual momentum-context indicator designed to help traders clearly identify trend direction, momentum strength, and low-quality market conditions using a disciplined combination of MACD and RSI.
Rather than generating buy or sell signals, MC-Engine focuses on clarity and risk control by visually classifying price action into intuitive momentum states and highlighting periods where trading conditions are unfavorable.
🔍 How it works
The indicator combines:
MACD Histogram → momentum direction and strength
RSI → bullish vs bearish pressure balance
Based on this confluence, price candles are colored to reflect market state:
Strong Bullish Momentum → Dark Green (solid)
Weak Bullish Momentum → Light Green (transparent)
Strong Bearish Momentum → Dark Red (solid)
Weak Bearish Momentum → Light Red (transparent)
No-Trade Zone → Muted Orange (high transparency)
Candle opacity dynamically adapts to MACD histogram strength, allowing traders to visually sense when momentum is expanding, weakening, or lacking conviction.
🟠 No-Trade Zone (Key Feature)
The No-Trade zone highlights periods of:
Low momentum
RSI balance / indecision
Choppy or transitional price action
These conditions often result in poor risk-reward.
The muted orange color is intentionally designed to encourage patience and discipline.
✅ How to use MC-Engine
MC-Engine is best used as a trade filter and context tool, not as a standalone strategy.
Common use cases:
Confirming trend strength before entries
Avoiding trades during low-momentum chop
Filtering breakouts and pullbacks
Intraday trading on 1-minute to 15-minute charts
Futures, indices, equities, and crypto markets
Recommended to pair with:
Market structure
Trendlines
VWAP
Support & resistance
Higher-timeframe context
⚠️ Important Notes
This indicator does not provide buy or sell signals
No repainting or future-looking logic
Designed for educational and analytical purposes only
Always apply proper risk management
🧠 Philosophy
The goal is not to trade more —
the goal is to trade when conditions are clear.
Momentum Clarity Engine helps traders participate during strong momentum and stand aside during uncertainty.
EvilAI | Survival SizerPosition sizing that adapts to market conditions. Define how many losses you can survive — the indicator calculates optimal size using ATR and volatility regime detection.
█ FEATURES
- Survival-based sizing — set losses to endure, not arbitrary risk %
- Volatility-adjusted positions:
└─ LOW vol: Size ↑ (be aggressive when markets are calm)
└─ NORMAL: Baseline sizing
└─ HIGH vol: Size ↓ (get defensive when chaos rises)
└─ EXTREME: Size ↓↓ (protect capital at all costs)
- ATR + Historical Volatility combined for regime detection
- Auto contract selection (GC/MGC, NQ/MNQ)
- Color-coded risk warnings
█ DESIGNED FOR
Prop firm traders (FundedNext, Topstep, Apex) who need adaptive risk management. When volatility spikes, you automatically size down. When markets are calm, you can push harder. All while respecting your survival floor.
█ HOW IT WORKS
1. Set your daily drawdown limit ($2,000)
2. Set target survivable losses (10)
3. Indicator calculates: $2,000 ÷ 10 = $200 max risk per trade
4. ATR determines stop distance → position size
5. Volatility regime adjusts final size up or down
6. Auto mode selects micro vs full contracts
█ DISPLAY
- Compact mode: Contracts, risk, survival count, vol regime
- Full mode: Complete breakdown with percentiles
- Survival shows actual vs target (e.g., "12L / 10L")
█ COLOR CODES
- Green: Meeting or exceeding survival target
- Yellow: Close to target / capped at max
- Cyan: Boosted (low volatility)
- Purple: Reduced (high volatility)
- Red: Below target — reconsider your sizing
Stop blowing accounts. Size positions properly.
CANSLIM Indicators plus FCF and stocks momentumThis is a comprehensive Trading View indicator that combines technical analysis with fundamental analysis to help you identify high-quality stock opportunities, inspired by IBD/CANSLIM methodology.
This indicator is an enhancement from @Fred6724 code base. Thanks @Fred6724 a lot!! With Claude assistance I enhanced to suit my need.
You now have a really powerful indicator that combines:
✅ Technical chart patterns (Cup, Double Bottom, Bases)
✅ Relative Strength analysis
✅ Complete fundamental dashboard with EPS, Sales, FCF, Margins, ROE
✅ Toggle ON/OFF the dashboard for clean charts
✅ Color-coded negative values
✅ Stock Bee momentum indicator
This is a professional-grade tool for finding high-quality growth stocks with strong fundamentals breaking out of proper bases. The FCF addition was done based on some model stocks study - it's one of the best indicators of real business quality!
First, I check for sales growth, if accelerating more good. Then if profitable(EPS) excellent, if not how is FCF.
With sales growth and FCF improving - you don't want to miss a strong monster stock - Study NYSE:CVNA and NASDAQ:ROOT
And finally— KISS . You don’t need to be a wizard of indicators or memorize every stock on the planet. Your real edge is staying simple: take clean setups, manage your risk like a pro, and let disciplined long‑term or swing trades compound your money.
If you need any other enhancements in the future, feel free to reach out. Happy trading! 📈
ADX MomentumBlue: ADX is Rising (Strong Buy Zone).
White: ADX is Falling (Fade/Take Profit Zone).
Red: Bears are in control
4 EMA Flexible with CrossoversOverview
This indicator is a highly customizable multi-EMA (Exponential Moving Average) suite designed for trend followers and momentum traders. Unlike standard EMA indicators, this script provides four independent EMAs, each with its own horizontal Offset parameter, allowing traders to shift averages forward or backward to account for market lag or cycles.
It is specifically built for traders who use a "Triple EMA" or "Quad EMA" setup to filter trends across different timeframes while looking for precise entry triggers.
Key Features
4 Independent EMAs: Fully customizable length and color for each average.
Horizontal Offsets: Each EMA can be shifted horizontally (left or right) to align with specific market structures or to create "lead" indicators.
Crossover Detection: The script automatically monitors EMA 1 and EMA 2 for crossovers.
Golden Cross (Cross Up): Signals potential bullish momentum.
Death Cross (Cross Down): Signals potential bearish momentum.
Visual Labeling: Includes intuitive on-chart shapes (Triangle Up/Down) and text labels to ensure you never miss a crossover event.
Alert Integration: Native support for TradingView alerts. You can set notifications for Bullish and Bearish crossovers with a single click.
How to Use
Trend Filtering: Use the 4th EMA (default 200) as your "Trend Filter." Only take Long signals when price is above this line and Short signals when below.
Signal Generation: Use the first two EMAs (default 21 and 30) to generate entry signals. When they cross in the direction of the higher-order trend, it indicates a high-probability entry point.
Offset Tuning: Use the Offset feature to shift your signal EMAs forward (positive values) if you want to avoid "whipsaws" in a sideways market.
Settings
EMA 1 & 2: Primary signal lines. Crossovers are calculated based on these two inputs.
EMA 3 & 4: Secondary trend lines for support/resistance and trend direction.
Offset: Adjusts the horizontal placement of the line (positive for right, negative for left).
Trend Speed Analyzer with Entries (Zeiierman)📈 Trend Speed Analyzer with Entry Signals (Zeiierman – Modified)
🔹 Overview
This indicator is a trend-following momentum system built around an adaptive (dynamic) moving average and a proprietary trend speed / wave strength engine.
It is designed to identify high-quality continuation entries after price confirms direction, not to predict tops or bottoms.
Best suited for:
Index futures (ES, NQ)
ETFs (SPY, QQQ)
Strongly trending stocks
Intraday or swing trading
🔹 Core Concepts
1️⃣ Dynamic Trend Line (Adaptive EMA)
Instead of using a fixed EMA length, this script dynamically adjusts:
EMA length based on normalized price movement
EMA responsiveness using an accelerator factor
Result:
Fast reaction during strong trends
Smooth behavior during choppy markets
Fewer false flips compared to traditional EMAs
This trend line acts as the primary regime filter.
2️⃣ Trend Speed & Wave Analysis
The indicator tracks trend speed, which represents cumulative directional pressure over time.
It also records:
Bullish wave sizes
Bearish wave sizes
Average vs maximum wave strength
Bull/Bear dominance
These statistics are displayed in an optional table to help assess:
Market bias
Momentum asymmetry
Whether the current move is weak, average, or exceptional
🔹 Entry Signal Logic (One Signal per Trend Shift)
Signals are not spammy.
Only one entry signal is allowed per crossover.
Long Entry Conditions
A long signal is generated when:
Price crosses above the dynamic trend line
A bullish candle forms
The candle body is at least X% of ATR (filters weak/doji candles)
The entire candle body is above the trend line
(Optional) Trend speed is positive
Short Entry Conditions
A short signal is generated when:
Price crosses below the dynamic trend line
A bearish candle forms
The candle body is at least X% of ATR
The entire candle body is below the trend line
(Optional) Trend speed is negative
📌 Once a signal fires, no additional signals will appear until a new crossover occurs.
🔹 What this indicator is NOT
❌ Not a mean-reversion system
❌ Not a prediction tool
❌ Not meant for sideways markets
This tool assumes structure → confirmation → continuation.
🔹 How to Trade It (Suggested Use)
Use higher timeframes (5m–30m) for cleaner signals
Trade in the direction of higher-timeframe bias
Combine with:
VWAP
Key levels (PDH / PDL / PMH / PML)
Market session context
🔹 Customization
Adjust Maximum Length for smoother vs faster trends
Adjust Accelerator Multiplier for sensitivity
Enable/disable speed filter for stricter momentum confirmation
ATR candle filter removes weak signals automatically
⚠️ Disclaimer
This indicator provides technical signals only and does not include trade management, stops, or targets.
Always apply proper risk management.
Mashrab | Momentum X-Ray Stop guessing if a stock is a "Leader" or a "Laggard." The Mashrab Momentum X-Ray is a professional Heads-Up Display (HUD) that tells you the true strength of any stock in seconds.
Designed for serious swing traders and breakout specialists (similar to the styles of Qullamagie, Mark Minervini, and IBD), this tool ignores the noise and focuses on the only things that matter: Relative Strength, Volume Fuel, and Fundamental Health.
🚀 Key Features (What it does)
1. The "Smart" Relative Strength Engine
Most indicators blindly compare every stock to the S&P 500. This dashboard is smarter.
It automatically scans the stock’s Industry (e.g., Semiconductors, Gold Miners, Regional Banks).
It compares the stock’s performance against its specific peers (e.g., NVDA vs. SMH ETF) and the market benchmark (SPY).
Green Signal: The stock is beating both the market and its sector. This is a "True Leader."
2. IBD-Style RS Rating (1-99 Scale)
Get the "Secret Sauce" of institutional screening directly on your chart.
Calculates a weighted performance score: 40% (Last 3 Months) + 20% (6m, 9m, 12m).
The Scale:
90–99 (Lime Green): Elite Super-Stock.
80–89 (Green): Strong Leader / Breakout Candidate.
< 50 (Red): Laggard / Avoid.
3. Momentum "Fuel" Gauge (RVol)
Price moving up is good. Price moving up on massive volume is better.
The RVol (Relative Volume) row lights up Yellow or Purple when volume is 1.5x to 3x higher than normal. This detects "Institutional Buying" footprints.
4. "Blue Sky" Detector
Instantly see how close the price is to its 52-Week High.
Stocks within 5% of their highs (Green) have no "overhead supply" (bag holders) and can run the fastest.
👀 How to Read the Dashboard
Top Table (Tactical Momentum)
RS vs SPY / Sector: Look for DOUBLE GREEN. This means the stock is the "King of the Hill."
RVol: Look for > 1.5x (Yellow). This means big players are entering the trade.
Bottom Table (Strategic Context)
IBD RS Rating: Look for a score of 80 or higher.
ADR (20): Shows the "Average Daily Range" volatility. (e.g., 4.5% means the stock moves ~4.5% a day). Use this to size your position correctly!
Industry: Tells you exactly which ETF is being used for comparison (e.g., "Semiconductors (SMH)").
⚙️ Settings & Customization
Benchmark: Change the default SPY to QQQ (for Tech), IWM (for Small Caps), or BTCUSD (for Crypto) to fit your strategy.
Lookback: Defaults to 26 Bars (Standard Monthly Momentum), but fully adjustable.
Text Size: Make the tables larger or smaller to fit your screen.
"Trade the Leaders, Ignore the Laggards."
DEMA20 + VWAP200 + CHoCH BigBeluga + Daily Candle de NatantiaTo simplify things for traders like me who are just starting out with limited resources, I'm offering this indicator that aggregates other well-known and configurable indicators:
- 2 DEMA 20,
- 1 VWAP 200,
- BigBeluga's Choch Pattern indicator,
- Nanantia's Daily Candle indicator.
I recommend combining this indicator with an RSI divergence that displays 30%, 50%, and 70%, as well as a kill zone indicator for those trading Asian reversal or OPR.
This indicator is particularly powerful when the candles are displayed in Heikin Ashi mode.
Happy trading, and thanks to the community of passionate developers and to chatGPT.
Simple Perps Calculator## Simple Perps Calculator (Long & Short)
A lightweight on-chart trade calculator that visualizes **entry, take-profit, and liquidation levels** with leverage-adjusted returns — designed for fast planning and clean charts.
This indicator automatically detects **long or short positions** based on your target price and adjusts calculations accordingly. All key levels are displayed as **colored horizontal price lines** with matching labels positioned near the price scale for easy reference.
---
### Features
- Entry, Take-Profit, and Liquidation price levels
- Automatic **long / short detection**
- Leverage slider up to **1000×**
- Leveraged **percent gain** calculation
- Color-coded horizontal price lines:
- 🟡 Entry
- 🟢 Take-Profit
- 🔴 Liquidation
- Adjustable label positioning (left or right of chart)
- Horizontal offset control to move labels out of the way
- Clean, minimal, non-intrusive design
---
### How to Use
1. Set your **Entry Price**
2. Set your **Target Price**
3. Adjust **Leverage**
4. Move labels using the **horizontal offset** slider if needed
If the target price is above entry, the script assumes a **long** position. If below, it assumes a **short** position and places the liquidation level above entry automatically.
---
### Notes
- Liquidation price uses a simplified isolated-margin model
- Intended for **planning and visualization only**
- Actual exchange liquidation prices may vary due to fees and maintenance margin requirements
EMA Slope CheckerWhat it does: Shows slope/angle of EMA 9, 20, and 50 simultaneously on separate lines.
What it tells you:
EMA 50 slope = Trend direction (bullish/bearish)
EMA 20 slope = Setup strength at FVG zones
EMA 9 slope = Entry timing/momentum
Key feature: Table with arrows showing if each EMA is rising (↑) or falling (↓).
For your FVG system: Tells you if all 3 EMAs are aligned before entering a trade.
Intervalo de la confianzaIntervalo de la confianza de varias temporaliades usando VWMA.
-Medir el FOMO y el FUD
Last Swing Anchor Zones - EnhancedLast Swing Anchor Zones automatically identifies major swing highs and lows on your chart and draws shaded reaction zones around them. These zones represent potential support and resistance areas where price may react.
How It Works:
• Detects pivot points using a customizable lookback period (default: 6 bars)
• Creates semi-transparent zones around each swing point
• Displays up to 3 most recent zones (configurable)
• Shows price labels for quick reference
• Zones extend forward to highlight future price interaction areas
How to Use:
• Teal/cyan zones = resistance levels (swing highs)
• Red/pink zones = support levels (swing lows)
• Look for price reactions when approaching these zones
• Use as confluence with your existing trading strategy
• Adjust zone width % to match your timeframe and volatility
Customizable Settings:
• Pivot Lookback: Change sensitivity (lower = more zones, higher = fewer major swings)
• Zone Width %: Adjust zone thickness
• Max Zones: Display 1-10 recent zones
• Colors: Customize zone and label colors
• Show Labels: Toggle price labels on/off
Aurora Volatility Bands [JOAT]Aurora Volatility Bands - Dynamic ATR-Based Envelope System
Introduction and Purpose
Aurora Volatility Bands is an open-source overlay indicator that creates multi-layered volatility envelopes around price using ATR (Average True Range) calculations. The core problem this indicator solves is that static bands (like fixed percentage envelopes) fail to adapt to changing market conditions. During high volatility, static bands are too tight; during low volatility, they're too wide.
This indicator addresses that by using ATR-based dynamic bands that automatically expand during volatile periods and contract during quiet periods, providing contextually appropriate support/resistance levels at all times.
Why These Components Work Together
The indicator combines three analytical approaches:
1. Triple-Layer Band System - Inner (1x ATR), Outer (2x ATR), and Extreme (3x ATR) bands provide graduated levels of significance
2. Volatility State Detection - Compares current ATR to historical average to classify market regime
3. Multiple MA Types - Allows customization of the center line calculation method
These components complement each other:
The triple-layer system gives traders multiple reference points - inner bands for normal moves, outer for significant moves, extreme for rare events
Volatility state detection tells you WHEN bands are expanding or contracting, helping anticipate breakouts or mean-reversion
MA type selection lets you match the indicator to your trading style (faster EMA vs smoother SMA)
How the Calculation Works
The bands are calculated using ATR multiplied by configurable factors:
float atr = ta.atr(atrPeriod)
float innerUpper = centerMA + (atr * innerMult)
float outerUpper = centerMA + (atr * outerMult)
float extremeUpper = centerMA + (atr * extremeMult)
Volatility state is determined by comparing current ATR percentage to its historical average:
float atrPercent = (atr / close) * 100
float avgAtrPercent = ta.sma(atrPercent, volatilityLookback)
float volatilityRatio = atrPercent / avgAtrPercent
bool isExpanding = volatilityRatio > 1.2 // 20%+ above average
bool isContracting = volatilityRatio < 0.8 // 20%+ below average
Signal Types
Band Touch - Price reaches inner, outer, or extreme bands
Mean Reversion - Price returns to center after touching outer/extreme bands
Breakout - Sustained move beyond outer bands during volatility expansion
Dashboard Information
Volatility - Current state (EXPANDING/CONTRACTING/NORMAL)
Vol Ratio - Current volatility vs average (e.g., 1.5x = 50% above average)
ATR - Current ATR value
ATR % - ATR as percentage of price
Zone - Current price position (EXTREME HIGH/UPPER ZONE/CENTER ZONE/etc.)
Position - Price position as percentage within band structure
Width - Total band width as percentage of price
Using SMA in settings:
How to Use This Indicator
For Mean-Reversion Trading:
1. Wait for price to touch outer or extreme bands
2. Check that volatility state is NORMAL or CONTRACTING (not expanding)
3. Look for reversal candlestick patterns at the band
4. Enter toward center MA with stop beyond the band
For Breakout Trading:
1. Wait for volatility state to show EXPANDING
2. Look for price closing beyond outer bands
3. Enter in direction of breakout
4. Use the band as trailing stop reference
For Volatility Analysis:
1. Monitor volatility ratio for regime changes
2. CONTRACTING often precedes large moves (squeeze)
3. EXPANDING confirms trend strength
Using VWMA and Mean Reversion Signal/MR:
Input Parameters
ATR Period (14) - Period for ATR calculation
Inner/Outer/Extreme Multipliers (1.0/2.0/3.0) - Band distance from center
MA Type (EMA) - Center line calculation method
MA Period (20) - Period for center line
Volatility Comparison Period (20) - Lookback for volatility state
Timeframe Recommendations
15m-1H: Good for intraday mean-reversion
4H-Daily: Best for swing trading and breakout identification
Weekly: Useful for position trading and major level identification
Limitations
ATR-based bands lag during sudden volatility spikes
Mean-reversion signals can fail in strong trends
Breakout signals may whipsaw in ranging markets
Works best on liquid instruments with consistent volatility patterns
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. The source code is fully visible and can be studied to understand how each component works.
This indicator does not constitute financial advice. Band touches do not guarantee reversals. Past performance does not guarantee future results. Always use proper risk management, position sizing, and stop-losses.
- Made with passion by officialjackofalltrades
Quarter Point Autopilot v2.0.0Hello traders,
I am pleased to release the Quarter Point Autopilot . This is a specialized structural framework designed to impose mathematical order on price action by synthesizing major market cycles with fractal geometric subdivisions.
Defining accurate Support and Resistance often presents a dilemma: rely on subjective, manually drawn lines that vary from trader to trader, or clutter charts with lagging moving averages. The Quarter Point Autopilot solves this by quantifying "Algorithmic Geometry." It eliminates subjectivity by projecting a universal grid based on the mathematical quarter-points that institutional algorithms utilize to execute orders.
📐 The Concept: Algorithmic Geometry
To the untrained eye, price movement can appear chaotic or random. However, professional analysis reveals that markets move in measured "Steps." Large institutions do not place orders at random numbers; they utilize specific mathematical fractions of a Major Cycle to manage liquidity.
This indicator is specifically engineered to visualize this hidden framework. By defining a "Major Cycle" (Point A and Point B), the script calculates the entire universe of the chart. It mathematically subdivides the range into Halves, Quarters, Eighths, and Sixteenths, highlighting the precise levels where price creates "Structure" and where algorithmic reactions are most likely to occur.
⚙️ The Autopilot Logic: Infinite Scroll
In previous iterations of quarter-theory tools, traders were forced to manually redraw grids as price expanded into new territories.
This version introduces the "Autopilot" engine ( current_base logic ). The script dynamically detects which "Block" price is currently trading within and automatically projects the grid forward and backward in real-time. Whether price rallies 1,000 points or drops 500, the mathematical subdivisions snap to the correct integer block immediately, ensuring you never trade without context.
📊 Fractal Hierarchy
Not all levels are created equal. The indicator uses a visual hierarchy to help you distinguish the strength of a level at a glance:
Major Cycle: The "Hard Deck" boundaries of the range (0% / 100%).
Half-Major: The Equilibrium of the cycle (50%).
Large Quarters: The standard deviation points (25% / 75%).
Mid & Small Quarters: The granular detail (Eighths and Sixteenths) for precision entries.
User Guide:
Simply input two "Major Cycle Points" (a significant High and Low) in the settings. The script calculates the "Step Size" and handles the rest, projecting the grid relative to current price action.
Settings Include:
Calculation Group: Set your Point A and Point B to define the grid size.
Visual Group: Toggle the upper/lower buffers and customize the lookback/lookforward lengths to keep your chart clean.
Label Group: Choose to see Level Names, Prices, or both.
QUARTERLY THEORY TRUE OPENSQUARTERLY THEORY TRUE OPENS
Multi-cycle True Open indicator based on quarterly cycle theory, with precise cycle-begin termination logic.
OVERVIEW
TRUE OPENS (Cycle Q2) plots the True Open (Q2 open) across multiple market cycles and extends each level only until the next cycle begins.
This mirrors how price actually respects quarterly structure: a True Open is relevant only within its active cycle.
The indicator uses New York (exchange) time, is DST-aware, and relies on a 1-minute event engine to ensure accuracy and visibility across all intraday and higher timeframes — even when candle opens do not align with exact timestamps (e.g., 4H, Daily, Weekly charts).
WHAT IS A TRUE OPEN?
In quarterly cycle theory, each cycle is divided into four quarters (Q1–Q4).
The Q2 opening price — the True Open — often acts as:
A gravitational price level
A premium/discount reference
A mean price the market revisits during the cycle
This indicator tracks those Q2 opens across Micro, Session, Daily, Weekly, Monthly, and Yearly cycles, while respecting each cycle’s actual beginning and end.
CYCLES & DEFINITIONS
All times are New York (Exchange Time).
Micro Cycle
True Opens (Q2):
:22:30 and :52:30
Automatically rounded down on the 1-minute chart (:22, :52)
Cycle Begins:
18:45, 19:30, 20:15, 21:00
Repeats every 45 minutes, anchored at 18:45
Session Cycle (6-Hour)
True Opens (Q2):
19:30, 01:30, 07:30, 13:30
Cycle Begins:
18:00, 00:00, 06:00, 12:00
Daily Cycle
True Open (Q2):
00:00
Cycle Begins:
18:00
Weekly Cycle
True Open (Q2):
Monday 18:00
Cycle Begins:
Sunday 18:00
Monthly Cycle
True Open (Q2):
Second Monday of the month at 00:00
Cycle Begins:
First Sunday of the month at 18:00
Yearly Cycle
True Open (Q2):
First weekday of April at 00:00
Cycle Begins:
First Sunday of the year at 18:00
VISUAL LOGIC
Each True Open is plotted as a horizontal dotted line
The line:
Starts exactly at the True Open candle
Ends automatically when the next cycle begins
When a cycle ends, its line is finalized (solid)
Each cycle is handled independently
Optional labels are placed just after the line end, aligned mid-right
LABELS
Optional, concise labels for clarity:
TMSO — Micro True Open
TSO — Session True Open
TDO — Daily True Open
TWO — Weekly True Open
TMO — Monthly True Open
TYO — Yearly True Open
Text size is fully configurable (Tiny → Large).
TIMEFRAME VISIBILITY (AUTO MODE)
To keep charts clean and relevant, cycles auto-hide above sensible timeframes:
Micro: ≤ 1-minute
Session: ≤ 5-minute
Daily: ≤ 15-minute
Weekly: ≤ 1-hour
Monthly: ≤ 4-hour
Yearly: ≤ Weekly
A Custom mode allows full manual control.
TECHNICAL FEATURES
Pine Script v6
No repainting
No future leakage
No bar-index assumptions
DST-aware New York time handling
1-minute event engine ensures:
Monthly levels appear on 4H charts
Yearly levels appear correctly when history exists
Performance-safe (no loops, no heavy arrays)
HOW TO USE
Use Micro & Session True Opens for precision intraday entries
Use Daily & Weekly True Opens for bias and mean-reversion context
Look for confluence when multiple True Opens align near the same price
Respect cycle boundaries — once a cycle begins, its prior True Open loses relevance
IMPORTANT NOTES
Yearly True Opens require chart history that includes April
Continuous contracts (e.g., ES1!, NQ1!) are recommended for futures
Works on Forex, Futures, Indices, Crypto, and Stocks
DISCLAIMER
This indicator is for educational and informational purposes only.
It does not constitute financial advice. Past performance is not indicative of future results.
Always manage risk responsibly.
Biller Project//@version=6
indicator("Hoon Fib Project", shorttitle ="Hoon Fib", overlay = true, max_bars_back = 5000)
// -----------------------------------------------------------------------------
// ~~ Tooltips & Constants
// -----------------------------------------------------------------------------
var string t1 = "Period: Number of bars used to detect swing highs and swing lows."
var string t2 = "Projection Level: Fibonacci ratio used to calculate the projected future targets."
var string t2_b = "Trend Projection Ratio: The secondary Fibonacci ratio for extensions."
var string t15 = "Fib Volume Profile: Enable volume profile drawn between the last swing high and low."
var string t20 = "Fib Volume Delta: Enable volume delta profile between Fibonacci price bands."
// -----------------------------------------------------------------------------
// ~~ Inputs
// -----------------------------------------------------------------------------
// Group: General Settings
prd = input.int(100, "Period", group = "Fib Settings", tooltip = t1)
lvl = input.float(0.618, "Projection Level", options = , group = "Fib Settings", tooltip = t2)
trendFibbRatio = input.float(1.272, "Trend Projection Ratio", step = 0.001, group = "Fib Settings", tooltip = t2_b)
// Group: Fib Levels Style
fibLvl1 = input.float(0.236, "Level 1", group = "Fib Levels Style", inline = "f1")
fibColor236 = input.color(#f23645, "", group = "Fib Levels Style", inline = "f1")
fibLvl2 = input.float(0.382, "Level 2", group = "Fib Levels Style", inline = "f2")
fibColor382 = input.color(#81c784, "", group = "Fib Levels Style", inline = "f2")
fibLvl3 = input.float(0.500, "Level 3", group = "Fib Levels Style", inline = "f3")
fibColor500 = input.color(#4caf50, "", group = "Fib Levels Style", inline = "f3")
fibLvl4 = input.float(0.618, "Level 4", group = "Fib Levels Style", inline = "f4")
fibColor618 = input.color(#089981, "", group = "Fib Levels Style", inline = "f4")
fibLvl5 = input.float(0.786, "Level 5", group = "Fib Levels Style", inline = "f5")
fibColor786 = input.color(#64b5f6, "", group = "Fib Levels Style", inline = "f5")
// Golden Pocket - FIXED COLOR HERE
showGP = input.bool(true, "Show Golden Pocket (0.65)", group = "Fib Levels Style")
gpColor = input.color(color.new(#FFD700, 85), "GP Color", group = "Fib Levels Style")
fibLineWidth = input.int(2, "Fib Line Width", minval = 1, maxval = 5, group = "Fib Levels Style")
showlab = input.bool(true, "Show Labels", group = "Fib Levels Style", inline = "fiblab")
fibLabelColor = input.color(color.white, "Text Color", group = "Fib Levels Style", inline = "fiblab")
fibLabelSizeStr = input.string("Small", "Size", options = , group = "Fib Levels Style", inline = "fiblab")
fibLabelSize = switch fibLabelSizeStr
"Tiny" => size.tiny
"Small" => size.small
"Large" => size.large
=> size.normal
// Group: Swing High/Low Lines
loLineColor = input.color(color.new(color.green, 0), "Low Line", group = "Swing High/Low Lines Style", inline = "hi")
hiLineColor = input.color(color.new(color.red, 0), "High Line", group = "Swing High/Low Lines Style", inline = "hi")
hiloLineWidth = input.int(2, "Width", 1, 5, group = "Swing High/Low Lines Style", inline = "hi")
// Group: Fib Volume Profile
showFibProfile = input.bool(true, "Show Volume Profile", group = "Fib Volume Profile", tooltip = t15)
rows = input.int(24, "Rows", 2, 100, group = "Fib Volume Profile")
flipOrder = input.bool(false, "Flip Bull/Bear", group = "Fib Volume Profile")
bull_color = input.color(color.new(color.teal, 30), "Bull Vol", group = "Fib Volume Profile", inline = "volColor")
bear_color = input.color(color.new(color.orange, 30), "Bear Vol", group = "Fib Volume Profile", inline = "volColor")
showVolText = input.bool(true, "Show Values", group = "Fib Volume Profile", inline = "vtxt")
// Point of Control (POC)
showPOC = input.bool(true, "Show POC Line", group = "Fib Volume Profile")
pocColor = input.color(color.yellow, "POC Color", group = "Fib Volume Profile")
// Group: Fib Volume Delta
showFibDelta = input.bool(false, "Show Volume Delta", group = "Fib Volume Delta Profile", tooltip = t20)
deltaMaxWidth = input.int(30, "Max Width (Bars)", minval = 5, maxval = 200, group = "Fib Volume Delta Profile")
deltaBullColor = input.color(color.new(color.lime, 80), "Bull Delta", group = "Fib Volume Delta Profile", inline = "dc")
deltaBearColor = input.color(color.new(color.red, 80), "Bear Delta", group = "Fib Volume Delta Profile", inline = "dc")
// Group: Projection Style
projLineBullColor = input.color(color.new(color.green, 0), "Proj Bull", group = "Projection Style", inline = "plc")
projLineBearColor = input.color(color.new(color.red, 0), "Proj Bear", group = "Projection Style", inline = "plc")
projLineWidth = input.int(2, "Width", 1, 5, group = "Projection Style", inline = "plc")
projLineStyleStr = input.string("Arrow Right", "Style", options = , group = "Projection Style")
projLineStyle = switch projLineStyleStr
"Solid" => line.style_solid
"Dashed" => line.style_dashed
"Dotted" => line.style_dotted
=> line.style_arrow_right
// Group: Projection Box
projBoxBgOn = input.bool(true, "Box Bg", group = "Projection Box Style", inline = "pbg")
projBoxBgColor = input.color(color.new(color.blue, 80), "", group = "Projection Box Style", inline = "pbg")
projBoxTextColor = input.color(color.white, "Text", group = "Projection Box Style", inline = "pbg")
// NEW: Biller's Info Box Inputs
showBillerBox = input.bool(true, "Show Biller's Insight", group = "Biller's Insight")
billerPos = input.string("Top Right", "Position", options = , group = "Biller's Insight")
// -----------------------------------------------------------------------------
// ~~ Calculations
// -----------------------------------------------------------------------------
// Swing detection
hi = ta.highest(high, prd)
lo = ta.lowest(low, prd)
isHi = high == hi
isLo = low == lo
HB = ta.barssince(isHi)
LB = ta.barssince(isLo)
hiPrice = ta.valuewhen(isHi, high, 0)
loPrice = ta.valuewhen(isLo, low, 0)
hiBar = ta.valuewhen(isHi, bar_index, 0)
loBar = ta.valuewhen(isLo, bar_index, 0)
// Persistent Drawing Objects
var line hiLine = line.new(na, na, na, na, color = hiLineColor, width = hiloLineWidth)
var line loLine = line.new(na, na, na, na, color = loLineColor, width = hiloLineWidth)
var array fibbLines = array.new_line()
var array fibbLabels = array.new_label()
var array gpBoxes = array.new_box()
var array forecastLines = array.new_line()
var array areas = array.new_box()
var array perc = array.new_label()
var array fibProfileBoxes = array.new_box()
var array pocLines = array.new_line()
var array fibDeltaBoxes = array.new_box()
// Helper Functions
fibbFunc(v, last, h, l) => last ? h - (h - l) * v : l + (h - l) * v
cleaner(a, idx) =>
if idx >= 0 and idx < array.size(a)
el = array.get(a, idx)
if not na(el)
el.delete()
array.remove(a, idx)
// -----------------------------------------------------------------------------
// ~~ Logic Execution
// -----------------------------------------------------------------------------
if not na(HB) and not na(LB) and not na(hiPrice) and not na(loPrice)
// 1. Update Swing High/Low Lines
line.set_xy1(hiLine, hiBar, hiPrice)
line.set_xy2(hiLine, bar_index, hiPrice)
line.set_color(hiLine, hiLineColor)
line.set_xy1(loLine, loBar, loPrice)
line.set_xy2(loLine, bar_index, loPrice)
line.set_color(loLine, loLineColor)
// 2. Clear old drawings
while array.size(fibbLines) > 0
cleaner(fibbLines, 0)
while array.size(fibbLabels) > 0
cleaner(fibbLabels, 0)
while array.size(gpBoxes) > 0
cleaner(gpBoxes, 0)
while array.size(forecastLines) > 0
cleaner(forecastLines, 0)
while array.size(areas) > 0
cleaner(areas, 0)
while array.size(perc) > 0
cleaner(perc, 0)
// 3. Draw Fib Retracements
lvls = array.from(fibLvl1, fibLvl2, fibLvl3, fibLvl4, fibLvl5)
cols = array.from(fibColor236, fibColor382, fibColor500, fibColor618, fibColor786)
baseOffset = HB > LB ? LB : HB
xFibStart = bar_index - baseOffset
// Golden Pocket Logic
if showGP
gp618 = fibbFunc(0.618, HB < LB, hiPrice, loPrice)
gp65 = fibbFunc(0.65, HB < LB, hiPrice, loPrice)
gpBox = box.new(xFibStart, gp618, bar_index + 5, gp65, bgcolor = gpColor, border_color = na)
array.push(gpBoxes, gpBox)
for in lvls
f = fibbFunc(e, HB < LB, hiPrice, loPrice)
ln = line.new(xFibStart, f, bar_index, f, color = cols.get(i), width = fibLineWidth)
array.push(fibbLines, ln)
if showlab
lbl = label.new(bar_index + 1, f, str.tostring(e * 100, "#.##") + "%",
textcolor = fibLabelColor, style = label.style_label_left, size = fibLabelSize, color = cols.get(i))
array.push(fibbLabels, lbl)
// 4. Draw Projections
bars = math.abs(HB - LB)
fibb = fibbFunc(lvl, LB > HB, hiPrice, loPrice)
fibb2 = LB < HB ? fibbFunc(lvl, true, fibb, loPrice) : fibbFunc(lvl, false, hiPrice, fibb)
trendfibb = LB > HB ? fibbFunc(trendFibbRatio, true, hiPrice, loPrice) : fibbFunc(trendFibbRatio, false, hiPrice, loPrice)
forecast = array.from(HB < LB ? hiPrice : loPrice, fibb, fibb2, trendfibb)
segment = math.min(bars, math.floor(500.0 / 4.0))
future = bar_index
for i = 0 to forecast.size() - 2
y1 = forecast.get(i)
y2 = forecast.get(i + 1)
x2 = math.min(future + segment, bar_index + 500)
// Draw Projection Line
lnForecast = line.new(future, y1, x2, y2, color = y1 < y2 ? projLineBullColor : projLineBearColor, width = projLineWidth, style = projLineStyle)
array.push(forecastLines, lnForecast)
// Draw Target Box
midBoxLeft = x2 - math.round((future - x2) / 4.0)
txtLevel = i == forecast.size() - 2 ? str.tostring(trendFibbRatio, "#.###") : str.tostring(lvl * 100, "#.##")
boxHeight = math.abs(y1 - y2) / 10.0
bx = box.new(midBoxLeft, y2 + boxHeight, x2 + math.round((future - x2) / 4.0), y2 - boxHeight,
bgcolor = projBoxBgOn ? projBoxBgColor : na, border_width = 1,
text = txtLevel, text_color = projBoxTextColor)
array.push(areas, bx)
future += segment
// 5. Volume Profile Logic
if showFibProfile and hiBar != loBar
while array.size(fibProfileBoxes) > 0
cleaner(fibProfileBoxes, 0)
while array.size(pocLines) > 0
cleaner(pocLines, 0)
top = math.max(hiPrice, loPrice)
bottom = math.min(hiPrice, loPrice)
step = (top - bottom) / rows
// Define bins
volUp = array.new_float(rows, 0.0)
volDn = array.new_float(rows, 0.0)
startBar = math.min(hiBar, loBar)
endBar = math.max(hiBar, loBar)
for bi = startBar to endBar
offset = bar_index - bi
if offset < 4999
p = hlc3
v = nz(volume )
isBull = close > open
// Find correct bin
if p >= bottom and p <= top
idx = int((p - bottom) / step)
idx := math.min(idx, rows - 1)
if isBull
array.set(volUp, idx, array.get(volUp, idx) + v)
else
array.set(volDn, idx, array.get(volDn, idx) + v)
// Draw Volume Boxes and Calc POC
maxTot = 0.0
maxTotIdx = 0 // Track index of max volume
for i = 0 to rows - 1
tot = array.get(volUp, i) + array.get(volDn, i)
if tot > maxTot
maxTot := tot
maxTotIdx := i
span = endBar - startBar + 1
blendTxtColor = color.new(color.white, 30)
minWidthForText = 2
if maxTot > 0
for r = 0 to rows - 1
upV = array.get(volUp, r)
dnV = array.get(volDn, r)
if upV + dnV > 0
normUp = int((upV / maxTot) * span)
normDn = int((dnV / maxTot) * span)
yTop = bottom + step * (r + 1)
yBot = bottom + step * r
// Draw Bull Box
if normUp > 0
txtBull = (showVolText and normUp > minWidthForText) ? str.tostring(upV, format.volume) : ""
bxBull = box.new(startBar + (flipOrder ? 0 : normDn), yTop, startBar + (flipOrder ? normUp : normUp + normDn), yBot,
bgcolor = bull_color, border_style = line.style_dotted, border_color = color.new(bull_color, 50),
text = txtBull, text_color = blendTxtColor, text_size = size.tiny, text_halign = text.align_center, text_valign = text.align_center)
array.push(fibProfileBoxes, bxBull)
// Draw Bear Box
if normDn > 0
txtBear = (showVolText and normDn > minWidthForText) ? str.tostring(dnV, format.volume) : ""
bxBear = box.new(startBar + (flipOrder ? normUp : 0), yTop, startBar + (flipOrder ? normUp + normDn : normDn), yBot,
bgcolor = bear_color, border_style = line.style_dotted, border_color = color.new(bear_color, 50),
text = txtBear, text_color = blendTxtColor, text_size = size.tiny, text_halign = text.align_center, text_valign = text.align_center)
array.push(fibProfileBoxes, bxBear)
// Draw POC Line
if showPOC
pocY = bottom + step * (maxTotIdx + 0.5) // Midpoint of max bin
pocLn = line.new(startBar, pocY, bar_index + 10, pocY, color = pocColor, width = 2, style = line.style_solid)
array.push(pocLines, pocLn)
// 6. Volume Delta Logic
if showFibDelta and hiBar != loBar
while array.size(fibDeltaBoxes) > 0
cleaner(fibDeltaBoxes, 0)
fibPrices = array.new_float()
array.push(fibPrices, hiPrice)
array.push(fibPrices, loPrice)
for e in lvls
array.push(fibPrices, fibbFunc(e, HB < LB, hiPrice, loPrice))
array.sort(fibPrices)
bandsCount = array.size(fibPrices) - 1
bandBull = array.new_float(bandsCount, 0.0)
bandBear = array.new_float(bandsCount, 0.0)
startBar = math.min(hiBar, loBar)
endBar = math.max(hiBar, loBar)
for bi = startBar to endBar
offset = bar_index - bi
if offset < 4999
p = hlc3
v = nz(volume )
isBull = close > open
for b = 0 to bandsCount - 1
bLow = array.get(fibPrices, b)
bHigh = array.get(fibPrices, b + 1)
if p >= bLow and p < bHigh
if isBull
array.set(bandBull, b, array.get(bandBull, b) + v)
else
array.set(bandBear, b, array.get(bandBear, b) + v)
break
maxAbsDelta = 0.0
for b = 0 to bandsCount - 1
maxAbsDelta := math.max(maxAbsDelta, math.abs(array.get(bandBull, b) - array.get(bandBear, b)))
if maxAbsDelta > 0
for b = 0 to bandsCount - 1
delta = array.get(bandBull, b) - array.get(bandBear, b)
if delta != 0
widthBars = int((math.abs(delta) / maxAbsDelta) * deltaMaxWidth)
widthBars := math.max(widthBars, 1)
col = delta >= 0 ? deltaBullColor : deltaBearColor
dBox = box.new(startBar - widthBars, array.get(fibPrices, b+1), startBar, array.get(fibPrices, b),
bgcolor = col, border_color = na,
text = "Δ " + str.tostring(delta, format.volume), text_color = color.new(color.white, 20), text_size = size.small)
array.push(fibDeltaBoxes, dBox)
// -----------------------------------------------------------------------------
// ~~ Biller's Info Box Logic
// -----------------------------------------------------------------------------
var table infoTable = table.new(
position = billerPos == "Top Right" ? position.top_right : billerPos == "Bottom Right" ? position.bottom_right : billerPos == "Bottom Left" ? position.bottom_left : position.top_left,
columns = 1,
rows = 3,
bgcolor = color.new(color.black, 40),
border_width = 1,
border_color = color.new(color.white, 80)
)
if showBillerBox and barstate.islast
// Determine Bias: If the last Pivot was a LOW (LB < HB), market is technically trending UP from that low.
bool isBullish = LB < HB
string biasTitle = isBullish ? "🐂 BULLISH BIAS" : "🐻 BEARISH BIAS"
color biasColor = isBullish ? color.new(color.green, 20) : color.new(color.red, 20)
string biasMsg = isBullish ? "Don't look for shorts, Biller!" : "Don't look for longs, Biller!"
// Array of Quotes
string quotes = array.from(
"Biller, you're not gonna pass ur eval looking at the chart all day.",
"Fuck it, go in. I believe in u.",
"Trust JD's Signals.",
"Scared money makes no money, Biller.",
"Evaluation is just a mindset.",
"JD is watching... don't fumble.",
"Are you really gonna take that trade?",
"Wait for the setup, Biller.",
"Don't be a liquidity exit, Biller."
)
int quoteIdx = bar_index % array.size(quotes)
string currentQuote = array.get(quotes, quoteIdx)
// Row 1: Bias Header
table.cell(infoTable, 0, 0, biasTitle, bgcolor = biasColor, text_color = color.white, text_size = size.normal)
// Row 2: Instruction
table.cell(infoTable, 0, 1, biasMsg, text_color = color.white, text_size = size.small)
// Row 3: Motivation/Quote
table.cell(infoTable, 0, 2, "\"" + currentQuote + "\"", text_color = color.yellow, text_size = size.small, text_halign = text.align_center)
ADR/ATR/EMA%ADR%
ATR%
Daily EMA 5% distance
Daily EMA 10% distance
2 Hour EMA 20% distance
20-Day price control
XU100 Index 5/20 control on 4-hour






















