Dual EMA (9 & 16) Customizable 📈 Dual EMA Indicator (Customizable & Preset Based)
The Dual EMA Indicator is a simple yet powerful trend-following tool that plots two Exponential Moving Averages (EMAs) on the price chart. It is designed for scalpers, intraday traders, and swing traders who rely on EMA crossovers and trend direction for decision-making.
This indicator allows full customization of both EMAs, including length, color, source, line width, and offset. Users can also enable or disable each EMA individually, keeping the chart clean and focused.
To make trading faster and easier, built-in preset EMA combinations such as 5–9, 9–21, and 16–34 are provided, which are commonly used for scalping and trend trading. A Custom mode is also available for traders who prefer their own EMA settings.
🔑 Key Features
Two EMAs in a single indicator
Preset EMA pairs for scalping and intraday trading
Fully customizable EMA lengths and sources
Change colors, line width, and offset
Enable/disable each EMA with a checkbox
Clean and lightweight with no lag
📊 How to Use
Fast EMA above Slow EMA → Bullish trend
Fast EMA below Slow EMA → Bearish trend
EMA crossovers can be used for entry and exit confirmation
Works well on 1m, 3m, 5m, 15m, and higher timeframes
This indicator is ideal for traders who want a simple, flexible, and reliable EMA setup without cluttering their charts.
Wskaźniki i strategie
DJ's Macro Catch-Up (BTC/NDX Ratio)Calculates the BTC/NDX ratio and plots the ratio line (white line)
Highlights the Background in Green specifically when a Bullish Divergence forms (Ratio makes a Lower Low, but RSI makes a Higher Low).
Look for the Green Zones: Don't buy in the green zone blindly. Wait for the White Line (Ratio) to cross above the Yellow Line (50 EMA). That is your confirmation that the rotation has started.
9 EMA Pullback Zones + Grade + VWAP Regime + VIX Filter (v6)Only for education purpose When 9 ema price above or below Vwap it will give you long or short entry
DLR - Daily Liquidity Range Framework (v1.3)Daily Level Ranges
This strategy targets discounted premiums for buying Call/Put Options in discounted areas based on liquidity levels that form ranges.
Opening Range creates the strongest liquidity for the day.
Premarket Highs/Lows are strong liquidity points.
Previous Day Highs/Lows are reliable liquidity points.
PMH/PML and PDH/PDL may alternate positions relative to OR.
* Discounted Calls are taken under the OR in Bullish conditions
* Discounted Puts are taken above the OR in bearish conditions.
- Momentum Calls are taken at the OR in Bullish Conditions
- Momentum Puts are taken at the OR in Bearish Conditions
VIX Option Hedge Monitor# VIX Option Hedge Monitor
Inspired by Cem Karsan
The VIX Option Hedge Monitor is a specialized indicator designed to detect unusual hedging activity in VIX call options that may signal impending market volatility or potential market crashes. By monitoring deep out-of-the-money (OTM) VIX calls that are 1-2weeks out—typically 150-170% OTM with premiums around $0.05-$0.10—this indicator identifies when institutional players are aggressively hedging for tail risk events.
## What It Does
This indicator tracks the intraday percentage change of a specific VIX option contract from its daily opening price and provides two distinct alert levels:
- **🟠 Orange Alert (200%+ increase)**: "Increased Hedging" - Indicates elevated hedging activity
- **🔴 Red Alert (400%+ increase)**: "Crash Imminent" - Suggests extreme hedging behavior often seen before major market dislocations
## Why This Matters
Deep OTM VIX calls are typically used by institutional investors as insurance against severe market crashes. When these options suddenly spike in price, it often indicates that sophisticated market participants are positioning for significant volatility. Historically, extreme spikes in these types of options have preceded major market corrections.
## How to Use
### Initial Setup
1. **Add the Indicator**
- Open TradingView and click on "Indicators" at the top of your chart
- Search for "VIX Option Hedge Monitor"
- Click to add it to your chart
2. **Find Your VIX Option Ticker**
- Go to VIX options chain in TradingView
- Find an expiration date that is more than 1 week out but less than 4 weeks out
- Locate a call strike approximately 168% OTM (these typically trade at $0.05-$0.10)
- Note the exact option ticker symbol (e.g., VIX260121C37.0)
3. **Configure the Indicator**
- Click on the gear icon next to "VIX Option Hedge Monitor" in your indicator list
- In the "VIX Option Symbol" field, paste your option ticker
- Adjust thresholds if desired (default: 200% orange, 400% red)
- Click "OK"
### Setting Up Alerts (Recommended)
1. Click the three dots (⋮) next to the indicator name
2. Select "Add alert on VIX Option Hedge Monitor"
3. Choose your alert condition:
- "Increased Hedging Alert" for the 200% threshold
- "Crash Hedge Behavior Alert" for the 400% threshold
4. Configure how you want to receive alerts (popup, email, SMS, etc.)
5. Click "Create"
### Ongoing Maintenance
**Rolling to New Expiration:**
When your current option is within 7 days of expiration, you'll need to update to a new option:
1. Find a new VIX call option meeting the criteria (1-3 weeks out, ~168% OTM)
2. Open the indicator settings (gear icon)
3. Update the "VIX Option Symbol" field with the new ticker
4. Click "OK"
The indicator will immediately begin tracking the new option.
## Understanding the Display
### Info Table (Top Right)
- **Option**: Current option ticker being monitored
- **Current Price**: Real-time option price
- **Day Open**: Option's opening price for the current trading day
- **% Change**: Percentage increase from day open
- **Status**: Current alert level (Normal, Increased Hedging, or Crash Imminent)
### Chart Elements
- **Blue Line**: Option price movement
- **White Line**: Percentage change from daily open
- **Orange Dashed Line**: 200% threshold marker
- **Red Dashed Line**: 400% threshold marker
- **Triangle Markers**: Appear when thresholds are crossed
- **Background Color**: Changes to orange or red when alerts are triggered
## Settings & Customization
### Adjustable Parameters
**VIX Option Symbol** (Required)
- The exact ticker of the VIX option you want to monitor
- Must be updated manually when rolling to new expirations
- Example: VIX250131C00055000
**Orange Alert Threshold** (Default: 200%)
- Percentage increase from day open to trigger "Increased Hedging" alert
- Adjust higher for fewer false positives or lower for earlier warnings
**Red Alert Threshold** (Default: 400%)
- Percentage increase from day open to trigger "Crash Imminent" alert
- Represents extreme hedging behavior
**Show % Change Line** (Default: On)
- Toggle visibility of the percentage change line
**Show Price Line** (Default: On)
- Toggle visibility of the option price line
## Trading Strategy Considerations
### This Indicator Is:
- A early warning system for potential market volatility
- A tool to monitor institutional hedging behavior
- Most effective when combined with other technical and fundamental analysis
### This Indicator Is NOT:
- A standalone trading signal
- A guarantee of market crashes
- A timing tool (alerts may come hours or days before events)
### Best Practices:
1. **Don't trade solely on this indicator** - Use it as one input among many
2. **Monitor throughout the day** - Set alerts but also check manually
3. **Consider market context** - High VIX environments may see more false signals
4. **Roll options weekly** - Keep your monitored option in the 1-3 week window
5. **Track multiple strikes** - Consider monitoring 2-3 different strikes for confirmation
## Technical Notes
- The indicator uses daily open as the baseline for percentage calculations
- Price data refreshes based on your chart timeframe
- Works best on intraday timeframes (1min - 15min) for quick alerts
- Requires TradingView access to options data for the ticker you specify
## Interpretation Guide
**Normal Operation** (0-199% increase)
- Market functioning normally
- Standard hedging activity
- No action required
**Increased Hedging** (200-399% increase)
- Heightened caution warranted
- Consider reviewing portfolio hedges
- Monitor closely for further escalation
- May indicate near-term volatility concerns
**Crash Imminent** (400%+ increase)
- Extreme hedging activity detected
- Institutional players positioning for severe downside
- Consider defensive positioning
- Review stop losses and portfolio allocation
- Historical precedent suggests elevated crash risk
## Limitations
- Requires manual option ticker updates
- Cannot automatically select optimal strikes
- Low liquidity options may show erratic price movements
- False signals possible during high volatility periods
- Past performance does not guarantee future results
## Support & Updates
For questions, suggestions, or to report issues, please leave a comment on the indicator page.
## Disclaimer
This indicator is for informational and educational purposes only. It does not constitute financial advice, investment recommendations, or trading signals. Always conduct your own research and consult with a qualified financial advisor before making investment decisions. Options trading carries significant risk and may not be suitable for all investors.
---
**Version**: 1.0
**Last Updated**: January 2026
**Compatible With**: TradingView Pine Script v5
Institutional Frontrunner w/ PCR & VIX - Fixed Distance LabelsUse this script to evaluate if buying or selling is indicated based on a variety of metrics surrounding momentum and volume or institutional traders.
ImbalanceDetects and visualizes price imbalances across multiple higher timeframes (Monthly, Weekly, Daily, 4H, 1H, 15m, 5m).
The script draws color-coded bullish and bearish imbalance boxes with dotted midpoint lines, supports extending boxes to the right, optional reduction (shrink on partial fill), and automatic aging/removal of old zones — making it easy to spot persistent supply/demand imbalances at a glance.
Daily Upside LinePlots an intraday upside line.
Uses proprietary breakout score logic to show when intraday setups are ripe for continuation.
Finds the average of these lines to plot the upside line
TradingMoja / SQZMOM ADX . Mi indicatores lo que ultizo en mis añalisis a dia dia . Si trata de SQZMOM y ADX
Aura Squeeze Projections [Pineify]Pineify - Aura Squeeze Projections
This indicator combines the volatility compression detection of the TTM Squeeze methodology with an innovative "aura glow" visualization, offering traders a clear and aesthetically distinct way to identify low-volatility consolidation phases and anticipate breakout directions. By merging Bollinger Bands, Keltner Channels, and linear regression momentum analysis, the Aura Squeeze Projections provides actionable squeeze signals with directional bias.
Key Features
Visual "aura glow" effect highlighting squeeze zones and momentum shifts
Squeeze detection combining Bollinger Bands and Keltner Channels
Linear regression-based momentum for directional bias
Dynamic candle coloring reflecting current market state
Squeeze start and release signal markers
How It Works
The core logic identifies volatility compression by comparing Bollinger Bands to Keltner Channels. When the Bollinger Bands contract inside the Keltner Channel boundaries (BB upper < KC upper AND BB lower > KC lower), the market enters a "squeeze" state — a period of low volatility that often precedes significant price movement.
Momentum direction is calculated using a linear regression slope of the difference between price and its moving average. A positive slope indicates bullish momentum; negative indicates bearish momentum. This determines the anticipated breakout direction when the squeeze releases.
How Multiple Indicators Work Together
Bollinger Bands measure statistical volatility through standard deviation, expanding during high volatility and contracting during consolidation. Keltner Channels use Average True Range (ATR) for a smoother volatility envelope. When BB fits entirely within KC, volatility has compressed below normal levels — the squeeze condition.
The linear regression momentum component adds directional intelligence. Rather than simply detecting compression, it forecasts the likely breakout direction by analyzing the trend slope of price deviation from its mean. This synergy transforms a binary squeeze signal into an actionable directional setup.
Unique Aspects
The "aura glow" visualization creates gradient fills between the trend midline and Keltner boundaries, providing an intuitive heat-map style view of market conditions. Colors transition dynamically: gray during squeeze (consolidation), green for bullish momentum, and red for bearish momentum. This makes market state immediately recognizable at a glance.
How to Use
Watch for the gray squeeze state indicating volatility compression
Note the circle marker appearing above bars when squeeze begins
Observe when the diamond marker appears below bars — squeeze release
The color at release (green/red) indicates anticipated breakout direction
Use candle coloring for confirmation of momentum alignment
Customization
Lookback Length : Adjusts sensitivity (shorter = more signals, longer = fewer but stronger)
BB/KC Multipliers : Fine-tune squeeze detection threshold
Use EMA : Toggle between EMA (smoother) or SMA for the midline basis
Aura Transparency : Control visual intensity of the glow effect
Conclusion
Aura Squeeze Projections offers a refined approach to squeeze-based trading by combining proven volatility compression detection with momentum-based directional analysis and distinctive visual presentation. The indicator helps traders identify consolidation periods and prepare for breakouts with directional confidence. Best used alongside price action analysis and support/resistance levels for confirmation.
Relative Strength Index (RSI) w/ Multi Time Frame w/ DivergencesThis indicator is an advanced evolution of the classic Relative Strength Index (RSI), designed to provide deeper market context by combining Momentum, Multi-Timeframe (MTF) analysis, and Divergences into a single, clean visual tool.
Unlike standard indicators, RSI MTF Pro v2 allows you to configure the Main RSI and the Background Trend Zone independently, giving you full control over your strategy (e.g., watching a 15m RSI while monitoring the 4H trend).
Key Features:
🚀 Dual MTF Engine: Completely independent settings for the Main RSI Line and the Background Zone. You can choose different Timeframes, Lengths, and Levels for each.
heatmap Style Background: The indicator background changes color (Red/Green) based on the MTF RSI trend, helping you filter out bad trades and stick to the dominant trend.
🎨 Smart Gradient Fills: To keep your chart clean, the gradient colors (Red/Green fills) only appear when the RSI breaches the Overbought or Oversold levels.
🎯 Divergence Detector: Automatically spots and marks Regular Bullish and Bearish divergences with pivot-based logic.
How to Use:
Trend Confirmation: Use the Background Color to determine the higher timeframe direction (e.g., Red Background = Uptrend).
Entry Signals: Look for RSI signals that align with the background color (e.g., RSI Oversold/Green Gradient + Green Background).
Reversals: Use the built-in Divergence circles to spot potential trend reversals.
Settings:
Main RSI: Customizable Timeframe, Length, OB/OS Levels.
MTF Background: Independent Timeframe, Length, and Zone thresholds (e.g., >60 Red, <40 Green).
Divergences: Toggle On/Off and adjust Pivot lookback periods.
Disclaimer: This tool is for informational purposes only and does not constitute financial advice.
SVE Pivot Points v5//@version=6
indicator(title="SVE Pivot Points", overlay=true, max_lines_count=500)
// Input Parameters
agg_period = input.timeframe("D", title="Aggregation period")
show_labels = input.bool(true, title="Show Labels")
line_width = input.int(1, title="Line Width", minval=1, maxval=4)
// Detect new aggregation period
bool new_agg_bar = bool(ta.change(time(agg_period)))
// Calculate how many chart bars fit in one aggregation period
get_bars_in_period(string tf) =>
tf_secs = timeframe.in_seconds(tf)
chart_secs = timeframe.in_seconds(timeframe.period)
// If aggregation period is smaller than or equal to chart timeframe, use 1 bar
// Otherwise calculate how many chart bars fit
math.max(1, int(math.ceil(tf_secs / chart_secs)))
bars_in_period = get_bars_in_period(agg_period)
// Fetch previous period's high, low, close
ph = request.security(syminfo.tickerid, agg_period, high , barmerge.gaps_off, barmerge.lookahead_on)
pl = request.security(syminfo.tickerid, agg_period, low , barmerge.gaps_off, barmerge.lookahead_on)
pc = request.security(syminfo.tickerid, agg_period, close , barmerge.gaps_off, barmerge.lookahead_on)
// Calculate pivot points
pp = (ph + pl + pc) / 3
r1 = 2 * pp - pl
r2 = pp + (ph - pl)
r3 = 2 * pp + (ph - 2 * pl)
s1 = 2 * pp - ph
s2 = pp - (ph - pl)
s3 = 2 * pp - (2 * ph - pl)
// Calculate mean levels
r1m = (pp + r1) / 2
r2m = (r1 + r2) / 2
r3m = (r2 + r3) / 2
s1m = (pp + s1) / 2
s2m = (s1 + s2) / 2
s3m = (s2 + s3) / 2
// Previous high and low
hh = ph
ll = pl
// Colors
color_r = color.red
color_s = color.green
color_pp = color.blue
color_hl = color.gray
// Arrays to store historical lines (for showing past periods)
var line lines_r3 = array.new_line()
var line lines_r3m = array.new_line()
var line lines_r2 = array.new_line()
var line lines_r2m = array.new_line()
var line lines_r1 = array.new_line()
var line lines_r1m = array.new_line()
var line lines_hh = array.new_line()
var line lines_pp = array.new_line()
var line lines_ll = array.new_line()
var line lines_s1m = array.new_line()
var line lines_s1 = array.new_line()
var line lines_s2m = array.new_line()
var line lines_s2 = array.new_line()
var line lines_s3m = array.new_line()
var line lines_s3 = array.new_line()
// Current period labels (only show for current period)
var label lbl_r3 = na
var label lbl_r3m = na
var label lbl_r2 = na
var label lbl_r2m = na
var label lbl_r1 = na
var label lbl_r1m = na
var label lbl_hh = na
var label lbl_pp = na
var label lbl_ll = na
var label lbl_s1m = na
var label lbl_s1 = na
var label lbl_s2m = na
var label lbl_s2 = na
var label lbl_s3m = na
var label lbl_s3 = na
// Track current period start
var int current_period_start = 0
// On new aggregation period, create new lines
if new_agg_bar
current_period_start := bar_index
// Create lines for this period - they start here and will be extended
array.push(lines_r3, line.new(bar_index, r3, bar_index + bars_in_period, r3, color=color_r, width=line_width))
array.push(lines_r3m, line.new(bar_index, r3m, bar_index + bars_in_period, r3m, color=color_r, width=line_width))
array.push(lines_r2, line.new(bar_index, r2, bar_index + bars_in_period, r2, color=color_r, width=line_width))
array.push(lines_r2m, line.new(bar_index, r2m, bar_index + bars_in_period, r2m, color=color_r, width=line_width))
array.push(lines_r1, line.new(bar_index, r1, bar_index + bars_in_period, r1, color=color_r, width=line_width))
array.push(lines_r1m, line.new(bar_index, r1m, bar_index + bars_in_period, r1m, color=color_r, width=line_width))
array.push(lines_hh, line.new(bar_index, hh, bar_index + bars_in_period, hh, color=color_hl, width=line_width))
array.push(lines_pp, line.new(bar_index, pp, bar_index + bars_in_period, pp, color=color_pp, width=line_width))
array.push(lines_ll, line.new(bar_index, ll, bar_index + bars_in_period, ll, color=color_hl, width=line_width))
array.push(lines_s1m, line.new(bar_index, s1m, bar_index + bars_in_period, s1m, color=color_s, width=line_width))
array.push(lines_s1, line.new(bar_index, s1, bar_index + bars_in_period, s1, color=color_s, width=line_width))
array.push(lines_s2m, line.new(bar_index, s2m, bar_index + bars_in_period, s2m, color=color_s, width=line_width))
array.push(lines_s2, line.new(bar_index, s2, bar_index + bars_in_period, s2, color=color_s, width=line_width))
array.push(lines_s3m, line.new(bar_index, s3m, bar_index + bars_in_period, s3m, color=color_s, width=line_width))
array.push(lines_s3, line.new(bar_index, s3, bar_index + bars_in_period, s3, color=color_s, width=line_width))
// Delete old labels and create new ones
if show_labels
label.delete(lbl_r3)
label.delete(lbl_r3m)
label.delete(lbl_r2)
label.delete(lbl_r2m)
label.delete(lbl_r1)
label.delete(lbl_r1m)
label.delete(lbl_hh)
label.delete(lbl_pp)
label.delete(lbl_ll)
label.delete(lbl_s1m)
label.delete(lbl_s1)
label.delete(lbl_s2m)
label.delete(lbl_s2)
label.delete(lbl_s3m)
label.delete(lbl_s3)
lbl_r3 := label.new(bar_index + bars_in_period, r3, "R3", style=label.style_label_left, color=color.new(color_r, 100), textcolor=color_r, size=size.small)
lbl_r3m := label.new(bar_index + bars_in_period, r3m, "R3M", style=label.style_label_left, color=color.new(color_r, 100), textcolor=color_r, size=size.small)
lbl_r2 := label.new(bar_index + bars_in_period, r2, "R2", style=label.style_label_left, color=color.new(color_r, 100), textcolor=color_r, size=size.small)
lbl_r2m := label.new(bar_index + bars_in_period, r2m, "R2M", style=label.style_label_left, color=color.new(color_r, 100), textcolor=color_r, size=size.small)
lbl_r1 := label.new(bar_index + bars_in_period, r1, "R1", style=label.style_label_left, color=color.new(color_r, 100), textcolor=color_r, size=size.small)
lbl_r1m := label.new(bar_index + bars_in_period, r1m, "R1M", style=label.style_label_left, color=color.new(color_r, 100), textcolor=color_r, size=size.small)
lbl_hh := label.new(bar_index + bars_in_period, hh, "HH", style=label.style_label_left, color=color.new(color_hl, 100), textcolor=color_hl, size=size.small)
lbl_pp := label.new(bar_index + bars_in_period, pp, "PP", style=label.style_label_left, color=color.new(color_pp, 100), textcolor=color_pp, size=size.small)
lbl_ll := label.new(bar_index + bars_in_period, ll, "LL", style=label.style_label_left, color=color.new(color_hl, 100), textcolor=color_hl, size=size.small)
lbl_s1m := label.new(bar_index + bars_in_period, s1m, "S1M", style=label.style_label_left, color=color.new(color_s, 100), textcolor=color_s, size=size.small)
lbl_s1 := label.new(bar_index + bars_in_period, s1, "S1", style=label.style_label_left, color=color.new(color_s, 100), textcolor=color_s, size=size.small)
lbl_s2m := label.new(bar_index + bars_in_period, s2m, "S2M", style=label.style_label_left, color=color.new(color_s, 100), textcolor=color_s, size=size.small)
lbl_s2 := label.new(bar_index + bars_in_period, s2, "S2", style=label.style_label_left, color=color.new(color_s, 100), textcolor=color_s, size=size.small)
lbl_s3m := label.new(bar_index + bars_in_period, s3m, "S3M", style=label.style_label_left, color=color.new(color_s, 100), textcolor=color_s, size=size.small)
lbl_s3 := label.new(bar_index + bars_in_period, s3, "S3", style=label.style_label_left, color=color.new(color_s, 100), textcolor=color_s, size=size.small)
// On the last bar, update the current period's lines to extend properly into the future
if barstate.islast and array.size(lines_pp) > 0
// Get the most recent lines
line last_r3 = array.get(lines_r3, array.size(lines_r3) - 1)
line last_r3m = array.get(lines_r3m, array.size(lines_r3m) - 1)
line last_r2 = array.get(lines_r2, array.size(lines_r2) - 1)
line last_r2m = array.get(lines_r2m, array.size(lines_r2m) - 1)
line last_r1 = array.get(lines_r1, array.size(lines_r1) - 1)
line last_r1m = array.get(lines_r1m, array.size(lines_r1m) - 1)
line last_hh = array.get(lines_hh, array.size(lines_hh) - 1)
line last_pp = array.get(lines_pp, array.size(lines_pp) - 1)
line last_ll = array.get(lines_ll, array.size(lines_ll) - 1)
line last_s1m = array.get(lines_s1m, array.size(lines_s1m) - 1)
line last_s1 = array.get(lines_s1, array.size(lines_s1) - 1)
line last_s2m = array.get(lines_s2m, array.size(lines_s2m) - 1)
line last_s2 = array.get(lines_s2, array.size(lines_s2) - 1)
line last_s3m = array.get(lines_s3m, array.size(lines_s3m) - 1)
line last_s3 = array.get(lines_s3, array.size(lines_s3) - 1)
// Calculate end point: period start + bars in period
int end_bar = current_period_start + bars_in_period
// Update line endpoints
line.set_x2(last_r3, end_bar)
line.set_x2(last_r3m, end_bar)
line.set_x2(last_r2, end_bar)
line.set_x2(last_r2m, end_bar)
line.set_x2(last_r1, end_bar)
line.set_x2(last_r1m, end_bar)
line.set_x2(last_hh, end_bar)
line.set_x2(last_pp, end_bar)
line.set_x2(last_ll, end_bar)
line.set_x2(last_s1m, end_bar)
line.set_x2(last_s1, end_bar)
line.set_x2(last_s2m, end_bar)
line.set_x2(last_s2, end_bar)
line.set_x2(last_s3m, end_bar)
line.set_x2(last_s3, end_bar)
// Update label positions
if show_labels
label.set_x(lbl_r3, end_bar)
label.set_x(lbl_r3m, end_bar)
label.set_x(lbl_r2, end_bar)
label.set_x(lbl_r2m, end_bar)
label.set_x(lbl_r1, end_bar)
label.set_x(lbl_r1m, end_bar)
label.set_x(lbl_hh, end_bar)
label.set_x(lbl_pp, end_bar)
label.set_x(lbl_ll, end_bar)
label.set_x(lbl_s1m, end_bar)
label.set_x(lbl_s1, end_bar)
label.set_x(lbl_s2m, end_bar)
label.set_x(lbl_s2, end_bar)
label.set_x(lbl_s3m, end_bar)
label.set_x(lbl_s3, end_bar)
// Limit array sizes to prevent memory issues (keep last 100 periods)
max_lines = 100
if array.size(lines_pp) > max_lines
line.delete(array.shift(lines_r3))
line.delete(array.shift(lines_r3m))
line.delete(array.shift(lines_r2))
line.delete(array.shift(lines_r2m))
line.delete(array.shift(lines_r1))
line.delete(array.shift(lines_r1m))
line.delete(array.shift(lines_hh))
line.delete(array.shift(lines_pp))
line.delete(array.shift(lines_ll))
line.delete(array.shift(lines_s1m))
line.delete(array.shift(lines_s1))
line.delete(array.shift(lines_s2m))
line.delete(array.shift(lines_s2))
line.delete(array.shift(lines_s3m))
line.delete(array.shift(lines_s3))
Google Trends: Keyword "Altcoin" (Cryptollica)Google Trends: Keyword "Altcoin"
2013-2026 Google Trend
CRYPTOLLICA
PrecisionFirstCrossBreakouts above the 90-day high often attract institutional attention and momentum. PrecisionFirstCross™ identifies the first cross of this level each day, filtered by relative volume (default 2x) to focus on moves with conviction. A "near breakout" alert gives you a heads-up before the trigger.
Share Size CalcCalculate the share size to be used based on a percentage risk per trade and total capital in the account.
MES ORB Fakeout Alert - No RSIVWAP Integration: In 2025/2026 trading, price action often "reverses" to the VWAP. If the MES breaks the ORB High but stays below the VWAP, it’s a high-probability fakeout. This script catches that.
Relative Volume (Effort vs. Result): Instead of RSI, it looks at the Volume SMA. If the market tries to break a level with less volume than the 20-candle average, the "effort" isn't there, and the "result" (the breakout) is likely a lie.
Automatic Session Handling: It specifically looks at America/New_York time to ensure the 9:30 AM open is captured correctly regardless of where you are located.
ATR + BB Swing StrategyMechanical daily stock swing strategy using ATR stops, Heikin Ashi trend confirmation, and Bollinger Bands context. Entries occur above 50 SMA on bullish Heikin Ashi candles; initial stop is 3xATR with trailing stop of highest close minus 2xAtr, reducing to 1.5xATR when profit protection triggers (+2R and momentum weakening). Exits are fully ATR-based, giving a simple, rules-driven approach to ride trends while protecting gains
PAIR CORROLATIONThis indicator shows when ema's on 2 pairs of choice (SMT related) are allilgned. you can fully customize it by showing signals or change of colour of background
Trading Checklist - POI & iFVG StrategyInspired by Navi Trades rules of trade engagement, I'm keeping it open on the side of the chart as reminder
Watch: www.youtube.com
Read: www.notion.so
Indicators Navi Uses:
iFVG:
CCT:
VWT:
Sessions: ICT Killzones + Pivots indicator
**Strategy**
**A+ Trade (Bullish Example):**
- Wait for a H1 candle to above virgin wick(s)
- Virgin wick(s) becomes H1 Bullish POIs
- Drop to M1 and look for price to trade under POI (can be wick or close)
- Then wait for a confirmed iFVG
- (iFVG can be on either side of POI)
- Limit order on confirmation of iFVG
**TP/SL:**
- SL: Just on the other side of the iFVG or the entry candle (which ever is further/safer)
- TP: Obvious DOL OR 2R is DOL is more than 2R away
- If DOL is significantly more than 2R away, I will widen the SL a bit and lessen the TP a bit
- No partial TP, No moving SL, No trailing, No breakeven. Either SL or TP
- Risk = 10% of drawdown ($200 for $50k Lucid accounts)
- Contract size will change depending on how far SL is so I can maintain same $ risk
**A+ Rules**
- Each POI is only valid for an hour
- If still in trade at end of hour, let it play out
- No entries from XX:51
- If price already delivers off POI without giving entry I will not consider it anymore
- There must be an obvious DOL - I will not target empty space
- 1.5R MINIMUM, 2R MAXIMUM
**A+ Process:**
- Wait for iFVG alert
- Check that none of the above rules have been breached
- Check if price engaged with respective POI (bullish/bearish) - this is where indicators help (personal preference) (you still need to understand the model)
- Limit order at iFVG confirmation
- SL on other side of iFVG or entry candle (which ever is further)
- TP at clear DOL (2R max)
- If DOL is a lot more than 2R away - can widen SL a bit
**Reminders**
- Process > Profits.
- A perfectly executed red day > poorly executed green day
- Follow your system.
- Trust your edge - trading is a probabilities game.
- You can lose more than half of your trades and STILL BE PROFITABLE
- There will be losses. That is a part of this business. There is no model in the world that has a 100% win rate.
- Be grateful for the opportunity to make magic internet monies by clicking buttons on a screen
eBacktesting - Learning: Liquidity GrabseBacktesting - Learning: Liquidity Grabs highlights moments when price pushes just beyond a recent swing high or swing low (where many stops tend to sit) and then quickly returns back inside the level. This behavior is often called a stop run, sweep, or liquidity grab.
Traders study these events because they can reveal:
- Where liquidity is “resting” (obvious highs/lows)
- A quick sweep and rejection (often a wick)
- When a breakout attempt is actually a trap
- A full candle close through the level, followed by an immediate reversal back inside (classic breakout trap)
- Potential areas where price may reverse or accelerate after stops are taken
Use it as a training tool to build pattern recognition and improve your patience around key levels, especially during active sessions where sweeps happen frequently.
These indicators are built to pair perfectly with the eBacktesting extension, where traders can practice these concepts step-by-step. Backtesting concepts visually like this is one of the fastest ways to learn, build confidence, and improve trading performance.
Educational use only. Not financial advice.
ICT 1st Pres. FVGs & RTH Open Gaps version 13/01/2026
ICT 1st Pres. FVGs & RTH Open Gaps
By Timo Haapsaari (@hqtimppa) based on ICT (Inner Circle Trader / Michael J.
Huddleston) teachings.
This indicator identifies and displays:
• First Presented Fair Value Gaps (FVGs) after Midnight Open (00:00 NY)
• First Presented FVGs after NY Open (09:30 NY)
• Regular Trading Hours (RTH) Opening Gaps (16:14 close vs 09:30 open)
All detections are based on 1-minute data for accuracy across any timeframe.
Special thanks to cephxs (https:x.com/dyk_ceph) for inspiration on settings
structure and visual appearance.
Happy trading! 📈






















