close-hl2 Price actionStill not tested, but looks very good ; it is the difference between EMA median price and EMA close in different time frame, I used 240, 60, and the current Time frame ,plus one more customed period ; can forcast the price movement , but it s not in scale, so it can not show how much higher or lower the price can goes but just the next direction. I think intraday on 5 ,15 ,60 better then high frame.If you need to try on Daily frame have to change the period to higher then Daily
Buscar en scripts para "股价站上60月线"
Everyday 0002 _ MAC 1st Trading Hour WalkoverThis is the second strategy for my Everyday project.
Like I wrote the last time - my goal is to create a new strategy everyday
for the rest of 2016 and post it here on TradingView.
I'm a complete beginner so this is my way of learning about coding strategies.
I'll give myself between 15 minutes and 2 hours to complete each creation.
This is basically a repetition of the first strategy I wrote - a Moving Average Crossover,
but I added a tiny thing.
I read that "Statistics have proven that the daily high or low is established within the first hour of trading on more than 70% of the time."
(source: )
My first Moving Average Crossover strategy, tested on VOLVB daily, got stoped out by the volatility
and because of this missed one nice bull run and a very nice bear run.
So I added this single line: if time("60", "1000-1600") regarding when to take exits:
if time("60", "1000-1600")
strategy.exit("Close Long", "Long", profit=2000, loss=500)
strategy.exit("Close Short", "Short", profit=2000, loss=500)
Sweden is UTC+2 so I guess UTC 1000 equals 12.00 in Stockholm. Not sure if this is correct, actually.
Anyway, I hope this means the strategy will only take exits based on price action which occur in the afternoon, when there is a higher probability of a lower volatility.
When I ran the new modified strategy on the same VOLVB daily it didn't get stoped out so easily.
On the other hand I'll have to test this on various stocks .
Reading and learning about how to properly test strategies is on my todo list - all tips on youtube videos or blogs
to read on this topic is very welcome!
Like I said the last time, I'm posting these strategies hoping to learn from the community - so any feedback, advice, or corrections is very much welcome and appreciated!
/pbergden
EMA Cross + RSI + ADX - Autotrade Strategy V2Overview
A versatile trend-following strategy combining EMA 9/21 crossovers with RSI momentum filtering and optional ADX trend strength confirmation. Designed for both cryptocurrency and traditional futures/options markets with built-in stop loss management and automated position reversals.
Key Features
Multi-Market Compatibility: Works on both crypto futures (Bitcoin, Ethereum) and traditional markets (NIFTY, Bank NIFTY, S&P 500 futures, equity options)
Triple Confirmation System: EMA crossover + RSI filter + ADX strength (optional)
Automated Risk Management: 2% stop loss with wick-touch detection
Position Auto-Reversal: Opposite signals automatically close and reverse positions
Webhook Ready: Six distinct alert messages for automation (Entry Buy/Sell, Close Long/Short, SL Hit Long/Short)
Performance Metrics
NIFTY Futures (15min): 50%+ win rate with ADX filter OFF
Crypto Markets: Requires extensive backtesting before live deployment
Optimal Timeframes: 15-minute to 1-hour charts (patience required for higher timeframes)
Strategy Logic
Entry Signals:
LONG: EMA 9 crosses above EMA 21 + RSI > 55 + ADX > 20 (if enabled)
SHORT: EMA 9 crosses below EMA 21 + RSI < 45 + ADX > 20 (if enabled)
Exit Signals:
Opposite EMA crossover (auto-closes current position)
Stop loss hit at 2% from entry price (tracks candle wicks)
Technical Indicators:
Fast EMA: 9-period (short-term trend)
Slow EMA: 21-period (primary trend)
RSI: 14-period with 55/45 thresholds (momentum confirmation)
ADX: 14-period with 20 threshold (trend strength filter - optional)
Market-Specific Settings
Traditional Markets (NIFTY, Bank NIFTY, S&P Futures, Options)
Recommended Settings:
ADX Filter: Turn OFF (less choppy, cleaner trends)
Timeframe: 15-minute chart
Win Rate: 50%+ on NIFTY Futures
Why No ADX: Traditional markets have more institutional participation and smoother price action, making ADX unnecessary
Cryptocurrency Markets (BTC, ETH, Altcoins)
Recommended Settings:
ADX Filter: Turn ON (ADX > 20)
Timeframe: 15-minute to 1-hour
Extensive backtesting required before live trading
Why ADX: Crypto markets are highly volatile and prone to false breakouts; ADX filters low-quality chop
Best Practices
✅ Backtest thoroughly on your specific instrument and timeframe
✅ Use larger timeframes (1H, 4H) for higher quality signals and better risk/reward
✅ Adjust RSI thresholds based on market volatility (try 52/48 for more signals, 60/40 for fewer but stronger)
✅ Monitor ADX effectiveness - disable for traditional markets, enable for crypto
✅ Proper position sizing - adjust default_qty_value based on your capital and instrument price
✅ Paper trade first - test for 2-4 weeks before risking real capital
Risk Management
Fixed 2% stop loss per trade (adjustable)
Stop loss tracks candle wicks for accurate execution
Positions auto-reverse on opposite signals (no manual intervention needed)
0.075% commission built into backtest (adjust for your broker)
Customization Options
All parameters are adjustable via inputs:
EMA periods (default: 9/21)
RSI length and thresholds (default: 14-period, 55/45 levels)
ADX length and threshold (default: 14-period, 20 threshold)
Stop loss percentage (default: 2%)
Webhook Automation
This strategy includes six distinct alert messages for automated trading:
"Entry Buy" - Long position opened
"Entry Sell" - Short position opened
"Close Long" - Long position closed on opposite crossover
"Close Short" - Short position closed on opposite crossover
"SL Hit Long" - Long stop loss triggered
"SL Hit Short" - Short stop loss triggered
Compatible with Delta Exchange, Binance Futures, 3Commas, Alertatron, and other webhook platforms.
Important Notes
⚠️ Crypto markets require extensive backtesting - volatility patterns differ significantly from traditional markets
⚠️ Higher timeframes = better results - 15min works but 1H/4H provide cleaner signals
⚠️ ADX toggle is critical - OFF for traditional markets, ON for crypto
⚠️ Not financial advice - always conduct your own research and use proper risk management
⚠️ Past performance ≠ future results - backtest results may not reflect live trading conditions
Disclaimer
This strategy is for educational and informational purposes only. Trading futures and options involves substantial risk of loss. Always backtest thoroughly, start with paper trading, and never risk more than you can afford to lose. The author assumes no responsibility for any trading losses incurred using this strategy.
Put Option Profits inspired by Travis Wilkerson; SPX BacktesterPut Option Profits — Travis Wilkerson inspired. This tester evaluates a simple monthly SPX at-the-money credit-spread timing idea: enter on a fixed calendar rule (e.g., 1st Friday or 8th day with business-day shifting) at Open or Close, then exit exactly N calendar days later (first tradable day >= target, at Close). A trade is marked WIN if price at exit is above the entry price (1:1 risk proxy).
The book suggests forward testing 60-day and 180-day expirations to prove the concept. This tool lets you backtest both (and more) to see what actually works best. In the book, profits are taken when the spread reaches ~80% of max credit; losers are left to expire and cash-settle. This backtester does not model early profit-taking—every trade is held to the configured hold period and evaluated on price vs entry at the exit close. Think of it as a pure “set it and forget it” stress test. In live trading, you can still follow Travis’s 80% take-profit rule; TradingView just doesn’t simulate that here. Happy trading!
Features:
Schedule: Day-of-Month (with Prev/Next business-day shift, optional “stay in month”) or Nth Weekday (e.g., 1st Friday).
Entry timing: Open or Close.
Exit: N calendar days later at Close (holiday/weekend aware).
Filters: Optional EMA-200 “risk-on” filter.
Scope: Date range limiter.
Visuals: Entry/exit bubbles (paired colors) or simple win/loss dots.
Table: Overall Win% and N (within range).
Alerts: Entry alert (static condition + dynamic alert() message).
How to use:
[* ]Choose Start Mode (NthWeekday or DayOfMonth) and parameters (e.g., 1st Friday or DOM=8, PrevBizDay).
Pick Entry Timing (Open or Close).
Set Days In Trade (e.g., 150).
(Optional) Enable EMA filter and set Date Range.
Turn Bubbles on/off and/or Dots on/off.
Create alert:
Simple ping: Condition = this indicator -> Monthly Entry Signal -> “Once per bar” (Open) or “Once per bar close” (Close).
Rich message: Condition = this indicator -> Any alert() function call.
Notes:
Keep DOM shift in same month: when a DOM falls on a weekend/holiday, PrevBizDay/NextBizDay shift will stay inside the month if enabled; otherwise it can spill into the prior/next month. (Ignored for NthWeekday.)
Credits: Concept sparked by “Put Option Profits – How to turn ten minutes of free time into consistent cash flow each month” by Travis Wilkerson; this script is a neutral research tool (not financial advice).
Force DashboardScalping Dashboard - Complete User Guide
Overview
This scalping system consists of two complementary TradingView indicators designed for intraday trading with no overnight holds:
Force Dashboard - Single-row table showing real-time market bias and entry signals
Large Order Detection - Visual diamonds showing institutional order flow
Together, they provide a complete at-a-glance view of market conditions optimized for quick entries and exits.
Recommended Timeframes
Primary Scalping Timeframes
1-minute chart: Ultra-fast scalps (30 seconds - 3 minutes hold time)
2-minute chart: Quick scalps (2-5 minutes hold time)
5-minute chart: Standard scalps (5-15 minutes hold time)
Best Practices
Use 1-2 minute for highly liquid instruments (ES, NQ, major forex pairs)
Use 5-minute for less liquid markets or if you prefer fewer signals
Never hold past the last hour of trading to avoid overnight risk
Set hard stop times (e.g., exit all positions by 3:45 PM EST)
Dashboard Components Explained
Core Indicators (Circles ●)
MACD (5/13/5)
Green ● = Bullish momentum (MACD histogram positive)
Red ● = Bearish momentum (MACD histogram negative)
Gray ● = No clear momentum
Use: Confirms trend direction and momentum shifts
EMA (9/20/50)
Green ● = Price > EMA9 > EMA20 (uptrend)
Red ● = Price < EMA9 < EMA20 (downtrend)
Gray ● = Choppy/sideways
Use: Identifies the immediate micro-trend
Stoch (5-period Stochastic)
Green ● = Oversold (<20) - potential reversal up
Red ● = Overbought (>80) - potential reversal down
Gray ● = Neutral zone (20-80)
Use: Spots reversal opportunities at extremes
RSI (7-period)
Green ● = Oversold (<30)
Red ● = Overbought (>70)
Gray ● = Neutral
Use: Confirms overbought/oversold conditions
CVD (Cumulative Volume Delta)
Green ● = CVD above its moving average (buying pressure)
Red ● = CVD below its moving average (selling pressure)
Gray ● = Neutral
Use: Shows overall buying vs selling pressure
ΔCVD (Delta CVD - Rate of Change)
Green ● = CVD accelerating upward (buying acceleration)
Red ● = CVD accelerating downward (selling acceleration)
Gray ● = No acceleration
Use: Detects momentum shifts in order flow
Imbal (Order Flow Imbalance)
Green ● = Buy pressure >2x sell pressure
Red ● = Sell pressure >2x buy pressure
Gray ● = Balanced
Use: Identifies extreme one-sided order flow
Vol (Volume Strength)
Green ● = Volume >1.5x average (strong interest)
Red ● = Volume <0.7x average (low interest)
Gray ● = Normal volume
Yellow background = Volume surge (>2x average) - BIG MOVE ALERT
Use: Confirms conviction behind price moves
Tape (Tape Speed)
Green ● = Fast order flow (>1.3x normal)
Red ● = Slow order flow (<0.7x normal)
Gray ● = Normal speed
Yellow background = Very fast tape (>1.5x) - RAPID EXECUTION ALERT
Use: Measures urgency and speed of orders
Key Levels
Support (Supp)
Shows the nearest high-volume support level below current price
Bright Green background = Price is AT support (within 0.3%) - BOUNCE ZONE
Green background = Price above support (healthy)
Red background = Price below support (broken support, now resistance)
Resistance (Res)
Shows the nearest high-volume resistance level above current price
Bright Orange background = Price is AT resistance (within 0.3%) - REJECTION ZONE
Red background = Price below resistance (facing overhead supply)
Green background = Price above resistance (breakout)
These levels update automatically every 3 bars based on volume profile
Entry Signal Components
Score
Displays format: "6L" (6 long indicators) or "4S" (4 short indicators)
Bright Green = 6-7 indicators aligned for long
Light Green = 5 indicators aligned for long
Yellow = 4 indicators aligned (weaker setup)
Gray = No alignment
Red/Orange colors = Same scale for short setups
Score of 5+ indicates high-probability setup
SCALP (Main Entry Signal)
BRIGHT GREEN "LONG" = High-quality long scalp (Score 5+)
Green "LONG" = Decent long scalp (Score 4)
BRIGHT ORANGE "SHORT" = High-quality short scalp (Score 5+)
Red "SHORT" = Decent short scalp (Score 4)
Gray "WAIT" = No clear setup - STAY OUT
Entry Strategies
Strategy 1: High-Probability Scalps (Conservative)
When to Enter:
SCALP column shows BRIGHT GREEN "LONG" or BRIGHT ORANGE "SHORT"
Score is 5 or higher
Vol or Tape has yellow background (volume surge)
Example Long Setup:
SCALP = BRIGHT GREEN "LONG"
Score = 6L
Vol = Yellow background
Price AT Support (bright green Supp cell)
EMA, MACD, CVD, ΔCVD, Imbal all green
Entry: Enter immediately on next candle
Target: 0.5-1% move or resistance level
Stop: Below support or -0.3%
Hold Time: 2-10 minutes
Strategy 2: Momentum Scalps (Aggressive)
When to Enter:
Tape has yellow background (fast tape)
Vol has yellow background (volume surge)
ΔCVD is green (for longs) or red (for shorts)
Imbal shows strong imbalance in your direction
Score is 4+
Example Short Setup:
Tape & Vol = Yellow backgrounds
ΔCVD = Red, Imbal = Red
Price AT Resistance (bright orange)
Score = 5S
Entry: Enter immediately
Target: Quick 0.3-0.7% move
Stop: Tight -0.2%
Hold Time: 1-5 minutes
Strategy 3: Reversal Scalps (Mean Reversion)
When to Enter:
Stoch shows oversold (green) or overbought (red)
RSI confirms the extreme
Price is AT Support (for longs) or AT Resistance (for shorts)
ΔCVD and Imbal start reversing direction
Score is 4+
Example Long Setup:
Stoch = Green (oversold)
RSI = Green (oversold)
Supp = Bright green (at support)
ΔCVD turns green
Imbal turns green
Score = 4L or 5L
Entry: Wait for confirmation candle
Target: Move back to EMA9 or mid-range
Stop: Below the low
Hold Time: 3-8 minutes
Large Order Detection Usage
Diamond Signals
Green diamonds below bar = Large buy orders (institutional buying)
Red diamonds above bar = Large sell orders (institutional selling)
Size matters: Larger diamonds = larger order flow
How to Use with Dashboard
Confirmation Entries
Dashboard shows "LONG" signal
Green diamond appears
Enter immediately - institutions are buying
Divergence Alerts (CAUTION)
Dashboard shows "LONG" signal
RED diamond appears (institutions selling)
DO NOT ENTER - conflicting order flow
Cluster Patterns
Multiple green diamonds in row = Strong accumulation, stay long
Multiple red diamonds in row = Strong distribution, stay short
Alternating colors = Chop, avoid trading
Risk Management Rules
Position Sizing
Risk 0.5-1% of account per scalp
Maximum 3 concurrent positions
Reduce size after 2 consecutive losses
Stop Loss Guidelines
Tight stops: 0.2-0.3% for 1-2 min charts
Standard stops: 0.3-0.5% for 5 min charts
Always use stop loss - no exceptions
Place stops below support (longs) or above resistance (shorts)
Take Profit Targets
Target 1: 0.3-0.5% (take 50% off)
Target 2: 0.7-1% (take remaining 50%)
Move stop to breakeven after Target 1 hit
Trail stop if Score remains high
Time-Based Exits
Exit immediately if:
SCALP changes from LONG/SHORT to WAIT
Score drops below 3
Large diamond appears in opposite direction
Maximum hold time: 15 minutes (even if profitable)
Hard exit time: 30 minutes before market close
Trading Sessions
Best Times to Scalp
High-Liquidity Sessions
9:30-11:00 AM EST (Market open, highest volume)
2:00-3:30 PM EST (Afternoon session, good moves)
Avoid
11:30 AM-1:30 PM EST (Lunch, low volume)
Last 30 minutes (unpredictable, don't initiate new trades)
News releases (wait 5 minutes for volatility to settle)
Common Patterns & Setups
The Perfect Storm (Highest Probability)
Score = 6L or 7L
SCALP = BRIGHT GREEN
Vol + Tape = Yellow backgrounds
Green diamond appears
Price AT Support
Win rate: ~70-80%
The Fade Setup (Counter-Trend)
Price hits resistance (bright orange)
Stoch + RSI overbought (red)
Red diamond appears
CVD starts turning red
SCALP shows "SHORT"
Win rate: ~60-70%
The Breakout Continuation
Price breaks resistance (Res turns green)
EMA, MACD green
Vol surge (yellow)
Multiple green diamonds
SCALP = "LONG"
Win rate: ~65-75%
Warning Signs - DO NOT TRADE
Red Flags
❌ SCALP shows "WAIT"
❌ Score below 3
❌ Vol and Tape both gray (no volume)
❌ Conflicting signals (dashboard says LONG but red diamonds appearing)
❌ Alternating green/red circles (choppy market)
❌ Support and Resistance very close together (tight range)
Market Conditions to Avoid
Low volume periods
Major news releases (first 5 minutes after)
First 2 minutes after market open
Wide spreads
Consecutive losing trades (take a break after 2 losses)
Quick Reference Checklist
Before Taking ANY Trade:
☑ SCALP shows LONG or SHORT (not WAIT)
☑ Score is 4 or higher
☑ Vol or Tape shows activity
☑ No conflicting diamond signals
☑ Stop loss level identified
☑ Target profit level identified
☑ Not in restricted time periods
After Entering:
☑ Set stop loss immediately
☑ Set profit targets
☑ Watch SCALP column - exit if changes to WAIT
☑ Watch for opposite-colored diamonds
☑ Move stop to breakeven after first target
☑ Exit all by market close
Advanced Tips
Scalping Psychology
Be patient: Wait for Score 5+ setups
Be decisive: When signal appears, act immediately
Be disciplined: Follow your stop loss always
Be flexible: Exit quickly if dashboard reverses
Optimization
Backtest on your specific instrument
Adjust RSI/Stoch levels for your market
Fine-tune volume thresholds
Keep a trade journal to track which setups work best
Multi-Timeframe Confirmation
Use 5-min dashboard as "trend filter"
Take 1-min trades only in direction of 5-min SCALP signal
Increases win rate by ~10-15%
Troubleshooting
Q: Dashboard shows WAIT most of the time
Normal - scalping is about patience. Quality > Quantity
3-8 good setups per day is excellent
Q: Too many false signals
Increase minimum Score requirement to 5 or 6
Only trade with volume surge (yellow backgrounds)
Add large order detection confirmation
Q: Signals too slow
You may be on too high a timeframe
Try 1-minute chart for faster signals
Ensure real-time data feed is active
Q: Support/Resistance not updating
Normal - updates every 3 bars
If completely stuck, remove and re-add indicator
Summary
This scalping system works best when:
✅ Multiple indicators align (Score 5+)
✅ Volume and tape speed confirm the move
✅ Order flow (diamonds) confirms direction
✅ Price is at key levels (support/resistance)
✅ You manage risk strictly
✅ You exit before market close
The golden rule: When SCALP says WAIT, you WAIT. Discipline beats frequency.
IKZ MAX# 📊 RSI + Volume Profile Integrated Indicator
## 🎯 **General Description**
An integrated indicator that combines the power of **RSI (Relative Strength Index)** and **Volume Profile** in one technical analysis tool. It blends momentum analysis with volume distribution to provide more accurate and reliable trading signals.
## 📈 **Main Components**
### 1. **RSI (Relative Strength Index)**
- **Function**: Measures the speed and magnitude of price changes
- **Levels**:
- 🟥 **Overbought (70)**: Potential selling area
- 🟩 **Oversold (30)**: Potential buying area
- ⚪ **Midline (50)**: Balance line
### 2. **Volume Profile**
- **Function**: Analyzes trading volume distribution across price levels
- **Components**:
- 🟡 **POC (Point of Control)**: Price level with highest trading volume
- 🔵 **Value Area**: Area containing 68% of trading volume around POC
## ⚡ **Trading Signals**
### 📊 **Traditional RSI Signals**
- 🟢 **RSI Buy Signal**: When RSI crosses above 30 level (oversold)
- 🔴 **RSI Sell Signal**: When RSI crosses below 70 level (overbought)
### 💪 **Strong Integrated Signals**
- 💚 **Strong Buy**: RSI in oversold + Price near POC
- 🖤 **Strong Sell**: RSI in overbought + Price near POC
## 🛠 **Adjustable Settings**
### ⚙️ **RSI Settings**
- `rsi_length`: Calculation period (default: 14)
- `rsi_overbought`: Overbought level (default: 70)
- `rsi_oversold`: Oversold level (default: 30)
- `rsi_src`: Data source (default: close price)
### 📊 **Volume Profile Settings**
- `vp_lookback`: Lookback period (number of candles)
- `vp_rows`: Number of rows (distribution precision)
- `show_vp_histogram`: Show volume histogram
- `show_poc`: Show Point of Control
- `show_value_area`: Show Value Area
## 🎨 **Visual Elements**
### 📉 **Chart Display**
- RSI line in blue color
- Colored areas for extremes (red/green)
- POC line with label
- Buy/sell signals as colored triangles
### 📋 **Information Table**
- Current RSI value and status
- Current POC price
- Value Area range
- Current active signal
- Current active volume
## 🔔 **Alert Systems**
- Alerts for traditional RSI signals
- Alerts for integrated strong signals
- Updates once per bar
## 💡 **Trading Applications**
### 1. **Support and Resistance Identification**
- POC forms strongest support/resistance levels
- Value Area defines main trading range
### 2. **Momentum and Trend Analysis**
- RSI determines current momentum strength
- Volume Profile confirms level strength
### 3. **Entry Timing**
- Enter when integrated signals converge
- Confirm momentum alignment with volume distribution
## 🚀 **Unique Features**
### ✅ **Smart Integration**
- Combines two powerful indicators in one interface
- Integrated signals provide stronger confirmation
### ✅ **Flexibility**
- Fully customizable settings
- Suitable for all timeframes
### ✅ **User-Friendly**
- Clear visual interface
- Direct and easy-to-read signals
## 📊 **Result Interpretation**
### 🟢 **Ideal Buy Scenario**
- RSI below 40 (potential upward momentum)
- Price near POC (strong support)
- Buy signal from both indicators
### 🔴 **Ideal Sell Scenario**
- RSI above 60 (potential downward momentum)
- Price near POC (strong resistance)
- Sell signal from both indicators
## ⚠️ **Important Notes**
### 🔧 For Daily Timeframe:
- `vp_lookback = 50` (lookback period)
- `rsi_length = 14` (RSI period)
### 🔧 For Hourly Timeframe:
- `vp_lookback = 100` (lookback period)
- `rsi_length = 14` (RSI period)
## 📝 **Usage Tips**
1. **Strong Signals**: Wait for confirmation from both indicators before entering trades
2. **Risk Management**: Use POC as support/resistance for stop-loss placement
3. **Timing**: Best signals occur when RSI crosses critical levels with Volume Profile confirmation
## ⚠️ **Warning**
This indicator is for educational and analytical purposes only, not financial advice. Always practice risk management and never trade more than you can afford to lose.
---
**📈 Enjoy Smart Trading!** 🚀
ICMR — Chrono Maker Range (v12.7.1)✅ ICMR — Chrono Maker Range (v12.7) — Description (Balanced Technical + Friendly)
ICMR — Chrono Maker Range is a hybrid market-structure tool designed to help traders clearly identify directional bias and high-quality breakouts using either Higher-Timeframe (HTF) ranges or Initial Balance (IB) ranges. The indicator automatically builds the range, colors candles by market state, and highlights breakout signals using smart filters to reduce noise.
The concept is simple:
Price is either above the range (Bullish), inside the range (Neutral), or below the range (Bearish)—and ICMR keeps this state stable and easy to follow.
🔷 How It Works
ICMR constructs a tradable range using one of two modes:
1) HTF Range Mode
Pulls the High / Low from a higher timeframe (e.g., Daily, 4H).
You can choose:
Previous HTF candle → stable, non-moving range
Current HTF candle → dynamic, expands until HTF close
Perfect for tracking market bias across smaller timeframes.
2) Initial Balance (IB) Mode
Builds the range from the first N minutes of the session (e.g., first 60 minutes).
After the IB period ends, the range locks and becomes the day’s framework.
🔷 Market State Logic
The indicator evaluates where price is relative to the range and classifies the market into:
✅ Bullish → price breaks above the range
⚪ Neutral → price stays inside
❌ Bearish → price breaks below
You can optionally enable an EMA Trend Filter (fast vs slow EMA) to ensure breakouts align with trend direction.
🔷 Smart Signal System
ICMR includes compact signal shapes (triangles/circles), but only when conditions are strong:
✔️ Minimum breakout distance beyond the range
✔️ Candle body must exceed a % of ATR
✔️ Optional volume expansion filter
✔️ Cooldown between signals to avoid over-trading
✔️ Option to trigger signals only on state flips
These filters help keep signals actionable and reduce noise.
🔷 Visual Tools
HTF/IB Range High, Range Low, Midline
Optional shaded box
Segmented extend-right lines that reset when HTF/IB changes
Bar coloring (Bull/Neutral/Bear)
Soft background tint (optional)
Built-in info panel with range & filter stats
Alerts on state flips
Everything is designed to keep the chart clean and readable.
🔷 Presets
The indicator includes two ready-to-use profiles:
Conservative
Stable HTF ranges, confirmed breaks, trend-filtered signals, and fewer alerts.
Aggressive
Dynamic HTF ranges, more flexible break rules, and more frequent signals.
Each preset can be fully customized.
🔷 How Traders Use It
Intraday traders use HTF ranges (D, 4H) for bias on 1m–15m charts.
Day traders use IB to track the opening range and breakout opportunities.
Swing traders use conservative settings to filter false moves.
Scalpers enable aggressive mode with ATR/volume filters.
X62 Stock Rating Tool股票评分系统
功能概述
这是一个自定义的股票综合评分系统,允许用户从基本面和技术面两个维度对股票进行评分。系统支持灵活的权重配置和项目自定义,并可根据需要选择显示不同类型的评分。
主要特性
· 分离显示选项 - 可选择单独显示基本面、技术面或综合评分
· 可自定义项目 - 6个基本面项目和6个技术面项目的标题均可自定义
· 权重评分系统 - 使用1-3级重要性权重和1-5分评分标准
· 可视化展示 - 在图表上显示评分趋势线和实时评分表格
· 智能评级 - 根据得分自动给出优秀、良好、一般、较差的评级建议
使用说明
1. 在"显示选项"中选择要查看的评分类型
2. 在"基本面设置"和"技术面设置"中自定义项目名称
3. 为每个项目设置1-5分的评分和1-3级的权重
4. 系统自动计算加权平均分并显示在图表和表格中
---
Stock Scoring System - Separable Display
Overview
This is a custom stock comprehensive scoring system that allows users to evaluate stocks from both fundamental and technical perspectives. The system supports flexible weight configuration and item customization, with options to display different types of scores as needed.
Key Features
· Separable Display Options - Choose to display fundamental, technical, or overall scores individually
· Customizable Items - All 6 fundamental items and 6 technical items can be renamed
· Weighted Scoring System - Uses 1-3 level importance weights and 1-5 point scoring scale
· Visual Presentation - Displays score trend lines on chart and real-time score table
· Smart Rating - Automatically provides Excellent, Good, Average, or Poor ratings based on scores
Usage Instructions
1. Select the score types to view in "Display Options"
2. Customize item names in "Fundamental Settings" and "Technical Settings"
3. Set 1-5 point scores and 1-3 level weights for each item
4. System automatically calculates weighted average scores and displays them on chart and table
---
核心参数对照 Core Parameters
基本面评分 Fundamental Score 基于财务和业务指标的评分
技术面评分 Technical Score 基于价格和交易量指标的评分
综合评分 Overall Score 基本面和技术面的加权平均分
权重 Weight 项目重要性级别 (1-3级)
评分 Score 项目表现评分 (1-5分)
优秀 Excellent 得分 ≥ 80
良好 Good 得分 60-79
一般 Average 得分 40-59
较差 Poor 得分 < 40
---
应用场景 Application Scenarios
· 股票筛选 - 快速评估多只股票的综合质量
· 投资决策 - 为买入/持有/卖出决策提供量化依据
· 组合管理 - 监控持仓股票的评分变化趋势
· 研究分析 - 自定义评分标准以适应不同的投资策略
· Stock Screening - Quickly evaluate the comprehensive quality of multiple stocks
· Investment Decisions - Provide quantitative basis for buy/hold/sell decisions
· Portfolio Management - Monitor score trends of held stocks
· Research Analysis - Customize scoring criteria to adapt to different investment strategies
💎 ProfittoPath – Glass HUD//@version=5
indicator("💎 ProfittoPath – Glass HUD", overlay=true)
// === Inputs ===
entryPrice = input.float(0.0, "Entry Price", step=0.01)
qty = input.float(1.0, "Position Size", step=1.0)
isLong = input.bool(true, "Long Trade?")
offsetY = input.int(60, "Vertical Offset (ticks)", step=1)
showPercent = input.bool(true, "Show % Change")
// === Calculations ===
inTrade = entryPrice > 0
priceDiff = inTrade ? (close - entryPrice) * (isLong ? 1 : -1) : na
plUsd = inTrade ? priceDiff * qty : na
plPercent = inTrade ? (priceDiff / entryPrice) * 100 : na
isProfit = inTrade ? (plUsd >= 0) : false
// === Colors ===
gold = color.rgb(255,215,0)
lossRed = color.rgb(255,90,90)
txtColor = isProfit ? gold : lossRed
bgGlass = color.new(color.rgb(15,15,15),85)
// === Entry Line ===
var line entryLine = na
if barstate.isfirst
entryLine := line.new(bar_index, entryPrice, bar_index, entryPrice, extend=extend.both, color=color.new(gold,40), style=line.style_dotted)
if inTrade
line.set_color(entryLine, color.new(gold,40))
else
line.set_color(entryLine, color.new(color.black,100))
// === Panel Label ===
var label pnlLabel = na
if barstate.isfirst
pnlLabel := label.new(bar_index, na, "", style=label.style_label_center, textcolor=txtColor, color=bgGlass, size=size.large)
// === Update ===
if inTrade
string pnlText = "💎 ProfittoPath Glass HUD\n"
pnlText += "────────────────────────\n"
pnlText += "Trade: " + (isLong ? "LONG 📈" : "SHORT 📉") + "\n"
pnlText += "Entry: " + str.tostring(entryPrice, format.mintick) + "\n"
pnlText += "Current: " + str.tostring(close, format.mintick) + "\n"
pnlText += "P/L: " + (isProfit ? "+" : "") + str.tostring(plUsd, format.mintick) + " USD"
if showPercent
pnlText += " (" + str.tostring(plPercent, "#.##") + "%)"
pnlText += "\n"
pnlText += "────────────────────────\n"
pnlText += "Status: " + (isProfit ? "PROFIT ✅" : "LOSS ❌")
label.set_text(pnlLabel, pnlText)
label.set_x(pnlLabel, bar_index)
label.set_y(pnlLabel, entryPrice + offsetY * syminfo.mintick)
label.set_color(pnlLabel, bgGlass)
label.set_textcolor(pnlLabel, txtColor)
else
label.set_text(pnlLabel, "💎 Set Entry Price ↑")
label.set_x(pnlLabel, bar_index)
label.set_y(pnlLabel, close)
label.set_color(pnlLabel, bgGlass)
label.set_textcolor(pnlLabel, gold)
Session SFPThis script is a powerful, multi-timeframe tool designed to identify high-probability Swing Failure Patterns (SFPs) at key historical levels.
Instead of looking for traditional "pivots" (like a 3-bar swing), this indicator finds the actual high and low of a previous higher-timeframe (HTF) bar (e.g., the previous weekly high/low) and waits for a lower-timeframe (LTF) candle to sweep that level and fail.
This allows you to spot liquidity sweeps and potential reversals at significant, structural price points.
How It Works
The indicator's logic is based on a simple, two-timeframe process:
Level Detection: First, it finds the high and low of the previous bar on your chosen "Level Timeframe" (e.g., W for Weekly, D for Daily). It plots these as small 'x' markers on your chart.
SFP Identification: Second, it watches price action on a lower "SFP Timeframe" (e.g., 240 for 4H). A potential SFP is identified when a candle's wick sweeps above a key high or below a key low.
Confirmation: The SFP is only confirmed after the SFP candle closes back below the high (for a bearish SFP) or above the low (for a bullish SFP). It then waits for a set number of "Confirmation Bars" to pass. If price does not close back over the level during this window, the signal is locked in, and a label is printed.
How to Use (Key Settings)
Level Timeframe (Most Important): This is the timeframe for the levels you want to trade. Set this to W to find SFPs of the previous weekly high/low. Set it to D to find SFPs of the previous daily high/low.
SFP Timeframe: This is the timeframe you want to use to find the SFP candle itself. This should be lower than your Level Timeframe (e.g., 240 or 60).
Level Lookback: This controls how many old levels the script will track. A value of 10 on a W Level Timeframe will track the highs and lows of the last 10 weeks.
Confirmation Bars: This is your "patience" filter. It's the number of SFP Timeframe bars that must close without reclaiming the level after the SFP. A value of 0 will confirm the SFP immediately on the candle's close.
Enable Wick % Filter: A quality filter. If checked, this ensures the SFP candle's rejection wick is a significant percentage of the candle's total range.
Chart Visuals
'x' Markers: These are the historical highs and lows from your "Level Timeframe". You can turn these on or off in the settings.
SFP Label: When an SFP is fully confirmed, a label (Bearish SFP or Bullish SFP) will appear, detailing the level that was swept and the timeframes used.
SFP Line: A solid horizontal line is drawn from the 'x' marker to the SFP candle to highlight the sweep.
Colored Boxes (Optional): If you are viewing a chart timeframe lower than your "SFP Timeframe", you can enable background boxes to highlight the exact SFP candle and its confirmation bars.
VWAP + WaveTrend + CHoCH & BOS//@version=5
indicator("GC — VWAP + WaveTrend + CHoCH & BOS (v3.3, clean + pro visuals)", overlay=true, max_lines_count=500, max_labels_count=500)
// ================== TOGGLES D'AFFICHAGE ==================
showVWAPLine = input.bool(true, "Afficher VWAP")
showVWAPBands = input.bool(true, "Afficher Bandes VWAP (ATR)")
showWave = input.bool(true, "Afficher WaveTrend (vague)")
showCHoCH = input.bool(true, "Afficher CHoCH")
showBOS = input.bool(true, "Afficher BOS")
showOB = input.bool(true, "Afficher Order Blocks")
highlightBreakCandle = input.bool(true, "Surbrillance bougie de cassure (CHoCH)")
// ================== TOGGLES LOGIQUES ==================
useBiasFilter = input.bool(true, "Activer filtre Biais HTF (Ichimoku)")
useSessionsFilter = input.bool(true, "Activer filtre Sessions (Europe/Paris)")
enableAlerts = input.bool(true, "Activer alertes LONG/SHORT")
// ================== PARAMS ==================
tfHTF1 = input.timeframe("60", "HTF #1 (H1) pour biais")
tfHTF2 = input.timeframe("240", "HTF #2 (H4) pour biais")
// Sessions (format HHMM-HHMM)
asiaSess = input.session("0100-0900", "Asie (Heure Paris)")
lonSess = input.session("0900-1730", "Londres (Heure Paris)")
nySess = input.session("1430-2200", "New York (Heure Paris)")
useAsia = input.bool(true, "Filtrer Asie")
useLon = input.bool(false, "Filtrer Londres")
useNY = input.bool(false, "Filtrer New York")
// VWAP bands (ATR)
atrLenBands = input.int(14, "ATR Len (bandes VWAP)")
atrMult = input.float(1.0, "ATR Mult (bandes)", step=0.1)
// Structure
pivotLen = input.int(5, "Pivot len (structure)")
// ================== BIAIS ICHIMOKU (HTF) ==================
tenkanLen = input.int(9, "Tenkan", inline="ichi")
kijunLen = input.int(26, "Kijun", inline="ichi")
spanBLen = input.int(52, "SenkouB",inline="ichi")
f_ichi(srcH, srcL, cLen, bLen) =>
ts = (ta.highest(srcH, cLen) + ta.lowest(srcL, cLen)) / 2.0
ks = (ta.highest(srcH, bLen) + ta.lowest(srcL, bLen)) / 2.0
= request.security(syminfo.tickerid, tfHTF1, f_ichi(high, low, tenkanLen, kijunLen), barmerge.gaps_on, barmerge.lookahead_off)
= request.security(syminfo.tickerid, tfHTF2, f_ichi(high, low, tenkanLen, kijunLen), barmerge.gaps_on, barmerge.lookahead_off)
biaisBullRaw = close > ksH1 and tsH1 > ksH1 and close > ksH4 and tsH4 > ksH4
biaisBearRaw = close < ksH1 and tsH1 < ksH1 and close < ksH4 and tsH4 < ksH4
biaisBull = useBiasFilter ? biaisBullRaw : true
biaisBear = useBiasFilter ? biaisBearRaw : true
// ================== SESSIONS ==================
inAsia = not na(time(timeframe.period, asiaSess, "Europe/Paris"))
inLon = not na(time(timeframe.period, lonSess, "Europe/Paris"))
inNY = not na(time(timeframe.period, nySess, "Europe/Paris"))
sessionPassRaw = (useAsia and inAsia) or (useLon and inLon) or (useNY and inNY) or (not useAsia and not useLon and not useNY)
sessionPass = useSessionsFilter ? sessionPassRaw : true
// ================== VWAP + BANDES (ATR) ==================
vwap = ta.vwap
atrB = ta.atr(atrLenBands)
upper = vwap + atrMult * atrB
lower = vwap - atrMult * atrB
plot(showVWAPLine ? vwap : na, "VWAP", linewidth=2, color=color.new(color.gray, 0))
plot(showVWAPBands ? upper : na, "VWAP + ATR", color=color.new(color.gray, 0))
plot(showVWAPBands ? lower : na, "VWAP - ATR", color=color.new(color.gray, 0))
// ================== WAVE TREND (vague lisible) ==================
waveLen1 = input.int(20, "Wave base EMA")
waveLen2 = input.int(40, "Wave smoothing Hull")
srcWT = (high + low + close)/3.0
emaBase = ta.ema(srcWT, waveLen1)
w2half = math.max(1, math.round(waveLen2 / 2.0))
hull = ta.wma(2*ta.wma(emaBase, w2half) - ta.wma(emaBase, waveLen2), math.max(1, math.round(math.sqrt(waveLen2))))
wave = ta.ema(hull, math.max(2, math.round(waveLen1/2.0)))
slopeUp = wave > wave
slopeDn = wave < wave
waveColor =
(useBiasFilter and biaisBullRaw and slopeUp) ? color.new(color.lime, 0) :
(useBiasFilter and biaisBearRaw and slopeDn) ? color.new(color.red, 0) :
color.new(color.gray, 0)
plot(showWave ? wave : na, "WaveTrend", linewidth=3, color=waveColor)
// ================== STRUCTURE: PIVOTS ==================
ph = ta.pivothigh(high, pivotLen, pivotLen)
pl = ta.pivotlow(low, pivotLen, pivotLen)
var float lastSwingHigh = na
var float lastSwingLow = na
var int lastSwingHighBar = na
var int lastSwingLowBar = na
if not na(ph)
lastSwingHigh := ph
lastSwingHighBar := bar_index - pivotLen // index du pivot confirmé
if not na(pl)
lastSwingLow := pl
lastSwingLowBar := bar_index - pivotLen
// Cassures confirmées (bar close)
brokeHigh = not na(lastSwingHigh) and ta.crossover(close, lastSwingHigh)
brokeLow = not na(lastSwingLow) and ta.crossunder(close, lastSwingLow)
// Tendance locale par pente de la Wave
trendUp = slopeUp
trendDown = slopeDn
// Définition des états
bosUp = barstate.isconfirmed and trendUp and brokeHigh
bosDown = barstate.isconfirmed and trendDown and brokeLow
chochUp = barstate.isconfirmed and trendDown and brokeHigh
chochDown = barstate.isconfirmed and trendUp and brokeLow
// ================== VISUELS PRO (lignes BOS/CHoCH + OB + Highlight) ==================
// Conteneurs pour limiter l'encombrement
var line bosLines = array.new_line()
var label bosLabels = array.new_label()
var line chochLines = array.new_line()
var label chochLbls = array.new_label()
var box obBoxes = array.new_box()
var box brkBoxes = array.new_box()
f_trim(arrLine, arrLbl, maxKeep) =>
// supprime les plus anciens si on dépasse maxKeep
if array.size(arrLine) > maxKeep
l = array.shift(arrLine)
line.delete(l)
if array.size(arrLbl) > maxKeep
lb = array.shift(arrLbl)
label.delete(lb)
f_trim_boxes(arr, maxKeep) =>
if array.size(arr) > maxKeep
b = array.shift(arr)
box.delete(b)
// --- Création BOS Up / Down (ligne horizontale + petit label "bos")
if showBOS and bosUp and not na(lastSwingHigh) and not na(lastSwingHighBar)
l = line.new(lastSwingHighBar, lastSwingHigh, bar_index, lastSwingHigh, xloc=xloc.bar_index, extend=extend.none, color=color.new(color.lime, 0), width=2)
lb = label.new(bar_index, lastSwingHigh, "bos", style=label.style_label_left, color=color.new(color.lime, 0), textcolor=color.new(color.black, 0))
array.push(bosLines, l), array.push(bosLabels, lb), f_trim(bosLines, bosLabels, 12)
if showBOS and bosDown and not na(lastSwingLow) and not na(lastSwingLowBar)
l = line.new(lastSwingLowBar, lastSwingLow, bar_index, lastSwingLow, xloc=xloc.bar_index, extend=extend.none, color=color.new(color.red, 0), width=2)
lb = label.new(bar_index, lastSwingLow, "bos", style=label.style_label_left, color=color.new(color.red, 0), textcolor=color.new(color.white, 0))
array.push(bosLines, l), array.push(bosLabels, lb), f_trim(bosLines, bosLabels, 12)
// --- CHoCH Up / Down (ligne + label "ChoCh" + highlight bougie de cassure)
if showCHoCH and chochUp and not na(lastSwingHigh) and not na(lastSwingHighBar)
l = line.new(lastSwingHighBar, lastSwingHigh, bar_index, lastSwingHigh, xloc=xloc.bar_index, extend=extend.none, color=color.new(color.teal, 0), width=2)
lb = label.new(bar_index, lastSwingHigh, "ChoCh", style=label.style_label_left, color=color.new(color.teal, 0), textcolor=color.new(color.black, 0))
array.push(chochLines, l), array.push(chochLbls, lb), f_trim(chochLines, chochLbls, 12)
if highlightBreakCandle
b = box.new(bar_index, high, bar_index, low, bgcolor=color.new(color.orange, 70))
array.push(brkBoxes, b), f_trim_boxes(brkBoxes, 8)
if showCHoCH and chochDown and not na(lastSwingLow) and not na(lastSwingLowBar)
l = line.new(lastSwingLowBar, lastSwingLow, bar_index, lastSwingLow, xloc=xloc.bar_index, extend=extend.none, color=color.new(color.maroon, 0), width=2)
lb = label.new(bar_index, lastSwingLow, "ChoCh", style=label.style_label_left, color=color.new(color.maroon, 0), textcolor=color.new(color.white, 0))
array.push(chochLines, l), array.push(chochLbls, lb), f_trim(chochLines, chochLbls, 12)
if highlightBreakCandle
b = box.new(bar_index, high, bar_index, low, bgcolor=color.new(color.orange, 70))
array.push(brkBoxes, b), f_trim_boxes(brkBoxes, 8)
// --- Order Blocks : dernière bougie opposée avant cassure (body-only)
f_last_opposite_body_idx(maxLookback, wantBull) =>
// cherche la dernière bougie opposée dans les 'maxLookback' barres précédant la cassure
var int idx = na
for i = 1 to maxLookback
isBear = close < open
isBull = close > open
if (wantBull and isBear) or (not wantBull and isBull)
idx := i
break
idx
maxLook = 10
if showOB and (bosUp or chochUp) and not na(lastSwingHigh)
obIdx = f_last_opposite_body_idx(maxLook, true) // pour un mouvement haussier, bougie "opposée" est rouge
if not na(obIdx)
topB = math.max(open , close )
botB = math.min(open , close )
b = box.new(bar_index - obIdx, topB, bar_index - obIdx, botB, xloc=xloc.bar_index, extend=extend.right, bgcolor=color.new(color.blue, 80), border_color=color.new(color.blue, 40))
array.push(obBoxes, b), f_trim_boxes(obBoxes, 10)
if showOB and (bosDown or chochDown) and not na(lastSwingLow)
obIdx = f_last_opposite_body_idx(maxLook, false) // pour un mouvement baissier, bougie "opposée" est verte
if not na(obIdx)
topB = math.max(open , close )
botB = math.min(open , close )
b = box.new(bar_index - obIdx, topB, bar_index - obIdx, botB, xloc=xloc.bar_index, extend=extend.right, bgcolor=color.new(color.blue, 80), border_color=color.new(color.blue, 40))
array.push(obBoxes, b), f_trim_boxes(obBoxes, 10)
// ================== ALERTES ==================
barOK = barstate.isconfirmed and sessionPass
longSignal = barOK and biaisBull and ( (showBOS and bosUp) or (showCHoCH and chochUp) ) and (showVWAPLine ? close >= vwap : true)
shortSignal = barOK and biaisBear and ( (showBOS and bosDown) or (showCHoCH and chochDown) ) and (showVWAPLine ? close <= vwap : true)
alertcondition(enableAlerts and longSignal, "LONG signal (clean)", "LONG — {{ticker}} {{interval}}")
alertcondition(enableAlerts and shortSignal, "SHORT signal (clean)", "SHORT — {{ticker}} {{interval}}")
Realtime Squeeze Box [CHE] Realtime Squeeze Box — Detects lowvolatility consolidation periods and draws trimmed price range boxes in realtime to highlight potential breakout setups without clutter from outliers.
Summary
This indicator identifies "squeeze" phases where recent price volatility falls below a dynamic baseline threshold, signaling potential energy buildup for directional moves. By requiring a minimum number of consecutive bars in squeeze, it reduces noise from fleeting dips, making signals more reliable than simple threshold crosses. The core innovation is realtime box visualization: during active squeezes, it builds and updates a box capturing the price range while ignoring extreme values via quantile trimming, providing a cleaner view of consolidation bounds. This differs from static volatility bands by focusing on trimmed ranges and suppressing overlapping boxes, which helps traders spot genuine setups amid choppy markets. Overall, it aids in anticipating breakouts by combining volatility filtering with visual containment of price action.
Motivation: Why this design?
Traders often face whipsaws during brief volatility lulls that mimic true consolidations, leading to premature entries, or miss setups because standard volatility measures lag in adapting to changing market regimes. This design addresses that by using a hold requirement on consecutive lowvolatility bars to denoise signals, ensuring only sustained squeezes trigger visuals. The core idea—comparing rolling standard deviation to a smoothed baseline—creates a responsive yet stable filter for lowenergy periods, while the trimmed box approach isolates the core price cluster, making it easier to gauge breakout potential without distortion from spikes.
What’s different vs. standard approaches?
Reference baseline: Traditional squeeze indicators like the Bollinger Band Squeeze or TTM Squeeze rely on fixed multiples of bands or momentum oscillators crossing zero, which can fire on isolated bars or ignore range compression nuances.
Architecture differences:
Realtime box construction that updates barbybar during squeezes, using arrays to track and trim price values.
Quantilebased outlier rejection to define box bounds, focusing on the bulk of prices rather than full range.
Overlap suppression logic that skips redundant boxes if the new range intersects heavily with the prior one.
Hold counter for consecutive bar validation, adding persistence before signaling.
Practical effect: Charts show fewer, more defined orange boxes encapsulating tight price action, with a horizontal line extension marking the midpoint postsqueeze—visibly reducing clutter in sideways markets and highlighting "coiled" ranges that standard plots might blur with full highs/lows. This matters for quicker visual scanning of multitimeframe setups, as boxes selflimit to recent history and avoid piling up.
How it works (technical)
The indicator starts by computing a rolling average and standard deviation over a userdefined length on the chosen source price series. This deviation measure is then smoothed into a baseline using either a simple or exponential average over a longer window, serving as a reference for normal volatility. A squeeze triggers when the current deviation dips below this baseline scaled by a multiplier less than one, but only after a minimum number of consecutive bars confirm it, which resets the counter on breaks.
Upon squeeze start, it clears a buffer and begins collecting source prices barbybar, limited to the first few bars to keep computation light. For visualization, if enabled, it sorts the buffer and finds a quantile threshold, then identifies the minimum value at or below that threshold to set upper and lower box bounds—effectively clamping the range to exclude tails above the quantile. The box draws from the start bar to the current one, updating its right edge and levels dynamically; if the new bounds overlap significantly with the last completed box, it suppresses drawing to avoid redundancy.
Once the hold limit or squeeze ends, the box freezes: its final bounds become the last reference, a midpoint line extends rightward from the end, and a tiny circle label marks the point. Buffers and states reset on new squeezes, with historical boxes and lines capped to prevent overload. All logic runs on every bar but uses confirmed historical data for calculations, with realtime updates only affecting the active box's position—no future peeking occurs. Initialization seeds with null values, building states progressively from the first bars.
Parameter Guide
Source: Selects the price series (e.g., close, hl2) for deviation and box building; influences sensitivity to wicks or bodies. Default: close. Tradeoffs/Tips: Use hl2 for balanced range view in volatile assets; stick to close for pure directional focus—test on your timeframe to avoid oversmoothing trends.
Length (Mean/SD): Sets window for average and deviation calculation; shorter values make detection quicker but noisier. Default: 20. Tradeoffs/Tips: Increase to 30+ for stability in higher timeframes, reducing false starts; below 10 risks overreacting to singlebar noise.
Baseline Length: Defines smoothing window for the deviation baseline; longer periods create a steadier reference, filtering regime shifts. Default: 50. Tradeoffs/Tips: Pair with Length at 1:2 ratio for calm markets; shorten to 30 if baselines lag during fast volatility drops, but watch for added whips.
Squeeze Multiplier (<1.0): Scales the baseline downward to set the squeeze threshold; lower values tighten criteria for rarer, stronger signals. Default: 0.8. Tradeoffs/Tips: Tighten to 0.6 for highvol assets like crypto to cut noise; loosen to 0.9 in forex for more frequent but shallower setups—balances hit rate vs. depth.
Baseline via EMA (instead of SMA): Switches baseline smoothing to exponential for faster adaptation to recent changes vs. equalweighted simple average. Default: false. Tradeoffs/Tips: Enable in trending markets for quicker baseline drops; disable for uniform history weighting in rangebound conditions to avoid overreacting.
SD: Sample (len1) instead of Population (len): Adjusts deviation formula to divide by length minus one for smallsample bias correction, slightly inflating values. Default: false. Tradeoffs/Tips: Use sample in short windows (<20) for more conservative thresholds; population suits long looks where bias is negligible, keeping signals tighter.
Min. Hold Bars in Squeeze: Requires this many consecutive squeeze bars before confirming; higher denoise but may clip early setups. Default: 1. Tradeoffs/Tips: Bump to 35 for intraday to filter ticks; keep at 1 for swings where quick consolidations matter—trades off timeliness for reliability.
Debug: Plot SD & Threshold: Toggles lines showing raw deviation and threshold for visual backtesting of squeeze logic. Default: false. Tradeoffs/Tips: Enable during tuning to eyeball crossovers; disable live to declutter—great for verifying multiplier impact without alerts.
Tint Bars when Squeeze Active: Overlays semitransparent color on bars during open box phases for quick squeeze spotting. Default: false. Tradeoffs/Tips: Pair with low opacity for subtlety; turn off if using boxes alone, as tint can obscure candlesticks in dense charts.
Tint Opacity (0..100): Controls background tint strength during active squeezes; higher values darken for emphasis. Default: 85. Tradeoffs/Tips: Dial to 60 for light touch; max at 100 risks hiding price action—adjust per chart theme for visibility.
Stored Price (during Squeeze): Price series captured in the buffer for box bounds; defaults to source but allows customization. Default: close. Tradeoffs/Tips: Switch to high/low for wider boxes in gappy markets; keep close for midline focus—impacts trim effectiveness on outliers.
Quantile q (0..1): Fraction of sorted prices below which tails are cut; higher q keeps more data but risks including spikes. Default: 0.718. Tradeoffs/Tips: Lower to 0.5 for aggressive trim in noisy assets; raise to 0.8 for fuller ranges—tune via debug to match your consolidation depth.
Box Fill Color: Sets interior shade of squeeze boxes; semitransparent for layering. Default: orange (80% trans.). Tradeoffs/Tips: Soften with more transparency in multiindicator setups; bold for standalone use—ensures boxes pop without overwhelming.
Box Border Color: Defines outline hue and solidity for box edges. Default: orange (0% trans.). Tradeoffs/Tips: Match fill for cohesion or contrast for edges; thin width keeps it clean—helps delineate bounds in zoomed views.
Keep Last N Boxes: Limits historical boxes/lines/labels to this count, deleting oldest for performance. Default: 10. Tradeoffs/Tips: Increase to 50 for weekly reviews; set to 0 for unlimited (risks lag)—balances history vs. speed on long charts.
Draw Box in Realtime (build/update): Enables live extension of boxes during squeezes vs. waiting for end. Default: true. Tradeoffs/Tips: Disable for confirmedonly views to mimic backtests; enable for proactive trading—adds minor repaint on live bars.
Box: Max First N Bars: Caps buffer collection to initial squeeze bars, freezing after for efficiency. Default: 15. Tradeoffs/Tips: Shorten to 510 for fast intraday; extend to 20 in dailies—prevents bloated arrays but may truncate long squeezes.
Reading & Interpretation
Squeeze phases appear as orange boxes encapsulating the trimmed price cluster during lowvolatility holds—narrow boxes signal tight consolidations, while wider ones indicate looser ranges within the threshold. The box's top and bottom represent the quantilecapped high and low of collected prices, with the interior fill shading the containment zone; ignore extremes outside for "true" bounds. Postsqueeze, a solid horizontal line extends right from the box's midpoint, acting as a reference level for potential breakout tests—drifting prices toward or away from it can hint at building momentum. Tiny orange circles at the line's start mark completion points for easy scanning. Debug lines (if on) show deviation hugging or crossing the threshold, confirming hold logic; a persistent hug below suggests prolonged calm, while spikes above reset counters.
Practical Workflows & Combinations
Trend following: Enter long on squeezeend close above the box top (or midpoint line) confirmed by higher high in structure; filter with rising 50period average to avoid countertrend traps. Use boxes as support/resistance proxies—short below bottom in downtrends.
Exits/Stops: Trail stops to the box midpoint during postsqueeze runs for conservative holds; go aggressive by exiting on retest of opposite box side. If debug shows repeated threshold grazes, tighten stops to curb drawdowns in ranging followups.
Multiasset/MultiTF: Defaults work across stocks, forex, and crypto on 15min+ frames; scale Length proportionally (e.g., x2 on hourly). Layer with highertimeframe boxes for confluence—e.g., daily squeeze + 1H box for entry timing. (Unknown/Optional: Specific multiTF scaling recipes beyond proportional adjustment.)
Behavior, Constraints & Performance
Repaint/confirmation: Core calculations use historical closes, confirming on bar close; active boxes repaint their right edge and levels live during squeezes if enabled, but freeze irrevocably on hold limit or end—mitigates via barbybar buffer adds without future leaks. No lookahead indexes.
security()/HTF: None used, so no external timeframe repaints; all native to chart resolution.
Resources: Caps at 300 boxes/lines/labels total; small arrays (up to 20 elements) and short loops in sorting/minfinding keep it light—suitable for 10k+ bar charts without throttling. Persistent variables track state across bars efficiently.
Known limits: May lag on ultrasharp volatility spikes due to baseline smoothing; gaps or thin markets can skew trims if buffer hits cap early; overlaps suppress visuals but might hide chained squeezes—(Unknown/Optional: Edge cases in nonstandard sessions).
Sensible Defaults & Quick Tuning
Start with defaults for most liquid assets on 1Hdaily: Length 20, Multiplier 0.8, Hold 1, Quantile 0.718—yields balanced detection without excess noise. For too many false starts (choppy charts), increase Hold to 3 and Baseline Length to 70 for stricter confirmation, reducing signals by 3050%. If squeezes feel sluggish or miss quick coils, shorten Length to 14 and enable EMA baseline for snappier adaptation, but monitor for added flips. In highvol environments like options, tighten Multiplier to 0.6 and Quantile to 0.6 to focus on core ranges; reverse for calm pairs by loosening to 0.95. Always backtest tweaks on your asset's history.
What this indicator is—and isn’t
This is a volatilityfiltered visualization tool for spotting and bounding consolidation phases, best as a signal layer atop price action and trend filters—not a standalone predictor of direction or strength. It highlights setups but ignores volume, momentum, or news context, so pair with discreteness rules like higher highs/lows. Never use it alone for entries; always layer risk management, such as 12% stops beyond box extremes, and position sizing based on account drawdown tolerance.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on HeikinAshi, Renko, Kagi, PointandFigure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
MPO4 Lines – Modal Engine█ OVERVIEW
MPO4 Lines – Modal Engine is an advanced multi-line modal oscillator for TradingView, designed to detect momentum shifts, trend strength, and reversal points through candle-based pressure analysis with multiple fast lines and a reference slow line. It features divergence detection on Fast Line A, overbought/oversold return signals, dynamic coloring modes, and layered gradient visualizations for enhanced clarity and decision-making.
█ CONCEPT
The indicator is built upon the Market Pressure Oscillator (MPO) and serves as its expanded evolution, aimed at enabling broader market analysis through multiple lines with varying parameters. It calculates modal pressure using candle body size and direction, weighted against average body size over a lookback period, then normalized and smoothed via EMA. It generates four distinct oscillator lines: a heavily smoothed Slow Line (trend reference), two Fast Lines (A & B) for momentum and support/resistance, and an optional Line 4 for additional confirmation. Divergence is calculated solely on Fast Line A, with visual gradients between lines and bands for intuitive interpretation.
█ WHY USE IT?
- Multi-Layer Momentum: Combines slow trend reference with dual fast lines for precise entry/exit timing.
- Divergence Precision: Bullish/bearish divergences on Fast Line A with labeled confirmation.
- OB/OS Return Signals: Clear buy/sell markers when Fast Line A exits oversold/overbought zones.
- Dynamic Visuals: Gradient fills, line-to-line shading, and band gradients for instant market state recognition.
- Flexible Coloring: Slow Line color by direction or zero-position; fast lines by sign.
- Full Customization: Independent lengths, smoothing, visibility, and transparency — by adjusting the lengths of different lines, you can tailor results for various strategies; for example, enabling Line 4 and tuning its length allows trading based on crossovers between different lines.
█ HOW IT WORKS?
- Candle Pressure Calculation: Body = math.abs(close - open); avgBody = ta.sma(body, len). Direction = +1 (bull), –1 (bear), 0 (neutral). Weight = body / avgBody. Contribution = direction × weight.
- Rolling Sum & Normalization: Sums contributions over lookback, normalizes to ±100 scale (÷ (len × 2) × 100).
Smoothing: Applies primary EMA (smoothLen), with extra EMA on Slow Line for stability.
Line Structure:
- Slow Line = calcCPO(len1=20, smoothLen1=5) → extra EMA (5)
- Fast Line A = calcCPO(len2=6, smoothLen2=7)
- Fast Line B = calcCPO(len3=6, smoothLen3=10)
- Line 4 = calcCPO(len4=14, smoothLen4=1)
Divergence Detection: Uses ta.pivothigh/low on price and Fast Line A (pivotLength left/right). Bullish: lower price low + higher osc low. Bearish: higher price high + lower osc high. Valid within 5–60 bar window.
Signals:
- Buy: Fast Line A crosses above oversold (–30)
- Sell: Fast Line A crosses below overbought (+30)
- Slow Line color flip (direction or zero-cross)
- Divergence labels ("Bull" / "Bear")
- Band Coloring as Momentum Signal:
When Fast Line A ≤ Fast Line B → Overbought band turns red (bearish pressure building)
When Fast Line A > Fast Line B → Oversold band turns green (bullish pressure building) This dynamic coloring serves as visual confirmation of momentum shift following fast line crossovers
Visualization:
- Gradients: Fast B → Zero (multi-layer fade), Fast A ↔ B fill, OB/OS bands
- Dynamic colors: Green/red based on sign or trend
- Zero line + dashed OB/OS thresholds
Alerts: Trigger on OB/OS returns, Slow Line changes, and divergences.
█ SETTINGS AND CUSTOMIZATION
- Line Visibility: Toggle Slow, Fast A, Fast B, Line 4 independently.
Line Lengths:
- Slow Line: Base (20), Primary EMA (5), Extra EMA (5)
- Fast A: Lookback (6), EMA (7)
- Fast B: Lookback (6), EMA (10)
- Line 4: Lookback (14), EMA (1)
- Slow Line Coloring Mode: “Direction” (trend-based) or “Position vs Zero”.
- Bands & Thresholds: Overbought (+30), Oversold (–30), step 0.1.
- Signals: Enable Fast A OB/OS return markers (default: on).
- Divergence: Enable/disable, Pivot Length (default: 2, min 1).
- Colors & Appearance: Full control over bullish/bearish hues for all lines, zero, bands, divergence, and text.
Gradients & Transparency:
- Fast B → Zero: 75 (default)
- Fast A ↔ B fill: 50
- Band gradients: 40
- Toggle each gradient independently
█ USAGE EXAMPLES
The indicator allows users to configure various strategies manually, though no built-in alerts exist for them. Entry signals can include color of fast lines, crossovers between different lines, alignment of colors across lines, or consistency in direction.
- Trend Confirmation: Slow Line above zero + green = bullish bias; below + red = bearish.
- Entry Timing: Buy on Fast A crossing above –30 (circle marker), especially if Slow Line is rising or near zero.
- Reversal Setup: Bullish divergence (“Bull” label) + Fast A in oversold + green gradient band = high-probability long.
- Scalping: Fast A vs Fast B crossover in direction of Slow Line trend.
- Noise Reduction: Increase extraSmoothLen on Slow Line
█ USER NOTES
- Best combined with volume, support/resistance, or trend channels.
- Adjust lookback and smoothing to asset volatility.
- Divergence delay = pivotLength; plan entries accordingly.
Analog Flow [KedArc Quant]Overview
AnalogFlow is an advanced analogue based market projection engine that reconstructs future price tendencies by matching current price behavior to historical analogues in the same instrument. Instead of using traditional indicators such as moving averages, RSI, or regression, AnalogFlow applies pattern vector similarity analysis - a data driven technique that identifies historically similar sequences and aggregates their subsequent movements into a smooth, forward looking curve.
Think of it as a market memory system:
If the current pattern looks like one we have seen before, how did price move afterward?
Why AnalogFlow Is Unique
1. Pattern centric - it does not rely on any standard indicator formula; it directly analyzes price movement vectors.
2. Adaptive - it learns from the same instrument's past behavior, making it self calibrating to volatility and regime shifts.
3. Non repainting - the projection is generated on the latest completed bar and remains fixed until new data is available.
4. Noise resistant - the EMA Blend engine smooths the projected trajectory, reducing random variance between analogues.
Inputs and Configuration
Pattern Bars
Number of bars in the reference pattern window: 40
Projection Bars
Number of bars forward to project: 30
Search Depth
Number of bars back to look for matching analogues: 600
Distance Metric
Comparison method: Euclidean, Manhattan, or Cosine (default Euclidean)
Matches
Number of top analogues to blend (1-5): Top 3
Build Mode
Projection type: Cumulative, MeanStep, or EMA Blend (default EMA Blend)
EMA Blend Length
Smoothness of the projected path: 15
Normalize Pattern
Enable Z score normalization for shape matching: true
Dissimilarity Mode
If true, finds inverse analogues for mean reversion analysis: false
Line Color and Width
Style settings for projection curve: Blue, width 2
How It Works with Past Data
1. The system builds a memory bank of patterns from the last N bars based on the scanDepth value.
2. It compares the latest Pattern Bars segment to each historical segment.
3. It selects the Top K most similar or dissimilar analogues.
4. For each analogue, it retrieves what happened after that pattern historically.
5. It averages or smooths those forward moves into a single composite forecast curve.
6. The forecast (blue line) is drawn ahead of the current candle using line.new with no repainting.
Output Explained
Blue Path
The weighted mean future trajectory based on historical analogues.
Smoother when EMA Blend mode is enabled.
Flat Section
Indicates low directional consensus or equilibrium across analogues.
Upward or Downward Slope
Represents historical tendency toward continuation or reversal following similar conditions.
Recommended Timeframes
Scalping / Short Term
1m - 5m : Short winLen (20-30), small ahead (10-15)
Swing Trading
15m - 1h : Balanced settings (winLen 40-60, ahead 20-30)
Positional / Multi Day
4h - 1D : Large windows (winLen 80-120, ahead 30-50)
Instrument Compatibility
Works seamlessly on:
Stocks and ETFs
Indices
Cryptocurrency
Commodities (Gold, Crude, etc.)
Futures and F&O (both intraday and positional)
Forex
No symbol specific calibration needed. It self adapts to volatility.
How Traders Can Use It
Forecast Context
Identify likely short term price path or drift direction.
Reversal Detection
Flip seekOpp to true for mean reversion pattern analysis.
Scenario Comparison
Observe whether the current regime tends to continue or stall.
Momentum Confirmation
Combine with trend tools such as EMA or MACD for directional bias.
Backtesting Support
Compare projected path versus realized price to evaluate reliability.
FAQ
Q1. Does AnalogFlow repaint?
No. It calculates only once per completed bar and projects forward. The future path remains static until a new bar closes.
Q2. Is it a neural network or AI model?
Not in the machine learning sense. It is a deterministic analogue matching engine using statistical distance metrics.
Q3. Why does the projection sometimes flatten?
That means similar historical setups had no clear consensus in direction (neutral expectation).
Q4. Can I use it for live trading signals?
AnalogFlow is not a signal generator. It provides probabilistic context for upcoming movement.
Q5. Does higher scanDepth improve accuracy?
Up to a point. More depth gives more analogues, but too much can dilute recency. Try 400 to 800.
Glossary
Analogue
A past pattern similar to the current price behavior.
Distance Metric
Mathematical formula for pattern similarity.
Step Vector
Difference between consecutive closing prices.
EMA Blend
Exponential smoothing of the projected path.
Cumulative Mode
Adds sequential historical deltas directly.
Z Score Normalization
Rescaling to mean 0 and variance 1 for shape comparison.
Summary
AnalogFlow converts the market's historical echoes into a structured, statistically weighted forward projection. It gives traders a contextual roadmap, not a signal, showing how similar past setups evolved and allowing better informed entries, exits, and scenario planning across all asset classes.
Disclaimer
This script is provided for educational purposes only.
Past performance does not guarantee future results.
Trading involves risk, and users should exercise caution and proper risk management when applying this strategy.
celenni//@version=6
strategy("Cruce SMA 5/20 – v6 (const TF, gap en puntos SOLO cortos, next bar open, 1 trade/ventana, anti-flip)",
overlay = true,
initial_capital = 10000,
default_qty_type = strategy.percent_of_equity,
default_qty_value = 10,
pyramiding = 0)
// === CONSTANTES ===
const string TF = "15" // fija el timeframe de cálculo (ej. "5","15","30","60","120","240","D")
const string SYM_ALLOWED = "QQQ" // símbolo permitido
// === Inputs ===
confirmOnClose = input.bool(true, "Confirmar señal al cierre (evita repaint)")
maxGapPtsShort = input.float(0.50, "Máx gap permitido en CORTOS (puntos)", 0.0, 1e6)
lenFast = input.int(5, "SMA rápida", 1)
lenSlow = input.int(20, "SMA lenta", 2)
tpPts = input.float(20.0, "Take Profit (puntos)", 0.01)
slPts = input.float(5.0, "Stop Loss (puntos)", 0.01)
// Ventanas (NY)
useSessions = input.bool(true, "Usar ventanas NY")
sess1 = input.session("1000-1130", "Ventana 1 (NY)")
sess2 = input.session("1330-1600", "Ventana 2 (NY)")
flatOutside = input.bool(true, "Cerrar posición al salir de la ventana")
// === Utilidades ===
isAllowedSymbol() =>
(syminfo.ticker == SYM_ALLOWED) or str.contains(str.upper(syminfo.ticker), str.upper(SYM_ALLOWED))
// === Series MTF (cálculo en TF) ===
closeTF = request.security(syminfo.tickerid, TF, close, barmerge.gaps_off, barmerge.lookahead_off)
smaFast = ta.sma(closeTF, lenFast)
smaSlow = ta.sma(closeTF, lenSlow)
// Señales MTF sin repaint
longSignalTF = request.security(syminfo.tickerid, TF,
ta.crossover(ta.sma(close, lenFast), ta.sma(close, lenSlow)),
barmerge.gaps_off, barmerge.lookahead_off)
shortSignalTF = request.security(syminfo.tickerid, TF,
ta.crossunder(ta.sma(close, lenFast), ta.sma(close, lenSlow)),
barmerge.gaps_off, barmerge.lookahead_off)
// === Sesiones (evaluadas en el TF del gráfico, zona NY) ===
inSess1 = useSessions ? not na(time(timeframe.period, sess1, "America/New_York")) : true
inSess2 = useSessions ? not na(time(timeframe.period, sess2, "America/New_York")) : true
inSession = inSess1 or inSess2
// Inicio de ventanas y contadores (1 trade por ventana)
var bool wasIn1 = false, wasIn2 = false
win1Start = inSess1 and not wasIn1
win2Start = inSess2 and not wasIn2
wasIn1 := inSess1
wasIn2 := inSess2
var int tradesWin1 = 0, tradesWin2 = 0
if win1Start
tradesWin1 := 0
if win2Start
tradesWin2 := 0
justOpened = strategy.position_size != 0 and strategy.position_size == 0
if justOpened
if inSess1
tradesWin1 += 1
if inSess2
tradesWin2 += 1
canTakeMore =
(inSess1 and tradesWin1 < 1) or
(inSess2 and tradesWin2 < 1) or
(not useSessions)
// === Filtro NO-GAP SOLO para CORTOS (en PUNTOS) ===
// Compara OPEN actual vs CLOSE previo; se evalúa en la barra donde se EJECUTA (apertura actual).
gapPts = math.abs(open - close )
shortGapOK = maxGapPtsShort <= 0 ? true : (gapPts <= maxGapPtsShort)
// === Anti-flip y gating ===
isFlat = strategy.position_size == 0
canSignal = (not confirmOnClose or barstate.isconfirmed)
canTrade = isAllowedSymbol() and inSession and canTakeMore and canSignal
// === ENTRADAS (se colocan al cierre; se llenan en la apertura siguiente) ===
// Largos: sin filtro de gap
if canTrade and isFlat and longSignalTF
strategy.entry("Long", strategy.long)
// Cortos: requieren shortGapOK
if canTrade and isFlat and shortSignalTF and shortGapOK
strategy.entry("Short", strategy.short)
// === TP/SL en puntos ===
if strategy.position_size > 0
e = strategy.position_avg_price
strategy.exit("TP/SL Long", from_entry="Long", limit=e + tpPts, stop=e - slPts)
if strategy.position_size < 0
e = strategy.position_avg_price
strategy.exit("TP/SL Short", from_entry="Short", limit=e - tpPts, stop=e + slPts)
// === Cierre fuera de sesión ===
if flatOutside and not inSession and strategy.position_size != 0
strategy.close_all("Fuera de sesión")
// === Visual ===
plot(smaFast, color=color.new(color.teal, 0), title="SMA 5 ("+TF+")")
plot(smaSlow, color=color.new(color.orange, 0), title="SMA 20 ("+TF+")")
plotshape(longSignalTF and canTrade and isFlat, title="Compra", style=shape.triangleup,
location=location.belowbar, color=color.new(color.teal,0), size=size.tiny, text="Long")
plotshape(shortSignalTF and canTrade and isFlat and shortGapOK, title="Venta", style=shape.triangledown,
location=location.abovebar, color=color.new(color.red,0), size=size.tiny, text="Short")
MCL RSI Conflux v2.5 — Multi-Timeframe Momentum & Z-Score Full Description
Overview
The MCL RSI Conflux v2.5 is a multi-timeframe momentum model that integrates daily, weekly, and monthly RSI values into a unified composite. It extends the classical RSI framework with adaptive overbought/oversold thresholds and statistical normalization (Z-score confluence).
This combination allows traders to visualize cross-timeframe alignment, identify synchronized momentum shifts, and detect exhaustion zones with higher statistical confidence.
Methodology
The script extracts RSI data from three major time horizons:
Daily RSI (short-term momentum)
Weekly RSI (intermediate trend)
Monthly RSI (macro bias)
Each RSI is optionally smoothed, weighted, and aggregated into a Composite RSI.
A Z-score transformation then measures how far each RSI deviates from its historical mean, revealing when momentum strength is statistically extreme or aligned across timeframes.
Key Features
Multi-Timeframe RSI Engine – Computes RSI across D/W/M intervals with individual weighting controls.
Adaptive Overbought/Oversold Bands – Automatically adjusts OB/OS thresholds based on rolling volatility (standard deviation of daily RSI).
Composite RSI Score – Weighted consensus RSI that represents total market momentum.
Z-Score Confluence Analysis – Identifies when all three timeframes are statistically synchronized.
Z-Composite Histogram – Displays aggregated Z-score strength around the midline (50).
Divergence Detection – Flags confirmed pivot-based bull and bear divergences on the daily RSI.
Dynamic Gradient Background – Shifts from red to green based on composite momentum regime.
Customizable Control Panel – Displays RSI values, Z-scores, state, and adaptive bands for each timeframe.
Integrated Alerts – For crossovers, risk-on/off thresholds, alignment, and Z-confluence events.
Interpretation
All RSI values above 50: multi-timeframe bullish alignment.
All RSI values below 50: multi-timeframe bearish alignment.
Composite RSI > 60: risk-on environment; momentum expansion.
Composite RSI < 45: risk-off environment; momentum contraction.
Adaptive OB/OS hits: potential exhaustion or mean reversion setup.
Green Z-ribbon: all Z-scores positive and aligned (statistical confirmation).
Red Z-ribbon: all Z-scores negative and aligned (broad market weakness).
Divergences: short-term warning signals against the prevailing momentum bias.
Practical Application
Use the Composite RSI as a global momentum gauge for position bias.
Trade only in the direction of higher-timeframe alignment (avoid countertrend RSI).
Combine Z-ribbon confirmation with Composite RSI crosses to filter noise.
Use divergence labels and adaptive thresholds for risk reduction or exit timing.
Ideal for swing traders and macro momentum models seeking trend synchronization filters.
Recommended Settings
Market Mode k-Band Lookback Use Case
Stocks / ETFs Adaptive 0.85 200 Medium-term rotation filter
Crypto Adaptive 1.00 150 Volatility-responsive swing filter
Commodities Fixed 70/30 100 Mean reversion model
Alerts Included
Daily RSI crossed above/below Weekly RSI
Composite RSI > Risk-On threshold
Composite RSI < Risk-Off threshold
All RSI aligned above/below 50
Z-Score Conformity (All positive or all negative)
Overbought/Oversold triggers
Author’s Note
This indicator was designed for research and systematic confluence analysis within Mongoose Capital Labs.
It is not financial advice and should be used in combination with independent risk assessment, volume confirmation, and higher-timeframe context.
BlackScrum Swing Boxes 1/2/3 After seeing influencers selling their indicator suite's online, I decided to start making replicas of them, maybe mine are better, maybe they are worse. I use them in my day to day trading and they help me make money, hopefully they help you make money.
Not financial advice, Do Your Own Research.
Everything provided without warranty or liability. If you stuff up, learn from it, get better, we all make mistakes.
// BlackScrum — 1/2/3-Bar Swing Boxes (auto timeframe)
//
// DESCRIPTION
// This indicator displays three swing-direction boxes (1B, 2B, 3B) in the top-right corner of the chart.
// The boxes automatically adapt to the chart's timeframe (15m, 1H, 4H, 1D, etc.).
// Each box represents the direction of the most recently confirmed swing pivot:
// • 1B → 1-bar swing (fastest, most sensitive)
// • 2B → 2-bar swing (medium confirmation)
// • 3B → 3-bar swing (slowest, strongest confirmation)
//
// COLORS
// • GREEN = last confirmed swing pivot was a higher low (up swing)
// • RED = last confirmed swing pivot was a lower high (down swing)
// • GREY = no clear swing yet (fresh/transition area)
//
// CONFLUENCE
// • ALL GREEN = bullish alignment across 1B, 2B, 3B → strong trend continuation signal
// • ALL RED = bearish alignment across all three → strong downtrend continuation signal
//
// HOW TO USE (TRADEPLAY)
//
// 1) ENTRIES
// • Aggressive entry → enter when ALL GREEN prints on your timeframe.
// • Safer pullback entry → wait for 1B to briefly turn red during a green 2B/3B,
// then flip back to green. Enter on the re-flip.
// • Multi-timeframe filter:
// Take longs only when higher TF (e.g., 1H/4H) boxes are at least neutral-to-green.
//
// 2) EXITS
// • Weakness exit → when 1B flips against your position while 2B is neutral/red.
// • Full exit → when ALL RED prints.
// • Time stop → if price hasn’t moved after several bars of your execution timeframe.
//
// 3) STOP-LOSS / RISK
// • Place stops beyond the latest opposite swing used by 2B or 3B.
// • Add 0.5–1× ATR buffer if your market has stop-hunt volatility.
// • Always size position based on the distance to the swing stop.
//
// 4) WHEN TO IGNORE SIGNALS
// • Chop zones → 1B flipping repeatedly while 2B/3B disagree.
// • News candles → wait for pivots to confirm on the *closed* bar.
//
// 5) USING WITH OTHER TOOLS
// • With a trend ribbon (e.g., Larsson-style):
// Only take ALL GREEN longs when the ribbon is UP, and ALL RED shorts when ribbon is DOWN.
// • With a Fear & Greed index:
// Prefer longs when F&G > 60,
// Avoid longs when F&G < 40 unless countertrend scalping.
//
// 6) TIMEFRAME GUIDANCE
// • Scalping: 5m / 15m, confirmed by 1H or 4H boxes.
// • Swinging: 1H / 4H with daily filter.
// • Positioning: 1D with weekly confirmation.
//
// 7) INTERPRETATION CHEATSHEET
// • 1B green, 2B grey, 3B red → short-term bounce inside higher timeframe downtrend.
// • 1B/2B green, 3B grey → early trend reversal forming.
// • All grey → fresh swing area; wait for direction.
//
// 8) CUSTOMIZATION
// • len1 / len2 / len3 control sensitivity (higher = slower & cleaner).
// • Can add a timeframe header box (e.g., “15m / 4H / 1D”).
// • Can add a multi-timeframe grid (e.g., 15m | 1H | 4H | 1D each with 1B/2B/3B).
//
// ====================================================================================================
Ornstein-Uhlenbeck Trend Channel [BOSWaves]Ornstein-Uhlenbeck Trend Channel - Adaptive Mean Reversion with Dynamic Equilibrium Geometry
Overview
The Ornstein-Uhlenbeck Trend Channel introduces an advanced equilibrium-mapping framework that blends statistical mean reversion with adaptive trend geometry. Traditional channels and regression bands react linearly to volatility, often failing to capture the natural rhythm of price equilibrium. This model evolves that concept through a dynamic reversion engine, where equilibrium adapts continuously to volatility, trend slope, and structural bias - forming a living channel that bends, expands, and contracts in real time.
The result is a smooth, equilibrium-driven representation of market balance - not just trend direction. Instead of static bands or abrupt slope shifts, traders see fluid, volatility-aware motion that mirrors the natural pull-and-release dynamic of market behavior. Each channel visualizes the probabilistic boundaries of fair value, showing where price tends to revert and where it accelerates away from its statistical mean.
Unlike conventional envelopes or Bollinger-type constructs, the Ornstein-Uhlenbeck framework is volatility-reactive and equilibrium-sensitive, providing traders with a contextual map of where price is likely to stabilize, extend, or exhaust.
Theoretical Foundation
The Ornstein-Uhlenbeck Trend Channel is inspired by stochastic mean-reversion processes - mathematical models used to describe systems that oscillate around a drifting equilibrium. While linear regression channels assume constant variance, financial markets operate under variable volatility and shifting equilibrium points. The OU process accounts for this by treating price as a mean-seeking motion governed by volatility and trend persistence.
At its core are three interacting components:
Equilibrium Mean (μ) : Represents the evolving balance point of price, adjusting to directional bias and volatility.
Reversion Rate (θ) : Defines how strongly price is pulled back toward equilibrium after deviation, capturing the self-correcting nature of market structure.
Volatility Coefficient (σ) : Controls how far and how quickly price can diverge from equilibrium before mean reversion pressure increases.
By embedding this stochastic model inside a volatility-adjusted framework, the system accurately scales across different markets and conditions - maintaining meaningful equilibrium geometry across crypto, forex, indices, or commodities. This design gives traders a mathematically grounded yet visually intuitive interpretation of dynamic balance in live market motion.
How It Works
The Ornstein-Uhlenbeck Trend Channel is constructed through a structured multi-stage process that merges stochastic logic with volatility mechanics:
Equilibrium Estimation Core : The indicator begins by identifying the evolving mean using adaptive smoothing influenced by trend direction and volatility. This becomes the live centerline - the statistical anchor around which price naturally oscillates.
Volatility Normalization Layer : ATR or rolling deviation is used to calculate volatility intensity. The output scales the channel width dynamically, ensuring that boundaries reflect current variance rather than static thresholds.
Directional Bias Engine : EMA slope and trend confirmation logic determine whether equilibrium should tilt upward or downward. This creates asymmetrical channel motion that bends with the prevailing trend rather than staying horizontal.
Channel Boundary Construction : Upper and lower bands are plotted at volatility-proportional distances from the mean. These envelopes form the “statistical pressure zones” that indicate where mean reversion or acceleration may occur.
Signal and Lifecycle Control : Channel breaches, mean crossovers, and slope flips mark statistically significant events - exhaustion, continuation, or rebalancing. Older equilibrium zones gradually fade, ensuring a clear, context-aware visual field.
Through these layers, the channel forms a continuously updating equilibrium corridor that adapts in real time - breathing with the market’s volatility and rhythm.
Interpretation
The Ornstein-Uhlenbeck Trend Channel reframes how traders interpret balance and momentum. Instead of viewing price as directional movement alone, it visualizes the constant tension between trending force and equilibrium pull.
Uptrend Phases : The equilibrium mean tilts upward, with price oscillating around or slightly above the midline. Upper band touches signal momentum extension; lower touches reflect healthy reversion.
Downtrend Phases : The mean slopes downward, with upper-band interactions marking resistance zones and lower bands acting as reversion boundaries.
Equilibrium Transitions : Flat mean sections indicate balance or distribution phases. Breaks from these neutral zones often precede directional expansion.
Overextension Events : When price closes beyond an outer boundary, it marks statistically significant disequilibrium - an early warning of exhaustion or volatility reset.
Visually, the OU channel translates volatility and equilibrium into structured geometry, giving traders a statistical lens on trend quality, reversion probability, and volatility stress points.
Strategy Integration
The Ornstein-Uhlenbeck Trend Channel integrates seamlessly into both mean-reversion and trend-continuation systems:
Trend Alignment : Use mean slope direction to confirm higher-timeframe bias before entering continuation setups.
Reversion Entries : Target rejections from outer bands when supported by volume or divergence, capturing snapbacks toward equilibrium.
Volatility Breakout Mapping : Monitor boundary expansions to identify transition from compression to expansion phases.
Liquidity Zone Confirmation : Combine with BOS or order-block indicators to validate structural zones against equilibrium positioning.
Momentum Filtering : Align with oscillators or volume profiles to isolate equilibrium-based pullbacks with statistical context.
Technical Implementation Details
Core Engine : Stochastic Ornstein-Uhlenbeck process for continuous mean recalibration.
Volatility Framework : ATR- and deviation-based scaling for dynamic channel expansion.
Directional Logic : EMA-slope driven bias for adaptive mean tilt.
Channel Composition : Independent upper and lower envelopes with smoothing and transparency control.
Signal Structure : Alerts for mean crossovers and boundary breaches.
Performance Profile : Lightweight, multi-timeframe compatible implementation optimized for real-time responsiveness.
Optimal Application Parameters
Timeframe Guidance:
1 - 5 min : Reactive equilibrium tracking for short-term scalping and microstructure analysis.
15 - 60 min : Medium-range setups for volatility-phase transitions and intraday structure.
4H - Daily : Macro equilibrium mapping for identifying exhaustion, distribution, or reaccumulation zones.
Suggested Configuration:
Mean Length : 20 - 50
Volatility Multiplier : 1.5× - 2.5×
Reversion Sensitivity : 0.4 - 0.8
Smoothing : 2 - 5
Parameter tuning should reflect asset liquidity, volatility, and desired reversion frequency.
Performance Characteristics
High Effectiveness:
Trending environments with cyclical pullbacks and volatility oscillation.
Markets exhibiting consistent equilibrium-return behavior (indices, majors, high-cap crypto).
Reduced Effectiveness:
Low-volatility consolidations with minimal variance.
Random walk markets lacking definable equilibrium anchors.
Integration Guidelines
Confluence Framework : Pair with BOSWaves structural tools or momentum oscillators for context validation.
Directional Control : Follow mean slope alignment for directional conviction before acting on channel extremes.
Risk Calibration : Use outer band violations for controlled contrarian entries or trailing stop management.
Multi-Timeframe Synergy : Derive macro equilibrium zones on higher timeframes and refine entries on lower levels.
Disclaimer
The Ornstein-Uhlenbeck Trend Channel is a professional-grade equilibrium and volatility framework. It is not predictive or profit-assured; performance depends on parameter calibration, volatility regime, and disciplined execution. BOSWaves recommends using it as part of a comprehensive analytical stack combining structure, liquidity, and momentum context.
TMB Invest - Smart Money Concept StrategyEnglish:
**Quick Overview**
The "TMB_SMC_Strategy_v1.1.3" combines a classic trend filter using two EMAs with contrarian RSI entries and simple SMC elements (Fair Value Gaps & Order Blocks). Stop-loss and take-profit orders are volatility-adaptive and controlled via the ATR. An integrated dashboard displays the setup status, stop-loss/take-profit levels, entry reference, and trend, RSI, and ATR values.
---
## Operating Principle
1. **Trend Filter:** A fast EMA (default 50) is compared to a slow EMA (default 200). Trading occurs only in the direction of the trend: long in uptrends, short in downtrends.
2. **Timing via RSI:** Contrarian entries within the trend. Go long when the RSI is below a buy level (default 40); Short when the RSI is above a sell level (standard 60).
3. **Structure Check (SMC Proxy):** An "FVG Touch" serves as additional confirmation that an inefficient price zone has been tested. Order blocks are visualized for guidance but are not a direct entry trigger.
4. **Risk Management via ATR:** Stop-loss and take-profit levels are set as multipliers of the current ATR (e.g., SL = 1×ATR, TP = 2×ATR). This allows target and risk distances to adjust to market volatility.
5. **Simple Position Logic:** Only one position is held at a time (no pyramiding). After entry, stop and limit orders (bracket exit) are automatically placed.
---
## Input Values
* **EMA Fast / EMA Slow:** Lengths of the moving averages for the trend filter.
* **RSI Length / Levels:** Length of the RSI as well as buy and sell thresholds (contra signals within the trend direction).
* **Take Profit (RR) / Stop Loss (RR):** ATR multipliers for TP and SL.
* **Show FVGs & Order Blocks:** Toggles the visual SMC elements (zones/boxes) on or off.
--
## Signals & Execution
* **Long Setup:** Uptrend (fast EMA above slow EMA) **and** RSI below the buy level **and** a current FVG signal in a bullish direction.
* **Short Setup:** Downtrend (fast EMA below slow EMA) **and** RSI above the sell level **and** a current FVG touch in a bearish direction.
* **Entry & Exit:** If the setup is met, the market is entered; stop-loss/take-profit orders are placed immediately according to ATR multiples.
--
## Visualization
* **EMAs:** The fast and slow EMAs are plotted to illustrate the trend.
* **FVGs:** Fair Value Gaps are drawn as semi-transparent boxes in the trend color and projected slightly into the future.
* **Order Blocks:** Potential order block zones from the previous candle are visually highlighted (for informational purposes only).
---
## Integrated Dashboard
A compact table dashboard (bottom left) displays:
* Current **Setup Status** (Long/Short active, Long/Short ready, No Setup),
* **Stop-Loss**, **Take-Profit**, and **Entry Reference**,
* **Trend Status** (Bull/Bear/Sideways),
* **RSI Value**, and **ATR Value**.
Active long/short positions are highlighted in color (green/red).
--
## Practical Guide
1. **Place on Chart** and select the desired timeframe.
2. **Calibrate Parameters** (EMA lengths, RSI levels, ATR multipliers) to match the market and timeframe.
3. **Backtest** across different market phases; prioritize robustness over maximum curve fit.
4. **Fine-Tuning:**
* Shorter EMAs are often useful intraday (e.g., 20/100 or 34/144).
* Adjust RSI levels to market characteristics (45/55 for aggressive trading, 30/70 for conservative trading).
* Increase or decrease ATR multipliers depending on volatility/trading style.
--
## Notes, Limitations & Extensions
* **FVG Definition:** The FVG detection used here is intentionally simplified. Those who prefer a more rigorous approach can switch to a 3-candle definition and fill levels.
* **Order Blocks:** These primarily serve as a guide. Integration into entry/exit logic (e.g., retests) is possible as an extension.
* **Backtest Realism:** Fills may differ from the displayed closing price. For greater accuracy, intrabar backtests or an entry indicator based on the average position price are conceivable.
* **Alerts:** Currently, no alert conditions are defined; these can be added for long/short setups and status messages.
* **Position Management:** By default, no scaling is performed. Partial sales, trailing stops, or multiple entries can be added.
---
## Purpose & Benefits
The strategy offers a clear, modular framework: trend filter (direction), RSI contra timing (entry), SMC proxy via FVG Touch (structure), and ATR-based exits (risk adaptation). This makes it robust, easy to understand, and highly extensible—both for discretionary traders who appreciate visual SMC elements and for systematic testers who prefer a clean, parameterizable foundation.
SPX 0dte Options TableSPX 0DTE Options Table Indicator 📊
Version: Pine Script v6
Description: A real-time table overlay for 0DTE SPX options, showing strikes, prices, and volumes for calls/puts. Perfect for intraday traders spotting high-volume opportunities!
Perfect for fast look up for options premium ( Real time data required $2/month)
Key Features
Dynamic Table: Displays current SPX price, call/put strikes (e.g., 5700C/5600P), last prices, and volumes in a clean overlay.
Custom Strikes: 1-15 per side (default: 8), with increments of 5+ (default: 10). Strikes rounded to multiples of 10.
Strike Offset: Fixed (default: 0) or dynamic based on remaining trading hours (US session: 9:30 AM-4:00 PM ET, e.g., 6+ hours = ±40).
SPX Handling: Fixed value (default: 6850) or dynamic from open (default: 60-min timeframe).
Data Fetch: OPRA tickers on last bar; customizable timeframe (default: 1-min).
Volume Alerts: Trigger on > threshold (default: 600) if price ≥$1. JSON alerts with ET timestamp.
Customization: Table position, colors, text size (tiny/small/normal/large).
Optimizations: Array-based; weekend-aware; real-time focus.
Limitations: Needs OPRA data access; no historicals; use fixed SPX to avoid open-update errors.
Enhanced MA Crossover Pro📝 Strategy Summary: Enhanced MA Crossover Pro
This strategy is an advanced, highly configurable moving average (MA) crossover system designed for algorithmic trading. It uses the crossover of two customizable MAs (a "Fast" MA 1 and a "Slow" MA 2) as its core entry signal, but aggressively integrates multiple technical filters, time controls, and dynamic position management to create a robust and comprehensive trading system.
💡 Core Logic
Entry Signal: A bullish crossover (MA1 > MA2) generates a Long signal, and a bearish crossover (MA1 < MA2) generates a Short signal. Users can opt to use MA crossovers from a Higher Timeframe (HTF) for the entry signal.
Confirmation/Filters: The basic MA cross signal is filtered by several optional indicators (see Filters section below) to ensure trades align with a broader trend or momentum context.
Position Management: Trades are managed with a sophisticated system of Stop Loss, Take Profit, Trailing Stops, and Breakeven stops that can be fixed, ATR-based, or dynamically adjusted.
Risk Management: Daily limits are enforced for maximum profit/loss and maximum trades per day.
⚙️ Key Features and Customization
1. Moving Averages
Primary MAs (MA1 & MA2): Highly configurable lengths (default 8 & 20) and types: EMA, WMA, SMA, or SMMA/RMA.
Higher Timeframe (HTF) MAs: Optional MAs calculated on a user-defined resolution (e.g., "60" for 1-hour) for use as an entry signal or as a trend confirmation filter.
2. Multi-Filter System
The entry signal can be filtered by the following optional conditions:
SMA Filter: Price must be above a 200-period SMA for long trades, and below it for short trades.
VWAP Filter: Price must be above VWAP for long trades, and below it for short trades.
RSI Filter: Long trades are blocked if RSI is overbought (default 70); short trades are blocked if RSI is oversold (default 30).
MACD Filter: Requires the MACD Line to be above the Signal Line for long trades (and vice versa for short trades).
HTF Confirmation: Requires the HTF MA1 to be above HTF MA2 for long entries (and vice versa).
3. Dynamic Stop and Target Management (S/L & T/P)
The strategy provides extensive control over exits:
Stop Loss Methods:
Fixed: Fixed tick amount.
ATR: Based on a multiple of the Average True Range (ATR).
Capped ATR: ATR stop limited by a maximum fixed tick amount.
Exit on Close Cross MA: Position is closed if the price crosses back over the chosen MA (MA1 or MA2).
Breakeven Stop: A stop can be moved to the entry price once a trigger distance (fixed ticks or Adaptive Breakeven based on ATR%) is reached.
Trailing Stop: Can be fixed or ATR-based, with an optional feature to auto-tighten the trailing multiplier after the breakeven condition is met.
Profit Target: Can be a fixed tick amount or a dynamic target based on an ATR multiplier.
4. Time and Session Control
Trading Session: Trades are only taken between defined Start/End Hours and Minutes (e.g., 9:30 to 16:00).
Forced Close: All open positions are closed near the end of the session (e.g., 15:45).
Trading Days: Allows specific days of the week to be enabled or disabled for trading.
5. Risk and Position Limits
Daily Profit/Loss Limits: The strategy tracks daily realized and unrealized PnL in ticks and will close all positions and block new entries if the user-defined maximum profit or maximum loss is hit.
Max Trades Per Day: Limits the number of executed trades in a single day.
🎨 Outputs and Alerts
Plots: Plots the MA1, MA2, SMA, VWAP, and HTF MAs (if enabled) on the chart.
Shapes: Plots visual markers (BUY/SELL labels) on the bar where the MA crossover occurs.
Trailing Stop: Plots the dynamic trailing stop level when a position is open.
Alerts: Generates JSON-formatted alerts for entry ({"action":"buy", "price":...}) and exit ({"action":"exit", "position":"long", "price":...}).
GTI BGTI: RSI Suite (Standard • Stochastic • Smoothed)
A three-layer momentum and trend toolkit that combines Standard RSI, Stochastic RSI, and a Smoothed/“Macro” RSI to help you read intraday swings, trend transitions, and high-probability reversal/continuation spots.
All in one pane with intuitive coloring and optional divergence markers and alerts.
Why this works
* Stochastic RSI (K/D) visualizes fast momentum swings and timing.
* Standard RSI moves more gradually, helping confirm trend transitions that may span several Stochastic cycles.
* Smoothed RSI (Average → Macro) adds a second-pass filter and slope persistence to reveal the macro direction while suppressing noise.
Used together, Stochastic guides entries/exits around local highs/lows, while the RSI layers improve confidence when a small swing is likely part of a larger turn.
What you’ll see
* Standard RSI (yellow; pink above Bull line, aqua below Bear line).
* Stochastic RSI (K/D) with contextual colors:
* Greens when RSI is weak/oversold (bearish conditions → watch for bullish reversals/continuations).
* Reds when RSI is strong/overbought (bullish conditions → watch for bearish reversals/continuations).
* Smoothed (Macro) RSI with trend color:
* Red when macro is ascending (bullish),
* Aqua when macro is descending (bearish).
* Divergences (optional markers):
* Bearish: RSI Lower High + Price Higher High (red ⬇).
* Bullish: RSI Higher Low + Price Lower Low (green ⬆).
* No repaint: pivots confirm after the chosen right-bars window.
How to use it
* Bullish Reversal
* Macro RSI is reversing at a higher low after price has been in a overall downtrend
* Stochastic RSI is switching from green to red in an overall downtrend
* Bullish Oversold
* Macro RSI is reversing from a significantly low level after price has a short but strong dip during an overall uptrend
* Stochastic RSI is switching from green to red in an overall uptrend
* Bullish Continuation
* Macro RSI is ascending with a strong slope or forming a higher low above the 50 line
* Stochastic RSI is reaching a bottom but still painted red
* Bearish Reversal
* Macro RSI is reversing at a lower high after price has been in a overall uptrend
* Stochastic RSI is switching from red to green in an overall uptrend
* Bearish Overbought
* Macro RSI is reversing from a significantly high level after price has a short but strong jump during an overall downtrend
* Stochastic RSI is switching from red to green in an overall downtrend
* Bearish Continuation
* Macro RSI is descending with a strong slope or forming a lower high below the 50 line
* Stochastic RSI is reaching a top but still painted green
* Divergences: Use as signals of exhaustion—best when aligned with Macro RSI color/slope and key levels (e.g., Bull/Bear lines, 50 midline).
*** IMPORTANT ***
* Stack confluence, don’t single-signal trade. Look for:
* 1) Macro RSI color & slope (red = ascending/bullish, aqua = descending/bearish)
* 2) Standard RSI location (above/below Bull/Bear lines or 50)
* 3) Stoch flip + direction
* 4) Price structure (HH/HL vs LH/LL)
* 5) Divergence type (regular vs hidden) at meaningful levels
* Trade with the macro
* Prioritize longs when Macro RSI is red or just flipped up
* Prioritize shorts when Macro RSI is aqua or just flipped down
* Counter-trend setups = smaller size and faster management.
* Location > signal
* The same crossover/divergence is higher quality near Bull (~60)/Bear(~40) or extremes than in the mid-range chop around 50.
* Early vs confirmed
* Use the early pivot heads-up for anticipation, but scale in only after the confirmed pivot (right-bars complete). If early signal fails to confirm, stand down.
* Define invalidation upfront
* For divergence entries, place stops beyond the pivot extreme (LL/HH). If Macro RSI flips against your trade or RSI breaks back through 50 with slope, exit or tighten.
* Multi-timeframe alignment
* Best results come when entry timeframe (e.g., 1H) aligns with higher-TF macro (e.g., 4H/D). If they disagree, treat it as mean-reversion only.
* Avoid common traps
* Skip: isolated Stochastic flips without RSI support, divergences without price HH/LL confirmation, and serial divergences when Macro RSI slope is strong against the idea.
* Parameter guidance
* Start with defaults; then tune: confirmBars 3–7, minSlope 0.05–0.15 RSI pts/bar, pivot left/right tighter for faster but noisier signals, wider for cleaner but fewer.
* Alerts = workflow, not auto-trades
* Use Macro Flip + Divergence alerts as a checklist trigger; enter only when your confluence rules are met and risk is defined.
Key inputs (tweak to your market/timeframe)
* RSI / Stochastic lengths and K/D smoothing.
* Bull / Bear Lines (default 61.1 / 43.6).
* Average RSI Method/Length (SMA/EMA/RMA/WMA) + Macro Smooth Length.
* Trend confirmation: bars of persistence and minimum slope to reduce flip noise.
* Pivot look-back (left/right) for divergence confirmation strictness.
Alerts included
* Macro Flip Up / Down (Smoothed RSI regime change).
* RSI Bullish/Bearish Divergence (confirmed at pivot).
* Stochastic RSI continuation/divergence (optional).
Tips
* Level + Slope matter. High/low RSI level flags conditions; slope confirms impulse/continuation.
* Let Stochastic time the swing; let Macro RSI filter the trend.
* Tighten or loosen pivot windows to trade fewer/cleaner vs. more/faster signals.
Sinal de Shorts e Longs (OI + OBV + RSI)This indicator combines Open Interest (OI), On-Balance Volume (OBV), and RSI to identify potential short and long pressures in the market.
When OI increases, OBV decreases, and RSI > 40, it signals short entries and possible bearish pressure.
When OI increases, OBV also increases, and RSI < 60, it signals long entries and potential bullish reversals.
Visual signals (S and L) are displayed directly on the chart for quick interpretation.
Useful for tracking futures market sentiment and spotting shifts in trader positioning.






















