50, 100, 200 EMAsA simple script that displays the 50, 100, and 200-period exponential moving averages. Reduce clutter by combining them into one indicator!
ค้นหาในสคริปต์สำหรับ "马斯克+100万"
50, 100, 200 SMAsA simple script that displays the 50, 100, and 200-period simple moving averages. Reduce clutter by combining them into one indicator!
50,100,200 MA by CryptoLife71(FIXED)Updated the code by CryptoLife71 so that the 200ma shows correctly.
EMA 20/50/100/200Plots exponential moving average on four timeframes at once for rapid indication of momentum shift as well as slower-moving confirmations.
Displays EMA 20, 50, 100, and 200... default colors are hotter for faster timeframes, cooler for slower ones
DECL: 3 X Moving Average (50, 100 and 200 day)Basic Moving Average with 3 different intervals. Default: 50 day (blue), 100 day (red) and 200 day (purple)
BB 100 with Barcolors6/19/15 I added confirmation highlight bars to the code. In other words, if a candle bounced off the lower Bollinger band, it needed one more close above the previous candle to confirm a higher probability that a change in investor sentiment has reversed. Same is true for upper Bollinger band bounces. I also added confirmation highlight bars to the 100 sma (the basis). The idea is that lower and upper bands are potential points of support and resistance. The same is true of the basis if a trend is to continue. 6/28/15 I added a plotshape to identify closes above/below TLine. One thing this system points out is it operates best in a trend reversal. Consolidations will whipsaw the indicator too much. I have found that when this happens, if using daily candles, switch to hourly, 30 min, etc., to catch a better signal. Nothing moves in a straight line. As with any indicator, it is a tool to be used in conjunction with the art AND science of trading. As always, try the indicator for a time so that you are comfortable enough to use real money. This is designed to be used with "BB 25 with Barcolors".
BB 100 with Barcolors6/19/15 I added confirmation highlight bars to the code. In other words, if a candle bounced off the lower Bollinger band, it needed one more close above the previous candle to confirm a higher probability that a change in investor sentiment has reversed. Same is true for upper Bollinger band bounces. I also added confirmation highlight bars to the 100 sma (the basis). The idea is that lower and upper bands are potential points of support and resistance. The same is true of the basis if a trend is to continue. Nothing moves in a straight line. As with any indicator, it is a tool to be used in conjunction with the art AND science of trading. As always, try the indicator for a time so that you are comfortable enough to use real money. This is designed to be used with "BB 25 with Barcolors".
BB 100 with BarcolorsI cleaned up the highlight barcolor to reflect red or lime depending if it closed > or < the open.
The description is in the code. you want to catch bounces off the 25 (upper or lower) and 100 (upper or lower).
Works well on the hourly and 30 min charts. Haven't tested it beyond that. Haven't tested Forex, just equities.
EMA Keltner Channel 1D100/200 EMAs, along with Keltner Bands based off them. Colors correspond to actions you should be ready to take in the area. Use to set macro mindset.
Uses the security function to display only the 1D values.
Red= Bad
Orange = Not as Bad, but still Bad.
Yellow = Warning, might also be Bad.
Purple = Dip a toe in.
Blue = Give it a shot but have a little caution.
Green = It's second mortgage time.
Sector Rotation - Risk Preference Indicator# Sector Rotation - Risk Preference Indicator
## Overview
This indicator measures market risk appetite by comparing the relative strength between **Aggressive** and **Defensive** sectors. It provides a clean, single-line visualization to help traders identify market sentiment shifts and potential trend reversals.
## How It Works
The indicator calculates a **Bullish/Bearish Ratio** by dividing the average price of aggressive sector ETFs by defensive sector ETFs, then normalizing to a baseline of 100.
**Formula:**
- Ratio = (Aggressive Sectors Average / Defensive Sectors Average) × 100
**Interpretation:**
- **Ratio > 100**: Risk-on sentiment (Aggressive sectors outperforming Defensive)
- **Ratio < 100**: Risk-off sentiment (Defensive sectors outperforming Aggressive)
- **Ratio ≈ 100**: Neutral (Both sector groups performing equally)
## Default Sectors
**Defensive Sectors** (Safe havens during uncertainty):
- XLP - Consumer Staples Select Sector SPDR Fund
- XLU - Utilities Select Sector SPDR Fund
- XLV - Health Care Select Sector SPDR Fund
**Aggressive Sectors** (Growth-oriented, higher risk):
- XLK - Technology Select Sector SPDR Fund
- XBI - SPDR S&P Biotech ETF
- XRT - SPDR S&P Retail ETF
## Features
✅ **Fully Customizable Sectors** - Choose any ETFs/tickers for each sector group
✅ **Smoothing Control** - Adjustable SMA period to reduce noise (default: 2)
✅ **Clean Visualization** - Single blue line for easy interpretation
✅ **Multi-timeframe Support** - Works on any timeframe
✅ **Lightweight** - Minimal calculations for fast performance
## Settings
### Defensive Sectors Group
- **Defensive Sector 1**: First defensive ETF ticker (default: XLP)
- **Defensive Sector 2**: Second defensive ETF ticker (default: XLU)
- **Defensive Sector 3**: Third defensive ETF ticker (default: XLV)
### Aggressive Sectors Group
- **Aggressive Sector 1**: First aggressive ETF ticker (default: XLK)
- **Aggressive Sector 2**: Second aggressive ETF ticker (default: XBI)
- **Aggressive Sector 3**: Third aggressive ETF ticker (default: XRT)
### Display Settings
- **Smoothing Length**: SMA period for ratio smoothing (default: 2, range: 1-50)
- Lower values = More responsive but noisier
- Higher values = Smoother but more lagging
## Use Cases
### 1. Market Regime Identification
- **Rising Ratio (trending up)** → Bull market / Risk-on environment
- Aggressive sectors leading, investors chasing growth
- Favorable for long positions in tech, growth stocks
- **Falling Ratio (trending down)** → Bear market / Risk-off environment
- Defensive sectors leading, investors seeking safety
- Consider defensive positioning or short opportunities
### 2. Divergence Analysis
- **Bullish Divergence**: Price makes new lows but ratio rises
- Suggests underlying strength returning
- Potential market bottom forming
- **Bearish Divergence**: Price makes new highs but ratio falls
- Suggests weakening momentum
- Potential market top forming
### 3. Trend Confirmation
- **Strong uptrend + Rising ratio** → Confirmed bullish trend
- **Strong downtrend + Falling ratio** → Confirmed bearish trend
- **Uptrend + Falling ratio** → Weakening trend, watch for reversal
- **Downtrend + Rising ratio** → Potential trend exhaustion
## Best Practices
⚠️ **Timeframe Selection**
- Recommended: Daily, 4H, 1H for cleaner signals
- Lower timeframes (15m, 5m) may produce noisy signals
⚠️ **Complementary Analysis**
- Use alongside price action and volume analysis
- Combine with support/resistance levels
- Not designed as a standalone trading system
⚠️ **Market Conditions**
- Most effective in trending markets
- Less reliable during ranging/consolidation periods
- Works best in liquid, well-traded sectors
⚠️ **Customization Tips**
- Can substitute with international sectors (EWU, EWZ, etc.)
- Can use crypto sectors (DeFi vs Layer1, etc.)
- Adjust smoothing based on trading style (day trading = 2-5, swing = 10-20)
## Display Options
### Default View (overlay=false)
- Shows in separate pane below chart
- Dedicated scale for ratio values
### Alternative View
- Can be moved to main chart pane (drag indicator)
I typically overlay this indicator on the SPY daily chart to observe divergences. I don’t focus on specific values but rather on the direction of the trend.
The author is not responsible for any trading losses incurred using this indicator.
## Support & Feedback
For questions, feature requests, or bug reports:
- Comment below
- Send a private message
- Check for updates regularly
If you find this indicator useful, please:
- ⭐ Leave a like/favorite
- 💬 Share your experience in comments
- 📊 Share charts showing interesting patterns
NQ-VIX Expected Move LevelsNQ -VIX Daily Price Bands
This indicator plots dynamic intraday price bands for NQ futures based on real-time volatility levels measured by the VIX (CBOE Volatility Index). The bands evolve throughout the trading day, providing volatility-adjusted price targets.
Formulas:
Upper Band = Daily Open + (NQ Price × VIX ÷ √252 ÷ 100)
Lower Band = Daily Open - (NQ Price × VIX ÷ √252 ÷ 100)
The calculation uses the square root of 252 (trading days per year) to convert annualized VIX volatility into an expected daily move, then scales it as a percentage adjustment from the current day's open.
Features:
Real-time band calculation that updates throughout the trading session
Upper band (green) extends from the current day's open
Lower band (red) contracts from the current day's open
Inner upper band (green) at 50% of expected move
Inner lower band (red) at 50% of expected move
Middle Inner upper band (green) at 80% of expected move
Middle Inner lower band (red) at 80% of expected move
Information table displaying:
Current NQ price and VIX level
Daily Open
Expected move
NQ-VIX Expected Move LTF LevelsNQ -VIX LTF Price Bands
This indicator plots dynamic intraday price bands for NQ futures based on real-time volatility levels measured by the VIX (CBOE Volatility Index). The bands evolve throughout the trading day, providing volatility-adjusted price targets.
Formulas:
Upper Band = (Input TF Open) + (NQ Price × VIX x √(Input TF ÷ (23h in min) ) ÷ 100
Lower Band = Daily Open - (NQ Price × VIX x √(Input TF ÷ (23h in min) ) ÷ 100
The calculation uses the square root of Input TF ÷ (23h in min) to convert annualized VIX volatility into an expected TF move, then scales it as a percentage adjustment from the current TF input's open.
Features:
Real-time band calculation that updates throughout the trading session
Upper band (green) extends from the current TF's open
Lower band (red) contracts from the current TF's open
Inner upper band (green) at 50% of expected move
Inner lower band (red) at 50% of expected move
Middle Inner upper band (green) at 80% of expected move
Middle Inner lower band (red) at 80% of expected move
Information table displaying:
Current input TF
Current NQ price and VIX level
Current input TF Open
Expected move
Viprasol Elite Advanced Pattern Scanner# 🚀 Viprasol Elite Advanced Pattern Scanner
## Overview
The **Viprasol Elite Advanced Pattern Scanner** is a sophisticated technical analysis tool designed to identify high-probability double bottom (DISCOUNT) and double top (PREMIUM) patterns with unprecedented accuracy. Unlike basic pattern detectors, this elite scanner employs an AI-powered quality scoring system to filter out false signals and highlight only the most reliable trading opportunities.
## 🎯 Key Features
### Advanced Pattern Detection
- **DISCOUNT Patterns** (Double Bottoms): Identifies bullish reversal zones where price may bounce
- **PREMIUM Patterns** (Double Tops): Detects bearish reversal zones where price may decline
- Multi-point validation system (5-point structure)
- Symmetry analysis with customizable tolerance
### 🤖 AI Quality Scoring System
Each pattern receives a quality score (0-100) based on:
- **Symmetry Analysis** (32% weight): How closely the two bottoms/tops match
- **Trend Context** (22% weight): Strength of the preceding trend using ADX
- **Volume Profile** (22% weight): Volume confirmation at key points
- **Pattern Depth** (16% weight): Significance of the pattern's price range
- **Structure Quality** (16% weight): Overall pattern formation quality
Quality Grades:
- ⭐ **ELITE** (88-100): Highest probability setups
- ✨ **VERY STRONG** (77-87): Strong trade opportunities
- ✓ **STRONG** (67-76): Valid patterns with good potential
- ○ **VALID** (65-66): Acceptable patterns meeting minimum criteria
### 🎯 Intelligent Target System
Three target modes per pattern direction:
- **Conservative**: 0.618 Fibonacci extension (safer, closer targets)
- **Balanced**: 1.0 extension (moderate risk/reward)
- **Aggressive**: 1.618 extension (higher risk/reward)
Targets automatically adjust based on pattern quality score.
### 🔧 Advanced Filtering Options
- **Volatility Filter (ATR)**: Excludes patterns during extreme volatility
- **Momentum Filter (ADX)**: Ensures sufficient trend strength
- **Liquidity Filter (Volume)**: Confirms adequate trading volume
### 📊 Pattern Lifecycle Management
- Real-time neckline tracking with extension multiplier
- Pattern invalidation after extended wait period
- Breakout/breakdown confirmation
- Reversal detection (pattern failure scenarios)
- Target achievement tracking
### 🌈 Premium Visual System
- Color-coded quality levels
- Cyber-themed color scheme (Neon Green/Hot Pink/Purple/Cyan)
- Transparent fills for pattern zones
- Dynamic labels with pattern information
- Elite dashboard showing live pattern stats
## 📈 How To Use
### Basic Setup
1. Add indicator to your chart
2. Enable desired patterns (DISCOUNT and/or PREMIUM)
3. Adjust quality threshold (default: 65) - higher = fewer but better signals
4. Set your preferred target mode
### Trading DISCOUNT Patterns (Bullish)
1. Wait for pattern detection (labeled points 1-4)
2. Check quality score on dashboard
3. Entry on breakout above neckline (point 5)
4. Stop loss below the lowest bottom
5. Target shown automatically based on your mode
6. ⚠️ Watch for pattern failure (break below bottoms = SHORT signal)
### Trading PREMIUM Patterns (Bearish)
1. Wait for pattern detection (labeled points 1-4)
2. Check quality score on dashboard
3. Entry on breakdown below neckline (point 5)
4. Stop loss above the highest top
5. Target shown automatically based on your mode
6. ⚠️ Watch for pattern failure (break above tops = LONG signal)
## ⚙️ Input Settings Guide
### 🔍 Detection Engine
- **Left/Right Pivots**: Higher = fewer but cleaner patterns (default: 6/4)
- **Min Pattern Width**: Minimum bars between bottoms/tops (default: 12)
- **Symmetry Tolerance**: Max % difference allowed between levels (default: 1.8%)
- **Extension Multiplier**: How long to wait for breakout (default: 2.2x pattern width)
### ⭐ Quality AI
- **Min Quality Score**: Only show patterns above this score (default: 65)
- **Weight Distribution**: Customize what matters most (symmetry/trend/volume/depth/structure)
### 🔧 Filters
- **Volatility Filter**: Avoid choppy markets (recommended: ON)
- **Momentum Filter**: Ensure trend strength (recommended: ON)
- **Liquidity Filter**: Volume confirmation (recommended: ON)
### 💎 Target System
- Choose target aggression for each pattern type and direction
- Higher quality patterns get adjusted targets automatically
## 🎨 Visual Customization
- Adjust colors for DISCOUNT/PREMIUM patterns
- Set quality-based color coding
- Customize label sizes
- Toggle dashboard visibility and position
- Show/hide historical patterns
## 🚨 Alert System
Set up TradingView alerts for:
- 🚀 **LONG Signals**: DISCOUNT breakout, PREMIUM failure
- 📉 **SHORT Signals**: PREMIUM breakdown, DISCOUNT failure
- ✅ **Target Achievement**: When price hits your target
## 💡 Pro Tips
1. **Higher Timeframes = Better Signals**: Patterns on 4H, Daily, Weekly are more reliable
2. **Quality Over Quantity**: Focus on ELITE and VERY STRONG grades
3. **Combine with Trend**: DISCOUNT in uptrend, PREMIUM in downtrend = best results
4. **Watch Pattern Failures**: Failed patterns often provide strong counter-trend signals
5. **Adjust for Your Style**: Intraday traders use Conservative, swing traders use Aggressive
## 🔒 Pattern Invalidation
Patterns become invalid if:
- No breakout/breakdown within extension period
- Support/resistance levels are broken prematurely
- Pattern shown in faded colors = no longer active
## ⚠️ Risk Disclaimer
This indicator is a tool for technical analysis and does not guarantee profitable trades. Always:
- Use proper risk management
- Combine with other analysis methods
- Never risk more than you can afford to lose
- Past performance does not indicate future results
ES-VIX Expected Move LTF LevelsES-VIX LTF Price Bands
This indicator plots dynamic intraday price bands for ES futures based on real-time volatility levels measured by the VIX (CBOE Volatility Index). The bands evolve throughout the trading day, providing volatility-adjusted price targets.
Formulas:
Upper Band = (Input TF Open) + (ES Price × VIX x √(Input TF ÷ (23h in min) ) ÷ 100
Lower Band = Daily Open - (ES Price × VIX x √(Input TF ÷ (23h in min) ) ÷ 100
The calculation uses the square root of Input TF ÷ (23h in min) to convert annualized VIX volatility into an expected TF move, then scales it as a percentage adjustment from the current TF input's open.
Features:
Real-time band calculation that updates throughout the trading session
Upper band (green) extends from the current TF's open
Lower band (red) contracts from the current TF's open
Inner upper band (green) at 50% of expected move
Inner lower band (red) at 50% of expected move
Middle Inner upper band (green) at 80% of expected move
Middle Inner lower band (red) at 80% of expected move
Information table displaying:
Current input TF
Current ES price and VIX level
Current input TF Open
Expected move
GainzAlgo V2 [Proficient]// © GainzAlgo
//@version=5
indicator('GainzAlgo V2 ', overlay=true, max_labels_count=500)
show_tp_sl = input.bool(true, 'Display TP & SL', group='Techical', tooltip='Display the exact TP & SL price levels for BUY & SELL signals.')
rrr = input.string('1:2', 'Risk to Reward Ratio', group='Techical', options= , tooltip='Set a risk to reward ratio (RRR).')
tp_sl_multi = input.float(1, 'TP & SL Multiplier', 1, group='Techical', tooltip='Multiplies both TP and SL by a chosen index. Higher - higher risk.')
tp_sl_prec = input.int(2, 'TP & SL Precision', 0, group='Techical')
candle_stability_index_param = 0.7
rsi_index_param = 60
candle_delta_length_param = 4
disable_repeating_signals_param = input.bool(true, 'Disable Repeating Signals', group='Techical', tooltip='Removes repeating signals. Useful for removing clusters of signals and general clarity.')
GREEN = color.rgb(29, 255, 40)
RED = color.rgb(255, 0, 0)
TRANSPARENT = color.rgb(0, 0, 0, 100)
label_size = input.string('huge', 'Label Size', options= , group='Cosmetic')
label_style = input.string('text bubble', 'Label Style', , group='Cosmetic')
buy_label_color = input(GREEN, 'BUY Label Color', inline='Highlight', group='Cosmetic')
sell_label_color = input(RED, 'SELL Label Color', inline='Highlight', group='Cosmetic')
label_text_color = input(color.white, 'Label Text Color', inline='Highlight', group='Cosmetic')
stable_candle = math.abs(close - open) / ta.tr > candle_stability_index_param
rsi = ta.rsi(close, 14)
atr = ta.atr(14)
bullish_engulfing = close < open and close > open and close > open
rsi_below = rsi < rsi_index_param
decrease_over = close < close
var last_signal = ''
var tp = 0.
var sl = 0.
bull_state = bullish_engulfing and stable_candle and rsi_below and decrease_over and barstate.isconfirmed
bull = bull_state and (disable_repeating_signals_param ? (last_signal != 'buy' ? true : na) : true)
bearish_engulfing = close > open and close < open and close < open
rsi_above = rsi > 100 - rsi_index_param
increase_over = close > close
bear_state = bearish_engulfing and stable_candle and rsi_above and increase_over and barstate.isconfirmed
bear = bear_state and (disable_repeating_signals_param ? (last_signal != 'sell' ? true : na) : true)
round_up(number, decimals) =>
factor = math.pow(10, decimals)
math.ceil(number * factor) / factor
if bull
last_signal := 'buy'
dist = atr * tp_sl_multi
tp_dist = rrr == '2:3' ? dist / 2 * 3 : rrr == '1:2' ? dist * 2 : rrr == '1:4' ? dist * 4 : dist
tp := round_up(close + tp_dist, tp_sl_prec)
sl := round_up(close - dist, tp_sl_prec)
if label_style == 'text bubble'
label.new(bar_index, low, 'BUY', color=buy_label_color, style=label.style_label_up, textcolor=label_text_color, size=label_size)
else if label_style == 'triangle'
label.new(bar_index, low, 'BUY', yloc=yloc.belowbar, color=buy_label_color, style=label.style_triangleup, textcolor=TRANSPARENT, size=label_size)
else if label_style == 'arrow'
label.new(bar_index, low, 'BUY', yloc=yloc.belowbar, color=buy_label_color, style=label.style_arrowup, textcolor=TRANSPARENT, size=label_size)
label.new(show_tp_sl ? bar_index : na, low, 'TP: ' + str.tostring(tp) + '\nSL: ' + str.tostring(sl), yloc=yloc.price, color=color.gray, style=label.style_label_down, textcolor=label_text_color)
if bear
last_signal := 'sell'
dist = atr * tp_sl_multi
tp_dist = rrr == '2:3' ? dist / 2 * 3 : rrr == '1:2' ? dist * 2 : rrr == '1:4' ? dist * 4 : dist
tp := round_up(close - tp_dist, tp_sl_prec)
sl := round_up(close + dist, tp_sl_prec)
if label_style == 'text bubble'
label.new(bear ? bar_index : na, high, 'SELL', color=sell_label_color, style=label.style_label_down, textcolor=label_text_color, size=label_size)
else if label_style == 'triangle'
label.new(bear ? bar_index : na, high, 'SELL', yloc=yloc.abovebar, color=sell_label_color, style=label.style_triangledown, textcolor=TRANSPARENT, size=label_size)
else if label_style == 'arrow'
label.new(bear ? bar_index : na, high, 'SELL', yloc=yloc.abovebar, color=sell_label_color, style=label.style_arrowdown, textcolor=TRANSPARENT, size=label_size)
label.new(show_tp_sl ? bar_index : na, low, 'TP: ' + str.tostring(tp) + '\nSL: ' + str.tostring(sl), yloc=yloc.price, color=color.gray, style=label.style_label_up, textcolor=label_text_color)
alertcondition(bull or bear, 'BUY & SELL Signals', 'New signal!')
alertcondition(bull, 'BUY Signals (Only)', 'New signal: BUY')
alertcondition(bear, 'SELL Signals (Only)', 'New signal: SELL')






















