Gould 10Y + 4Y patternDescription:
Overview This indicator is a comprehensive tool for macro-market analysis, designed to visualize historical market cycles on your chart. It combines Edson Gould’s famous Decennial Pattern with a Customizable 4-Year Cycle (e.g., 2002 base) to help traders identify long-term trends, potential market bottoms, and strong bullish years.
This tool is ideal for long-term investors and analysts looking for cyclical confluence on monthly or yearly timeframes (e.g., SPX, NDX).
Key Concepts
Edson Gould’s Decennial Pattern (10-Year Cycle)
Based on the theory that the stock market follows a psychological cycle determined by the last digit of the year.
5 (Strongest Bull): Historically the strongest performance years.
7 (Panic/Crash): Years often associated with market panic or crashes.
2 (Bottom/Buy): Years that often mark major lows.
Custom 4-Year Cycle (Target Year Strategy)
Identify recurring 4-year opportunities based on a user-defined base year.
Default Setting (Base 2002): Highlights years like 2002, 2006, 2010, 2014, 2018, 2022... which have historically been significant market bottoms or excellent buying opportunities.
When a "Target Year" arrives, the indicator highlights the background and displays a distinct Green "Target Year" Label.
Features
Real-time Dashboard: A table in the top-right corner displays the current year's status for both the 10-Year and 4-Year cycles, including a countdown to the next target year.
Dynamic Labels: Automatically marks every year on the chart with its Decennial status (e.g., "Strong Bull (5)", "Panic (7)").
Visual Highlighting:
Target Years: Distinct green background and labels for easy identification of the 4-year cycle.
Significant Decennial Years: Special small markers for years ending in 5 and 7.
Fully Customizable: You can change the base year for the 4-year cycle, toggle the dashboard, and adjust colors via the settings menu.
How to Use
Apply this indicator to high-timeframe charts (Weekly or Monthly) of major indices like S&P 500 or Nasdaq.
Look for confluence between the 10-Year Pattern (e.g., Year 6 - Bullish) and the 4-Year Cycle (Target Year) to confirm long-term bias.
Disclaimer This tool is for educational and research purposes only based on historical cycle theories. Past performance is not indicative of future results. Always manage your risk.
Pattern grafici
Distance Dashboard (50DMA / 52W High / 20DMA)Distance Dashboard – Summary
The Distance Dashboard indicator provides a quick snapshot of where price is positioned relative to three key reference points:
Distance of current HIGH from the 50-day moving average (50DMA)
Helps gauge how extended price is above or below medium-term trend support.
Distance of current LOW from the 52-week HIGH
Shows how far price has pulled back from long-term highs.
Distance of current HIGH from the 20-day moving average (20DMA)
Measures short-term extension and potential overbought/overextended behaviour.
The indicator displays these values in a clean, movable table directly on the price chart.
It does not affect chart scaling and is designed for quick visual assessment of trend extension and relative strength.
EMA 50 → EMA 200 Hunt TestThis script helps you test the theory below
When price breaks below the EMA 50…
it often goes hunting for the EMA 200.
This pattern repeats across:
• Any asset
• Any timeframe
Is this really true?
So this is what this script does
when price close below ema 50, how many times it goes down further and close below ema 200.
after price close below ema 50, on any of further days if it closes above ema 50 without closing below 200 ema, then it goes invalid and we calculate this count, how many sych occurences happens
after price close below ema 50, on any of further days if it doesn close above ema 50 and closed below 200 ema, we consider its valid and count this occurences
we need to compare both in table
EMA 12-26-100 Momentum Strategy# Triple EMA Multi-Signal Momentum Strategy
## 📊 Overview
**Triple EMA Multi-Signal** is a comprehensive trend-following momentum strategy designed specifically for cryptocurrency markets. It combines multiple technical indicators and signal types to identify high-probability trading opportunities while maintaining strict risk management protocols.
The strategy excels in trending markets and uses adaptive position sizing with trailing stops to maximize profits during strong trends while protecting capital during choppy conditions.
## 🎯 Core Algorithm
### Triple EMA System
The strategy employs a three-layer EMA system to identify trend direction and strength:
- **Fast EMA (12)**: Quick response to price changes
- **Slow EMA (26)**: Confirmation of trend direction
- **Trend EMA (100)**: Overall market bias filter
Trades are only taken when all three EMAs align in the same direction, ensuring we trade with the dominant trend.
### Multi-Signal Confirmation (8 Signal Types)
The strategy requires at least 1-2 confirmed signals from multiple independent sources before entering a position:
1. **EMA Crossover** - Fast EMA crossing Slow EMA (primary signal)
2. **MACD Cross** - MACD line crossing signal line (momentum confirmation)
3. **RSI Reversal** - RSI bouncing from oversold/overbought zones
4. **Price Action** - Strong bullish/bearish candles (>60% of range)
5. **Volume Spike** - Above-average volume confirmation
6. **Breakout** - Price breaking 20-period high/low with volume
7. **Pullback to EMA** - Trend continuation after healthy retracement
8. **Bollinger Bounce** - Price bouncing from BB bands
This multi-signal approach significantly reduces false signals and improves win rate.
## 💰 Risk Management
### Position Sizing
- Default: 20-25% of equity per trade
- Adjustable based on risk tolerance
- Smaller positions recommended for leveraged trading
### Stop Loss & Take Profit
- **Stop Loss**: 2.0% (tight control of risk)
- **Take Profit**: 5.5% (2.75:1 reward-to-risk ratio)
- Both levels are fixed at entry to avoid emotional decisions
### Trailing Stop System
- Activates after 1.8% profit
- Trails at 1.3% below current price
- Locks in profits during extended trends
- Automatically adjusts as price moves in your favor
### Maximum Hold Time
- 36-48 hours maximum (configurable)
- Designed to minimize funding rate costs on futures
- Forces position closure to avoid excessive exposure
- Helps maintain capital velocity
## 📈 Key Features
### Trend Filters
- **ADX Filter**: Ensures sufficient trend strength (threshold: 20)
- **EMA Alignment**: All three EMAs must confirm trend direction
- **RSI Boundaries**: Avoids extreme overbought/oversold entries
### Volume Analysis
- Volume must exceed 20-period moving average
- Configurable multiplier (default: 1.0x)
- Helps identify institutional participation
### Automatic Exit Conditions
1. Take Profit target reached
2. Stop Loss triggered
3. Trailing stop activated
4. Trend reversal (EMA cross in opposite direction)
5. Maximum hold time exceeded
## 🎮 Recommended Settings
### For Spot Trading (Conservative)
```
Position Size: 15-20%
Stop Loss: 2.5%
Take Profit: 6.0%
Max Hold: 72 hours
Leverage: 1x
```
### For Futures 3-5x Leverage (Balanced)
```
Position Size: 12-15%
Stop Loss: 2.0%
Take Profit: 5.5%
Max Hold: 36 hours
Trailing: Active
```
### For Aggressive Trading 5-10x (High Risk)
```
Position Size: 8-12%
Stop Loss: 1.5%
Take Profit: 4.5%
Max Hold: 24 hours
ADX Filter: Disabled
```
## 📊 Performance Metrics
### Backtested Results (BTC/USDT 1H, 2 years)
- **Total Return**: ~19% (spot) / ~75% (5x leverage)*
- **Total Trades**: 240-300
- **Win Rate**: 49-52%
- **Profit Factor**: 1.25-1.50
- **Max Drawdown**: ~18-22%
- **Average Trade**: 0.5-3 days
*Leverage results exclude funding rates and real-world slippage
### Optimal Timeframes
- **1 Hour**: Best for active trading (recommended)
- **4 Hour**: More stable, fewer signals
- **15 Min**: High frequency (requires monitoring)
### Best Performing Assets
- BTC/USDT (most tested)
- ETH/USDT
- Major altcoins with good liquidity
- Not recommended for low-cap or illiquid pairs
## ⚙️ How to Use
1. **Add to Chart**: Apply strategy to 1H BTC/USDT chart
2. **Adjust Settings**: Configure risk parameters based on your preference
3. **Review Signals**: Green = Long, Red = Short, labels show signal count
4. **Monitor Performance**: Check strategy tester for detailed statistics
5. **Optimize**: Use strategy optimization to find best parameters for your market
## 🎨 Visual Indicators
The strategy provides clear visual feedback:
- **EMA Lines**: Blue (Fast), Red (Slow), Orange (Trend)
- **BUY/SELL Labels**: Show entry points with signal count
- **Stop/Target Lines**: Red (SL), Green (TP) displayed during active trades
- **Background Color**: Light green (long), light red (short) when in position
- **Info Panel**: Shows current trend, RSI, ADX, and volume status
## ⚠️ Important Notes
### Risk Disclaimer
- This strategy is for educational purposes only
- Past performance does not guarantee future results
- Cryptocurrency trading involves substantial risk
- Only trade with capital you can afford to lose
- Always use proper position sizing and risk management
### Limitations
- Performs poorly in sideways/choppy markets
- Requires sufficient liquidity for best execution
- Backtests do not include:
- Real-world slippage (especially during volatility)
- Funding rates (for perpetual futures)
- Exchange downtime or connection issues
- Emotional trading decisions
### For Futures Trading
If using this strategy on futures with leverage:
- Reduce position size proportionally to leverage
- Account for funding rates (~0.01% per 8h)
- Set max hold time to minimize funding costs
- Use lower leverage (3-5x max recommended)
- Monitor liquidation price carefully
## 🔧 Customization
All parameters are fully customizable:
- EMA periods (fast/slow/trend)
- MACD settings (12/26/9)
- RSI levels (30/70)
- Stop Loss / Take Profit percentages
- Trailing stop activation and offset
- Volume multiplier
- ADX threshold
- Maximum hold time
## 📚 Strategy Logic
The strategy follows this decision tree:
```
1. Check Trend Direction (EMA alignment)
↓
2. Scan for Entry Signals (8 types)
↓
3. Confirm with Filters (ADX, Volume, RSI)
↓
4. Enter Position with Fixed SL/TP
↓
5. Monitor for Exit Conditions:
- TP Hit → Close with profit
- SL Hit → Close with loss
- Trailing Active → Follow price
- Trend Reversal → Close position
- Max Time → Force close
```
## 🎓 Best Practices
1. **Start Conservative**: Use smaller position sizes initially
2. **Track Performance**: Monitor actual vs backtested results
3. **Optimize Regularly**: Market conditions change, adapt parameters
4. **Combine with Analysis**: Don't rely solely on automated signals
5. **Manage Emotions**: Stick to the system, avoid manual overrides
6. **Paper Trade First**: Test on demo before risking real capital
## 📞 Support & Updates
This strategy is actively maintained and updated based on:
- Market condition changes
- User feedback and suggestions
- Performance optimization
- Bug fixes and improvements
## 🏆 Conclusion
Triple EMA Multi-Signal Strategy offers a robust, systematic approach to cryptocurrency trading by combining trend following, momentum indicators, and strict risk management. Its multi-signal confirmation system helps filter false signals while the trailing stop mechanism captures extended trends.
The strategy is suitable for both manual traders looking for high-probability setups and algorithmic traders seeking a proven systematic approach.
**Remember**: No strategy wins 100% of the time. Success comes from consistent application, proper risk management, and continuous adaptation to changing market conditions.
---
*Version: 1.0*
*Last Updated: November 2025*
*Tested on: BTC/USDT, ETH/USDT (1H, 4H timeframes)*
*Recommended Capital: $5,000+ for optimal position sizing*
A+ Setup Strategy Trendline Features Added:
1. Automatic Trendline Detection
Support Trendline (green) - Connects swing lows
Resistance Trendline (red) - Connects swing highs
Uses pivot points to identify key swing levels
Validates trendlines by counting touches (minimum 3 touches required)
2. Trendline Settings
Show Trendlines - Toggle on/off
Lookback Period - How far back to look for pivots (default: 50 bars)
Min Touches - How many touches needed for valid trendline (default: 3)
3. Trendline Break Detection
Bullish Break - Price breaks above support trendline (marked with small green circle)
Bearish Break - Price breaks below resistance trendline (marked with small red circle)
Generates signals when breaks occur
4. Enhanced A+ Setups
Now includes ULTRA setups - the absolute best trades:
ULTRA BUY Setup (Aqua label):
Bullish FVG + BOS + Volume Spike + Uptrend
PLUS: Support trendline break OR near key support
PLUS: Trendline breakout confirmation
ULTRA SELL Setup (Fuchsia label):
Bearish FVG + BOS + Volume Spike + Downtrend
PLUS: Resistance trendline break OR near key resistance
PLUS: Trendline breakdown confirmation
5. Confluence Integration
The strategy now considers price near trendlines as additional confluence, similar to how it uses daily S/R levels.
6. Additional Alerts
Support Trendline Break
Resistance Trendline Break
ULTRA BUY/SELL Setup alerts
This gives you multiple tiers of signal quality:
Standard A+ Setup - All conditions met
ULTRA A+ Setup - All conditions + trendline break (highest probability)
The trendlines will help you identify major trend reversals and breakouts for even better entry timing!
HD Trades📊 ICT Confluence Toolkit (FVG, OB, SMT)
This All-in-One indicator is designed for Smart Money Concepts (SMC) traders, providing visual confirmation and signaling for three critical Inner Circle Trader (ICT) tools directly on your chart: Fair Value Gaps (FVG), Order Blocks (OB), and Smart Money Technique (SMT) Divergence.
It eliminates the need to load multiple indicators, streamlining your analysis for high-probability setups.
🔑 Key Features
1. Fair Value Gaps (FVG)
Automatic Detection: Instantly highlights bullish (buy-side) and bearish (sell-side) imbalances using the standard three-candle pattern.
Real-Time Mitigation: Gaps are drawn until price trades into the FVG zone, at which point the indicator automatically "mitigates" and removes the box, ensuring your chart stays clean.
2. Order Blocks (OB)
Impulse-Based Logic: Identifies valid Order Blocks (the last opposing candle) confirmed by a strong, structure-breaking impulse move, quantified using an Average True Range (ATR) multiplier for dynamic sensitivity.
Mitigation Tracking: Bullish OBs are tracked until broken below the low, and Bearish OBs until broken above the high, distinguishing between active supply/demand zones.
3. SMT Divergence (Smart Money Technique)
Multi-Asset Comparison: Utilizes the Pine Script request.security() function to compare the swing structure of the current chart against a correlated asset (e.g., EURUSD vs. GBPUSD, or ES vs. NQ).
Signal Labels: Plots clear 🐂 SMT (Bullish) or 🐻 SMT (Bearish) labels directly on the chart when a divergence in market extremes is detected, signaling a potential reversal or continuation based on internal market weakness.
⚙️ Customization
All three components are toggleable and feature customizable colors and lookback periods, allowing you to fine-tune the indicator to your specific trading strategy and preferred timeframes.
Crucial Setup: For SMT Divergence to function, you must enter a correlated symbol (e.g., NQ1!, ES1!, or a related Forex pair) in the indicator settings.
J&A Sessions & NewsProject J&A: Session Ranges is a precision-engineered tool designed for professional traders who operate based on Time & Price. Unlike standard session indicators that clutter the chart with background colors, this tool focuses on Dynamic Price Ranges to help you visualize the Highs, Lows, and liquidity pools of each session.
It is pre-configured for Frankfurt Time (Europe/Berlin) but is fully customizable for any global location.
Key Features
1. Dynamic Session Ranges (The Boxes) Instead of vertical stripes, this indicator draws Boxes that encapsulate the entire price action of a session.
Real-Time Tracking: The box automatically expands to capture the Highest High and Lowest Low of the current session.
Visual Clarity: Instantly see the trading range of Asia, London, and New York to identify breakouts or range-bound conditions.
2. The "Lunch Break" Logic (Unique Feature) Institutional volume often dies down during lunch hours. This indicator allows you to Split the Session to account for these breaks.
Enabled: The script draws two separate boxes (Morning Session vs. Afternoon Session), allowing you to see fresh ranges after the lunch accumulation.
Disabled: The script draws one continuous box for the full session.
3. Manual High-Impact News Scheduler Never get caught on the wrong side of a spike. Since TradingView scripts cannot access live calendars, this tool includes a Manual Scheduler for risk management.
Input: Simply input the time of high-impact events (e.g., CPI, NFP) from ForexFactory into the settings.
Visual: A dashed line appears on the chart at the exact news time.
Audio Alert: The system triggers an alarm 10 minutes before the event, giving you time to manage positions or exit trades.
Default Configuration (Frankfurt Time)
Asian Session: 01:00 - 10:00 (Lunch disabled)
London Session: 09:00 - 17:30 (Lunch: 12:00-13:00)
New York Session: 14:00 - 22:00 (Lunch: 18:00-19:00)
How to Use
Setup: Apply the indicator. The default timezone is Europe/Berlin. If you live elsewhere, simply change the "Your Timezone" setting to your local time (e.g., America/New_York), and the boxes will align automatically.
Daily Routine: Check the economic calendar in the morning. If there is a "Red Folder" event at 14:30, open the indicator settings and enter 14:30 into the News Scheduler.
Trade: Use the Session Highs and Lows as liquidity targets or breakout levels.
Settings & Customization
Timezone: Full support for major global trading hubs.
Colors: Customize the Box fill and Border colors for every session.
Labels: Rename sessions (e.g., "Tokyo" instead of "Asia") via the settings menu.
CSP Institutional Filter PRO This indicator evaluates whether a ticker qualifies for a high-probability Cash-Secured Put (CSP) based on an institutional options-selling framework. It checks RSI, momentum, support levels, ATR-based risk, IVR, DTE, and earnings timing to determine if the setup meets either the Standard CSP Module (30–45 DTE) or the Pre-Earnings CSP Module (7–21 days before earnings). The script visually marks valid setups, highlights risk zones, and provides an on-chart diagnostic summary.
BTC Dashboard D / 4H / 1H (simple)//@version=5
indicator("BTC Dashboard D / 4H / 1H (simple)", overlay = true)
// ---------- Réglages ----------
rsiLen = 14
emaLen50 = 50
emaLen200 = 200
// Petite fonction pour formater les nombres
f_fmt(float v) =>
str.tostring(v, format.mintick)
// ---------- TIMEFRAMES ----------
tfD = "D"
tf4H = "240"
tf1H = "60"
// ---------- DAILY ----------
closeD = request.security(syminfo.tickerid, tfD, close)
ema50D = request.security(syminfo.tickerid, tfD, ta.ema(close, emaLen50))
ema200D = request.security(syminfo.tickerid, tfD, ta.ema(close, emaLen200))
rsiD = request.security(syminfo.tickerid, tfD, ta.rsi(close, rsiLen))
// ---------- 4H ----------
close4H = request.security(syminfo.tickerid, tf4H, close)
ema504H = request.security(syminfo.tickerid, tf4H, ta.ema(close, emaLen50))
ema2004H = request.security(syminfo.tickerid, tf4H, ta.ema(close, emaLen200))
rsi4H = request.security(syminfo.tickerid, tf4H, ta.rsi(close, rsiLen))
// ---------- 1H ----------
close1H = request.security(syminfo.tickerid, tf1H, close)
ema501H = request.security(syminfo.tickerid, tf1H, ta.ema(close, emaLen50))
ema2001H = request.security(syminfo.tickerid, tf1H, ta.ema(close, emaLen200))
rsi1H = request.security(syminfo.tickerid, tf1H, ta.rsi(close, rsiLen))
// ---------- TABLE ----------
var table t = table.new(position.top_right, 4, 4, border_width = 1)
if barstate.islast
// Ligne d’en-tête
table.cell(t, 0, 0, "TF", text_color = color.white, bgcolor = color.new(color.black, 0))
table.cell(t, 0, 1, "Close", text_color = color.white, bgcolor = color.new(color.black, 0))
table.cell(t, 0, 2, "EMA50 / EMA200", text_color = color.white, bgcolor = color.new(color.black, 0))
table.cell(t, 0, 3, "RSI", text_color = color.white, bgcolor = color.new(color.black, 0))
// ----- DAILY -----
rowD = 1
table.cell(t, rowD, 0, "D", text_color = color.yellow, bgcolor = color.new(color.blue, 70))
table.cell(t, rowD, 1, f_fmt(closeD))
table.cell(t, rowD, 2, "50: " + f_fmt(ema50D) + " 200: " + f_fmt(ema200D))
table.cell(t, rowD, 3, f_fmt(rsiD))
// ----- 4H -----
row4 = 2
table.cell(t, row4, 0, "4H", text_color = color.white, bgcolor = color.new(color.teal, 70))
table.cell(t, row4, 1, f_fmt(close4H))
table.cell(t, row4, 2, "50: " + f_fmt(ema504H) + " 200: " + f_fmt(ema2004H))
table.cell(t, row4, 3, f_fmt(rsi4H))
// ----- 1H -----
row1 = 3
table.cell(t, row1, 0, "1H", text_color = color.white, bgcolor = color.new(color.green, 70))
table.cell(t, row1, 1, f_fmt(close1H))
table.cell(t, row1, 2, "50: " + f_fmt(ema501H) + " 200: " + f_fmt(ema2001H))
table.cell(t, row1, 3, f_fmt(rsi1H))
PIVOT AND ICHIMOKU BACKGROUND BY PRANOJIT DEYIt shows pivot bias in relation to day open line and it also shows ichimoku bullish trend background. good for option buyers to understand market bias.
MA 9/21/50/100/200//@version=5
indicator("MA 9/21/50/100/200", overlay=true)
ma9 = ta.sma(close, 9)
ma21 = ta.sma(close, 21)
ma50 = ta.sma(close, 50)
ma100 = ta.sma(close, 100)
ma200 = ta.sma(close, 200)
plot(ma9, color=color.new(color.yellow, 0), title="MA 9")
plot(ma21, color=color.new(color.orange, 0), title="MA 21")
plot(ma50, color=color.new(color.blue, 0), title="MA 50")
plot(ma100, color=color.new(color.green, 0), title="MA 100")
plot(ma200, color=color.new(color.red, 0), title="MA 200")
ATR Trailing Stop (Long or Short Selectable)The ATR Trailing Stop (Long or Short Selectable) will start calculating on a set date that you specify. This is great because you want to trail the price from the breakout day or even after exceeding specific price level (can be your breakeven level or even to capture more of the upside after the price target is met).
Entry price: If you act at the close of the day, you can leave this value as 0 and it will take the close of the day for the initial protective stop-loss calculation. You can choose to add a value such as the pattern boundary and in that case it will subtract the initial protective stop-loss from the pattern boundary and not the close of the day. If you use a scaling in tactic during the day (buying in tranches intraday as the breakout takes place) and your average purchase price is different than the close of the day, you can also plug that number in to calculate the initial protective stop-loss.
This is a modified version as many followers asked for ATR trailing for short setups. Now you can select the Long/Short trade setup from the drop down menu.
ATR period: You can select the ATR period. It can be 10 day, 14 day or 30 day or any ATR period of your choice.
ATR Multiplier for Stop-loss: This is the multiplier that you want to trail the price with. From the highest level price reached it will trail the price with a 3 x ATR () distance. The higher the number, the wider the trailing stop-loss. A multiplier of 1 will trail the price so close that and adverse movement can result in triggering the stop-loss.
Custom Value for First day Trailing Stop: This is my favorite part. For aggressive risk management, your initial protective stop can be smaller than what the ATR Trailing Stop will use in its calculation after entry day. In this case you can take 1xATR () or even with FX and Futures you can apply 0.5xATR() as the first day to calculate initial protective stop. The protective stop turns into a trailing stop after the first day.
Pin Bar Highlighter//@version=5
indicator("Pin Bar Highlighter", overlay=true)
body = math.abs(close - open)
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low
bullPin = (lowerWick >= body * 2) and (close > open)
bearPin = (upperWick >= body * 2) and (close < open)
bullColor = color.rgb(10, 20, 80)
bearColor = color.rgb(255, 20, 150)
barcolor(bullPin ? bullColor : bearPin ? bearColor : na)
Yit's Risk CalculatorIntroducing a risk a bulletproof risk calculator.
I'm tired of sitting on my brokerage, messing with my shares to buy while price action leaves me in the dust.
For my breakout strategy execution is everything i dont have time to stop and think.
within the Indicator settings you have free reign to change account size and risk%
*the stop loss is glued to the low of the day*
AnAn FastKnife MNQ • V7 PRO (AI Signals + R/R + Dashboard)ai script developed to test the market and the speed and the volatility an the important signals
Fair Value Gaps (FVG)This indicator automatically detects Fair Value Gaps (FVGs) using the classic 3-candle structure (ICT-style).
It is designed for traders who want clean charts and relevant FVGs only, without the usual clutter from past sessions or tiny, meaningless gaps.
Key Features
• Bullish & Bearish FVG detection
Identifies imbalances where price fails to trade efficiently between candles.
• Automatic FVG removal when filled
As soon as price trades back into the gap, the box is deleted in real time – no more outdated zones on the chart.
• Only shows FVGs from the current session
At the start of each new session, all previous FVGs are cleared.
Perfect for intraday traders who only care about today’s liquidity map.
• Flexible minimum gap size filter
Avoid noise by filtering FVGs using one of three modes:
Ticks (based on market tick size)
Percent (relative to current price)
Points (absolute price distance)
• Right-extension option
Keep gaps extended forward in time or limit them to the candles that created them.
Why This Indicator?
Many FVG indicators overwhelm the chart with zones from previous days or tiny imbalances that don’t matter.
This version keeps things clean, meaningful, and real-time accurate, ideal for day traders who rely on market structure and liquidity.
Futures Momentum Scanner – jyoti//@version=5
indicator("Futures Momentum Scanner – Avvu Edition", overlay=false, max_lines_count=500)
//------------------------------
// USER INPUTS
//------------------------------
rsiLen = input.int(14, "RSI Length")
macdFast = input.int(12, "MACD Fast")
macdSlow = input.int(26, "MACD Slow")
macdSignal = input.int(9, "MACD Signal")
stLength = input.int(10, "Supertrend Length")
stMult = input.float(3.0, "Supertrend Multiplier")
//------------------------------
// SUPER TREND
//------------------------------
= ta.supertrend(stMult, stLength)
trendUp = stDirection == 1
//------------------------------
// RSI
//------------------------------
rsi = ta.rsi(close, rsiLen)
rsiBull = rsi > 50 and rsi < 65
//------------------------------
// MACD
//------------------------------
= ta.macd(close, macdFast, macdSlow, macdSignal)
macdBull = macd > signal and macd > 0
//------------------------------
// MOVING AVERAGE TREND
//------------------------------
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
trendStack = ema20 > ema50 and ema50 > ema200
//------------------------------
// BREAKOUT LOGIC
//------------------------------
prevHigh = ta.highest(high, 20)
breakout = close > prevHigh
//------------------------------
// FINAL SCANNER LOGIC
//------------------------------
bullishCandidate = trendUp and rsiBull and macdBull and trendStack and breakout
//------------------------------
// TABLE OUTPUT FOR SCANNER FEEL
//------------------------------
var table t = table.new(position.top_right, 1, 1)
if barstate.islast
msg = bullishCandidate ? "✔ BUY Candidate" : "– Not a Setup"
table.cell(t, 0, 0, msg, bgcolor=bullishCandidate ? color.new(color.green, 0) : color.new(color.red, 70))
//------------------------------
// ALERT
//------------------------------
alertcondition(bullishCandidate, title="Scanner Trigger", message="This stock meets Avvu's futures scanner criteria!")
Session High/LowSession High Low
Trading Sessions
Forex Sessions (oder Futures Sessions, je nachdem, was du handelst)
Pine Script Indicator
Intraday Levels
Market Sessions
High Low Lines
Day Trading Tools
1小时区域背景颜色// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) creativecommons.org
// © LuxAlgo
//@version=5
indicator("Sessions ", "LuxAlgo - Sessions", overlay = true, max_bars_back = 500, max_lines_count = 500, max_boxes_count = 500, max_labels_count = 500)
//------------------------------------------------------------------------------
//Settings
//-----------------------------------------------------------------------------{
//Session A
show_sesa = input(true, '', inline = 'sesa', group = 'Session A')
sesa_txt = input('New York', '', inline = 'sesa', group = 'Session A')
sesa_ses = input.session('1300-2200', '', inline = 'sesa', group = 'Session A')
sesa_css = input.color(#ff5d00, '', inline = 'sesa', group = 'Session A')
sesa_range = input(true, 'Range', inline = 'sesa_overlays', group = 'Session A')
sesa_tl = input(false, 'Trendline', inline = 'sesa_overlays', group = 'Session A')
sesa_avg = input(false, 'Mean', inline = 'sesa_overlays', group = 'Session A')
sesa_vwap = input(false, 'VWAP', inline = 'sesa_overlays', group = 'Session A')
sesa_maxmin = input(false, 'Max/Min', inline = 'sesa_overlays', group = 'Session A')
//Session B
show_sesb = input(true, '', inline = 'sesb', group = 'Session B')
sesb_txt = input('London', '', inline = 'sesb', group = 'Session B')
sesb_ses = input.session('0700-1600', '', inline = 'sesb', group = 'Session B')
sesb_css = input.color(#2157f3, '', inline = 'sesb', group = 'Session B')
sesb_range = input(true, 'Range', inline = 'sesb_overlays', group = 'Session B')
sesb_tl = input(false, 'Trendline', inline = 'sesb_overlays', group = 'Session B')
sesb_avg = input(false, 'Mean', inline = 'sesb_overlays', group = 'Session B')
sesb_vwap = input(false, 'VWAP', inline = 'sesb_overlays', group = 'Session B')
sesb_maxmin = input(false, 'Max/Min', inline = 'sesb_overlays', group = 'Session B')
//Session C
show_sesc = input(true, '', inline = 'sesc', group = 'Session C')
sesc_txt = input('Tokyo', '', inline = 'sesc', group = 'Session C')
sesc_ses = input.session('0000-0900', '', inline = 'sesc', group = 'Session C')
sesc_css = input.color(#e91e63, '', inline = 'sesc', group = 'Session C')
sesc_range = input(true, 'Range', inline = 'sesc_overlays', group = 'Session C')
sesc_tl = input(false, 'Trendline', inline = 'sesc_overlays', group = 'Session C')
sesc_avg = input(false, 'Mean', inline = 'sesc_overlays', group = 'Session C')
sesc_vwap = input(false, 'VWAP', inline = 'sesc_overlays', group = 'Session C')
sesc_maxmin = input(false, 'Max/Min', inline = 'sesc_overlays', group = 'Session C')
//Session D
show_sesd = input(true, '', inline = 'sesd', group = 'Session D')
sesd_txt = input('Sydney', '', inline = 'sesd', group = 'Session D')
sesd_ses = input.session('2100-0600', '', inline = 'sesd', group = 'Session D')
sesd_css = input.color(#ffeb3b, '', inline = 'sesd', group = 'Session D')
sesd_range = input(true, 'Range', inline = 'sesd_overlays', group = 'Session D')
sesd_tl = input(false, 'Trendline', inline = 'sesd_overlays', group = 'Session D')
sesd_avg = input(false, 'Mean', inline = 'sesd_overlays', group = 'Session D')
sesd_vwap = input(false, 'VWAP', inline = 'sesd_overlays', group = 'Session D')
sesd_maxmin = input(false, 'Max/Min', inline = 'sesd_overlays', group = 'Session D')
//Timezones
tz_incr = input.int(0, 'UTC (+/-)', group = 'Timezone')
use_exchange = input(false, 'Use Exchange Timezone', group = 'Timezone')
//Ranges Options
bg_transp = input.float(90, 'Range Area Transparency', group = 'Ranges Settings')
show_outline = input(true, 'Range Outline', group = 'Ranges Settings')
show_txt = input(true, 'Range Label', group = 'Ranges Settings')
Support Resistance📌 1. Indicator Name
Premium Auto Support & Resistance
📌 2. One-Line Description
An automated S/R system that generates support and resistance zones based on swing highs and lows, displaying them in a premium visual style directly on the chart.
📌 3. Overall Summary (7+ lines)
This indicator automatically detects price levels where the market has repeatedly reacted and generates support and resistance zones.
Instead of simple horizontal lines, it visualizes reaction ranges as zones, helping traders clearly understand the actual price areas where activity occurs.
It uses swing points (high/low pivots) as the fundamental basis and continuously updates only the most meaningful recent S/R levels.
A smoothing process is applied, reducing noise and creating more natural, reliable S/R zones.
Support and resistance are displayed as filled transparency-based zones, enabling intuitive identification of zone strength and market position.
When price touches one of these zones, a small signal appears to highlight potential reversal points.
All elements are plotted directly over the candles with overlay=true, making it an instantly usable and visually premium tool.
📌 4. Advantages (6 items)
① Automatic Swing-Based S/R Detection
Automatically analyzes key pivot points and extracts only the most meaningful support and resistance levels.
② Support/Resistance Zone Structure
Provides intuitive reaction ranges instead of single lines, making it far more practical for real trading.
③ Smooth Premium-Style Lines
S/R lines are smoothed to remove noise, maintaining a natural and refined premium visual appearance.
④ Automatic Candle-Touch Alerts
Displays signals whenever price touches support or resistance, helping you quickly identify potential reversal areas.
⑤ Overlay-Based Immediate Clarity
Drawn directly onto the chart without occupying indicator windows, keeping visual focus on price action.
⑥ Simple Yet Powerful Framework
A pivot + smoothing + zone combination that strengthens automatic S/R detection while remaining easy for beginners to use.
Filter Trend1. Indicator Name
Premium EMA Ribbon Filter (Pro Version)
(Advanced Trend & Momentum Filtering System Based on EMA Ribbons)
2. One-Line Introduction
A professional trend-analysis indicator that blends an advanced noise-filtering algorithm with an EMA ribbon system to extract only the pure bullish/bearish trend while smoothing out market noise.
3. Overall Description (7+ lines)
The Premium EMA Ribbon Filter is more than just a set of EMAs.
It analyzes the structure of a fast, medium, and slow EMA ribbon—along with the spacing and alignment between them—to determine whether the market is in a bullish trend, bearish trend, or a neutral/noise-heavy zone.
The core of this indicator is its noise-reduction algorithm and trend-strength calculation system.
Instead of relying on simple EMA cross signals, it evaluates how consistently the ribbon maintains bullish/bearish alignment over a specified period and highlights only strong trends with color coding, while weak or noisy areas are displayed in gray.
This helps traders avoid confusing or false signals and clearly focus only on the “meaningful zones.”
A Triple-Smoothing System is applied to create smoother, more refined ribbon movements, forming a stable “premium trend curve” that is less affected by short-term volatility.
As a result, this indicator works effectively for scalping, swing trading, and long-term trend following—staying true to the principle of removing noise and highlighting only the core market flow.
4. Short Advantages (6 items)
① Complete Noise Filtering
Using EMA ribbon comparison + tolerance logic, false reversals are largely eliminated, leaving only stable trend phases.
② Highly Readable Color System
Bullish trends are mint, bearish trends are red, and neutral/noise zones are gray—instantly visualizing market conditions.
③ Trend Strength Visualization
Not only trend direction but also trend strength is displayed via dynamic color transparency.
④ Smooth, Premium-Style Ribbon Design
Triple-smoothing creates a refined, luxury-level smoothness in movement.
⑤ Works Across All Timeframes
From 1-minute scalping to daily/weekly macro trend analysis.
⑥ Excellent Real-Trading Compatibility
Works extremely well when combined with ATR, SuperTrend, and volume-based indicators.
Indicator Manual (Required Section)
📌 Understanding the Core Concept
The indicator uses three EMAs (e.g., 20/50/100) arranged as a ribbon to analyze the structural alignment of the trend.
When the EMAs are cleanly aligned Top → Middle → Bottom, the market is in a bullish trend.
When aligned Bottom → Middle → Top, the market is in a bearish trend.
The indicator further evaluates the ribbon spread (gap) and the consistency of alignment to compute trend strength.
Noisy market conditions are shaded gray to clearly indicate “uncertain/indecisive” zones.
⚙️ Settings Description
Option Description
Fast EMA Most sensitive EMA; detects early trend signals
Mid EMA Stabilizes the primary trend direction
Slow EMA Defines the broader, long-term trend flow
Trend Lookback The period used to analyze trend strength
Noise Tolerance (%) Higher values = stronger noise removal
Smoothing Steps Controls how smooth the ribbon becomes
📈 Example Recognition
A bullish continuation/entry scenario forms when:
EMAs align in the order Fast → Mid → Slow (top side)
Ribbon color shifts into mint (strong bullish trend)
The ribbon begins to expand while price stays above the ribbon
📉 Example Recognition
A bearish continuation/entry occurs when:
EMAs align Fast → Mid → Slow (bottom side)
Ribbon color remains red
After contracting, the ribbon expands again during renewed downside strength
🧪 Recommended Usage
Combine with volume-based indicators (OBV, Volume Profile) → enhanced strong-trend detection
Use with SuperTrend or ATR Stop → clearer stop-loss placement
Combine with RSI/Stoch → avoid counter-trend entries in overheated conditions
Higher leverage traders should use higher tolerance settings
🔒 Cautions
EMA ribbons are trend-following tools; signals may weaken in ranging/sideways markets.
Never rely solely on this indicator—always confirm with volume, price patterns, or structure.
Very low Lookback values may cause excessive re-entry signals.
In high-volatility environments, ribbon spacing can contract/expand rapidly—use with caution.
ICT Key Levels: PDH / PDL / Daily Open//@version=5
indicator("ICT Key Levels: PDH / PDL / Daily Open", shorttitle="ICT Levels", overlay=true)
// --- Inputs
showPD = input.bool(true, "Mostrar PDH/PDL")
showOpen = input.bool(true, "Mostrar Daily Open")
pdhColor = input.color(color.new(color.green, 0), "Color PDH")
pdlColor = input.color(color.new(color.red, 0), "Color PDL")
openColor = input.color(color.new(color.orange, 0), "Color Daily Open")
lineWidth = input.int(1, "Ancho líneas", minval=1, maxval=4)
// --- Previous day high / low (using daily security)
pdh = request.security(syminfo.tickerid, "D", high )
pdl = request.security(syminfo.tickerid, "D", low )
// --- Daily open (current day's open on Daily timeframe)
dailyOpen = request.security(syminfo.tickerid, "D", open)
// --- Plots
plot(showPD and not na(pdh) ? pdh : na, title="PDH", color=pdhColor, linewidth=lineWidth, style=plot.style_line)
plot(showPD and not na(pdl) ? pdl : na, title="PDL", color=pdlColor, linewidth=lineWidth, style=plot.style_line)
plot(showOpen and not na(dailyOpen) ? dailyOpen : na, title="Daily Open", color=openColor, linewidth=lineWidth, style=plot.style_line)
// --- Optional: etiquetas en inicio de día (solo en la primera barra diaria)
isNewDay = ta.change(time("D"))
labelNewDayOpen = input.bool(true, "Mostrar etiqueta en apertura diaria")
if labelNewDayOpen and isNewDay
label.new(bar_index, dailyOpen, text="Open", style=label.style_label_down, color=color.new(openColor,50), textcolor=color.black, yloc=yloc.price)






















