Thần Tiên / Hạ Phàm (MTF)🔔 Thần Tiên / Hạ Phàm (MTF) Indicator – modified & optimized for real trading practice.
✅ For educational and reference purposes only – not financial advice.
📩 To get the optimized settings & detailed trading strategy, contact me on Telegram: @NDucnhan79
Bands and Channels
CTS-StochasticThis Pine Script code defines a custom technical indicator for the TradingView platform called "CTS-Stochastic Complete". It calculates and displays a standard stochastic oscillator and generates trading signals based on unconventional crossover logic.
Here is a breakdown of its functionality:
Core Functionality
The script calculates the Stochastic Oscillator, a momentum indicator that compares a particular closing price of an asset to a range of its prices over a certain period of time. It consists of two lines:
%K Line: The main stochastic line, calculated and then smoothed.
%D Line: A moving average of the %K line, acting as a signal line.
These two lines oscillate between 0 and 100.
Key Sections of the Code:
Indicator Declaration:
indicator("CTS-Stochastic Complete", ... overlay=false): This line declares the script as an indicator that will be displayed in a separate panel below the main price chart.
User Inputs:
You can customize the indicator's parameters from the settings menu:
Stochastic Length: The lookback period for the stochastic calculation (default is 14).
%K Smoothing: The period for smoothing the raw stochastic to create the %K line (default is 3).
%D Smoothing: The period for the moving average of the %K line to create the %D line (default is 3).
Upper Band: The threshold for the overbought level (default is 65).
Lower Band: The threshold for the oversold level (default is 35).
Plotting:
It plots the %K line in blue and the %D line in orange.
It draws two horizontal lines: a red "Upper Band" for the overbought level and a green "Lower Band" for the oversold level.
Signal Logic and Visualization:
Buy Signal: A green triangle pointing up appears at the top of the indicator window when the blue %K line crosses above the red overBought line.
Sell Signal: A red triangle pointing down appears at the bottom of the indicator window when the blue %K line crosses below the green underSold line.
Note: The signal logic is unconventional. Typically, a buy signal is generated when the stochastic crosses up from the oversold area, and a sell signal occurs when it crosses down from the overbought area. This script's logic is reversed from the traditional interpretation.
Alerts:
The script includes alertcondition functions that allow you to create server-side alerts in TradingView. You can set up notifications for when a "Buy Signal" or "Sell Signal" occurs based on the logic described above.
Whale Reversal Hunter//@version=5
indicator(title="Whale Reversal Hunter", shorttitle="Whale Hunter", overlay=true)
// --- INPUTS ---
// SMA settings
fast_sma_len = input.int(20, title="Fast SMA Length")
slow_sma_len = input.int(50, title="Slow SMA Length")
// RSI settings for divergence
rsi_len = input.int(14, title="RSI Length")
// Demand/Supply Zone settings
demand_zone_volume_multiplier = input.float(1.5, title="Demand/Supply Zone Volume Multiplier", step=0.1)
// --- CALCULATIONS ---
// Calculate SMAs
fast_sma = ta.sma(close, fast_sma_len)
slow_sma = ta.sma(close, slow_sma_len)
// Calculate RSI
rsi_val = ta.rsi(close, rsi_len)
// --- HIDDEN DIVERGENCE LOGIC ---
// Bullish hidden divergence: price makes a higher low, but RSI makes a lower low.
bullish_div = ta.lowest(low, 2) > ta.lowest(low, 2) and rsi_val > rsi_val
// Bearish hidden divergence: price makes a lower high, but RSI makes a higher high.
bearish_div = ta.highest(high, 2) < ta.highest(high, 2) and rsi_val < rsi_val
// --- DEMAND/SUPPLY ZONE DETECTION ---
// Identify strong demand candles (large body, high volume)
is_demand_candle = (close > open) and (close - open) > (high - low) * 0.5 and (volume > ta.ema(volume, 50) * demand_zone_volume_multiplier)
// Identify strong supply candles (large body, high volume)
is_supply_candle = (open > close) and (open - close) > (high - low) * 0.5 and (volume > ta.ema(volume, 50) * demand_zone_volume_multiplier)
// Store the most recent demand/supply zone prices and lines
var float last_demand_zone_price = na
var line last_demand_line = na
var float last_supply_zone_price = na
var line last_supply_line = na
// Update demand zone
if is_demand_candle
last_demand_zone_price := low
if not na(last_demand_line)
line.delete(last_demand_line)
last_demand_line := line.new(bar_index, low, bar_index, low, color=color.new(color.green, 0), style=line.style_solid, width=2, extend=extend.right)
// Update supply zone
if is_supply_candle
last_supply_zone_price := high
if not na(last_supply_line)
line.delete(last_supply_line)
last_supply_line := line.new(bar_index, high, bar_index, high, color=color.new(color.red, 0), style=line.style_solid, width=2, extend=extend.right)
// --- SIGNAL LOGIC ---
// Check if current price is near a demand or supply zone
is_in_demand_zone = not na(last_demand_zone_price) and (math.abs(close - last_demand_zone_price) / last_demand_zone_price) < 0.005
is_in_supply_zone = not na(last_supply_zone_price) and (math.abs(close - last_supply_zone_price) / last_supply_zone_price) < 0.005
// Bullish signal:
// 1. Bullish hidden divergence is true.
// 2. Price is near a demand zone.
// 3. Fast SMA is crossing above the Slow SMA.
bullish_signal = bullish_div and is_in_demand_zone and ta.crossover(fast_sma, slow_sma)
// Bearish signal:
// 1. Bearish hidden divergence is true.
// 2. Price is near a supply zone.
// 3. Fast SMA is crossing below the Slow SMA.
bearish_signal = bearish_div and is_in_supply_zone and ta.crossunder(fast_sma, slow_sma)
// --- PLOTS & VISUALS ---
// Plot SMAs on the chart
plot(fast_sma, title="Fast SMA", color=color.new(color.blue, 0), linewidth=2)
plot(slow_sma, title="Slow SMA", color=color.new(color.orange, 0), linewidth=2)
// Plot buy/sell signals on the chart
plotshape(bullish_signal, title="Buy Signal", location=location.belowbar, style=shape.triangleup, size=size.small, color=color.new(color.green, 0))
plotshape(bearish_signal, title="Sell Signal", location=location.abovebar, style=shape.triangledown, size=size.small, color=color.new(color.red, 0))
// Alert conditions
alertcondition(bullish_signal, title="Buy Signal", message="Whale Reversal Hunter: Potential BUY signal detected.")
alertcondition(bearish_signal, title="Sell Signal", message="Whale Reversal Hunter: Potential SELL signal detected.")
// --- FOOTNOTE ---
// This indicator is a conceptual tool for educational purposes only and not financial advice.
// Past performance is not indicative of future results.
Premarket Hi/Lo + Prior Day O/C LevelsPremarket Hi/Lo + Prior Day O/C (today only) shows four clear reference levels for the current regular trading session: the Premarket High and Premarket Low (taken from a user-defined premarket window, 04:00–09:30 by default) and Yesterday’s 09:30 Open and 15:59 Close (sourced from the 1-minute feed for accuracy). The premarket levels “lock” at the opening bell so they don’t move for the rest of the day. All four lines are displayed only during today’s regular hours to keep the chart focused. Small right-edge labels and an optional top-right mini-table show the exact values at a glance.
This indicator is designed to give immediate context without technical jargon. The premarket high/low summarize where price traveled before the bell; the prior-day open/close summarize where the last session began and ended. Checking whether price is above or below these markers helps you quickly judge strength or weakness and anticipate where price may pause, bounce, or break. Typical uses include watching for a clean break and hold above Premarket High (often bullish), a break and hold below Premarket Low (often bearish), drift back toward Prior Day Close after a gap (a common “magnet”), and flips around Prior Day Open that can lead to continuation.
Setup: Turn on Extended Hours in TradingView so premarket bars are visible (Chart Settings → Symbol → Extended Hours). Apply the indicator to any intraday timeframe. In Inputs, you can change the premarket window to match your market, adjust colors and line widths, and toggle the floating labels and the mini-table. Times use the chart’s exchange time (for US stocks, Eastern Time).
Notes and limits: Lines show only for today’s session (default 09:30–16:00). The script looks at the previous calendar day for “prior day,” so values may be empty after weekends or holidays when markets were closed. If your instrument uses different regular hours or you trade futures/crypto, adjust the premarket session in Inputs and—if needed—edit the regular-hours window in code to match. If your data source does not include premarket, the premarket lines will be blank.
Best practice: The first 15–30 minutes after the open are where these levels have the most impact. Reactions are more meaningful when a line aligns with another tool you use (e.g., VWAP or your opening range). If price does not react clearly at a line, avoid forcing a trade.
3 Velas alejadas de EMA4 (1m) — Reversiónes una script de ema de 4 que sube o baja asdasdasdadadasdasdadasd
APO Channel // SuperTrend Optimized📌 Complete Long Description (Final Version)
APO Channel – Adaptive Breakout Detection
🔹 How it works
The originality of this script lies in the combination of two complementary approaches:
An adaptive channel, whose responsiveness is based on fractal dimension and volatility.
A breakout & candle confirmation system, providing clear visual trade signals.
Unlike standard channels (e.g., Bollinger Bands), which use a fixed deviation or multiplier, the APO Channel dynamically adjusts its baseline (Filt) and bands (Filt1, Filt2) in real time. This ensures that signals are not only adaptive to market conditions but also reinforced when both indicators align simultaneously, filtering out false moves and highlighting stronger trade opportunities.
🔹 Why this combination matters
By merging an adaptive volatility channel with a breakout confirmation system, the script provides traders with a more reliable view of momentum shifts.
The channel identifies when markets are consolidating versus expanding.
The breakout signals confirm actual momentum surges.
When both conditions trigger together, the likelihood of a meaningful move increases, making signals clearer and more robust than using either tool alone.
🔹 Visual signals
The script offers optional candle coloring and breakout labels:
Bullish signals are shown when price breaks above the adaptive upper band.
Bearish signals appear when price breaks below the adaptive lower band.
For clearer visualization, traders can activate the blue, green, and gray candles by clicking on the channel bands.
👉 This makes simultaneous signals and the prevailing trend much more visible, helping traders quickly spot alignment between the adaptive channel and breakout confirmation.
🔹 Optimized Default Settings
Channel Length: 26
Bands Distance: 1
ATR Period: 1
Source: (High + Low)/2
ATR Multiplier: 2
These parameters have been optimized for balanced responsiveness across assets.
👉 Signals are particularly relevant for scalping entries on the 3-minute timeframe, where quick detection of breakouts provides a trading edge.
The indicator works seamlessly on futures, crypto, forex, stocks, and most other instruments, making it a versatile tool for traders across markets.
🔹 How to use
Use breakouts above the channel as a potential entry signal for bullish momentum trades.
Use breakouts below the channel as a potential entry signal for bearish momentum trades.
When both the breakout signal and candle confirmation occur simultaneously, consider it a stronger trading signal.
Activate candle coloring on the channel bands to make signals and trend more visible.
Combine with other tools (volume, higher timeframe bias) for additional confirmation.
✅ Why this script adds value
Most breakout tools rely on static measures (fixed standard deviation, moving average envelopes, etc.). The APO Channel introduces an adaptive filter based on fractal dimension analysis, while also reinforcing signals through dual confirmation (channel breakouts + candle regime).
This makes it a versatile tool for traders seeking adaptive, visually clear, and reliable breakout detection across multiple markets and timeframes.
TradeIQ 3.31 • Smart Market Direction [JA]TradeIQ is designed to guide traders with predictive arrows that highlight potential market peaks and reversal zones. It also provides entry point guidance along with suggested TP/SL zones, giving you a practical framework for trade planning.
✅ Key Features:
• Predictive arrows for possible turning points
• Visual guide for entry opportunities
• Suggested TP/SL zones for trade management
• Scalping signals to capture quick, short-term opportunities
• Works across Forex, Gold, Crypto, and Indices
• Fully customizable to match your trading style
Built from years of trading experience, TradeIQ gives traders a clear visual roadmap to support decision-making — not rigid signals.
👉 Perfect for traders who want guidance, structure, and clarity in the markets.
TradeIQ 3.31 • Smart Market Direction [KO]TradeIQ is designed to guide traders with predictive arrows that highlight potential market peaks and reversal zones. It also provides entry point guidance along with suggested TP/SL zones, giving you a practical framework for trade planning.
✅ Key Features:
• Predictive arrows for possible turning points
• Visual guide for entry opportunities
• Suggested TP/SL zones for trade management
• Scalping signals to capture quick, short-term opportunities
• Works across Forex, Gold, Crypto, and Indices
• Fully customizable to match your trading style
Built from years of trading experience, TradeIQ gives traders a clear visual roadmap to support decision-making — not rigid signals.
👉 Perfect for traders who want guidance, structure, and clarity in the markets.
TradeIQ 3.31 • Smart Market Direction [EN]
TradeIQ is designed to guide traders with predictive arrows that highlight potential market peaks and reversal zones. It also provides entry point guidance along with suggested TP/SL zones, giving you a practical framework for trade planning.
✅ Key Features:
• Predictive arrows for possible turning points
• Visual guide for entry opportunities
• Suggested TP/SL zones for trade management
• Scalping signals to capture quick, short-term opportunities
• Works across Forex, Gold, Crypto, and Indices
• Fully customizable to match your trading style
Built from years of trading experience, TradeIQ gives traders a clear visual roadmap to support decision-making — not rigid signals.
👉 Perfect for traders who want guidance, structure, and clarity in the markets.
Manipulation Ribbon [FxScripts]Manipulation Ribbon
Designed to detect areas of price manipulation by Market Makers vs areas where it is trading in a natural, price-driven state. By identifying zones of control and imbalance, the ribbon provides a clear visualization of where price is being held or artificially displaced, offering key insights into potential future direction.
Indicator Function
Unlike traditional oscillators, the Manipulation Ribbon plots a continuous line or ribbon, with no defined y-axis. The ribbon dynamically adapts to market conditions, allowing the user to spot potential manipulation and price containment vs natural price movement.
Calculation Methodology
The Manipulation Ribbon is derived exclusively from price action. The underlying algorithm evaluates where price is, where it should be and where it’s being held.
The resulting ribbon reflects these dynamics in real time, providing a visual framework for interpreting price behavior at a granular level.
Operational Use: Divergences
The primary use of the Manipulation Ribbon is to locate divergences between price and the ribbon.
There are two distinct types of divergence to look for:
Price Containment: Where the ribbon moves but price doesn’t. This can help identify zones where price is being held, often preceding sharp movements once control is released.
Price Manipulation: Where price moves but the ribbon doesn’t. This can help identify liquidity sweeps, often preceding swift reversals once the liquidity has been taken.
Analytical Scenarios
High Liquidity Sweep: Price forms a higher high while the ribbon forms a lower high. Indicates a liquidity sweep may be occurring at the highs and a potential bearish reversal may be imminent.
Low Liquidity Sweep: Price forms a lower low while the ribbon forms a higher low. Indicates a liquidity sweep may be occurring at the lows and a potential bullish reversal may be imminent.
Top Edge Hold: Upwards movement of the ribbon without price followthrough. Indicates price may be being held at the highs, suggesting Market Makers are artificially holding price down in order to create a top edge and potential bearish reversal.
Bottom Edge Hold: Downwards movement of the ribbon without price followthrough. Indicates price may be being held at the lows, suggesting Market Makers are artificially holding price up in order to create a bottom edge and potential bearish reversal.
Settings
Guides: Option to have dynamic guides applied to your chart. Customizable style, color and width.
Guide Lookback: Due to the ribbon having a non-standard y-axis scale, it’s not possible to plot standard interval guides. Due to technical limitations this value is not calculable automatically either. The upper and lower bounds of the guides are therefore calculated using a user-inputted lookback function. In order to ensure the guides use the correct y-axis on the chart, simply input the average number of bars in your current viewport using the ruler, the guides will automatically update to match this.
Line 1 / Band 1: Option to turn on/off Line 1 and Band 1 alongside updating color and linewidth. Line 1 and Band 1 use the current chart symbol as their source.
Line 2 / Band 2: Option to add a second line and/or band to the chart. Use this to compare any correlated instrument e.g. BTCUSDT and ETHUSDT (as visualized in the chart above) or other pairs such as XAUUSD/XAUEUR or ES/NQ. Due to differences in y-axis scaling it's advised to add this as an additional indicator on a new pane (as per chart above).
Inverse Line 2 / Band 2: Option to show/hide the inverse of Line 2 and Band 2. This is useful for comparing inversely correlated symbols e.g. EURUSD and USDCHF.
Performance and Optimization
Backtesting Results: The Manipulation Ribbon has undergone extensive backtesting across various instruments, timeframes and market conditions, demonstrating strong performance in identifying where price is out of sync with its natural state. User backtesting is strongly encouraged as it allows traders to gain familiarity with the ribbon using their preferred instruments and timeframes.
Optimization for Diverse Markets: The Manipulation Ribbon can be used on crypto, forex, indices, commodities and stocks. The Manipulation Ribbon's algorithmic foundation ensures consistent performance across a variety of instruments. The lack of complex settings makes it easy for the trader to set up and go.
Educational Resources and Support
Users of the Manipulation Ribbon benefit from comprehensive educational resources and full access to FxScripts Support. This ensures traders can maximize the potential of the Manipulation Ribbon and other tools in the Sigma Indicator Suite by learning best practices and gaining insights from an experienced team of traders.
TradeIQ 3.31 • Smart Market Direction [TH]TradeIQ is designed to guide traders with predictive arrows that highlight potential market peaks and reversal zones. It also provides entry point guidance along with suggested TP/SL zones, giving you a practical framework for trade planning.
✅ Key Features:
• Predictive arrows for possible turning points
• Visual guide for entry opportunities
• Suggested TP/SL zones for trade management
• Scalping signals to capture quick, short-term opportunities
• Works across Forex, Gold, Crypto, and Indices
• Fully customizable to match your trading style
Built from years of trading experience, TradeIQ gives traders a clear visual roadmap to support decision-making — not rigid signals.
👉 Perfect for traders who want guidance, structure, and clarity in the markets.
Trend Analyzer v0.6Trend Analyzer EMA Only v0.6
Simple yet powerful EMA trend analysis with multi-timeframe support!
Overview:
This comprehensive indicator focuses on EMA-based trend analysis with clean visual presentation. It provides clear BUY/SELL signals, trend tracking with unique IDs, peak detection, and multi-timeframe analysis across M15, M30, and H1 timeframes.
Key Features:
✅ EMA Trend Analysis - Fast and Slow EMA crossover signals
✅ Trend Tracking - Unique trend IDs with start/end markers
✅ Peak Detection - Automatic peak identification during trends
✅ Multi-Timeframe - Analysis across M15, M30, and H1 timeframes
✅ Visual Clarity - Dotted lines connecting labels to candles
✅ Statistics - BUY/SELL count and average trend length
How It Works:
The indicator calculates signal strength using weighted analysis:
• MACD (50%) - Primary trend momentum
• RSI (30%) - Overbought/oversold conditions
• Volume (20%) - Volume confirmation
Signal Logic:
• BUY - Fast EMA crosses above Slow EMA + both slopes positive
• SELL - Fast EMA crosses below Slow EMA + both slopes negative
• NEUTRAL - EMAs too close (below threshold)
Visual Elements:
• 🟢 BUY - Green label with trend ID
• 🔴 SELL - Red label with trend ID
• ⚪ NEUTRAL - Gray label with trend ID
• 🟡 PEAK - Yellow label marking trend extremes
• ⚫ END - Gray label marking trend end
Information Table:
Real-time display showing:
• Current Timeframe trend state
• Multi-Timeframe analysis (M15, M30, H1)
• PEAK Labels status
• Offset Type configuration
• Trend Strength percentage
• Statistics (BUY/SELL count, average trend length)
Settings:
• Fast EMA Length - 9 (default)
• Slow EMA Length - 21 (default)
• Min Trend Bars - 3 (filters short trends)
• Label Offset Type - ATR, % of price, or Dynamic
• Show PEAK Labels - On/Off toggle
Best Practices:
🎯 Works best in trending markets
📊 Use as overlay on main chart
⚡ Combine with price action analysis
🛡️ Always use proper risk management
Pro Tips:
• Green background = Strong uptrend, Red background = Strong downtrend
• Watch for trend change arrows for early reversal signals
• Use the information table for quick market assessment
• Monitor trend statistics for market behavior insights
Alerts:
• BUY Alert - "BUY signal detected"
• SELL Alert - "SELL signal detected"
Version 0.6 Improvements:
• Optimized performance
• Enhanced visual clarity
• Improved multi-timeframe analysis
• Refined trend detection algorithms
Created with ❤️ for the trading community
This indicator is free to use for both commercial and non-commercial purposes.
Trend Analyzer MACD EnhancedTrend Analyzer MACD Enhanced
Advanced trend analysis with MACD, RSI, Volume and Divergence detection!
Overview
This comprehensive indicator combines multiple technical analysis tools into one powerful visualization. It features dynamic background coloring, real-time signal strength calculation, and automatic divergence detection for complete market analysis.
Key Features
✅ Multi-Indicator Analysis- MACD, RSI, and Volume in one indicator
✅ Divergence Detection - Automatic bullish and bearish divergence identification
✅ Dynamic Background - Color-coded trend zones with smooth transitions
✅ Signal Strength - Weighted calculation showing overall market sentiment (0-100%)
✅ Trend Change Detection - Visual markers for trend reversals
✅ Information Table - Real-time status of all indicators
How It Works
The indicator calculates signal strength using weighted analysis:
- MACD (50%) - Primary trend momentum
- RSI (30%) - Overbought/oversold conditions
- Volume (20%) - Volume confirmation
Signal Strength Range: -100% to +100%
Visual Elements
Background Colors:
- 🟢 **Green** - Uptrend (intensity based on signal strength)
- 🔴 **Red** - Downtrend (intensity based on signal strength)
- ⚪ **Gray** - Neutral/sideways market
Trend Markers:
- 🔺 **Green Triangle Up** - Start of new uptrend
- 🔻 **Red Triangle Down** - Start of new downtrend
- 📏 **Vertical Lines** - Trend change confirmation
Information Table
Real-time display showing:
- Trend - Current trend state with color coding
- MACD - Direction and crossover status
- RSI - Level and overbought/oversold status
- Volume - Level and trend direction
- Divergence - Current divergence status
- Signal Strength - Overall percentage
Alerts
Built-in alerts for:
- Strong Buy/Sell Signals - High probability setups
- Divergence Signals - Early reversal warnings
Settings
MACD:Fast (12), Slow (26), Signal (9)
RSI:Length (14), Overbought (70), Oversold (30)
Volume:MA Length (20), Threshold (1.5x)
Display:Toggle RSI, Volume, and Table visibility
Best Practices
🎯 Works best in trending markets
📊 Use in separate window below main chart
⚡ Combine with price action analysis
🛡️ Always use proper risk management
Pro Tips
- Green background = Strong uptrend, Red background = Strong downtrend
- Signal strength > 50% = Very bullish, < -50% = Very bearish
- Watch for divergence signals for early reversal warnings
- Use the information table for quick market assessment
---
Created with ❤️ for the trading community
This indicator is free to use for both commercial and non-commercial purposes.
Ohm Horizontal line//@version=5
indicator("Ohm Horizontal line", overlay=true)
// Input parameters
atrPeriod = input.int(14, "ATR Period", minval=1)
atrMultiplier = input.float(1.0, "ATR Multiplier", step=0.1)
numLevels = input.int(10, "Number of Levels (each side)", minval=1)
lineWidth = input.int(1, "Line Width", minval=1, maxval=4)
labelOffset = input.int(20, "Label Offset", minval=0)
// Calculate daily ATR
dailyAtr = request.security(syminfo.tickerid, "D", ta.atr(atrPeriod))
// Function to get rounded price based on ATR
getRoundedPrice(price, atrValue) =>
math.round(price / (atrValue * atrMultiplier)) * (atrValue * atrMultiplier)
// Calculate center price (current close rounded to nearest ATR multiple)
centerPrice = getRoundedPrice(close, dailyAtr)
// Create arrays for price levels
var float levels = array.new_float(2 * numLevels + 1)
var float midLevels = array.new_float(2 * numLevels)
// Update price levels
updateLevels() =>
array.set(levels, numLevels, centerPrice)
for i = 1 to numLevels
upperLevel = centerPrice + i * dailyAtr * atrMultiplier
lowerLevel = centerPrice - i * dailyAtr * atrMultiplier
array.set(levels, numLevels + i, upperLevel)
array.set(levels, numLevels - i, lowerLevel)
// Calculate mid levels
if i > 1
upperMid = (array.get(levels, numLevels + i) + array.get(levels, numLevels + i - 1)) / 2
lowerMid = (array.get(levels, numLevels - i) + array.get(levels, numLevels - i + 1)) / 2
array.set(midLevels, numLevels + i - 2, upperMid)
array.set(midLevels, numLevels - i + 1, lowerMid)
// Update levels on every bar
updateLevels()
// Plot horizontal lines and price labels
var line horizontalLines = array.new_line(2 * numLevels + 1)
var line midLines = array.new_line(2 * numLevels)
var label priceLabels = array.new_label(2 * numLevels + 1)
// Function to draw or update a line
drawLine(lineArray, index, y, color, width, style) =>
if na(array.get(lineArray, index))
array.set(lineArray, index, line.new(bar_index, y, bar_index + 1, y, color=color, width=width, style=style, extend=extend.both))
else
line.set_xy1(array.get(lineArray, index), bar_index, y)
line.set_xy2(array.get(lineArray, index), bar_index + 1, y)
line.set_color(array.get(lineArray, index), color)
line.set_width(array.get(lineArray, index), width)
line.set_style(array.get(lineArray, index), style)
// Draw main levels
for i = 0 to 2 * numLevels
level = array.get(levels, i)
lineColor = i == numLevels ? color.yellow : (i > numLevels ? color.green : color.red)
drawLine(horizontalLines, i, level, lineColor, lineWidth, line.style_solid)
if na(array.get(priceLabels, i))
array.set(priceLabels, i, label.new(bar_index + labelOffset, level, str.tostring(level, format.mintick), color=color.new(color.black, 100), textcolor=lineColor, style=label.style_none, size=size.small))
else
label.set_xy(array.get(priceLabels, i), bar_index + labelOffset, level)
label.set_text(array.get(priceLabels, i), str.tostring(level, format.mintick))
label.set_textcolor(array.get(priceLabels, i), lineColor)
// Draw mid levels (without labels)
for i = 0 to 2 * numLevels - 1
midLevel = array.get(midLevels, i)
lineColor = i >= numLevels ? color.new(color.green, 50) : color.new(color.red, 50)
drawLine(midLines, i, midLevel, lineColor, 1, line.style_dashed)
// Display current ATR value
var label atrLabel = na
label.delete(atrLabel)
atrLabel := label.new(bar_index , high, text="ATR: " + str.tostring(dailyAtr, "#.##"), color=color.new(color.blue, 0), textcolor=color.white, size=size.small)
Ohm Horizontal line//@version=5
indicator("Ohm Horizontal line", overlay=true)
// Input parameters
atrPeriod = input.int(14, "ATR Period", minval=1)
atrMultiplier = input.float(1.0, "ATR Multiplier", step=0.1)
numLevels = input.int(10, "Number of Levels (each side)", minval=1)
lineWidth = input.int(1, "Line Width", minval=1, maxval=4)
labelOffset = input.int(20, "Label Offset", minval=0)
// Calculate daily ATR
dailyAtr = request.security(syminfo.tickerid, "D", ta.atr(atrPeriod))
// Function to get rounded price based on ATR
getRoundedPrice(price, atrValue) =>
math.round(price / (atrValue * atrMultiplier)) * (atrValue * atrMultiplier)
// Calculate center price (current close rounded to nearest ATR multiple)
centerPrice = getRoundedPrice(close, dailyAtr)
// Create arrays for price levels
var float levels = array.new_float(2 * numLevels + 1)
var float midLevels = array.new_float(2 * numLevels)
// Update price levels
updateLevels() =>
array.set(levels, numLevels, centerPrice)
for i = 1 to numLevels
upperLevel = centerPrice + i * dailyAtr * atrMultiplier
lowerLevel = centerPrice - i * dailyAtr * atrMultiplier
array.set(levels, numLevels + i, upperLevel)
array.set(levels, numLevels - i, lowerLevel)
// Calculate mid levels
if i > 1
upperMid = (array.get(levels, numLevels + i) + array.get(levels, numLevels + i - 1)) / 2
lowerMid = (array.get(levels, numLevels - i) + array.get(levels, numLevels - i + 1)) / 2
array.set(midLevels, numLevels + i - 2, upperMid)
array.set(midLevels, numLevels - i + 1, lowerMid)
// Update levels on every bar
updateLevels()
// Plot horizontal lines and price labels
var line horizontalLines = array.new_line(2 * numLevels + 1)
var line midLines = array.new_line(2 * numLevels)
var label priceLabels = array.new_label(2 * numLevels + 1)
// Function to draw or update a line
drawLine(lineArray, index, y, color, width, style) =>
if na(array.get(lineArray, index))
array.set(lineArray, index, line.new(bar_index, y, bar_index + 1, y, color=color, width=width, style=style, extend=extend.both))
else
line.set_xy1(array.get(lineArray, index), bar_index, y)
line.set_xy2(array.get(lineArray, index), bar_index + 1, y)
line.set_color(array.get(lineArray, index), color)
line.set_width(array.get(lineArray, index), width)
line.set_style(array.get(lineArray, index), style)
// Draw main levels
for i = 0 to 2 * numLevels
level = array.get(levels, i)
lineColor = i == numLevels ? color.yellow : (i > numLevels ? color.green : color.red)
drawLine(horizontalLines, i, level, lineColor, lineWidth, line.style_solid)
if na(array.get(priceLabels, i))
array.set(priceLabels, i, label.new(bar_index + labelOffset, level, str.tostring(level, format.mintick), color=color.new(color.black, 100), textcolor=lineColor, style=label.style_none, size=size.small))
else
label.set_xy(array.get(priceLabels, i), bar_index + labelOffset, level)
label.set_text(array.get(priceLabels, i), str.tostring(level, format.mintick))
label.set_textcolor(array.get(priceLabels, i), lineColor)
// Draw mid levels (without labels)
for i = 0 to 2 * numLevels - 1
midLevel = array.get(midLevels, i)
lineColor = i >= numLevels ? color.new(color.green, 50) : color.new(color.red, 50)
drawLine(midLines, i, midLevel, lineColor, 1, line.style_dashed)
// Display current ATR value
var label atrLabel = na
label.delete(atrLabel)
atrLabel := label.new(bar_index , high, text="ATR: " + str.tostring(dailyAtr, "#.##"), color=color.new(color.blue, 0), textcolor=color.white, size=size.small)
Trend Bars with Okuninushi Line Filter# Trend Bars with Okuninushi Line Filter: A Powerful Trading Indicator
## Introduction
The **Trend Bars with Okuninushi Line Filter** is an innovative technical indicator that combines two powerful concepts: trend bar analysis and the Okuninushi Line filter. This indicator helps traders identify high-quality trending moves by analyzing candle body strength relative to the overall price range while ensuring the price action aligns with the dominant market structure.
## What Are Trend Bars?
Trend bars are candles where the body (distance between open and close) represents a significant portion of the total price range (high to low). These bars indicate strong directional momentum with minimal indecision, making them valuable signals for trend continuation.
### Key Characteristics:
- **Strong directional movement**: Large body relative to total range
- **Minimal upper/lower shadows**: Shows sustained pressure in one direction
- **High conviction**: Represents decisive market action
## The Okuninushi Line Filter
The Okuninushi Line, also known as the Kijun Line in Ichimoku analysis, is calculated as the midpoint of the highest high and lowest low over a specified period (default: 52 periods).
**Formula**: `(Highest High + Lowest Low) / 2`
This line acts as a dynamic support/resistance level and trend filter, helping to:
- Identify the overall market bias
- Filter out counter-trend signals
- Provide confluence for trade entries
## How the Indicator Works
The indicator combines these two concepts with the following logic:
### Bull Trend Bars (Green)
A candle is colored **green** when ALL conditions are met:
1. **Bullish candle**: Close > Open
2. **Strong body**: |Close - Open| ≥ Threshold × (High - Low)
3. **Above trend filter**: Close > Okuninushi Line
### Bear Trend Bars (Red)
A candle is colored **red** when ALL conditions are met:
1. **Bearish candle**: Close < Open
2. **Strong body**: |Close - Open| ≥ Threshold × (High - Low)
3. **Below trend filter**: Close < Okuninushi Line
### Neutral Bars (Gray)
All other candles that don't meet the complete criteria are colored **gray**.
## Customizable Parameters
### Trend Bar Threshold
- **Range**: 10% to 100%
- **Default**: 75%
- **Purpose**: Controls how "strong" a candle must be to qualify as a trend bar
**Threshold Effects:**
- **Low (10-30%)**: More sensitive, catches smaller trending moves
- **Medium (50-75%)**: Balanced approach, filters out most noise
- **High (80-100%)**: Very selective, only captures the strongest moves
### Okuninushi Line Length
- **Default**: 52 periods
- **Purpose**: Determines the lookback period for calculating the midpoint
- **Common Settings**:
- 26 periods: More responsive to recent price action
- 52 periods: Standard setting, good balance
- 104 periods: Longer-term trend perspective
## Trading Applications
### 1. Trend Continuation Signals
- **Green bars**: Look for bullish continuation opportunities
- **Red bars**: Consider bearish continuation setups
- **Gray bars**: Exercise caution, mixed signals
### 2. Market Structure Analysis
- Clusters of same-colored bars indicate strong trends
- Alternating colors suggest choppy, indecisive markets
- Transition from red to green (or vice versa) may signal trend changes
### 3. Entry Timing
- Use colored bars as confirmation for existing trade setups
- Wait for color alignment with your market bias
- Avoid trading during predominantly gray periods
### 4. Risk Management
- Gray bars can serve as early warning signs of weakening trends
- Color changes might indicate appropriate exit points
- Use in conjunction with other risk management tools
## Advantages
1. **Dual Filtering**: Combines momentum (trend bars) with trend direction (Okuninushi Line)
2. **Visual Clarity**: Immediate visual feedback through candle coloring
3. **Customizable**: Adjustable parameters for different trading styles
4. **Versatile**: Works across multiple timeframes and instruments
5. **Objective**: Rule-based system reduces subjective interpretation
## Limitations
1. **Lagging Nature**: Based on historical price data
2. **False Signals**: Can produce whipsaws in choppy markets
3. **Parameter Sensitivity**: Requires optimization for different instruments
4. **Market Conditions**: May be less effective in ranging markets
## Best Practices
### Optimization Tips:
- **Volatile Markets**: Use higher thresholds (80-90%)
- **Steady Trends**: Use moderate thresholds (60-75%)
- **Short-term Trading**: Shorter Okuninushi Line periods (26)
- **Long-term Analysis**: Longer Okuninushi Line periods (104+)
### Combination Strategies:
- Pair with volume indicators for confirmation
- Use alongside support/resistance levels
- Combine with other trend-following indicators
- Consider market context and overall trend direction
## Conclusion
The Trend Bars with Okuninushi Line Filter offers traders a sophisticated yet intuitive way to identify high-quality trending moves. By combining the momentum characteristics of trend bars with the directional filter of the Okuninushi Line, this indicator helps traders focus on the most promising opportunities while avoiding low-probability setups.
Remember that no single indicator should be used in isolation. Always consider market context, risk management, and other technical factors when making trading decisions. The true power of this indicator lies in its ability to quickly highlight periods of strong, aligned price action – exactly what trend traders are looking for.
---
*Disclaimer: This article is for educational purposes only and should not be considered as financial advice. Always conduct your own research and consider your risk tolerance before making any trading decisions.*
Multiplied and Divided Moving Average ### Multiplied and Divided Moving Average Indicator
**Description**:
The "Multiplied and Divided Moving Average" indicator is a customizable tool for TradingView users, designed to create dynamic bands around a user-selected moving average (MA). It calculates a moving average (SMA, EMA, WMA, VWMA, or RMA) and generates a user-defined number of lines above and below it by multiplying and dividing the MA by linearly spaced factors. These bands serve as potential support and resistance levels, aiding in trend identification, mean reversion strategies, or breakout detection. Optional Buy/Sell labels appear when the price crosses below the divided MAs (Buy) or above the multiplied MAs (Sell), providing clear visual cues for trading opportunities.
**Key Features**:
- **Flexible MA Types**: Choose from Simple (SMA), Exponential (EMA), Weighted (WMA), Volume-Weighted (VWMA), or Running (RMA) moving averages.
- **Customizable Bands**: Set the number of lines (0–10) above and below the MA, allowing tailored analysis for any market or timeframe.
- **Dynamic Factors**: Bands are created using factors that scale linearly from 1 to a user-defined maximum (default: 5.0), creating intuitive overbought/oversold zones.
- **Buy/Sell Signals**: Optional labels highlight potential entry (Buy) and exit (Sell) points when the price crosses the bands.
- **Clear Visuals**: The main MA is plotted in blue, with green (multiplied) and red (divided) lines using graduated transparency for easy differentiation.
**Inputs**:
- **MA Type**: Select the moving average type (default: SMA).
- **MA Length**: Set the MA period (default: 14).
- **Number of Lines Above/Below**: Choose how many bands to plot above and below the MA (default: 4, range: 0–10).
- **Max Factor**: Define the largest multiplier/divisor for the outermost bands (default: 5.0).
- **Source**: Select the price data for the MA (default: close).
- **Show Buy/Sell Labels**: Enable or disable Buy/Sell labels (default: true).
**How It Works**:
1. Calculates the chosen moving average based on user inputs.
2. Creates up to 10 lines above the MA (e.g., MA × 2, ×3, ×4, ×5 for `numLines=4`, `maxFactor=5`) and 10 below (e.g., MA ÷ 2, ÷3, ÷4, ÷5).
3. Plots the main MA in blue, multiplied lines in green, and divided lines in red, with transparency increasing for outer bands.
4. If enabled, displays "Buy" labels when the price crosses below any divided MA and "Sell" labels when it crosses above any multiplied MA, positioned at the outermost band.
**Use Cases**:
- **Trend Analysis**: Use the bands as dynamic support/resistance to confirm trend direction or reversals.
- **Mean Reversion**: Identify overbought (near multiplied MAs) or oversold (near divided MAs) conditions.
- **Breakout Trading**: Monitor price crossovers of the outermost bands for potential breakout signals.
- **Signal Confirmation**: Use Buy/Sell labels for swing trading or to complement other indicators.
**How to Use**:
1. Copy the script into TradingView’s Pine Editor.
2. Compile and apply it to your chart (e.g., stocks, forex, crypto).
3. Adjust inputs like `numLines`, `maxFactor`, or `maType` to fit your strategy.
4. Enable `Show Buy/Sell Labels` to visualize trading signals.
5. Test on various timeframes (e.g., 1H, 4H, 1D) and assets to optimize settings.
**Example Settings**:
- **Swing Trading**: Use `numLines=3`, `maxFactor=4`, `maType=EMA`, `maLength=20` on a 4-hour chart.
- **Intraday**: Try `numLines=2`, `maxFactor=3`, `maType=SMA`, `maLength=10` on a 15-minute chart.
**Notes**:
- **Performance**: Supports up to 20 bands (10 above, 10 below), staying within TradingView’s 64-plot limit.
- **False Signals**: In choppy markets, frequent crossovers may occur. Combine with trend filters (e.g., ADX, higher-timeframe MA) to reduce noise.
- **Enhancements**: Add alerts via TradingView’s alert system for Buy/Sell signals, or experiment with different `maxFactor` values for volatility.
**Limitations**:
- Bands are reactive, as they’re based on a moving average, so confirm signals with other indicators.
- High `numLines` values may clutter the chart; use 2–4 for clarity.
- Signals may lag in fast-moving markets due to the MA’s smoothing effect.
This indicator is perfect for traders seeking a customizable, visually clear tool to enhance technical analysis on TradingView. For support, feature requests (e.g., alerts, custom colors), or community discussion, visit TradingView’s forums or contact the script author.
Dynamic EMA Cloud📘 Dynamic EMA Cloud – Quick Guide
What it does:
- Shades the area between two EMAs (default 8 & 21).
- Cloud flips green when the fast EMA is on top (bullish), red when it’s underneath (bearish).
- The cloud gets thicker in strong trends and thinner when things are weak or choppy.
- Top-right box shows the EMA trend and which sizing mode you’re using.
Cloud Width Modes:
- EMA Gap → Cloud follows the distance between the EMAs. Great for spotting trend strength.
- ATR → Uses volatility. Wide in high-vol markets, tight in low-vol.
- Percent → Fixed % of price. Keeps charts looking consistent whether it’s a $2 penny stock or a $2000 ticker.
- Hybrid → Mix of both EMA gap and ATR. A “best of both” setting.
How to read it:
- Price riding above a green cloud = bullish control.
- Price staying under a red cloud = bearish control.
- A skinny cloud = trend might be running out of gas or a reversal coming.
- A fat cloud = momentum is strong, trend is solid.
Tips:
- For scalping/day trading, use faster EMAs (like 8 & 21).
- For swing trades, use slower pairs (20 & 50, 50 & 200).
- The floating label tells you “Bullish / Bearish / Neutral” at the current bar.
- Corner tag keeps you oriented no matter where you scroll.
Let me know what you think!
GSR-MINI BandsGSR-Mini Bands is an indicator designed to analyze the dynamics of implied volatility indices, such as the VIX (S&P500) or the VDAX-NEW (DAX40).
The calculation is performed as the percentage difference between the cumulative series of opening gaps and the cumulative evolution of the volatility index itself, adjusted for those gaps.
The indicator moves in a range of approximately -1 to 1, with intermediate lines (0.3 and 0.7) that help identify different relative levels of volatility behavior.
Although it is primarily designed for daily charts, it can also be applied to shorter time frames, such as 1 minute, where it offers additional insight into intraday volatility dynamics.
Note : This indicator does not constitute an investment recommendation. It is presented solely as a technical analysis tool.