Session Range Boxes(MTF)📦 Indicator Name
Session Range Boxes (MTF)
Multi-Timeframe Directional Session Range Visualization
📘 Description
Session Range Boxes (MTF) is a multi-timeframe market structure tool that visually highlights price range behavior across different time sessions using clean, directional range boxes.
Each box represents the High–Low range of a completed or live session, automatically colored based on directional bias:
🟢 Bullish → Session Close > Session Open
🔴 Bearish → Session Close < Session Open
⚪ Neutral → Session Close = Session Open
This allows traders to instantly identify trend strength, balance zones, volatility expansion, and key support/resistance areas across multiple timeframes — all on a single chart.
🔍 What This Indicator Shows
For every enabled timeframe, the indicator:
Draws a range box from session open to session close
Continuously updates live session High & Low
Locks the final color once the session completes
Keeps historical boxes for structure and context
Supported timeframes:
Quarterly
Half-Yearly
Yearly
Monthly
Weekly
Daily
Hourly
30-Minute
15-Minute
5-Minute
⚙️ Default Behavior
By default, the indicator enables:
Weekly
Daily
Hourly
This default setup is intentionally chosen to suit most traders and provides:
Higher-timeframe structure (Weekly)
Swing context (Daily)
Intraday execution levels (Hourly)
🧠 How to Use It Effectively
📈 Higher-Timeframe Analysis (Swing / Positional Trading)
Recommended combinations:
Weekly + Daily
Monthly + Weekly
Use cases:
Identify dominant market bias
Spot compression vs expansion
Define higher-timeframe support & resistance zones
⚡ Intraday Trading (Day Trading)
Recommended combinations:
Daily + Hourly
Hourly + 30-Minute
Use cases:
Track intraday range development
Identify directional day types
Trade breakouts, rejections, or mean-reversion within session ranges
🚀 Scalping & Precision Entries
Recommended combinations:
Hourly + 15-Minute
30-Minute + 5-Minute
Use cases:
Fine-tune entries within larger session ranges
Align lower-timeframe trades with higher-timeframe bias
Spot micro range expansion and contraction
🎨 Customization Options
Bullish / Bearish / Neutral colors
Box fill transparency
Border transparency & color
Maximum historical boxes per timeframe
This allows you to keep charts clean, lightweight, and performance-friendly.
💡 Best Practices
Avoid enabling too many timeframes at once — clarity beats clutter
Use higher-timeframe boxes for bias, lower-timeframe boxes for entries
Combine with:
Market structure
Volume
VWAP
Liquidity concepts
Price action confirmation
Session Range Boxes (MTF) is a clean, powerful visual tool designed to help traders:
Understand session-based price behavior
Align trades across timeframes
Improve structure awareness without clutter
Whether you are a scalper, day trader, or swing trader, this indicator adapts seamlessly to your workflow.
사이클
T-Theory - by: Terry LaundryThis script is brought to you, via inspiration by trader Marty Schwarz. His book titled Pit Bull is widely available - for free on PDF. He credits Terry Laundry with the T-Theory, also available for free on look-up.
Here is a description provided on Gemini AI. T-Theory, developed by Terry Laundry, is a technical analysis methodology based on the principle of Time Symmetry. It posits that the market spends an equal amount of time building up energy (the "Magic T") as it does releasing that energy in a trending move.
Here is an objective summary of its core mechanics:
1. The Principle of Symmetry
The central law of T-Theory is that the duration of a market's "cash buildup" phase (the left side of the T) will be matched by the duration of the "run" phase (the right side of the T).
The Center Post: This represents the peak of a market's internal strength or momentum.
The Left Wing: The time from a previous low to the center post.
The Right Wing: The projected time from the center post to the end of the new trend.
2. Time over Price
Unlike many technical indicators that focus on price targets, T-Theory is almost entirely focused on time targets. It suggests that once a "T" is identified, the trend will persist until the time symmetry is exhausted, regardless of how high or low the price goes during that window.
3. Magic T's and Sub-T's
The theory operates on a hierarchical basis:
Grand Macro T's: These define long-term secular trends and can span years.
Minor T's: These represent shorter-term bursts of momentum within a larger trend.
The Law of Proportion: Larger horizontal wings (more time spent consolidating) necessitate larger vertical posts (more significant momentum shifts), creating a visual hierarchy on the chart.
4. Identification via Oscillators
While you requested the script focus on price action, Laundry originally identified these "buildup" phases using the McClellan Oscillator. He looked for periods where the oscillator showed "strength" (buildup) followed by a "breakout" from a trendline on the oscillator itself, which marked the center post of the T.
Key Visual Characteristics
Non-Intersection: In a clean T-Theory setup, the horizontal "wings" represent time spans and should ideally sit above or below the price action to clearly define the period of the trade without being obscured by daily volatility.
The Center Post Gap: The vertical post should be near the price data to show the point of origin for the momentum, but it requires enough "room" to remain distinct.
Renko Top 2 Picker### **1s Renko Momentum Scanner (HMA Zero-Lag Edition)**
This custom TradingView indicator is engineered specifically for high-frequency Renko traders. It solves the critical problem of identifying which major currency pair has the liquidity and directional inertia to sustain a fixed-brick Renko trend on a 1-second chart.
Because TradingView cannot screen 1-second data directly, this script acts as a "bridge," analyzing 1-minute and 5-minute flow metrics to probability-score the likely performance of a 1-second chart.
---
### **Core Logic & Assumptions**
1. **The "Engine" (HMA 300):**
* **Logic:** The script uses a Hull Moving Average (HMA) with a length of 300 to smooth the scoring output.
* **Why:** On a 1-second chart, 300 bars equals 5 minutes of data. The HMA provides a "Zero-Lag" response, reacting instantly to new breakouts while ignoring the split-second noise that causes standard scanners to flicker.
2. **The "Minute Reset" Solution:**
* **Problem:** Standard scripts fail on 1s charts because metrics like "Current Volume" reset to zero at the start of every new minute (e.g., at 10:05:00), causing signals to crash.
* **Solution:** This script calculates momentum using a "Rolling Window" anchored to the *previous* minute's close and volume. This ensures the signal remains stable and tradable across the :59 to :00 second boundary.
3. **Renko-Specific Scoring:**
* **Displacement > Direction:** The script prioritizes *how far* price is moving (Displacement %) over simple direction. Renko bricks require physical distance to form; without displacement, you pay spread costs for a flat chart.
* **Liquidity Gating:** It ignores pairs with low relative volume. A 1-second Renko chart requires high institutional flow to form clean bricks without gapping.
---
### **Indicator Inputs**
* **Refresh Display (Seconds):**
* *Default: 5*
* Controls how often the text on your screen updates. Set this to 5 or 10 seconds to prevent the text from "dancing," allowing you to read the recommendation clearly.
* **Score Smoothing (HMA):**
* *Default: 300*
* The "Memory" of the scanner.
* **300:** Represents a 5-minute lookback. Recommended for most 1s scalping to identify established trends.
* **120:** Represents a 2-minute lookback. Use this only if you want to catch breakouts aggressively and accept more false signals.
* **Table Position:**
* *Default: Bottom Right*
* Choose where the scanner panel appears on your chart to avoid covering your Renko price action.
* **Major Pairs:**
* *Defaults: EURUSD, GBPUSD, USDJPY, USDCHF, AUDUSD, USDCAD, NZDUSD*
* These fields are pre-filled with the standard "FX:" prefix. **Crucial:** If your broker uses suffixes (e.g., "EURUSD.pro" or "EURUSDm"), you must update these inputs to match your broker's specific symbol format, or the scanner will return "N/A".
---
### **How to Interpret the Output**
The panel displays a **Primary** and **Secondary** recommendation.
* **Green Background:** The pair has a "Strong" score (> 4.0). This indicates high probability conditions for 1s Renko trend following.
* **Gray Background:** The pair is the "best of the bunch," but overall market momentum is weak. Exercise caution, as the 1s chart may be choppy.
KSR-Ichimoku CloudThis Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
The script contains the original code from Ichimoku cloud and shows the cloud themselve
and mark on a chart where Tenkan-Kijun Crosses and Kumo Twists happen
© Steffen60 with thanks to @jumpr
You may use it in context to elliotwaver.live Trading system
ICT Silver Bullet BoxesOverview
This Pine Script v6 indicator is a streamlined tool designed for ICT (Inner Circle Trader) students, specifically optimized for traders in the Dhaka (GMT+6) time zone. It automates the drawing of high-probability liquidity zones based on the Asian Range and the Silver Bullet algorithm windows.
Unlike standard session highlights, this script focuses on the price action boundaries (Highs and Lows) within these specific windows to help you identify liquidity pools and potential "Judas Swing" targets.
Key Features
Asian Range (Liquidity Phase): Automatically marks the high and low of the 7:00 PM – 12:00 AM NY window (6:00 AM – 11:00 AM Dhaka). This box represents the day's initial consolidation where buy-side and sell-side liquidity is engineered.
Silver Bullet Windows: Highlights the two most critical 60-minute windows:
London Silver Bullet: 3:00 AM – 4:00 AM NY (2:00 PM – 3:00 PM Dhaka)
NY AM Silver Bullet: 10:00 AM – 11:00 AM NY (9:00 PM – 10:00 PM Dhaka)
Automatic DST Adjustment: The script uses the America/New_York timezone internally. This means the boxes will automatically shift correctly when New York enters Daylight Saving Time, keeping your Dhaka chart accurate year-round.
Clean Visuals: Instead of coloring the entire background, the script draws precise boxes around the price action High/Low of each session for a clutter-free experience.
How to Use
Mark Liquidity: Use the Asian Range Box to identify where the "stops" are resting.
Anticipate the Sweep: During the London or NY Open, look for price to raid the Asian High or Low.
Execute the Bullet: Within the Silver Bullet boxes, look for a Market Structure Shift (MSS) and a Fair Value Gap (FVG) for your entry.
Settings
Custom Colors: Fully customizable colors and opacity for both London and New York sessions.
Borders: Toggle borders on/off to match your chart theme.
NX - ICT PD Arrays (Enhanced v2)NX - ICT PD Arrays (Enhanced v2)
Advanced Pine Script indicator for identifying and tracking ICT Premium and Discount Arrays including Fair Value Gaps and Order Blocks. Designed for precision trading across all timeframes with intelligent filtering and adaptive sensitivity controls.
The indicator automatically detects bullish and bearish Fair Value Gaps using three-candle gap analysis, identifying imbalances where institutional orders may be filled. Order Blocks are detected through displacement-based logic, marking the last opposite-colored candle before significant price movement as potential supply or demand zones. All patterns are displayed as color-coded boxes that extend dynamically until price revisits the zone.
Version 2 introduces five sensitivity presets that eliminate the need for manual filter adjustment. The Very High, High, Medium, Low, and Custom modes automatically configure all detection parameters based on your timeframe and trading style. High sensitivity mode is optimized for intraday charts between five minutes and one hour, catching patterns that other indicators miss while maintaining quality through significance scoring.
The filtering system uses ATR-based sizing to adapt to market volatility rather than fixed pip values. Each pattern receives a significance score from zero to one hundred based on three factors: size relative to average true range, displacement momentum, and alignment with swing structure. Only patterns exceeding the threshold are displayed, ensuring chart clarity and reducing noise.
Pattern detection begins with gap or displacement identification, followed by size validation against ATR minimums. The system then calculates percentage displacement over the formation period and checks whether the pattern formed at a structural swing point. For order blocks, an optional filter verifies whether the displacement candle broke previous swing highs or lows. The significance scoring algorithm combines these metrics, and boxes are drawn only when thresholds are met.
Version 2 performance improvements include reduced minimum displacement from 0.15 percent to 0.05 percent, enabling detection of valid setups on lower timeframes. ATR multipliers for Fair Value Gaps decreased from 0.08 to 0.03, and Order Block minimums dropped from 0.12 to 0.05. Swing lookback periods shortened from ten bars to five for faster structural recognition while maintaining accuracy.
Customization options include adjustable lookback periods from five to five thousand bars, maximum displayed arrays from one to two hundred, and full control over colors, labels, and opacity for both pattern types. Custom mode provides granular control over displacement percentages, ATR multiples, significance thresholds, swing lookback periods, and structural break requirements.
The box management system extends patterns forward until price fills or touches the zone, at which point they are automatically removed. A first-in-first-out queue maintains the maximum box limit, and rendering is optimized for smooth chart performance. All patterns lock on candle close with zero repaint, ensuring reliable backtesting and real-time analysis.
Recommended usage varies by timeframe. Scalpers should use Very High or High sensitivity on one to five minute charts. Intraday traders benefit from High or Medium sensitivity on fifteen minute to one hour timeframes. Swing traders should select Medium or Low sensitivity on four hour to daily charts. For learning ICT concepts, Very High mode displays all pattern formations for educational purposes.
The indicator is built on Pine Script version 6 with support for up to five thousand bars of historical data. It is compatible with all instrument types including forex, indices, cryptocurrencies, and stocks. For optimal results on fifteen minute charts, begin with High sensitivity and adjust based on your instrument's volatility characteristics.
Original concept by asyncoder. Enhanced version 2 improvements by Claude. Last update January 22, 2025. Released under Mozilla Public License 2.0.
The Automatic Channel Revolution [8 Levels + Slicing]Stop wasting time manually drawing lines and start trading.
I present to the community Fimathe Master Pro, a unique tool designed to completely automate the Fimathe technique, eliminating subjectivity and human error when drawing channels.
Many traders miss entry timing while adjusting rectangles or manually calculating the 50% (slicing) levels. This script solves that instantly, creating a visual structure that is clean, professional, and objective for Day Trading (Indices, Forex, and Crypto).
🚀 WHAT MAKES THIS SCRIPT UNIQUE?
Unlike other indicators that simply plot support and resistance lines, Fimathe Master Pro creates a Dynamic Block Structure:
Automatic Reference Channel: You define the time range (e.g., first 30 min or 1h), and the script automatically detects the High and Low, locking in the Reference Channel and Neutral Zone.
8-Level Expansion System (New): The indicator automatically projects 4 Levels Up and 4 Levels Down. You will never run out of targets during strong trend days again.
Visual Slicing (50%): The script automatically draws discrete dotted lines in the middle of each channel, allowing for precise "slicing" operations (sub-channel trading) without cluttering the chart.
Clean & Transparent Visuals: Developed with an intelligent transparency layer (92%), ensuring you can see the candles perfectly while identifying Buy and Sell zones.
⚙️ HOW TO CONFIGURE:
Session: Default is set to 0900-0930 (First 30 min). If you trade the Classic Fimathe (1 hour), simply change it in the settings to 0900-1000.
Slicing: Can be toggled on or off with a single click.
Colors: Fully customizable to fit your template (Dark or Light mode).
🎯 WHO IS THIS INDICATOR FOR?
Ideal for Price Action traders and students of the Fimathe technique who want to professionalize their screen and gain agility in decision-making.
If this script helped your market reading, please leave a BOOST (Like) and comment your suggestions below!
NVIDIA Cycle Timing - Weekly Reversal Map + 3 InversionsThis indicator is a time-based cycle mapping tool designed to highlight historically recurring reversal timing points for a specific asset.
It does not generate trade signals, predict price direction, or forecast price targets. Its purpose is to identify when market behavior has historically tended to change.
The model is built by mapping a repeating sequence of reversal points within a 122-bar cycle and visualizing that structure on the chart using vertical colored timing markers.
How the Cycle Is Defined
Point 1 is anchored to the beginning of a major price swing on the chart
The location of that swing (high, low, or mid-trend) does not matter
What matters is that the move represents a clear expansion in price behavior
Once Point 1 is established, subsequent points are identified based on their recurring timing relationship within the cycle, not on price magnitude or indicator signals.
What the Indicator Does
Displays numbered vertical lines representing recurring timing locations
Highlights areas where price has historically formed local highs or lows
Optionally projects the same timing structure:
Backward to show past cycles
Forward to show future timing windows
Includes manual inversion markers to document periods where the high/low sequence temporarily flips without invalidating the broader timing structure
All calculations are time-based only.
How the Indicator Works
A base cycle is established using absolute bar positions derived from historical observation.
Each numbered point represents a timing location that tends to recur near the same cycle length.
The indicator draws vertical timing markers at those locations and, if enabled, repeats them by the cycle length to visualize past and future cycles.
Because real markets are not perfectly rhythmic, manual inversion points can be enabled to mark structural irregularities without rebuilding the entire cycle.
The indicator intentionally avoids price-based logic to keep timing analysis independent and objective.
Refining Reversal Locations (Optional)
To better align the actual price turning point within a timing window, the following optional visual technique can be used:
Apply a 4-period Simple Moving Average
Apply a 4-period Simple Moving Average shifted by −1 bar
The confluence or crossover area of these two averages closest to the timing line often aligns with the actual reversal point
This moving-average method is not required by the indicator and is provided solely as a visual refinement technique for traders who wish to narrow the reversal location within a timing window.
How to Use the Indicator
Treat vertical lines as timing awareness zones, not entry or exit signals
Observe how price behaves as it approaches or moves through a timing window
Combine the timing framework with any price-based or trend-based method
Use inversion markers to note structural changes without altering the entire cycle model
This indicator is best used as a context overlay, helping traders understand when market conditions may be more likely to shift.
Important Notes
This indicator is asset-specific and not intended as a universal cycle model
Timing windows are approximate and may shift slightly over time
Not every timing point will result in a reversal
No performance claims are made
This script is provided for educational and analytical purposes only.
Summary
This indicator provides a clear visual framework for recurring market timing, allowing traders to separate when market behavior may change from how price may move.
Nifty 50 Logarithmic Rainbow (7 Bands)This description is written to be pasted directly into the "Description" field on TradingView when you publish or share the indicator. It explains the logic, how to read it, and the specific calibration for the Nifty 50.Description: Nifty 50 Logarithmic Regression Rainbow (Calibrated)OverviewThis indicator is a long-term valuation tool for the Nifty 50, inspired by the logarithmic regression models used by Benjamin Cowen for Bitcoin. Unlike standard linear trendlines, this model accounts for the exponential growth and diminishing volatility of a maturing stock index over decades.It is designed to help investors identify historical cycle extremes—distinguishing between "generational buying opportunities" and "overheated bubble territory."The MathematicsThe indicator uses a Power Law regression model based on over 30 years of Nifty 50 historical data (from 1990 to the present):$$\ln(\text{Price}) = a + b \cdot \ln(\text{Time} + \text{Offset})$ PSECZ:FIXED Parameters: The slope and intercept are hard-coded based on a best-fit analysis of the Nifty’s history, ensuring the bands remain stable and do not "jump" or repaint when you scroll through the chart.Time Offset: A specific 10,000-day offset is applied to the origin. This flattens the curve to perfectly match the Nifty's stable growth transition from the 1990s through the 2008 and 2020 cycles.How to Read the 7-Band RainbowThe chart is divided into 7 distinct color-coded zones:Red / Orange (Upper Bands): Cycle Peaks. Historically, when the Nifty enters these zones (like in 1992 and 2008), it is significantly overvalued and a correction or consolidation is likely.Yellow (Upper-Mid): Overheated. The index is trading above its fair value.Green / Cyan (Center Bands): Fair Value. This represents the "Mean" of the index. During healthy bull markets, the Nifty 50 spends the majority of its time oscillating within these zones.Blue / Purple (Lower Bands): Generational Value. These zones represent extreme undervaluation. Historically, these have aligned with major market bottoms, such as the 2003 accumulation phase, the 2008 crash bottom, and the 2020 COVID-19 lows.How to UseTimeframe: Optimized for Weekly (W) and Daily (D) views.Scale: IMPORTANT: You MUST enable Logarithmic Scale on your TradingView chart (click the 'Log' button in the bottom right) for the bands to display their intended geometric curves.Customization: You can adjust the Band Width in the settings to fine-tune how strictly the bands wrap around historical peaks and troughs.DisclaimerThis indicator is a mathematical model based on historical data. Past performance is not indicative of future results. It is intended for educational and macro-analysis purposes and should not be used as the sole basis for financial decisions.
The Fantastic 4 - Momentum Rotation StrategyOverview
The Fantastic 4 is a tactical momentum rotation indicator. It rotates capital monthly across four carefully selected assets based on their 75-day Rate of Change (ROC), allocating only to assets with positive momentum and proportionally weighting them by their momentum strength.
This indicator tracks the strategy's historical performance, displays current allocation recommendations, and sends monthly rebalance alerts so you can easily manage your portfolio. Simply set your capital amount and the indicator shows exactly how much to invest in each asset.
Why These Four Assets?
The selection of 20-year Bonds, Gold, Russell 2000, and Emerging Markets is based on their specific volatility and decorrelation characteristics, which allow the strategy to react quickly to market shifts while providing protection during downturns.
Russell 2000 (Small Caps)
Chosen over the S&P 500 because it is more "lively" and active (Nowadays you could use also the Nasdaq). Its trends are steeper and more vertical, making it easier for a momentum indicator to catch clear trends. While the S&P 500 has more inertia, the Russell 2000 develops faster, allowing the strategy to capture gains in shorter periods.
Emerging Markets
Included because they can act like a "rocket," offering explosive growth potential while maintaining high decorrelation from developed equity markets. When emerging markets trend, they trend hard.
20-Year Bonds
Selected because they are the most decorrelated asset from equities. When a stock market crash occurs, capital typically flows into fixed income, and long-term bonds (20-year) notice this influx the most, making their price reaction more significant and easier to trade. This is the strategy's primary "safe haven."
Gold
Along with bonds, gold serves as a defensive asset providing a "shield" for the portfolio when general market conditions deteriorate. It offers additional decorrelation and crisis protection.
How the Strategy Works
The 75-Day Momentum Engine
The strategy uses a 75-day momentum lookback (roughly 3.5 months), which is considered very "agile" compared to other models like Global Equity Momentum (GEM) that use 200-day periods. This shorter window allows the strategy to:
React quickly to changes in trend
Catch upward movements in volatile assets early
Exit quickly when trends break
Monthly Rebalancing Process
At the end of each month:
Step 1: Calculate 75-day ROC for each asset
Step 2: Filter out assets with negative momentum (they receive 0% allocation)
Step 3: Distribute capital proportionally based on momentum strength
Step 4: Apply 5% minimum threshold (smaller allocations become zero)
Step 5: Apply 80% maximum cap (no single asset exceeds 80%, remainder stays in cash)
The 80% Ceiling Rule
There is an 80% investment ceiling for any single asset to prevent over-exposure. If only one asset (like bonds) has positive momentum, 80% goes to that asset and 20% remains in cash/liquidity.
Behavior in Bearish Markets
When markets turn bearish, the strategy protects capital through several mechanisms:
Automatic Risk-Off
Because the strategy only invests in assets with positive momentum, it automatically moves away from crashing equities. If an asset's trend becomes negative, the strategy stays "on the sidelines" for that asset.
The Bond Haven
During prolonged bearish periods or sudden crashes (like COVID-19), the strategy typically shifts into 20-year bonds. During the COVID-19 crash in March 2020, while global markets were collapsing, strategies like this reportedly yielded positive returns by being positioned in bonds.
Full Liquidity Option
If no assets show positive momentum, the strategy moves to 100% cash. This is rare given the decorrelation between the four assets—when equities crash, bonds and gold typically rise.
What This Indicator Does
This is a tracking and alerting tool that:
Calculates the optimal allocation based on current momentum
Shows historical monthly performance of the strategy
Simulates portfolio equity growth from your specified starting capital
Displays exact dollar amounts to invest in each asset
Sends monthly rebalance alerts with complete instructions
Detects missing data to prevent false signals
Features
Dynamic allocation table showing weights, dollar amounts, and ROC values
Monthly returns history with color-coded performance
Data availability detection with visual status indicators
Configurable alerts for rebalancing, go-to-cash, and missing data
Simulated equity curve from initial capital
Settings Guide
Assets
Configure your four ETFs. The default European ETFs are:
Asset 1 - XETR:IS04: iShares 20+ Year Treasury Bond (Bonds)
Asset 2 - XETR:GZUR: Gold ETC
Asset 3 - XETR:XRS2: Xtrackers Russell 2000 (Small Caps)
Asset 4 - XETR:XMME: Xtrackers Emerging Markets (EM)
For US markets, consider: TLT (20-year bonds), GLD (Gold), IWM (Russell 2000), EEM (Emerging Markets)
Strategy Settings
ROC Period - Momentum lookback in daily bars. Default: 75 days (~3.5 months)
Max Allocation % - Maximum weight for any single asset. Default: 80%
Min Allocation % - Threshold below which allocation becomes zero. Default: 5%
Capital
Initial Capital - Your portfolio value. The indicator calculates exact amounts for each asset based on this. Default: $20,000
Display
Table Positions - Position the allocation and history tables on screen
Months of History - How many past months to display (3-24)
Alerts
Monthly Rebalance Alert - Sends complete allocation details at month end
Go-to-Cash Alert - Alerts when all assets have negative momentum
Missing Data Alert - Warns when asset data is unavailable
How to Use
Initial Setup
Add indicator to any chart and switch to MONTHLY timeframe
Configure your four ETF tickers
Set your portfolio capital amount
Position the tables where you prefer
Setting Up Alerts
Click Alert button or press Alt+A
Set Condition to "Fanta4"
Select "Any alert() function call"
Choose notification method (Email, Push, Webhook, etc.)
Set expiration to "Open-ended"
Monthly Workflow
Receive rebalance alert at the start of each month
Alert shows exact percentages AND dollar amounts for each asset
Adjust your portfolio accordingly
No action needed during the month
Reading the Tables
Green = positive returns/momentum
Red = negative returns/momentum
Orange "N/A" = missing data
Alloc column shows weight distribution (e.g., "45/35/20/—")
Alert Message Example
Monthly alerts include:
Target month for the new allocation
Current portfolio value
Each asset's percentage AND dollar amount
Each asset's momentum (ROC) value
Cash allocation if applicable
Total return since inception
Historical Context
This strategy combines elements of:
Dual Momentum (Gary Antonacci) - Relative and absolute momentum
Global Equity Momentum (GEM) - But with shorter 75-day vs 200-day lookback
Risk parity concepts - Decorrelated asset selection
The key innovation is the specific asset selection optimized for momentum trading and the agile 75-day lookback period that allows faster reactions to trend changes.
Data Requirements
The strategy activates only when all four assets have valid price data (minimum 75 days of history). The data status row shows checkmarks for available data. Note: Some ETFs have limited history (e.g., XMME data starts June 2017).
Limitations
This is a tracking indicator, not an automated trading system
Past performance is hypothetical and does not guarantee future results
Requires all four assets to have valid data; partial allocation not supported
Monthly rebalancing may miss shorter-term momentum shifts
Transaction costs, slippage, and taxes are not included in simulation
ETF availability and liquidity vary by region
The 75-day momentum may whipsaw in choppy, trendless markets
Disclaimer
This indicator is for educational and informational purposes only. It does not constitute financial advice.
Version History
v1.0 - Initial release with momentum rotation, allocation tables, data validation, and monthly alerts
KJ Sessions (Today Only): Asia/London/US + OverlapKJ Sessions : Asia/London/US + Overlap.
best for people to clearly mark Asia, UK and US opening and closing timing.
TSLA Cycle Timing - 122-Day Reversal Map (Adaptive Framework)This indicator is a timing map built specifically for Tesla (TSLA) on the Daily chart. It plots a repeating set of vertical, color-coded timing markers inside a 122-bar cycle (commonly treated as ~122 trading days on the Daily timeframe). These markers highlight reversal “zones”—areas where TSLA has historically shown a tendency to pivot from high-to-low and low-to-high within the cycle.
The script includes:
23 TSLA-derived set points (Points 1–23): the core timing map used to mark the most repeatable reversal areas.
Two optional “Inversion Points” (INV A / INV B): manual markers you can enable when TSLA’s high/low sequence appears to flip due to a structural deviation.
One additional optional marker (OPT C) for user customization.
This is not an auto-buy/sell system. It is a cycle-structure framework designed to help you anticipate when a reversal is more likely to occur, so you can combine it with your own confirmation tools (price action, trend context, support/resistance, volume, etc.).
Definitions (How this script interprets highs/lows)
In the context of cycle mapping:
A High Point is the highest price reached between two neighboring high pivots.
A Low Point is the lowest price reached between two neighboring low pivots.
The vertical lines are timing markers, not “guaranteed pivot candles.” Price may top/bottom slightly before or after a line. That’s why the script includes an optional ± window (in bars) to visualize a small tolerance zone around each marker.
How it works (Conceptually)
The script defines a repeating cycle length (default 122 bars).
Inside each cycle, each point has an offset measured in bars from the cycle start.
For every cycle instance (past, current, and optional future cycles), the script draws:
a vertical dotted line at each enabled point offset
optional ± window bands around the line
optional labels (numbers for set points and “INV” labels for inversion points)
Because this is a Tesla-specific map, the default offsets for Points 1–23 are preconfigured based on TSLA’s observed structure, and the remaining optional points are user-controlled.
How to Use (Important)
1) Use the Daily chart first
This model is designed around TSLA’s Daily cycle behavior. Start with:
Symbol: TSLA
Timeframe: 1D
If you use other timeframes, the cycle “tempo” can change and may require different offsets.
2) Identify the cycle start (anchor)
Cycle mapping depends on where the current cycle is anchored.
Use “Bars Back to Current Cycle Start” to shift the cycle start so that the script’s point sequence aligns with your most recent known cycle beginning. Once aligned, the points should repeat near each 122-bar interval.
3) Read the vertical markers as reversal zones
The colored vertical lines represent areas where reversals have historically occurred, not a promise that price must reverse exactly on the line.
A practical approach:
Use the marker as a “heads-up” zone
Wait for confirmation (trend break, candle structure, momentum shift, key level reaction, etc.)
4) Understand “set points” vs “Inversion Points”
Set Points (1–23)
These are the primary TSLA reversal zones that tend to recur within the 122-bar structure. Specific numbered points often appear near the same relative position inside each cycle.
Inversion Points (INV A / INV B)
Occasionally, TSLA’s cycle behavior can flip—meaning the expected high-to-low (or low-to-high) progression temporarily swaps order. This is what I refer to as an inversion.
When you see a cycle behaving “backwards” relative to the usual sequence:
Enable INV A and/or INV B
Place their offsets at the bar locations where the flip becomes obvious
Use these markers as manual annotations so your cycle notes stay consistent even when TSLA deviates from its typical rhythm
These inversion markers do not force the script to predict a flip—they allow you to document it cleanly.
5) Use the ± Window Bands to manage real-world variance
Markets don’t pivot on perfect timestamps. If a reversal tends to happen “around” a point:
Enable ± Window Bands
Set Window ± Bars (commonly 1–3 bars on 1D)
This gives a realistic visual tolerance zone around each timing marker.
Settings Guide (Practical)
Cycle Length (bars): 122 (TSLA Daily baseline)
Lookback Bars: increase to study more history, decrease for performance
Future Cycles: use sparingly; future markers are guidance zones, not guarantees
Past Cycles: Lines Only: recommended ON for stable performance
Labels at Top: helps keep the chart clean and readable
Final Notes / Limitations
This is a historical timing framework designed to map TSLA’s repeating reversal structure. It helps estimate when reversal pressure tends to appear, but it does not replace risk management or confirmation. Cycle behavior can stretch, compress, or invert during unusual volatility regimes—hence the inclusion of optional inversion markers.
StO Price Action - Luminous Daily RoadmapShort Summary
- Luminous Daily Roadmap (LDR) are special trading days
- Marks entire trading days using background coloring
- Creates a clear daily roadmap directly on the chart
- Designed to stay minimal and non-intrusive
Full Description
Overview
- LDR is a proprietary forex trading schedule
- Dates of major trend reversals or significant market continuations
- Highlights full trading days using background colors
- Improves visual structure and day-to-day orientation
- Focuses purely on time segmentation, not price signals
- Suitable for all markets and timeframes
Daily Marking Logic
- Each trading day is visually marked across all its bars
- Background coloring spans the full session of the day
- Works consistently across intraday and higher timeframes
Year Look Back (YLB)
- YLB defines the starting year for day marking
- Markings are only applied from the selected year onward
- Allows focused analysis on recent or specific years
Visualization
- Background color is fully customizable
- Uses high transparency to avoid hiding price action
Usage
- Useful for session-based and daily analysis
- Supports routine-based trading and journaling
- Enhances visual rhythm of the chart
Notes
- This indicator is purely visual and non-predictive
- No alerts or signals are generated
- Best used as a structural overlay for orientation
- Can be combined with any price action or indicator-based workflow
BBMA By K1M4K-ID- Final Validated Re-Entry//@version=6
indicator("BBMA By K1M4K-ID- Final Validated Re-Entry", overlay=true, max_labels_count=500)
// === INPUT BB ===
lengthBB = input.int(20, title="BB Period")
devBB = input.float(2.0, title="Deviation")
src = input.source(close, title="Source")
bbColorMid = input.color(color.purple, title="Mid BB Color")
bbColorTop = input.color(color.purple, title="Top BB Color")
bbColorLow = input.color(color.purple, title="Low BB Color")
showFill = input.bool(true, title="Show BB Fill")
showReEntrySignals = input.bool(true, "Show Re-Entry Signals (✅)")
showSignalTable = input.bool(true, "Show Signal Table")
// === BB CALCULATION ===
basis = ta.sma(src, lengthBB)
dev = devBB * ta.stdev(src, lengthBB)
topBB = basis + dev
lowBB = basis - dev
// === PLOT BB ===
pMid = plot(basis, title="Mid BB", color=bbColorMid, linewidth=2)
pTop = plot(topBB, title="Top BB", color=bbColorTop, linewidth=2)
pLow = plot(lowBB, title="Low BB", color=bbColorLow, linewidth=2)
fill(pTop, pLow, color=showFill ? color.new(color.purple, 85) : na, title="BB Fill")
// === INPUT MA SETTING ===
ma_func(source, length) => ta.wma(source, length)
// === MA HIGH/LOW ===
ma5_high = ma_func(high, 5)
ma10_high = ma_func(high, 10)
ma5_low = ma_func(low, 5)
ma10_low = ma_func(low, 10)
// === PLOT MA ===
p_ma5_high = plot(ma5_high, title="MA 5 High", color=color.green, linewidth=2)
p_ma10_high = plot(ma10_high, title="MA 10 High", color=color.green, linewidth=2)
fill(p_ma5_high, p_ma10_high, color=color.new(color.green, 85), title="MA High Fill")
p_ma5_low = plot(ma5_low, title="MA 5 Low", color=color.red, linewidth=2)
p_ma10_low = plot(ma10_low, title="MA 10 Low", color=color.red, linewidth=2)
fill(p_ma5_low, p_ma10_low, color=color.new(color.red, 85), title="MA Low Fill")
// === EMA 50 ===
ema50 = ta.ema(close, 50)
plot(ema50, title="EMA 50", color=color.blue, linewidth=3)
// === CSA KUKUH (LOGIKA ASLI LU - TIDAK DIUBAH) ===
var bool hasCsaBuy = false
var bool hasCsaSell = false
isCsaKukuhBuy = close > ma5_high and close > ma10_high and close > basis
isCsaKukuhSell = close < ma5_low and close < ma10_low and close < basis
if isCsaKukuhBuy and not hasCsaBuy
hasCsaBuy := true
hasCsaSell := false
else if isCsaKukuhSell and not hasCsaSell
hasCsaSell := true
hasCsaBuy := false
showCsaBuy = isCsaKukuhBuy and not hasCsaBuy
showCsaSell = isCsaKukuhSell and not hasCsaSell
plotshape(showCsaBuy, title="CSA Kukuh Buy First", location=location.belowbar, color=color.green, style=shape.labelup, text="CSAK", textcolor=color.white, size=size.small)
plotshape(showCsaSell, title="CSA Kukuh Sell First", location=location.abovebar, color=color.red, style=shape.labeldown, text="CSAK", textcolor=color.white, size=size.small)
// === CSM (HANYA SAAT KELUAR DARI DALAM BB) ===
wasInsideBB = (close >= lowBB and close <= topBB )
csmBuySignal = wasInsideBB and close > topBB
csmSellSignal = wasInsideBB and close < lowBB
plotshape(csmBuySignal, title="CSM Buy", location=location.abovebar, color=color.green, style=shape.triangleup, text="CSM", size=size.tiny)
plotshape(csmSellSignal, title="CSM Sell", location=location.belowbar, color=color.red, style=shape.triangledown, text="CSM", size=size.tiny)
// === CSA (BREAKOUT TANPA MELEWATI MID BB) ===
isCsaBuy = close > ma5_high and close > ma10_high and close <= basis
isCsaSell = close < ma5_low and close < ma10_low and close >= basis
plotshape(isCsaBuy, title="CSA Buy", location=location.belowbar, color=color.new(color.green, 60), style=shape.circle, text="CSA", size=size.tiny)
plotshape(isCsaSell, title="CSA Sell", location=location.abovebar, color=color.new(color.red, 60), style=shape.circle, text="CSA", size=size.tiny)
// === EXTREME ===
basis_ext = ta.sma(close, 20)
dev_ext = 2 * ta.stdev(close, 20)
isExtremeBuy() => ta.wma(low, 5) < basis_ext - dev_ext
isExtremeSell() => ta.wma(high, 5) > basis_ext + dev_ext
plotshape(isExtremeBuy(), title="Extreme Buy", location=location.belowbar, color=color.green, style=shape.labelup, text="E", size=size.tiny, textcolor=color.white)
plotshape(isExtremeSell(), title="Extreme Sell", location=location.abovebar, color=color.red, style=shape.labeldown, text="E", size=size.tiny, textcolor=color.white)
// === ZZL MA ===
isZzlBuy = (ma5_high > basis and ma10_high > basis and ma5_low > basis and ma10_low > basis and
(ma5_high <= basis or ma10_high <= basis or ma5_low <= basis or ma10_low <= basis))
isZzlSell = (ma5_high < basis and ma10_high < basis and ma5_low < basis and ma10_low < basis and
(ma5_high >= basis or ma10_high >= basis or ma5_low >= basis or ma10_low >= basis))
var bool zzlBuyShown = false
var bool zzlSellShown = false
if isZzlBuy and not zzlBuyShown
label.new(bar_index, low, "Z", style=label.style_label_up, color=color.green, textcolor=color.white)
zzlBuyShown := true
if not isZzlBuy
zzlBuyShown := false
if isZzlSell and not zzlSellShown
label.new(bar_index, high, "Z", style=label.style_label_down, color=color.red, textcolor=color.white)
zzlSellShown := true
if not isZzlSell
zzlSellShown := false
// ===========================================
// === VALIDASI + RE-ENTRY (H4 & H1) ===
// ===========================================
// --- Ambil data ---
= request.security(syminfo.tickerid, "240", )
wasInside_h4 = request.security(syminfo.tickerid, "240", (close >= (ta.sma(close, lengthBB) - devBB * ta.stdev(close, lengthBB) ) and close <= (ta.sma(close, lengthBB) + devBB * ta.stdev(close, lengthBB) )))
csmBuy_h4 = wasInside_h4 and request.security(syminfo.tickerid, "240", close > (ta.sma(close, lengthBB) + devBB * ta.stdev(close, lengthBB)))
csmSell_h4 = wasInside_h4 and request.security(syminfo.tickerid, "240", close < (ta.sma(close, lengthBB) - devBB * ta.stdev(close, lengthBB)))
csakBuy_h4 = close_h4 > ma5h_h4 and close_h4 > ma10h_h4 and close_h4 > basis_h4
csakSell_h4 = close_h4 < ma5l_h4 and close_h4 < ma10l_h4 and close_h4 < basis_h4
csaBuy_h4 = close_h4 > ma5h_h4 and close_h4 > ma10h_h4 and close_h4 <= basis_h4
csaSell_h4 = close_h4 < ma5l_h4 and close_h4 < ma10l_h4 and close_h4 >= basis_h4
csmBuy_h1 = request.security(syminfo.tickerid, "60", (close >= (ta.sma(close, lengthBB) - devBB * ta.stdev(close, lengthBB) ) and close <= (ta.sma(close, lengthBB) + devBB * ta.stdev(close, lengthBB) )) and close > (ta.sma(close, lengthBB) + devBB * ta.stdev(close, lengthBB)))
csmSell_h1 = request.security(syminfo.tickerid, "60", (close >= (ta.sma(close, lengthBB) - devBB * ta.stdev(close, lengthBB) ) and close <= (ta.sma(close, lengthBB) + devBB * ta.stdev(close, lengthBB) )) and close < (ta.sma(close, lengthBB) - devBB * ta.stdev(close, lengthBB)))
csakBuy_h1 = request.security(syminfo.tickerid, "60", close > ta.wma(high,5) and close > ta.wma(high,10) and close > ta.sma(close, lengthBB))
csakSell_h1 = request.security(syminfo.tickerid, "60", close < ta.wma(low,5) and close < ta.wma(low,10) and close < ta.sma(close, lengthBB))
csaBuy_h1 = request.security(syminfo.tickerid, "60", close > ta.wma(high,5) and close > ta.wma(high,10) and close <= ta.sma(close, lengthBB))
csaSell_h1 = request.security(syminfo.tickerid, "60", close < ta.wma(low,5) and close < ta.wma(low,10) and close >= ta.sma(close, lengthBB))
csmBuy_m15 = request.security(syminfo.tickerid, "15", close > (ta.sma(close, lengthBB) + devBB * ta.stdev(close, lengthBB)))
csmSell_m15 = request.security(syminfo.tickerid, "15", close < (ta.sma(close, lengthBB) - devBB * ta.stdev(close, lengthBB)))
csakBuy_d = request.security(syminfo.tickerid, "D", close > ta.wma(high,5) and close > ta.wma(high,10) and close > ta.sma(close, lengthBB))
csakSell_d = request.security(syminfo.tickerid, "D", close < ta.wma(low,5) and close < ta.wma(low,10) and close < ta.sma(close, lengthBB))
csaBuy_d = request.security(syminfo.tickerid, "D", close > ta.wma(high,5) and close > ta.wma(high,10) and close <= ta.sma(close, lengthBB))
csaSell_d = request.security(syminfo.tickerid, "D", close < ta.wma(low,5) and close < ta.wma(low,10) and close >= ta.sma(close, lengthBB))
// --- Validasi ---
validCsakH4Buy = csakBuy_h4 and ta.highest(csmBuy_h1 ? 1 : 0, 4) == 1
validCsakH4Sell = csakSell_h4 and ta.highest(csmSell_h1 ? 1 : 0, 4) == 1
validCsakH1Buy = csakBuy_h1 and ta.highest(csmBuy_m15 ? 1 : 0, 4) == 1
validCsakH1Sell = csakSell_h1 and ta.highest(csmSell_m15 ? 1 : 0, 4) == 1
validCsmH1Buy = csmBuy_h1 and (csaBuy_h4 or csakBuy_h4) and ta.highest(csmBuy_m15 ? 1 : 0, 4) == 1
validCsmH1Sell = csmSell_h1 and (csaSell_h4 or csakSell_h4) and ta.highest(csmSell_m15 ? 1 : 0, 4) == 1
validCsmH4Buy = csmBuy_h4 and (csaBuy_d or csakBuy_d) and ta.highest(csmBuy_h1 or csmSell_h1 ? 1 : 0, 4) == 1
validCsmH4Sell = csmSell_h4 and (csaSell_d or csakSell_d) and ta.highest(csmBuy_h1 or csmSell_h1 ? 1 : 0, 4) == 1
// --- Re-Entry Area ---
inReEntryBuy = low <= math.max(ma5_low, ma10_low)
inReEntrySell = high >= math.min(ma5_high, ma10_high)
// --- Flag Valid + Hit Detection ---
var bool vCsakH4B = false, vCsakH4S = false
var bool vCsakH1B = false, vCsakH1S = false
var bool vCsmH4B = false, vCsmH4S = false
var bool vCsmH1B = false, vCsmH1S = false
var bool hitCsakH4B = false, hitCsakH4S = false
var bool hitCsakH1B = false, hitCsakH1S = false
var bool hitCsmH4B = false, hitCsmH4S = false
var bool hitCsmH1B = false, hitCsmH1S = false
// Reset hit setiap candle
hitCsakH4B := false
hitCsakH4S := false
hitCsakH1B := false
hitCsakH1S := false
hitCsmH4B := false
hitCsmH4S := false
hitCsmH1B := false
hitCsmH1S := false
// Aktifkan flag saat valid
vCsakH4B := validCsakH4Buy ? true : vCsakH4B
vCsakH4S := validCsakH4Sell ? true : vCsakH4S
vCsakH1B := validCsakH1Buy ? true : vCsakH1B
vCsakH1S := validCsakH1Sell ? true : vCsakH1S
vCsmH4B := validCsmH4Buy ? true : vCsmH4B
vCsmH4S := validCsmH4Sell ? true : vCsmH4S
vCsmH1B := validCsmH1Buy ? true : vCsmH1B
vCsmH1S := validCsmH1Sell ? true : vCsmH1S
// Deteksi & reset saat re-entry
if vCsakH4B and inReEntryBuy
hitCsakH4B := true
vCsakH4B := false
if vCsakH4S and inReEntrySell
hitCsakH4S := true
vCsakH4S := false
if vCsakH1B and inReEntryBuy
hitCsakH1B := true
vCsakH1B := false
if vCsakH1S and inReEntrySell
hitCsakH1S := true
vCsakH1S := false
if vCsmH4B and inReEntryBuy
hitCsmH4B := true
vCsmH4B := false
if vCsmH4S and inReEntrySell
hitCsmH4S := true
vCsmH4S := false
if vCsmH1B and inReEntryBuy
hitCsmH1B := true
vCsmH1B := false
if vCsmH1S and inReEntrySell
hitCsmH1S := true
vCsmH1S := false
// --- Plot Re-Entry ---
//plotshape(showReEntrySignals and hitCsakH4B, location=location.belowbar, color=color.teal, style=shape.labelup, text="✅", size=size.normal)
//plotshape(showReEntrySignals and hitCsakH4S, location=location.abovebar, color=color.orange, style=shape.labeldown, text="✅", size=size.normal)
//plotshape(showReEntrySignals and hitCsakH1B, location=location.belowbar, color=color.green, style=shape.labelup, text="✅", size=size.small)
//plotshape(showReEntrySignals and hitCsakH1S, location=location.abovebar, color=color.red, style=shape.labeldown, text="✅", size=size.small)
//plotshape(showReEntrySignals and hitCsmH1B, location=location.belowbar, color=color.green, style=shape.labelup, text="✅ CSM", size=size.tiny)
//plotshape(showReEntrySignals and hitCsmH1S, location=location.abovebar, color=color.red, style=shape.labeldown, text="✅ CSM", size=size.tiny)
//plotshape(showReEntrySignals and hitCsmH4B, location=location.belowbar, color=color.teal, style=shape.labelup, text="✅ CSM", size=size.tiny)
//plotshape(showReEntrySignals and hitCsmH4S, location=location.abovebar, color=color.orange, style=shape.labeldown, text="✅ CSM", size=size.tiny)
// ===========================================
// === TABEL SIGNAL H1 & H4 (FINAL) ===
// ===========================================
var table sigTable = table.new(position.top_right, 4, 5, border_width=1)
if barstate.islast and showSignalTable
table.cell(sigTable, 0, 0, "TF", text_color=color.white, bgcolor=color.black)
table.cell(sigTable, 1, 0, "Signal", text_color=color.white, bgcolor=color.black)
table.cell(sigTable, 2, 0, "Status", text_color=color.white, bgcolor=color.black)
table.cell(sigTable, 3, 0, "Re-Entry", text_color=color.white, bgcolor=color.black)
table.cell(sigTable, 0, 1, "H4", text_color=color.white, bgcolor=color.black)
table.cell(sigTable, 1, 1, "CSAK Buy", text_color=color.green, bgcolor=color.new(color.green, 90))
table.cell(sigTable, 2, 1, vCsakH4B ? "✅ Valid" : "-", text_color=vCsakH4B ? color.green : color.gray, bgcolor=color.new(vCsakH4B ? color.green : color.gray, 90))
table.cell(sigTable, 3, 1, hitCsakH4B ? "✅ Hit" : "-", text_color=hitCsakH4B ? color.teal : color.gray, bgcolor=color.new(hitCsakH4B ? color.teal : color.gray, 90))
table.cell(sigTable, 0, 2, "H4", text_color=color.white, bgcolor=color.black)
table.cell(sigTable, 1, 2, "CSAK Sell", text_color=color.red, bgcolor=color.new(color.red, 90))
table.cell(sigTable, 2, 2, vCsakH4S ? "✅ Valid" : "-", text_color=vCsakH4S ? color.red : color.gray, bgcolor=color.new(vCsakH4S ? color.red : color.gray, 90))
table.cell(sigTable, 3, 2, hitCsakH4S ? "✅ Hit" : "-", text_color=hitCsakH4S ? color.orange : color.gray, bgcolor=color.new(hitCsakH4S ? color.orange : color.gray, 90))
table.cell(sigTable, 0, 3, "H1", text_color=color.white, bgcolor=color.black)
table.cell(sigTable, 1, 3, "CSM Buy", text_color=color.green, bgcolor=color.new(color.green, 90))
table.cell(sigTable, 2, 3, vCsmH1B ? "✅ Valid" : "-", text_color=vCsmH1B ? color.green : color.gray, bgcolor=color.new(vCsmH1B ? color.green : color.gray, 90))
table.cell(sigTable, 3, 3, hitCsmH1B ? "✅ Hit" : "-", text_color=hitCsmH1B ? color.teal : color.gray, bgcolor=color.new(hitCsmH1B ? color.teal : color.gray, 90))
table.cell(sigTable, 0, 4, "H1", text_color=color.white, bgcolor=color.black)
table.cell(sigTable, 1, 4, "CSM Sell", text_color=color.red, bgcolor=color.new(color.red, 90))
table.cell(sigTable, 2, 4, vCsmH1S ? "✅ Valid" : "-", text_color=vCsmH1S ? color.red : color.gray, bgcolor=color.new(vCsmH1S ? color.red : color.gray, 90))
table.cell(sigTable, 3, 4, hitCsmH1S ? "✅ Hit" : "-", text_color=hitCsmH1S ? color.orange : color.gray, bgcolor=color.new(hitCsmH1S ? color.orange : color.gray, 90))
ICT Power of 3 identify the high-probability Power of 3 pattern by analyzing price behavior rather than just specific times of day. It focuses on how the market builds, traps, and then expands.
1. Accumulation (The Setup)
Logic: The script monitors volatility using the Average True Range (ATR). When volatility drops below its recent average, the script recognizes that orders are being "accumulated."
Visual: A Blue Dotted Box appears. This marks the equilibrium zone where buy and sell side liquidity is being engineered above and below the high/low of the range.
2. Manipulation (The Trap)
Logic: The script looks for a "Sweep." This is defined as price moving outside the blue accumulation box but failing to sustain that move. In the video, this is the "Judas Swing" or false breakout.
Visual: A Red Diamond appears above or below the bar. This signals that the script has detected a liquidity grab—essentially, the market has "tricked" breakout traders into the wrong side of the market.
3. Distribution (The Expansion)
Logic: This is identified through Displacement. The script calculates the average candle body size. When a candle appears that is significantly larger (based on your Displacement Multiplier), it confirms that "Smart Money" has entered the market.
Visual: A Green Triangle appears. This marks the start of the distribution phase, which is the "meat" of the move where you want to be positioned.
Look-back Value V1新增 MA10 與 MA120 的計算、繪圖、表格顯示。
新增 table_pos 參數,可選擇表格顯示位置(top_left, top_right, bottom_left, bottom_right)。
所有 table.cell 改用 具名參數 text_color,避免誤判成 width。
這樣你就能靈活選擇表格位置,並同時觀察 MA5、MA10、MA20、MA60、MA120、MA240 的扣抵分析。
Fixed Price Levels with Zones (1000 / 750 / 500 / 250)idywbdiawunadnaw oidnawidnawodnaw wadaw dawd awdaw
Value Area PRO (TPO/Volume Session VAH/VAL/POC) 📌 AP Capital Value Area PRO (TPO / Volume)
AP Capital Value Area PRO is a session-based value area indicator designed for Gold (XAUUSD), NASDAQ (NAS100), and other CFD instruments.
It focuses on where the market has accepted price during the current session and highlights high-probability interaction zones used by professional traders.
Unlike rolling lookback volume profiles, this indicator builds a true session value area and provides actionable signals around VAH, VAL, and POC.
🔹 Core Features
Session-Anchored Value Area
Value Area is built only during the selected session
Resets cleanly at session start
Levels develop during the session and can be extended forward
No repainting or shifting due to lookback changes
TPO or Volume Mode
TPO (Time-at-Price) mode – ideal for CFDs and tick-volume data
Volume mode – uses broker volume if preferred
Same logic, different weighting method
Fixed Price Bin Size
Uses a fixed bin size (e.g. 0.10 for Gold, 0.25–0.50 for NAS100)
Produces cleaner, more realistic VAH/VAL levels
Avoids distorted profiles caused by dynamic bin scaling
VAH / VAL / POC Levels
VAH (Value Area High)
VAL (Value Area Low)
POC (Point of Control) (optional)
Lines can be extended to act as forward reference levels
🔹 Trading Signals & Alerts
Value Re-Entry
Identifies false breakouts where price:
Trades outside value
Then closes back inside
Often seen before strong mean-reversion or continuation moves.
Acceptance
Detects initiative activity using:
Multiple consecutive closes outside value
Filters out weak single-candle breaks
Rejection
Flags strong rejection candles:
Large candle body
Wick outside value
Close back inside the value area
These conditions are especially effective on Gold intraday.
🔹 Optional Profile Histogram
Right-side volume/TPO histogram
Buy/sell imbalance visualization
Fully optional to reduce chart clutter and improve performance
🔹 Best Use Cases
Recommended markets
XAUUSD (Gold)
NAS100 / US100
Other index or metal CFDs
Recommended timeframes
5m, 15m, 30m
Suggested settings
Mode: TPO
Value Area: 70%
Bin size:
Gold: 0.10
NAS100: 0.25 or 0.50
🔹 How Traders Use It
Trade rejections at VAH / VAL
Look for acceptance to confirm trend days
Use re-entries to fade failed breakouts
Combine with trend filters, EMA structure, or session context
⚠️ Disclaimer
This indicator is provided for educational and analytical purposes only and does not constitute financial advice. Always manage risk appropriately.
Week High/LowThis indicator plots the Previous Week High and Low as two horizontal dashed lines.
It is designed to appear only on the Daily (D) and Weekly (W) timeframes, ensuring a clean higher-timeframe context without lower-timeframe noise.
The levels are calculated from the completed weekly candle and automatically update at the start of each new week.
These levels serve as weekly liquidity references, commonly used to assess premium/discount zones, potential stop-run areas, and higher-timeframe market reactions.
Chart This in GoldProduces a historical line chart in the bottom pane to reflect how many units of spot gold (XAU) could be exchanged for one unite of the underlying asset.






















