Breitenindikatoren
LETHINH RSITitle:
RSI + EMA9 + WMA45 Strength Flow Indicator
Description:
This indicator enhances the traditional RSI by combining it with two dynamic moving averages (EMA9 and WMA45) applied directly to the RSI line. The goal is to help traders visually identify momentum strength, trend confirmation, and potential reversal points with greater accuracy.
How It Works:
• RSI (14): Measures market momentum and identifies overbought/oversold conditions.
• EMA9 on RSI: A fast-response signal line that tracks short-term shifts in buyer/seller strength.
• WMA45 on RSI: A slower, smoother indication of long-term momentum flow and trend bias.
Key Signals:
1. EMA9 crosses above WMA45: Momentum turning bullish → potential buy signal.
2. EMA9 crosses below WMA45: Momentum turning bearish → potential sell signal.
3. RSI above 50 + EMA9 above WMA45: Strong bullish environment.
4. RSI below 50 + EMA9 below WMA45: Strong bearish environment.
5. RSI approaching 70/30: Warning zones for exhaustion or potential reversals.
Use Cases:
• Spot momentum reversals earlier than RSI alone.
• Confirm entries when price structure and momentum agree.
• Filter out false breakouts during low-volatility or choppy conditions.
• Strength-based scalping, swing trading, or trend following.
Best Timeframes:
Works on all timeframes, especially effective on M1–M15 for scalping and H1–H4 for swing trading.
Altseason IndexDescription of the "Altseason Index" Indicator
The Altseason Index is a powerful and visually minimalist tool designed to objectively identify the onset and conclusion of an "altseason" in the cryptocurrency market. Moving beyond subjective speculation, this indicator employs a clear, mathematical methodology by comparing the performance of a broad basket of altcoins against Bitcoin.
🎯 Core Concept and Utility
An "Altseason" is a market period where altcoins (cryptocurrencies other than Bitcoin) consistently yield higher returns than BTC. This indicator empowers traders and investors to:
Objectively Identify Market Cycles: Precisely pinpoint when capital is actively rotating from Bitcoin into altcoins and vice versa.
Make Data-Driven Decisions: Adjust their strategy in a timely manner: increasing exposure to altcoins during an altseason or rotating back into BTC upon its conclusion.
Avoid Emotional Pitfalls: Steer clear of FOMO (Fear Of Missing Out) and base decisions on hard data rather than market noise.
⚙️ How the Calculation Works
1. Asset Selection: The indicator tracks the performance of 15 leading altcoins across various market segments (Layer 1s, DeFi, Meme, Payments), ensuring a representative sample.
2. Performance Comparison: For each altcoin, the percentage price change over the user-defined lookback period (default: 90 days) is calculated. This performance is then compared to BTC's performance over the same period.
3. Counting the "Outperformers": The index counts the number of altcoins that have "outperformed" BTC.
4. Calculating the Index: The Altseason Index value is the percentage of altcoins in the basket that are outperforming BTC. For example, a value of 60% means that 9 out of the 15 coins performed better than Bitcoin.
🛠️ Indicator Settings
The settings are kept simple and intuitive, allowing you to customize the indicator to your strategy:
Lookback Period (days) (Default: 90):
- Defines the time horizon for the performance calculation.
- Shorter Periods (30-60 days) react faster to new trends but may produce more false signals.
- Longer Periods (90-180 days) provide smoother and more reliable signals, capturing sustained macro-trends.
Altseason Threshold (%) (Default: 75%):
- This is the key parameter that defines what index value constitutes an official "altseason."
- A threshold of 75% means an altseason is declared when at least 11 out of the 15 altcoins (75%) are outperforming BTC.
- You can increase the threshold (e.g., to 85%) for more conservative and stronger signals, or decrease it (e.g., to 65%) for earlier entries.
📊 Interpreting the Readings and Signals
The indicator uses a clear color-coding system and levels for easy interpretation:
🔴 < 30%: "BTC SEASON"
Bitcoin is dominating. The market is in risk-off mode or a state of anticipation. Growth is concentrated in BTC.
⚪ 30% - 49%: "NEUTRAL"
A transitional phase. The market is uncertain. Some alts show strength, but there is no unified trend.
🔵 50% - 74%: "BULLISH"
Growing strength in altcoins. Capital is beginning to rotate actively. This can be an early stage of an altseason.
🟢 ≥ 75% (or your custom threshold): "ALTSEASON"
The active altseason phase. The vast majority of altcoins are rising faster than BTC. This is the period of maximum potential returns for alts.
Signal Markers:
Green Dot: Signals the potential start of an altseason (the index crosses above the threshold).
Red Dot: Signals the potential end of an altseason (the index crosses below the threshold).
ℹ️ Information Panel
The chart displays two clean information panels:
1. Main Info Label:
Current index value (e.g., ⟠ 80%).
Market status (ALTSEASON, BULLISH, etc.).
The ratio of outperforming altcoins (11/15 alts).
2. Dominance & Market Cap Panel:
Alts: Altcoin Dominance (the market cap share of all coins except BTC).
BTC: Bitcoin Dominance.
Market: Total cryptocurrency market capitalization in billions of USD. This helps assess the overall market context (bullish/bearish).
💎 Conclusion
The Altseason Index is your strategic companion for navigating the crypto markets. It transforms the complex task of identifying market cycles into a simple and visual process. Use it to confirm broad market trends, identify potential entry and exit points, and, most importantly, to maintain discipline in your trading strategy by filtering out noise and emotion.
Disclaimer: This indicator is a tool for analysis and does not constitute investment advice. All trading decisions are taken at your own risk.
Thirdeyechart Global Gold PercentageThe global gold percentage – Percentage Change Indicator is a TradingView tool developed to help traders monitor multiple currency pairs and precious metals in one glance. This indicator was coded personally, using custom formulas to calculate the percentage change for each symbol over selected timeframes, making it unique and fully tailored to individual analysis needs.
Users can input any symbols they wish to track as a comma-separated list, making it highly flexible. The script automatically calculates percentage changes for Daily (D), 1-Hour (H1), and 4-Hour (H4) timeframes. Positive changes are highlighted in blue and negative changes in red, allowing for an instant visual representation of market movements. The table updates in real-time, giving traders immediate feedback without needing to switch between charts.
Designed with simplicity and functionality in mind, this indicator is ideal for intraday traders, swing traders, or anyone who wants to keep an eye on multiple markets efficiently. It works for currency pairs, metals like gold (XAUUSD, XAUJPY), or any TradingView-available symbol. The table is positioned at the top-right corner of the chart and automatically adapts to the number of symbols entered.
This script is purely informational and educational, providing a clear view of price movements but not offering buy or sell signals. Traders should perform their own analysis and risk management before making any trading decisions.
Disclaimer / Copyright:
© 2025 Thirdeyechart. All rights reserved. This indicator is for educational and informational purposes only. The author is not responsible for any trading losses or financial decisions made based on this script. Redistribution, copying, or commercial use of this code without permission is strictly prohibited.
RRE HARSI4951✅ Buy Signal
RSI crosses above 49
Heikin Ashi green (ha_close > ha_open)
✅ Sell Signal
RSI crosses below 51
Heikin Ashi red (ha_close < ha_open)
Everything else in your code remains unchanged.
Delta Zones Smart Money Concept (SMC) UT Trend Reversal Mul.Sig.🚀 What's New in This Version (V5 Update)
This version is a major overhaul focused on improving trade entry timing and risk management through enhanced UT Bot functionality:
Integrated UT Trailing Stop (ATR-based): The primary trend filter and moving stop-loss mechanism is now fully integrated.
Pre-Warning Line: A revolutionary feature that alerts traders when the price penetrates a specific percentage distance (customizable) from the UT Trailing Stop before the main reversal signal fires.
"Ready" Signal: Plots a "Ready" warning label on the chart and triggers an alert condition (UT Ready Long/Short) for pre-emptive trade preparation.
V5 Compatibility: All code has been optimized for Pine Script version 5, utilizing the modern array and type structures for efficient Order Block and Breaker Block detection.
💡 How to Use This Indicator
This indicator works best when confirming signals across different components:
1. Identify the Trend Bias (UT Trailing Stop)
Uptrend: UT Trailing Stop line is Green (Focus only on Buy/Long opportunities).
Downtrend: UT Trailing Stop line is Red (Focus only on Sell/Short opportunities).
2. Prepare for Entry (Warning Line)
Action: When you see the "Ready" label or the price hits the Pre-Warning Line (Dotted Orange Line), this is your alert to prepare for a trend flip, or to tighten the stop on your current trade.
3. Confirm the Entry (Multi-Signals)
Look for a primary entry signal that aligns with the desired trend:
High-Conviction Entry: Wait for the UT Buy/Sell label (confirmed trend flip) AND a Combined Buy/Sell arrow (confirmed by your selected Oscillator settings).
High-Liquidity Entry: Look for a Delta Zone Box forming near an active Order Block or Breaker Block (SMC zones), and then confirm with a UT or Combined Signal.
4. Manage Risk (Trailing Stop)
Always set your initial Stop Loss (SL) either just outside the opposite Order Block or at the UT Trailing Stop level itself.
If the price closes back across the UT Trailing Stop, exit your position immediately, as the trend bias has officially shifted.
Features & Components
1. Delta Zones (Liquidity/Wick Pressure)
Identifies periods of extreme buying or selling pressure based on wick-to-body ratios and standard deviation analysis.
Plots colored pressure boxes (Buy/Sell) to highlight potential exhaustion points or institutional activity.
2. Smart Money Concepts (SMC)
Automatically detects and plots Order Blocks (OBs) and Breaker Blocks (BBs) based on confirmed Market Structure Breaks (MSBs).
Includes Chop Control logic to remove less reliable Breaker Blocks.
3. UT Bot Trailing Stop & Warning Line
UT Trailing Stop (ATR-based): Plots a dynamic trend line (Green/Red) that acts as a moving stop-loss and primary trend filter.
Ready/Warning Signals: Alerts traders (via the "Ready" label and orange lines) when the price enters a "Pre-Reversal Zone" near the Trailing Stop.
4. Multi-Indicator Confirmation (Filters)
Includes customizable signals based on the crossover/crossunder of RSI, CCI, and Stochastic indicators against configurable Overbought/Oversold levels.
Allows selection of combination signals (e.g., RSI & CCI, All Combined, etc.) for high-conviction entries.
STARKPROFITS SCALPER 2.0señales compra y venta..tendencia y estructura del mercado.se basa en tendencia
SuperEMA RSI Strategy [wjdtks255]Indicator Description and Trading Guide for “SuperEMA RSI Strategy ”
Indicator Name: SuperEMA RSI Strategy
Description
The SuperEMA RSI Strategy combines fast and slow Exponential Moving Averages (EMA) to identify key trend changes, enhanced with the Relative Strength Index (RSI) to filter momentum strength. It plots clear buy and sell signals based on EMA crossovers while highlighting trend zones with colored backgrounds for quick visual reference. This multi-timeframe compatible indicator is suitable for stocks, cryptocurrencies, and other markets.
How to Use the SuperEMA RSI Strategy
Buy Signal:
Enter a long position when the short-term EMA crosses above the long-term EMA, indicated by a green circle below the price bar. Confirm the trend with a green background and consider RSI values showing sufficient momentum (typically RSI above 50).
Sell Signal:
Enter a short position when the short-term EMA crosses below the long-term EMA, indicated by a red circle above the price bar. Confirm the bearish trend with a red background and verify momentum weakening (typically RSI below 50).
Trend Confirmation:
Use the background color-shaded zones to identify prevailing trend strength and avoid counter-trend trades.
RSI Application:
Optionally enable RSI display to avoid overbought/oversold entries by watching for levels above 70 (overbought) or below 30 (oversold).
Additional Tips
Adjust EMA and RSI parameters to suit different timeframes or asset volatility.
Combine this indicator with volume analysis and other technical tools for enhanced signal reliability.
Implement well-defined stop-loss and take-profit levels to manage risk effectively.
Fib+BOS/CHOCH+OB# ⭐ 1) **What This Indicator Does**
The indicator combines 4 major concepts:
### **1️⃣ Market Structure (Swing High/Low)**
* Detects major swing highs and lows using pivot logic
* Determines whether the market is **Bullish** or **Bearish**
### **2️⃣ BOS / CHOCH (Break of Structure / Change of Character)**
* **BOS:** continuation of trend
* **CHOCH:** early signal of trend reversal
* Only the **last 5** levels are displayed → keeps chart clean
### **3️⃣ Order Blocks (OB)**
* Detects last opposite candle before BOS/CHOCH
* Displays only **the latest 3 OB zones**
* Ideal for identifying high-probability pullbacks
S&P 500 Sector Breadth — Fixed v6This indicator measures market breadth by tracking how many of the 11 S&P 500 sector ETFs are trading above their 200-day moving average. Here's how to use it:
What It Shows
The indicator plots a line that ranges from 0 to 11, representing the number of sectors in uptrends:
9-11 sectors above MA = Very strong market (green background)
8+ sectors = Strong bullish breadth - most sectors participating
6 sectors = Neutral - market is mixed
4 sectors = Weak market conditions
0-3 sectors = Very weak market (red background)
How to Interpret
Strong Market (8+ sectors):
Broad participation across sectors
Healthy bull market conditions
Lower risk environment
Good time for long positions
Weak Market (≤3 sectors):
Poor market internals
Most sectors in downtrends
Higher risk environment
Consider defensive positioning or cash
Divergences Matter:
If the S&P 500 makes new highs but breadth is declining (fewer sectors above MA), that's a bearish divergence warning
If the S&P 500 is weak but breadth is improving, that can signal a potential bottom
Settings You Can Adjust
Moving Average Length (default 200): Change to 50 or 100 for different trend definitions
Smooth Breadth Line (default 5): Smooths the indicator to reduce noise; set to 0 for raw data
Show Breadth Label: Toggle the current breadth reading on the chart
Alerts
The indicator includes built-in alerts:
When breadth crosses above 8 (strong participation)
When breadth crosses below 4 (deteriorating conditions)
This is a great confirmation tool to use alongside price action and other indicators!
MA200 Parallel ChannelDynamic MA100 Parallel Bands – Precision S/R Levels
This indicator builds a clean, parallel channel around the 100-period moving average using a fixed ±4 offset.
Because the offset mirrors the short-term MA1 fluctuations, the channel reveals highly accurate support and resistance zones that react instantly to market micro-structure.
Unlike Bollinger Bands—which expand with volatility—this tool stays perfectly parallel and trend-aligned, making breakouts and pullbacks incredibly easy to spot.
How it works:
Centerline: 100-period moving average (MA100)
Upper Band: MA100 + 4
Lower Band: MA100 – 4
MA1 used as a sensitivity reference for micro-trend behavior
Parallel structure ensures stable, predictable levels
Why it’s powerful:
The ±4 channel creates extremely precise S/R zones
Price respecting the lower band = dynamic support
Price rejecting the upper band = dynamic resistance
A clean break above or below the bands highlights strong momentum shifts
Perfect for intraday traders needing structure without noise
Perfect for:
Identifying high-probability bounce levels
Spotting early trend continuation
Confirming MA100 breakouts
Filtering weak signals and fake volatility spikes
If you want razor-sharp support & resistance levels that stay consistent across all timeframes, these MA100 parallel bands deliver exceptional clarity.
EMA9/EMA20 + VolMA20 Alert//@version=5
indicator("EMA9/EMA20 + VolMA20 Alert", overlay=true)
ema9 = ta.ema(close, 9)
ema20 = ta.ema(close, 20)
volMa20 = ta.sma(volume, 20)
crossUp = ta.crossover(ema9, ema20)
volOK = volume > volMa20
signal = crossUp and volOK
plot(ema9, color=color.yellow, linewidth=2)
plot(ema20, color=color.blue, linewidth=2)
plotshape(signal, title="Signal", style=shape.triangleup, color=color.lime, size=size.small, location=location.belowbar)
alertcondition(signal, title="Pump Signal", message="EMA9 crossed EMA20 with strong volume (Vol>MA20)")
HTF BIAS FILTER🧭HTF Bias Filter Indicator: 5 in 1 indicator
Technical Overview
The Bias Filter is a comprehensive multi-timeframe tool designed to confirm directional bias using five key indicators before entering a trade. It plots higher-timeframe Moving Averages directly on the chart and provides an immediate status summary via a static dashboard.
The more confluence on the dashboard, the greater the probability of the direction of the trade.
1. 📊 Display Components
A. Plotted Lines
The indicator uses the request.security function to draw Moving Averages from higher timeframes onto your current chart:
1H EMA 21 (Purple): The 21-period Exponential Moving Average calculated on the 1-Hour (60 min) chart. Plotted using a step-line style.
4H EMA 50 (Red): The 50-period Exponential Moving Average calculated on the 4-Hour (240 min) chart. Plotted using a step-line style.
B. Directional Dashboard
A fixed-position summary table is anchored to the bottom-right corner of the chart, providing a quick glance at the current status of all five filters.
2. 🎨 Colour Logic
Each of the five indicators is assigned a colour based on its current directional signal. The more indicators that show the same colour (confluence), the stronger the signal and the higher the likelihood of a high-probability trade.
🟢 Green indicators are signaling UP/BUY (Bullish momentum or trend).
🔴 Red indicators are signaling DOWN/SELL (Bearish momentum or trend).
⚫ Gray indicators are signaling Mixed or flat directions (neutral or undecided).
Note: The dashboard's main header color is determined by a strict confluence logic (All four 4H filters must align for Green/Red), while individual indicator colors follow the simple rules above.
3. 📋 Indicator Breakdown and Logic
The dashboard provides the direction of five different filters.
3.1. Higher-Timeframe (HTF) Trend Indicators
These two signals determine the immediate slope and direction of the primary Moving Averages:
4H EMA 50:
Timeframe: 4-Hour (240 min)
Logic: Compares the current EMA value to the value two bars ago on the 4H chart.
Output: UP ↑, DOWN ↓, or FLAT ⏸
1H EMA 21:
Timeframe: 1-Hour (60 min)
Logic: Compares the current EMA value to the value two bars ago on the 1H chart.
Output: UP ↑, DOWN ↓, or FLAT ⏸
3.2. 4-Hour Confluence Filters
These three indicators provide supplementary confirmation on Volume, Price Position, and Momentum, all calculated on the 4-Hour (240 min) chart:
4H OBV (Smoothed):
Timeframe: 4-Hour (240 min)
Logic: Direction is based on the current value of the 21-bar smoothed On-Balance Volume (OBV) compared to its value nine bars ago.
Output: UP ↑, DOWN ↓, or FLAT ⏸
4H ATR DIR (EMA Proxy):
Timeframe: 4-Hour (240 min)
Logic: Determines the price position by comparing the current Close price against the 4H EMA 50.
Output: BUY 🟢 (Close > EMA 50), SELL 🔴 (Close < EMA 50), or FLAT ⏸️ (Close = EMA 50).
4H RSI (14):
Timeframe: 4-Hour (240 min)
Logic: Momentum check comparing the 14-period Relative Strength Index (RSI) value against the 50 level.
Output: BUY 🟢 (RSI > 50), SELL 🔴 (RSI < 50), or FLAT ⏸️ (RSI = 50).
3-DMA Panic Reversal [Diodato/SMI]This indicator is a market breadth tool designed to identify panic selling climaxes and potential bullish reversals. It combines Diodato's 3-DMA % Decliners with the Stochastic Momentum Index (SMI) to filter for high-probability setups.
How It Works The indicator tracks the 3-Day Moving Average of Declining Issues. When this metric spikes above 65%, it signals extreme market panic.
Signals
🟢 Green Dot (Bullish Reversal): Appears when a panic phase ends. It triggers when the 3-DMA Decliners crosses back under the 65% panic threshold, but only if the market was Oversold (SMI < 0) at some point during the panic. This "latch" logic ensures you catch the reversal even if momentum shifts slightly before the panic fully subsides.
🔴 Red Dot (Bearish/Overbought): Appears if the 3-DMA Decliners is high (> 65%) while the market is simultaneously Overbought (SMI > 40). This is a rare but powerful signal of extreme volatility or a "crash up" exhaustion.
Settings
Panic Threshold: Default 65% (Adjustable).
SMI Settings: 10, 3, 3 (Fast/Standard).
Credits Original concept by Diodato. Enhanced with SMI context for precision.
Average Volume//@version=5
indicator("Average Daily Volume", overlay=false)
// --- Inputs
lookback = input.int(20, "Lookback Period (Days)", minval=1)
// --- Convert chart timeframe to daily volume
// If you’re on intraday, TradingView aggregates intraday bars belonging to a single day
is_new_day = ta.change(time("D")) != 0
daily_volume = ta.valuewhen(is_new_day, volume, 0)
// --- Average daily volume
avg_daily_volume = ta.sma(daily_volume, lookback)
// --- Plot
plot(avg_daily_volume, title="Avg Daily Volume", color=color.new(color.blue, 0))
COT Net Positions OTCCOT Net Positions Indicator Description
This is a TradingView Pine Script indicator that displays Commitment of Traders (COT) data for any trading instrument.
What it does:
Fetches COT Data - Uses the TradingView COT library to retrieve official CFTC (Commodity Futures Trading Commission) data for the current symbol
Calculates Net Positions for three trader categories:
Commercial (Blue) - Large hedging institutions; represents institutional long/short positioning
Non-Commercial (Yellow) - Large speculators and hedge funds; often considered "smart money"
Retail (Red) - Small individual traders; often considered contrarian indicators
Net Position Calculation - For each category:
Takes Long Positions minus Short Positions
Plots the result on a separate panel below the price chart
Special Symbol Handling - Includes custom mappings for specific commodities:
Copper (HG) → CFTC code 085692
Brazilian Real (LBR) → CFTC code 058644
Use Cases:
Market Bias Detection - See if institutions are mostly long or short
Contrarian Trading - When retail traders are extremely positioned one way, often the market reverses
Trend Confirmation - Non-commercial positioning often aligns with established trends
Support/Resistance - Extreme COT positions can signal market turning points
BTC Risk Metric DCA Adapter (3Commas Webhook Strategy)Risk Metric DCA Adapter (3Commas Webhook Strategy) - WORK IN PROGRESS
This Pine Script strategy, originally inspired by the Risk Metric Indicator, is fundamentally engineered as an Adapter to interface with external trading bots like 3Commas via Webhooks. It calculates a dynamic market risk score and translates that score into specific dollar-cost averaging (DCA) entry levels and tiered profit-taking exits.
Key Features & Logic
Risk Metric Calculation (Credit to The Trading Parrot):
The strategy incorporates a complex, multi-timeframe Risk Metric calculation based on daily and weekly moving averages (SMA) and standard deviation (StDev). This metric aims to quantify the current market overextension or compression relative to long-term historical data. The resulting score dictates the level of conviction for a new trade.
Tiered DCA Entry Sizing:
The strategy defines three distinct Buy Levels (L1, L2, L3) corresponding to increasingly favorable (lower) Risk Metric scores.
L1 (Base): Risk is moderate, initiating the minimum defined trade amount.
L2 (Scaled): Risk is low, initiating L1 amount + L2 amount.
L3 (Aggressive): Risk is very low, initiating L1 + L2 + L3 amounts.
Tiered Profit-Taking Exits:
The strategy implements a staggered, partial profit-taking approach based on the Risk Metric rising:
Sell L1 & L2: Closes a percentage of the current position when the Risk Metric reaches defined high thresholds, locking in partial profits.
Sell L3 (Full Exit): Closes the remaining position when the Risk Metric reaches the highest defined threshold.
The Adapter Function (Webhook Integration)
This script is unique because it uses the Pine Script strategy() function to trigger Order Fills, which are necessary to access powerful placeholders in the TradingView alert system.
Trigger Type: The alert must be set to trigger on Any order fill.
Dynamic Webhook Data: Instead of using fixed alert() commands, the strategy generates dynamic labels (e.g., BUY_ENTRY_L3_USD_1000 or SELL_L1_PCT_25) using the strategy.entry and strategy.close commands.
Data Transfer: The alert message then uses the placeholder {{strategy.order.comment}} to pass these dynamic labels to the 3Commas bot, allowing the bot to execute the precise action (e.g., start_deal_with_volume_in_quote_currency or close_deal_at_market_percentage).
Full Strategy Webhook payload
{
"secret": "YOUR_3COMMAS_SECRET_KEY",
"max_lag": "300",
"timestamp": "{{timenow}}",
"trigger_price": "{{close}}",
"tv_exchange": "{{exchange}}",
"tv_instrument": "{{ticker}}",
"action": "{{strategy.order.action}}",
"bot_uuid": "YOUR_BOT_UUID",
"strategy_info": {
"market_position": "{{strategy.market_position}}",
"market_position_size": "{{strategy.market_position_size}}",
"prev_market_position": "{{strategy.prev_market_position}}",
"prev_market_position_size": "{{strategy.prev_market_position_size}}"
},
"order": {
"amount": "{{strategy.order.contracts}}",
"currency_type": "base",
"comment": "{{strategy.order.comment}}"
}
}
Disclaimer: This script is an adapter tool and does not guarantee profit. Trading requires manual configuration of risk settings, bot parameters, and adherence to platform-specific setup instructions.
SMC BOS/CHoCH + Auto Fib (5m/any TF) durane//@version=6
indicator('SMC BOS/CHoCH + Auto Fib (5m/any TF)', overlay = true, max_lines_count = 200, max_labels_count = 200)
// --------- Inputs ----------
left = input.int(3, 'Pivot Left', minval = 1)
right = input.int(3, 'Pivot Right', minval = 1)
minSwingSize = input.float(0.0, 'Min swing size (price units, 0 = disabled)', step = 0.1)
fib_levels = input.string('0.0,0.236,0.382,0.5,0.618,0.786,1.0', 'Fibonacci levels (comma separated)')
show_labels = input.bool(true, 'Show BOS/CHoCH labels')
lookbackHighLow = input.int(200, 'Lookback for structure (bars)')
// Parse fib levels
strs = str.split(fib_levels, ',')
var array fibs = array.new_float()
if barstate.isfirst
for s in strs
array.push(fibs, str.tonumber(str.trim(s)))
// --------- Find pivot highs / lows ----------
pHigh = ta.pivothigh(high, left, right)
pLow = ta.pivotlow(low, left, right)
// store last confirmed swings
var float lastSwingHighPrice = na
var int lastSwingHighBar = na
var float lastSwingLowPrice = na
var int lastSwingLowBar = na
if not na(pHigh)
// check min size
if minSwingSize == 0 or pHigh - nz(lastSwingLowPrice, pHigh) >= minSwingSize
lastSwingHighPrice := pHigh
lastSwingHighBar := bar_index - right
lastSwingHighBar
if not na(pLow)
if minSwingSize == 0 or nz(lastSwingHighPrice, pLow) - pLow >= minSwingSize
lastSwingLowPrice := pLow
lastSwingLowBar := bar_index - right
lastSwingLowBar
// --------- Detect BOS & CHoCH (simple robust logic) ----------
var int lastBOSdir = 0 // 1 = bullish BOS (price broke above), -1 = bearish BOS
var int lastBOSbar = na
var float lastBOSprice = na
// Look for price closes beyond last structural swings within lookback
// Bullish BOS: close > recent swing high
condBullBOS = not na(lastSwingHighPrice) and close > lastSwingHighPrice and bar_index - lastSwingHighBar <= lookbackHighLow
// Bearish BOS: close < recent swing low
condBearBOS = not na(lastSwingLowPrice) and close < lastSwingLowPrice and bar_index - lastSwingLowBar <= lookbackHighLow
bosTriggered = false
chochTriggered = false
if condBullBOS
bosTriggered := true
if lastBOSdir != 1
// if previous BOS direction was -1, this is CHoCH (change of character)
chochTriggered := lastBOSdir == -1
chochTriggered
lastBOSdir := 1
lastBOSbar := bar_index
lastBOSprice := close
lastBOSprice
if condBearBOS
bosTriggered := true
if lastBOSdir != -1
chochTriggered := lastBOSdir == 1
chochTriggered
lastBOSdir := -1
lastBOSbar := bar_index
lastBOSprice := close
lastBOSprice
// --------- Plot labels for BOS / CHoCH ----------
if bosTriggered and show_labels
if chochTriggered
label.new(bar_index, high, text = lastBOSdir == 1 ? 'CHoCH ↑' : 'CHoCH ↓', style = label.style_label_up, color = color.new(color.orange, 0), textcolor = color.white, yloc = yloc.abovebar)
else
label.new(bar_index, high, text = lastBOSdir == 1 ? 'BOS ↑' : 'BOS ↓', style = label.style_label_left, color = lastBOSdir == 1 ? color.green : color.red, textcolor = color.white, yloc = yloc.abovebar)
// --------- Auto Fibonacci drawing ----------
var array fib_lines = array.new_line()
var array fib_labels = array.new_label()
var int lastFibId = na
// Function to clear previous fibs
f_clear() =>
if array.size(fib_lines) > 0
for i = 0 to array.size(fib_lines) - 1
line.delete(array.get(fib_lines, i))
if array.size(fib_labels) > 0
for i = 0 to array.size(fib_labels) - 1
label.delete(array.get(fib_labels, i))
array.clear(fib_lines)
array.clear(fib_labels)
// Decide anchors for fib: if lastBOSdir==1 (bullish) anchor from lastSwingLow -> lastSwingHigh
// if lastBOSdir==-1 (bearish) anchor from lastSwingHigh -> lastSwingLow
if lastBOSdir == 1 and not na(lastSwingLowPrice) and not na(lastSwingHighPrice)
// bullish fib: low -> high
startPrice = lastSwingLowPrice
endPrice = lastSwingHighPrice
// draw
f_clear()
for i = 0 to array.size(fibs) - 1 by 1
lvl = array.get(fibs, i)
priceLevel = startPrice + (endPrice - startPrice) * lvl
ln = line.new(x1 = lastSwingLowBar, y1 = priceLevel, x2 = bar_index, y2 = priceLevel, xloc = xloc.bar_index, extend = extend.right, color = color.new(color.green, 60), width = 1, style = line.style_solid)
array.push(fib_lines, ln)
lab = label.new(bar_index, priceLevel, text = str.tostring(lvl * 100, '#.0') + '%', style = label.style_label_right, color = color.new(color.green, 80), textcolor = color.white, yloc = yloc.price)
array.push(fib_labels, lab)
if lastBOSdir == -1 and not na(lastSwingHighPrice) and not na(lastSwingLowPrice)
// bearish fib: high -> low
startPrice = lastSwingHighPrice
endPrice = lastSwingLowPrice
f_clear()
for i = 0 to array.size(fibs) - 1 by 1
lvl = array.get(fibs, i)
priceLevel = startPrice + (endPrice - startPrice) * lvl
ln = line.new(x1 = lastSwingHighBar, y1 = priceLevel, x2 = bar_index, y2 = priceLevel, xloc = xloc.bar_index, extend = extend.right, color = color.new(color.red, 60), width = 1, style = line.style_solid)
array.push(fib_lines, ln)
lab = label.new(bar_index, priceLevel, text = str.tostring(lvl * 100, '#.0') + '%', style = label.style_label_right, color = color.new(color.red, 80), textcolor = color.white, yloc = yloc.price)
array.push(fib_labels, lab)
// --------- Optional: plot lastSwing points ----------
plotshape(not na(lastSwingHighPrice) ? lastSwingHighPrice : na, title = 'LastSwingHigh', location = location.absolute, style = shape.triangledown, size = size.tiny, color = color.red, offset = 0)
plotshape(not na(lastSwingLowPrice) ? lastSwingLowPrice : na, title = 'LastSwingLow', location = location.absolute, style = shape.triangleup, size = size.tiny, color = color.green, offset = 0)
// --------- Alerts ----------
alertcondition(bosTriggered and lastBOSdir == 1, title = 'Bullish BOS', message = 'Bullish BOS detected on {{ticker}} @ {{close}}')
alertcondition(bosTriggered and lastBOSdir == -1, title = 'Bearish BOS', message = 'Bearish BOS detected on {{ticker}} @ {{close}}')
alertcondition(chochTriggered, title = 'CHoCH Detected', message = 'CHoCH detected on {{ticker}} @ {{close}}')
// End
Chỉ báo Engulfing (Lọc EMA & K%)chỉ báo engulfing nhằm tìm kiếm tín hiệu đảo chiều với hệ số phủ thân nến là K%






















