Smart Mean Reversion DashboardThis indicator is designed to help traders identify potential mean reversion opportunities using a combination of Bollinger Bands, RSI, and deviation from the moving average. It provides a clean, visually appealing dashboard that displays key metrics and signals in real-time.
How to Read and Use:
Deviation from Mean:
Displays the percentage deviation of the current price from the moving average.
A high positive or negative deviation may indicate overextension and a potential mean reversion opportunity.
Bollinger Band Status:
Indicates whether the price is inside or outside the Bollinger Bands.
"Outside Upper" suggests overbought conditions, while "Outside Lower" suggests oversold conditions.
RSI Status:
Shows whether the RSI is in overbought (>70), oversold (<30), or neutral conditions.
Overbought and oversold levels can confirm potential reversal zones.
Signal:
BUY: Triggered when the price is outside the lower Bollinger Band and RSI is in the oversold zone.
SELL: Triggered when the price is outside the upper Bollinger Band and RSI is in the overbought zone.
WAIT: No clear signal; wait for better conditions.
Important Notes:
This is NOT a buy or sell recommendation. This indicator is a tool to assist in identifying potential trading opportunities. Always use it in conjunction with your own analysis and risk management.
The signals generated by this indicator are based on historical data and do not guarantee future performance.
It is recommended to use this indicator alongside other technical analysis tools and confirm signals with price action or other strategies.
Features:
Dashboard: Displays deviation, Bollinger Band status, RSI status, and signals in a clean, movable interface.
Customizable Settings: Adjust Bollinger Band length, RSI length, and moving average length to suit your trading style.
Visual Enhancements: Color-coded signals and metrics for easy interpretation in both light and dark modes.
Disclaimer:
Trading involves significant risk, and past performance is not indicative of future results. This indicator is for educational purposes only and should not be considered financial advice. Always consult with a financial advisor before making trading decisions.
Indicators and strategies
Daily Separator with Daythis indicator about vertical lines at weekly days. Add at chart a 2 part of this indicator - Weekdays Labels to have all advantages this indicator
MACD Volume Strategy (BBO + MACD State, Reversal Type)Overview
MACD Volume Strategy (BBO + MACD State, Reversal Type) is a momentum-based reversal system that combines MACD crossover logic with volume filtering to enhance signal accuracy and minimize noise. It aims to identify structural trend shifts and manage risk using predefined parameters.
※This strategy is for educational and research purposes only. All results are based on historical simulations and do not guarantee future performance.
Strategy Objectives
Identify early trend transitions with high probability
Filter entries using volume dynamics to validate momentum
Maintain continuous exposure using a reversal-style model
Apply a consistent 1:1.5 risk-to-reward ratio per trade
Key Features
Integrated MACD and volume oscillator filtering
Zero repainting (all signals confirmed on closed candles)
Automatic position flipping for seamless direction shifts
Stop-loss and take-profit based on recent structural highs/lows
Trading Rules
Long Entry Conditions
MACD crosses above the zero line (BBO Buy arrow)
Volume oscillator is positive (short EMA > long EMA)
MACD is above the signal line
Close any existing short and enter a new long
Short Entry Conditions
MACD crosses below the zero line (BBO Sell arrow)
Volume oscillator is positive
MACD is below the signal line
Close any existing long and enter a new short
Exit Rules
Take Profit (TP) = Entry ± (risk distance × 1.5)
Stop Loss (SL) = Recent swing low (for long) or high (for short)
Early Exit = Triggered when a reversal signal appears (flip logic)
Risk Management Parameters
Pair: ETH/USD
Timeframe: 10-minute
Starting Capital: $3,000
Commission: 0.02%
Slippage: 2 pip
Risk per Trade: 5% of account equity (adjusted for sustainable practice)
Total Trades: 312 (backtest on selected dataset)
※Risk parameters are fully configurable and should be adjusted to suit each trader's personal setup and broker conditions.
Parameters & Configurations
Volume Short Length: 6
Volume Long Length: 12
MACD Fast Length: 11
MACD Slow Length: 21
Signal Smoothing: 10
Oscillator MA Type: SMA
Signal Line MA Type: SMA
Visual Support
Green arrow = Long entry
Red arrow = Short entry
MACD lines, signal line, and histogram
SL/TP markers plotted directly on the chart
Strategic Advantages & Uniqueness
Volume filtering eliminates low-participation, weak signals
Structurally aligned SL/TP based on recent market pivots
No repainting — decisions are made only on closed candles
Always in the market due to the reversal-style framework
Inspirations & Attribution
This strategy is inspired by the excellent work of:
Bitcoinblockchainonline – “BBO_Roxana_Signals MACD + vol”
Leveraging MACD zero-line cross and volume oscillator for intuitive signal generation.
HasanRifat – “MACD Fake Filter ”
Introduced a signal filter using MACD wave height averaging to reduce false positives.
This strategy builds upon those ideas to create a more automated, risk-aware, and technically adaptive system.
Summary
MACD Volume Strategy is a clean, logic-first automated trading system built for precision-seeking traders. It avoids discretionary bias and provides consistent signal logic under backtested historical conditions.
100% mechanical — no discretionary input required
Designed for high-confidence entries
Can be extended with filters, alerts, or trailing stops
※Strategy performance depends on market context. Past performance is not indicative of future results. Use with proper risk management and careful configuration.
ATM Option Selling StrategyATM Option Selling Strategy – Explained
This strategy is designed for intraday option selling based on the 9/15 EMA crossover, 50/80 MA trend filter, and RSI 50 level. It ensures that all trades are exited before market close (3:24 PM IST).
. Indicators Used:
9 EMA & 15 EMA → For short-term trend identification.
50 MA & 80 MA → To determine the overall trend.
RSI (14) → To confirm momentum (above or below 50 level).
2. Entry Conditions:
🔴 Sell ATM Call (CE) when:
Price is below 50 & 80 MA (Bearish trend).
9 EMA crosses below 15 EMA (Short-term trend turns bearish).
RSI is below 50 (Momentum confirms weakness).
🟢 Sell ATM Put (PE) when:
Price is above 50 & 80 MA (Bullish trend).
9 EMA crosses above 15 EMA (Short-term trend turns bullish).
RSI is above 50 (Momentum confirms strength).
3. Position Sizing & Risk Management:
Sell 375 quantity per trade (Lot size).
50-Point Stop Loss → If option premium moves against us by 50 points, exit.
50-Point Take Profit → If option premium moves in our favor by 50 points, book profit.
Exit all trades at 3:24 PM IST → No overnight positions.
4. Exit Conditions:
✅ Stop Loss or Take Profit Hits → Automatically exits based on a 50-point move.
✅ Time-Based Exit at 3:24 PM → Ensures no open positions at market close.
Why This Works?
✔ Trend Confirmation → 50/80 MA ensures we only sell options in the direction of the market trend.
✔ Momentum Confirmation → RSI prevents entering weak trades.
✔ Controlled Risk → SL and TP protect against large losses.
✔ No Overnight Risk → All trades close before market close.
MULTI-SESSION GLM🎯 "MULTI-SESSION GLM" Indicator
Highlight 3 customizable trading sessions directly on your chart, each with unique colors—ideal for spotting market overlaps or key trading hours.
✨ Features:
✅ 3 independent sessions (adjust time ranges & colors).
✅ Transparent overlay (non-intrusive to price action).
✅ Perfect for Forex, Futures, and Stock traders.
✅ Easy setup (configure in seconds).
⚙️ How to Use:
Open the indicator settings.
Set your sessions (e.g., "0800-1200").
Pick colors for each zone.
Canadian Elections & PM TimelineThis script displays major Canadian federal election years along with the names and party affiliations of elected Prime Ministers, directly on your price chart. It provides a quick visual reference for key political events that may have had market impact, helping traders correlate price movements with changes in leadership.
Multi-Timeframe EMAs with PivotThis is a well-designed multi-timeframe EMA indicator with pivot points for TradingView. Here's a detailed analysis:
Core Components
Multi-Timeframe EMAs
Tracks 5, 20, and 48-period EMAs across 4 timeframes (1m, 5m, 15m, 1h)
Uses request.security() to fetch higher timeframe data accurately
Each EMA is toggleable via input settings
Pivot Point System
Calculates classic pivot point: (Prev High + Prev Low + Prev Close)/3
Flexible timeframe selection (default: Daily)
Displays as a yellow line with labeled value
Visual Design
Color-coded EMAs for easy identification
Clean plotting with na values for disabled EMAs
Dynamic pivot line that auto-centers on last bar
Dual MACD Strategy [Jason Kasei]Dual MACD Design:
MACD1 (Short-Term): Default fast length of 34, slow length of 144, and signal smoothing of 9, used to detect short-term trend changes.
MACD2 (Long-Term): Default fast length of 100, slow length of 200, and signal smoothing of 50, used to assess long-term trend direction.
Users can customize the fast, slow, and signal lengths and choose between SMA (Simple Moving Average) or EMA (Exponential Moving Average) for calculations.
Trading Logic:
Long Condition: MACD1 histogram crosses above the zero line (short-term bullish), MACD2 histogram is positive (long-term bullish), and MACD2 histogram has just crossed above zero with a deepening green (trend confirmation).
Short Condition: MACD1 histogram crosses below the zero line (short-term bearish), MACD2 histogram is negative (long-term bearish), and MACD2 histogram has just crossed below zero with a deepening red (trend confirmation).
Risk Management:
Stop Loss: Default at 1% (adjustable, minimum 0.1%), dynamically calculated based on entry price.
Take Profit: Default at 1.5% (adjustable, minimum 0.1%), dynamically calculated based on entry price.
Trades are processed at candle close to ensure signal stability.
EMA Cross Strategy with EMA Turning ExitEMA Cross Strategy with EMA Turning Exit,EMA Cross Strategy with EMA Turning Exit,
EMA Cross Strategy with EMA Turning Exit,
EMA Cross Strategy with EMA Turning Exit,
Bollinger Bands with Narrow ConsolidationBollinger Bands with Narrow Consolidation
🔹 Indicator Description
This indicator is an enhanced version of the classic Bollinger Bands with a built-in narrow consolidation detection function. It helps identify low-volatility phases that may precede strong price movements.
🔹 How Does the Indicator Work?
Bollinger Bands Calculation: Based on the selected moving average type (SMA, EMA, RMA, WMA, VWMA) with an adjustable standard deviation.
Narrow Consolidation Detection: The indicator calculates the relative band width and highlights low-volatility zones.
Flexible Settings:
Choice of base moving average type.
Adjustable sensitivity to narrow consolidations.
Option to hide Bollinger Bands outside consolidation zones.
🔹 How to Use?
Monitoring Consolidation Zones: If the price is tightening in a narrow range, a strong movement may follow.
Combining with Other Tools: The indicator works well with volume analysis and oscillators.
Signal Filtering: You can hide Bollinger Bands and only display narrow consolidation zones.
🔹 Trading Strategies
✅ Breakout Strategy – A sharp move beyond the narrow range may signal a trade entry.
✅ Range Trading – Buy near the lower band and sell near the upper band in sideways markets.
✅ Signal Filtering with Oscillators – Use RSI or MACD to confirm directional moves.
🔹 Disclaimer
This indicator is for analytical purposes only and does not constitute financial advice. Trading in financial markets involves risks, including potential loss of capital. Always verify signals, use proper risk management, and never invest more than you can afford to lose.
🔹 Conclusion
The indicator helps traders identify low-volatility periods and prepare for strong moves. Its flexible settings allow customization for any trading strategy.
📈 Add this indicator to your toolkit and stay ahead of the market! 🚀
Полосы Боллинджера с узкой консолидацией
🔹 Описание индикатора
Этот индикатор – улучшенная версия классических полос Боллинджера с функцией определения узкой консолидации. Он помогает выявлять фазы низкой волатильности, которые могут предшествовать сильным движениям цены.
🔹 Как работает индикатор?
Полосы Боллинджера: Рассчитываются на основе выбранного типа скользящей средней (SMA, EMA, RMA, WMA, VWMA) с регулируемым стандартным отклонением.
Определение узкой консолидации: Индикатор вычисляет относительную ширину полос и выделяет зоны сжатой волатильности.
Гибкие настройки:
Выбор типа базовой скользящей средней.
Регулируемая чувствительность к узкой консолидации.
Режим скрытия полос Боллинджера вне зон консолидации.
🔹 Как использовать?
Мониторинг зон консолидации: Если цена сжимается в узком диапазоне, стоит подготовиться к сильному движению.
Комбинация с другими инструментами: Индикатор отлично сочетается с объемами и осцилляторами.
Фильтрация сигналов: Можно скрыть полосы Боллинджера и оставить только зоны узкой консолидации.
🔹 Торговые стратегии
✅ Пробой консолидации – Резкое движение за границы узкой зоны может служить сигналом на вход в рынок.
✅ Торговля от границ – Покупка у нижней границы и продажа у верхней при флэтовом движении.
✅ Фильтрация сигналов с осцилляторами – Использование RSI или MACD для подтверждения направленного движения.
🔹 Предупреждение
Этот индикатор предназначен исключительно для аналитики и не является финансовым советом. Торговля на финансовых рынках сопряжена с рисками, включая возможную потерю капитала. Всегда проверяйте сигналы, используйте управление рисками и не инвестируйте больше, чем можете позволить себе потерять.
🔹 Заключение
Индикатор помогает трейдерам находить периоды низкой волатильности и готовиться к мощным движениям. Гибкие настройки позволяют адаптировать его под любую стратегию.
📈 Добавьте индикатор в свой арсенал и оставайтесь на шаг впереди рынка! 🚀
StrategyTemplate-Pro-v1# TrendScope Pro – Adaptive Trend-Following Strategy
### 🔍 Overview
TrendScope Pro is a highly adaptable and professional Pine Script strategy template designed for disciplined, trend-based trading. Built using Pine Script v6, it supports modular configuration, risk control, and flexible exit management to meet both beginner and advanced trader needs.
---
### 📐 Core Logic
The strategy focuses on confirming strong trend entries using a combination of:
- **EMA Crossovers**: Short-term trend detection
- **Higher Timeframe EMA**: Confirms overall market direction
- **MACD**: Measures momentum of price movement
- **RSI & ADX Filters** *(optional)*: Adds further confirmation
- **ATR**: Used to dynamically set profit targets, stop losses, and trailing logic
---
### 📊 Entry Rules
#### 🟢 Buy Entry:
- Price is above EMA from higher timeframe (or custom long EMA)
- Fast EMA > Slow EMA (bullish crossover)
- MACD Line > Signal Line (positive momentum)
- Candle is bullish and strong (body/candle ratio threshold)
- RSI not in overbought zone *(if enabled)*
- ADX above threshold *(if enabled)*
- Cooldown period (X bars) passed since last trade
#### 🔴 Sell Entry:
- Price below EMA200 or long EMA
- Fast EMA < Slow EMA
- MACD Line < Signal Line
- Bearish candle with sufficient strength
- RSI not in oversold zone *(if enabled)*
- ADX confirms trend strength *(if enabled)*
---
### 🔁 Exit Options
1. **Fixed TP/SL** using ATR multipliers
2. **Trailing Stop** with adjustable ATR-based logic
3. **Partial Exit** at intermediate profit target (e.g., ATR * 1.5), remaining position uses trailing
4. **Profit Lock**: Closes trade early if sufficient profit is reached and the candle shows reversal behavior
5. **Max Loss Limit** per trade to protect capital
---
### ⚙️ Customization
| Module | Description |
|--------|-------------|
| RSI / ADX | Enable or disable as filters |
| EMA Source | Use custom or higher timeframe |
| Dynamic Size | Increase size when signal is strong |
| Trailing Stop | Replace fixed SL with trailing logic |
| Partial Exit | Take partial profits earlier |
| Profit Lock | Exit trades early on reversal signs |
| Alerts | Get real-time alerts on entry |
---
### 📦 Use Cases
- A ready-to-use base for trend-following strategies
- Can be expanded with custom indicators
- Perfect for traders who value logic, safety, and modularity
- Suitable for scalping or swing trading depending on timeframe
---
### 👨💻 Author
Published by: **emad_alwan**
Pine Script v6 | License: Open Use | Fully Commented & Modular
GQT GPT - Volume-based Support & Resistance Zones V2搞钱兔,搞钱是为了更好的生活。
Title: GQT GPT - Volume-based Support & Resistance Zones V2
Overview:
This strategy is implemented in PineScript v5 and is designed to identify key support and resistance zones based on volume-driven fractal analysis on a 1-hour timeframe. It computes fractal high points (for resistance) and fractal low points (for support) using volume moving averages and specific price action criteria. These zones are visually represented on the chart with customizable lines and zone fills.
Trading Logic:
• Entry: The strategy initiates a long position when the price crosses into the support zone (i.e., when the price drops into a predetermined support area).
• Exit: The long position is closed when the price enters the resistance zone (i.e., when the price rises into a predetermined resistance area).
• Time Frame: Trading signals are generated solely from the 1-hour chart. The strategy is only active within a specified start and end date.
• Note: Only long trades are executed; short selling is not part of the strategy.
Visualization and Parameters:
• Support/Resistance Zones: The zones are drawn based on calculated fractal values, with options to extend the lines to the right for easier tracking.
• Customization: Users can configure the appearance, such as line style (solid, dotted, dashed), line width, colors, and label positions.
• Volume Filtering: A volume moving average threshold is used to confirm the fractal signals, enhancing the reliability of the support and resistance levels.
• Alerts: The strategy includes alert conditions for when the price enters the support or resistance zones, allowing for timely notifications.
⸻
搞钱兔,搞钱是为了更好的生活。
标题: GQT GPT - 基于成交量的支撑与阻力区间 V2
概述:
本策略使用 PineScript v5 实现,旨在基于成交量驱动的分形分析,在1小时级别的图表上识别关键支撑与阻力区间。策略通过成交量移动平均线和特定的价格行为标准计算分形高点(阻力)和分形低点(支撑),并以自定义的线条和区间填充形式直观地显示在图表上。
交易逻辑:
• 进场条件: 当价格进入支撑区间(即价格跌入预设支撑区域)时,策略在没有持仓的情况下发出做多信号。
• 离场条件: 当价格进入阻力区间(即价格上升至预设阻力区域)时,持有多头头寸则会被平仓。
• 时间范围: 策略的信号仅基于1小时级别的图表,并且仅在指定的开始日期与结束日期之间生效。
• 备注: 本策略仅执行多头交易,不进行空头操作。
可视化与参数设置:
• 支撑/阻力区间: 根据计算得出的分形值绘制支撑与阻力线,可选择将线条延伸至右侧,便于后续观察。
• 自定义选项: 用户可以调整线条样式(实线、点线、虚线)、线宽、颜色及标签位置,以满足个性化需求。
• 成交量过滤: 策略使用成交量移动平均阈值来确认分形信号,提高支撑和阻力区间的有效性。
• 警报功能: 当价格进入支撑或阻力区间时,策略会触发警报条件,方便用户及时关注市场变化。
⸻
Weekday Labels with Infinite Vertical LinesThis indicator is 2 part of "Daily Separator with Day". Add this indicator for open all adventage this 2 indicator
VNIndex Over 6.5% Downside Drop Indicator with TableOverview: The VNIndex 6.5% Downside Drop Indicator is a powerful tool designed to help traders and investors identify significant market drops on the VNIndex (or any other asset) based on a 6.5% downside threshold. This Pine Script® indicator automatically detects when the price of an asset drops by more than 6.5% within a single day, and visually marks those events on the chart.
Key Features:
6.5% Downside Drop Detection: Automatically calculates the daily percentage drop and identifies when the price falls by more than 6.5%.
Table Display: Displays the dates and corresponding percentage drops of all identified instances in a convenient table at the bottom right of the chart.
Markers: Red down-pointing markers are plotted above bars where the price drop exceeds the 6.5% threshold, making it easy to spot critical drop events at a glance.
Easy-to-Read Table: The table lists the date and drop percentage, updating dynamically as new drops are detected. This allows for easy tracking of significant downside moves over time.
How to Use:
Install the Script: Add this indicator to your TradingView chart.
Monitor Price Drops: The indicator will automatically detect when the price drops by over 6.5% from the previous close and display a marker on the chart and the table in the bottom right corner.
View the Table: The table displays the date and the percentage drop of each detected event, making it easy to track past significant moves.
Alerts: You can set an alert for 6.5% drops to receive notifications in real-time.
Customization Options:
The drop percentage threshold (6.5%) can be adjusted in the script to fit other market conditions or assets.
The table can be resized or styled based on user preference for better visibility.
Why Use This Indicator? This indicator is perfect for traders looking to spot large, significant price movements quickly. Large downside drops can signal potential market reversals or trading opportunities, and this tool helps you track such events effortlessly. Whether you're monitoring the VNIndex or any other asset, this indicator provides crucial insights into volatile price action, helping you make more informed decisions.
Open Source License: This indicator is open source and free to use under the Mozilla Public License 2.0. You are welcome to modify, distribute, and contribute to the project.
Contributions: Feel free to contribute improvements, fixes, or new features by creating a pull request. Let’s collaborate to make this indicator even better for the community!
Nifty 0.6% Options Strategy [15min]Key Changes Made:
Threshold Adjustment:
Changed from 0.4% to 0.6% in two places (input and plot labels)
Updated alert messages accordingly
Visual Improvements:
Clear "+0.6%" and "-0.6%" labels on the reference lines
Maintained all visual markers (circles for thresholds, labels for signals)
Added Alert Conditions:
Ready-to-use alerts for mobile/email notifications
Separate alerts for CALL and PUT signals
Strategy Logic Remains:
Same entry/exit mechanics (4-bar hold period)
Same non-repainting signal calculation
Same money management parameters
This version gives you slightly fewer but higher-probability signals compared to the 0.4% version, while maintaining all the robust features of the original strategy. The wider threshold helps filter out market noise during choppy periods.
lib_plot_objects_1Library "lib_plot_objects_1"
method extend_to(this, end_time, end_idx, end_price)
Namespace types: Line
Parameters:
this (Line)
end_time (int)
end_idx (int)
end_price (float)
method or_default(args)
checks args oject for being na, if so, provide a default instead
Namespace types: LineArgs
Parameters:
args (LineArgs)
method or_default(args)
checks args oject for being na, if so, provide a default instead
Namespace types: PolyLineArgs
Parameters:
args (PolyLineArgs)
method or_default(args)
checks args oject for being na, if so, provide a default instead
Namespace types: LabelArgs
Parameters:
args (LabelArgs)
method or_default(args)
checks args oject for being na, if so, provide a default instead
Namespace types: BoxArgs
Parameters:
args (BoxArgs)
method or_default(args)
checks args oject for being na, if so, provide a default instead
Namespace types: BoxTextArgs
Parameters:
args (BoxTextArgs)
method direction(this)
Namespace types: Candle
Parameters:
this (Candle)
method is_green(this)
Namespace types: Candle
Parameters:
this (Candle)
method is_red(this)
Namespace types: Candle
Parameters:
this (Candle)
method is_bullish(this)
Namespace types: Candle
Parameters:
this (Candle)
method is_bearish(this)
Namespace types: Candle
Parameters:
this (Candle)
method total_size(this)
Namespace types: Candle
Parameters:
this (Candle)
method body_size(this)
Namespace types: Candle
Parameters:
this (Candle)
method body_top(this)
Namespace types: Candle
Parameters:
this (Candle)
method body_bottom(this)
Namespace types: Candle
Parameters:
this (Candle)
method wick_size_top(this)
Namespace types: Candle
Parameters:
this (Candle)
method wick_size_bottom(this)
Namespace types: Candle
Parameters:
this (Candle)
method body_total_ratio(this)
Namespace types: Candle
Parameters:
this (Candle)
method duration(this)
Namespace types: Candle
Parameters:
this (Candle)
create_candle(t, tc, idx, o, h, l, c, v)
Creates Candle with ohlc and index data
Parameters:
t (int) : bar time of this candle
tc (int) : bar close time of this candle
idx (int) : bar index of this candle
o (float) : open price of this candle
h (float) : highest price of this candle
l (float) : lowest price of this candle
c (float) : close price of this candle
v (float)
Returns: new Candle
create_point(x, price, xloc)
Creates a new chart.point based on xloc switch
Parameters:
x (int)
price (float)
xloc (string)
method calculate_center(indexA, priceA, indexB, priceB)
Creates center chart.point between two chart.points
Namespace types: series int, simple int, input int, const int
Parameters:
indexA (int) : coordinates of point A (using just index, because time will not work properly in session based instruments)
priceA (float) : coordinates of point A
indexB (int) : coordinates of point B (using just index, because time will not work properly in session based instruments)
priceB (float) : coordinates of point B
Returns: center coordinates
method calculate_center(this, other)
Creates center chart.point between an array of given chart.points
Namespace types: chart.point
Parameters:
this (chart.point)
other (chart.point)
Returns: center coordinates
method calculate_center(points)
Creates center chart.point between an array of given chart.points
Namespace types: array
Parameters:
points (array) : array of chart.points for calculation of the center
Returns: center chart.point
method calculate_center(this)
Namespace types: Line
Parameters:
this (Line)
method calculate_center(this)
Namespace types: PolyLine
Parameters:
this (PolyLine)
method create_center(this, other)
Creates center chart.point between two chart.points
Namespace types: chart.point
Parameters:
this (chart.point) : chart.point
other (chart.point) : chart.point
Returns: center chart.point
method create_center(points)
Creates center chart.point between an array of given chart.points
Namespace types: array
Parameters:
points (array) : array of chart.points for calculation of the center
Returns: center chart.point
method create_center(this)
Namespace types: Line
Parameters:
this (Line)
method create_center(this)
Namespace types: PolyLine
Parameters:
this (PolyLine)
create_label(x, y, xloc, txt, tooltip)
Creates a new Label object.
Parameters:
x (int)
y (float)
xloc (string)
txt (string)
tooltip (string)
method create_label(this, txt, tooltip)
Creates a new Label object.
Namespace types: chart.point
Parameters:
this (chart.point)
txt (string)
tooltip (string)
method create_label(txt, tooltip)
Creates a new Label object.
Namespace types: series string, simple string, input string, const string
Parameters:
txt (string)
tooltip (string)
method create_label(this, txt, tooltip)
Creates a new Label object.
Namespace types: Line
Parameters:
this (Line)
txt (string)
tooltip (string)
method create_label(this, txt, tooltip)
Creates a new Label object.
Namespace types: Box
Parameters:
this (Box)
txt (string)
tooltip (string)
method create_center_label(this, txt, tooltip)
Creates a new Label object.
Namespace types: Line
Parameters:
this (Line)
txt (string)
tooltip (string)
method create_center_label(this, txt, tooltip)
Creates a new Label object.
Namespace types: PolyLine
Parameters:
this (PolyLine)
txt (string)
tooltip (string)
method nz(this, default)
Namespace types: chart.point
Parameters:
this (chart.point)
default (chart.point)
method nz(this, default)
Namespace types: Candle
Parameters:
this (Candle)
default (Candle)
method nz(this, default)
Namespace types: LabelArgs
Parameters:
this (LabelArgs)
default (LabelArgs)
method nz(this, default)
Namespace types: Label
Parameters:
this (Label)
default (Label)
method nz(this, default)
Namespace types: LineArgs
Parameters:
this (LineArgs)
default (LineArgs)
method nz(this, default)
Namespace types: Line
Parameters:
this (Line)
default (Line)
method nz(this, default)
Namespace types: PolyLineArgs
Parameters:
this (PolyLineArgs)
default (PolyLineArgs)
method nz(this, default)
Namespace types: PolyLine
Parameters:
this (PolyLine)
default (PolyLine)
method nz(this, default)
Namespace types: CenterLabel
Parameters:
this (CenterLabel)
default (CenterLabel)
method nz(this, default)
Namespace types: LineFill
Parameters:
this (LineFill)
default (LineFill)
method nz(this, default)
Namespace types: BoxArgs
Parameters:
this (BoxArgs)
default (BoxArgs)
method nz(this, default)
Namespace types: BoxTextArgs
Parameters:
this (BoxTextArgs)
default (BoxTextArgs)
method nz(this, default)
Namespace types: Box
Parameters:
this (Box)
default (Box)
create_line(start_time, start_idx, start_price, end_time, end_idx, end_price)
Parameters:
start_time (int)
start_idx (int)
start_price (float)
end_time (int)
end_idx (int)
end_price (float)
create_line(x1, y1, x2, y2, xloc)
Parameters:
x1 (int)
y1 (float)
x2 (int)
y2 (float)
xloc (string)
create_line()
create_box(left_time, left_idx, top, right_time, right_idx, bottom, txt)
Parameters:
left_time (int)
left_idx (int)
top (float)
right_time (int)
right_idx (int)
bottom (float)
txt (string)
create_box(left, top, right, bottom, xloc, txt)
Parameters:
left (int)
top (float)
right (int)
bottom (float)
xloc (string)
txt (string)
create_box(txt)
Parameters:
txt (string)
method create_fill(this, other, fill_color, flip)
Creates a new LineFill object.
@field this The first Line object
@field other The second Line object
@field fill_color The color used to fill the space between the lines.
@field flip Optional if true, a new support line is created, drawn over other but with flipped start and end point
Namespace types: Line
Parameters:
this (Line)
other (Line)
fill_color (color)
flip (bool)
method enqueue(id, item, max)
Namespace types: array
Parameters:
id (array)
item (Candle)
max (int)
method enqueue(id, item, max)
Namespace types: array
Parameters:
id (array)
item (chart.point)
max (int)
method enqueue(id, item, max)
Namespace types: array
Parameters:
id (array)
item (Label)
max (int)
method enqueue(id, item, max)
Namespace types: array
Parameters:
id (array)
item (CenterLabel)
max (int)
method enqueue(id, item, max)
Namespace types: array
Parameters:
id (array)
item (Line)
max (int)
method enqueue(id, item, max)
Namespace types: array
Parameters:
id (array)
item (LineFill)
max (int)
method enqueue(id, item, max)
Namespace types: array
Parameters:
id (array)
item (PolyLine)
max (int)
method update(this, bar_time, bar_time_close, bar_idx, o, h, l, c, v)
Updates a Candle object with new data.
Namespace types: Candle
Parameters:
this (Candle)
bar_time (int)
bar_time_close (int)
bar_idx (int)
o (float)
h (float)
l (float)
c (float)
v (float)
method update(this, bar_time, bar_idx, price)
Updates a chart.point object with new data.
Namespace types: chart.point
Parameters:
this (chart.point)
bar_time (int)
bar_idx (int)
price (float)
Returns: true if changed, false otherwise
method update(this, x, price, xloc)
Updates a chart.point object with new data.
Namespace types: chart.point
Parameters:
this (chart.point)
x (int)
price (float)
xloc (string)
Returns: true if changed, false otherwise
method update(this, update)
Updates a chart.point object with new data from another chart.point.
Namespace types: chart.point
Parameters:
this (chart.point)
update (chart.point)
Returns: true if changed, false otherwise
method update(this, bar_time, bar_idx, price, txt, tooltip)
Updates a Label's chart.point object with new data from another chart.point, or sets it if the Label's chart.point is na. If txt parameter is not given, it's not updated.
Namespace types: Label
Parameters:
this (Label)
bar_time (int)
bar_idx (int)
price (float)
txt (string)
tooltip (string)
method update(this, point, txt, tooltip)
Updates a Label's chart.point object with new data from another chart.point, or sets it if the Label's chart.point is na. If txt parameter is not given, it's not updated.
Namespace types: Label
Parameters:
this (Label)
point (chart.point)
txt (string)
tooltip (string)
method update(this, points, txt, tooltip, condition)
Updates a Label's chart.point object with new data from another chart.point, or sets it if the Label's chart.point is na. If txt parameter is not given, it's not updated.
Namespace types: CenterLabel
Parameters:
this (CenterLabel)
points (array)
txt (string)
tooltip (string)
condition (bool)
method update(this, txt, tooltip)
Updates a Label's chart.point object with new data from another chart.point, or sets it if the Label's chart.point is na. If txt parameter is not given, it's not updated.
Namespace types: CenterLabel
Parameters:
this (CenterLabel)
txt (string)
tooltip (string)
method update(this, start, end)
Updates this Line's chart.point objects with new data from other chart.points.
Namespace types: Line
Parameters:
this (Line)
start (chart.point)
end (chart.point)
method update(this, points)
Updates this PolyLine's chart.point objects with new data from other chart.points. As the plot polyline has no options to be updated, it will be deleted before being redrawn in draw()
Namespace types: PolyLine
Parameters:
this (PolyLine)
points (array)
method update(this, left_top, right_bottom)
Updates a Box's chart.point objects with new data from other chart.points.
Namespace types: Box
Parameters:
this (Box)
left_top (chart.point)
right_bottom (chart.point)
method delete(this)
Removes an objects representation from the chart.
Namespace types: Line
Parameters:
this (Line)
method delete(this)
Removes an objects representation from the chart.
Namespace types: PolyLine
Parameters:
this (PolyLine)
method delete(this)
Removes an objects representation from the chart.
Namespace types: Label
Parameters:
this (Label)
method delete(this)
Removes an objects representation from the chart.
Namespace types: CenterLabel
Parameters:
this (CenterLabel)
method delete(this)
Removes an objects representation from the chart.
Namespace types: Box
Parameters:
this (Box)
method delete(this)
Removes an objects representation from the chart.
Namespace types: LineFill
Parameters:
this (LineFill)
method delete(this)
Removes the representations of an array of objects from the chart.
Namespace types: array
Parameters:
this (array)
method delete(this)
Removes the representations of an array of objects from the chart.
Namespace types: array
Parameters:
this (array)
method delete(this)
Removes the representations of an array of objects from the chart.
Namespace types: array
Parameters:
this (array)
method delete(this)
Removes the representations of an array of objects from the chart.
Namespace types: array
Parameters:
this (array)
method delete(this)
Removes the representations of an array of objects from the chart.
Namespace types: array
Parameters:
this (array)
method delete(this)
Removes the representations of an array of objects from the chart.
Namespace types: array
Parameters:
this (array)
method delete(this)
Removes the representations of an array of objects from the chart.
Namespace types: array
Parameters:
this (array)
method delete(this)
Removes the representations of an array of objects from the chart.
Namespace types: array
Parameters:
this (array)
method delete(this)
Removes the representations of an array of objects from the chart.
Namespace types: array
Parameters:
this (array)
method delete(this)
Removes the representations of an array of objects from the chart.
Namespace types: array
Parameters:
this (array)
method delete(this)
Removes the representations of an array of objects from the chart.
Namespace types: array
Parameters:
this (array)
method draw(this, a, b, args, extend_only, force_overlay)
Adds/Updates the representations of an object to the chart (only point coordinates).
Namespace types: series line
Parameters:
this (line)
a (chart.point)
b (chart.point)
args (LineArgs)
extend_only (bool) : this will omit redrawing x1 of the line, thereby prevent adressing bar_indexes too far in the past which causes max_bars_back errors. (default: true, set to false if you want x1 updated on drawing)
force_overlay (simple bool)
method draw(this, args, force_overlay)
Adds/Updates the representations of an object to the chart (only point coordinates and text).
Namespace types: Label
Parameters:
this (Label)
args (LabelArgs)
force_overlay (simple bool)
method draw(this, args, force_overlay)
Adds/Updates the representations of an object to the chart (only point coordinates and text).
Namespace types: CenterLabel
Parameters:
this (CenterLabel)
args (LabelArgs)
force_overlay (simple bool)
method draw(this, args, extend_only, force_overlay)
Adds/Updates the representations of an object to the chart (only point coordinates).
Namespace types: Line
Parameters:
this (Line)
args (LineArgs)
extend_only (bool) : this will omit redrawing x1 of the line, thereby prevent adressing bar_indexes too far in the past which causes max_bars_back errors. (default: true, set to false if you want x1 updated on drawing)
force_overlay (simple bool)
method draw(this, args, force_overlay)
Adds/Updates the representations of an object to the chart.
Namespace types: PolyLine
Parameters:
this (PolyLine)
args (PolyLineArgs)
force_overlay (simple bool)
method draw(this, args, text_args, extend_only, force_overlay)
Adds/Updates the representations of an object to the chart (only point coordinates).
Namespace types: Box
Parameters:
this (Box)
args (BoxArgs)
text_args (BoxTextArgs)
extend_only (bool) : this will omit redrawing the left side of the box, thereby prevent adressing bar_indexes too far in the past which causes max_bars_back errors. (default: true, set to false if you want x1 updated on drawing)
force_overlay (simple bool)
method draw(this, flip_support_args, force_overlay)
Adds/Replaces the representations of the object on the chart.
Namespace types: LineFill
Parameters:
this (LineFill)
flip_support_args (LineArgs)
force_overlay (simple bool)
method draw(this, args, force_overlay)
converts this object into a builtin plot object, drawing it on the chart, unless drawn once before, this will either use the passed or default config for all objects
Namespace types: array
Parameters:
this (array)
args (LabelArgs)
force_overlay (simple bool)
method draw(this, args, force_overlay)
converts this object into a builtin plot object, drawing it on the chart, unless drawn once before, this will either use the passed or default config for all objects
Namespace types: array
Parameters:
this (array)
args (LabelArgs)
force_overlay (simple bool)
method draw(this, args, force_overlay)
converts this object into a builtin plot object, drawing it on the chart, unless drawn once before, this will either use the passed or default config for all objects
Namespace types: array
Parameters:
this (array)
args (PolyLineArgs)
force_overlay (simple bool)
method draw(this, args, extend_only, force_overlay)
converts this object into a builtin plot object, drawing it on the chart, unless drawn once before, this will either use the passed or default config for all objects
Namespace types: array
Parameters:
this (array)
args (LineArgs)
extend_only (bool)
force_overlay (simple bool)
method draw(this, flip_support_args, force_overlay)
converts this object into a builtin plot object, drawing it on the chart, unless drawn once before, this will either use the passed or default config for all objects
Namespace types: array
Parameters:
this (array)
flip_support_args (LineArgs)
force_overlay (simple bool)
method draw(this, args, txt_args, extend_only, force_overlay)
converts this object into a builtin plot object, drawing it on the chart, unless drawn once before, this will either use the passed or default config for all objects
Namespace types: array
Parameters:
this (array)
args (BoxArgs)
txt_args (BoxTextArgs)
extend_only (bool)
force_overlay (simple bool)
method hide(this)
Namespace types: series label
Parameters:
this (label)
method hide(this)
Namespace types: series line
Parameters:
this (line)
method hide(this)
Namespace types: series polyline, series polyline, series polyline, series polyline
Parameters:
this (polyline)
method hide(this)
Namespace types: series box
Parameters:
this (box)
method hide(this)
Namespace types: chart.point
Parameters:
this (chart.point)
method hide(this)
hides an object by setting it's coordinates na, to unhide just update coordinates and call draw() again
Namespace types: Label
Parameters:
this (Label)
method hide(this)
hides an object by setting it's coordinates na, to unhide just update coordinates and call draw() again
Namespace types: CenterLabel
Parameters:
this (CenterLabel)
method hide(this)
hides an object by setting it's coordinates na, to unhide just update coordinates and call draw() again
Namespace types: Line
Parameters:
this (Line)
method hide(this)
hides an object by setting it's coordinates na, to unhide just update coordinates and call draw() again
Namespace types: PolyLine
Parameters:
this (PolyLine)
method hide(this)
hides an object by setting it's coordinates na, to unhide just update coordinates and call draw() again
Namespace types: Box
Parameters:
this (Box)
method apply_style(this, args)
Namespace types: series line
Parameters:
this (line)
args (LineArgs)
method apply_style(this, args)
Namespace types: series label
Parameters:
this (label)
args (LabelArgs)
method apply_style(this, args, text_args)
Namespace types: series box
Parameters:
this (box)
args (BoxArgs)
text_args (BoxTextArgs)
method apply_style(this, args)
updates styles on this objects plot
Namespace types: Label
Parameters:
this (Label)
args (LabelArgs)
method apply_style(this, args)
Namespace types: CenterLabel
Parameters:
this (CenterLabel)
args (LabelArgs)
method apply_style(this, args)
Namespace types: Line
Parameters:
this (Line)
args (LineArgs)
method apply_style(this, args, text_args)
updates styles on this objects plot
Namespace types: Box
Parameters:
this (Box)
args (BoxArgs)
text_args (BoxTextArgs)
method apply_style(this, args)
updates styles on these objects' plots
Namespace types: array
Parameters:
this (array)
args (LabelArgs)
method apply_style(this, args)
updates styles on these objects' plots
Namespace types: array
Parameters:
this (array)
args (LabelArgs)
method apply_style(this, args)
updates styles on these objects' plots
Namespace types: array
Parameters:
this (array)
args (LabelArgs)
method apply_style(this, args)
updates styles on these objects' plots
Namespace types: array
Parameters:
this (array)
args (LineArgs)
method apply_style(this, args)
updates styles on these objects' plots
Namespace types: array
Parameters:
this (array)
args (LineArgs)
method apply_style(this, args, text_args)
updates styles on these objects' plots
Namespace types: array
Parameters:
this (array)
args (BoxArgs)
text_args (BoxTextArgs)
method deep_copy(this)
clones the whole object including points and plots
Namespace types: Label
Parameters:
this (Label)
method deep_copy(this)
clones the whole object including points and plots
Namespace types: Line
Parameters:
this (Line)
method deep_copy(this)
clones the whole object including points and plots
Namespace types: Box
Parameters:
this (Box)
method deep_copy(this, copy_references)
clones the whole object including points and plots
Namespace types: CenterLabel
Parameters:
this (CenterLabel)
copy_references (bool)
method deep_copy(this, copy_references)
clones the whole object including points and plots
Namespace types: LineFill
Parameters:
this (LineFill)
copy_references (bool)
Candle
Fields:
bar_time (series int)
bar_time_close (series int)
bar_idx (series int)
o (series float)
h (series float)
l (series float)
c (series float)
v (series float)
LabelArgs
Fields:
text_color (series color) : Text color.
bg_color (series color) : Color of the label border and arrow.
text_font_family (series string) : The font family of the text. Optional. The default value is font.family_default. Possible values: font.family_default, font.family_monospace.
xloc (series string) : See description of x argument. Possible values: xloc.bar_index and xloc.bar_time. Default is xloc.bar_index.
yloc (series string) : Possible values are yloc.price, yloc.abovebar, yloc.belowbar. If yloc=yloc.price, y argument specifies the price of the label position. If yloc=yloc.abovebar, label is located above bar. If yloc=yloc.belowbar, label is located below bar. Default is yloc.price.
style (series string) : Label style. Possible values: label.style_none, label.style_xcross, label.style_cross, label.style_triangleup, label.style_triangledown, label.style_flag, label.style_circle, label.style_arrowup, label.style_arrowdown, label.style_label_up, label.style_label_down, label.style_label_left, label.style_label_right, label.style_label_lower_left, label.style_label_lower_right, label.style_label_upper_left, label.style_label_upper_right, label.style_label_center, label.style_square, label.style_diamond, label.style_text_outline. Default is label.style_label_down.
size (series string) : Label size. Possible values: size.auto, size.tiny, size.small, size.normal, size.large, size.huge. Default value is size.normal.
text_align (series string) : Label text alignment. Possible values: text.align_left, text.align_center, text.align_right. Default value is text.align_center.
Label
Fields:
point (chart.point) : The Label coordinates
txt (series string) : Label text. Default is empty string.
tooltip (series string) : Hover to see tooltip label.
hidden (series bool)
plot (series label) : The label object to be added and plotted via draw()
LineArgs
Fields:
line_color (series color) : Line color.
style (series string) : Line style. Possible values: line.style_solid, line.style_dotted, line.style_dashed, line.style_arrow_left, line.style_arrow_right, line.style_arrow_both.
width (series int) : Line width in pixels.
xloc (series string) : Possible values: xloc.bar_index and xloc.bar_time. Default is xloc.bar_index.
extend (series string) : f extend=extend.none, draws segment starting at point (x1, y1) and ending at point (x2, y2). If extend is equal to extend.right or extend.left, draws a ray starting at point (x1, y1) or (x2, y2), respectively. If extend=extend.both, draws a straight line that goes through these points. Default value is extend.none.
Line
Fields:
start (chart.point) : starting point of the line
end (chart.point)
hidden (series bool)
plot (series line) : The line object to be added and plotted via draw()
LineFill
Fields:
a (Line) : The first Line object
b (Line) : The second Line object
fill_color (series color) : The color used to fill the space between the lines.
flip_support (Line) : An additional Line that holds a flipped b support line (linefills are always drawn between line starts and line ends)
plot (series linefill) : The linefill object to be added and plotted via draw()
PolyLineArgs
Fields:
line_color (series color) : The color of the line segments. Optional. The default is color.gray.
fill_color (series color) : The fill color of the polyline. Optional. The default is na.
style (series string) : The style of the polyline. Possible values: line.style_solid, line.style_dotted, line.style_dashed, line.style_arrow_left, line.style_arrow_right, line.style_arrow_both. Optional. The default is line.style_solid.
width (series int) : The width of the line segments, expressed in pixels. Optional. The default is 1.
xloc (series string) : Determines the field of the chart.point objects in the points array that the polyline will use for its x-coordinates. If xloc.bar_index, the polyline will use the index field from each point. If xloc.bar_time, it will use the time field. Optional. The default is xloc.bar_index.
PolyLine
Fields:
points (array) : point array data of the polyline
curved (series bool) : Line color. If true, the drawing will connect all points from the points array using curved line segments. Optional. The default is false.
closed (series bool) : Line color. If true, the drawing will also connect the first point to the last point from the points array, resulting in a closed polyline. Optional. The default is false.
hidden (series bool)
plot (series polyline) : The polyline object to be added and plotted via draw()
CenterLabel
Fields:
center_label (Label) : The generated, centered Label
source_line (Line)
source_polyline (PolyLine)
BoxArgs
Fields:
border_color (series color) : Color of the four borders. Optional. The default is color.blue.
border_width (series int) : Width of the four borders, in pixels. Optional. The default is 1 pixel.
border_style (series string) : Style of the four borders. Possible values: line.style_solid, line.style_dotted, line.style_dashed. Optional. The default value is line.style_solid.
bg_color (series color) : Background color of the box. Optional. The default is color.blue.
xloc (series string) : Determines whether the arguments to 'left' and 'right' are a bar index or a time value. If xloc = xloc.bar_index, the arguments must be a bar index. If xloc = xloc.bar_time, the arguments must be a UNIX time. Possible values: xloc.bar_index and xloc.bar_time. Optional. The default is xloc.bar_index.
extend (series string) : When extend.none is used, the horizontal borders start at the left border and end at the right border. With extend.left or extend.right, the horizontal borders are extended indefinitely to the left or right of the box, respectively. With extend.both, the horizontal borders are extended on both sides. Optional. The default value is extend.none.
BoxTextArgs
Fields:
text_color (series color) : The color of the text. Optional. The default is color.black.
text_size (series string) : The size of the text. An optional parameter, the default value is size.auto. Possible values: size.auto, size.tiny, size.small, size.normal, size.large, size.huge.
text_halign (series string) : The horizontal alignment of the box's text. Optional. The default value is text.align_center. Possible values: text.align_left, text.align_center, text.align_right.
text_valign (series string) : The vertical alignment of the box's text. Optional. The default value is text.align_center. Possible values: text.align_top, text.align_center, text.align_bottom.
text_wrap (series string) : Defines whether the text is presented in a single line, extending past the width of the box if necessary, or wrapped so every line is no wider than the box itself (and clipped by the bottom border of the box if the height of the resulting wrapped text is higher than the height of the box). Optional. The default value is text.wrap_none. Possible values: text.wrap_none, text.wrap_auto.
text_font_family (series string) : The font family of the text. Optional. The default value is font.family_default. Possible values: font.family_default, font.family_monospace.
Box
Fields:
left_top (chart.point) : top-left corner of the box
right_bottom (chart.point) : bottom-right corner of the box
txt (series string) : The text to be displayed inside the box. Optional. The default is empty string.
hidden (series bool)
plot (series box) : The box object to be added and plotted via draw()
EMA Technical Analysis with Reversal ZonesThis Pine Script is a comprehensive technical analysis indicator that combines multiple trend and momentum indicators to provide trading signals and market insights. It consists of two main components:
1. EMA-Based Technical Analysis:
• Uses multiple Exponential Moving Averages (EMAs) (8, 9, 20, 21, 50) to identify trends and crossovers.
• Includes Volume Weighted Average Price (VWAP) for institutional price tracking.
• Incorporates MACD, Parabolic SAR (PSAR), RSI, Bollinger Bands (BB), and ADX for additional trend confirmation.
• Monitors SPX (S&P 500) and VIX (Volatility Index) for broader market conditions.
• Plots bullish/bearish EMA crossovers and allows alert conditions for trading signals.
• Displays a technical analysis table summarizing market conditions.
2. Reversal and Confirmation Zones:
• Uses Bollinger Bands and RSI to identify overbought/oversold conditions.
• Highlights potential reversal zones with background color shading.
• Includes alert conditions for deep overbought/oversold signals.
• Implements an additional EMA (9/21) and MACD-based confirmation system to filter false signals.
Overall, this script is designed for traders looking to identify both trend-following and reversal opportunities while keeping track of key market indicators. It offers visual cues, alerts, and a structured technical analysis framework for decision-making.
Estratégia Original com SL/TPA powerful TradingView indicator combining:
✅ Supertrend (trend filter)
✅ RSI 2 (early reversals)
✅ SMA 4/9 crossover (momentum confirmation)
✅ Auto Stop Loss & Take Profit (ATR-based or fixed)
🔥 Key Features:
Buy Signals (↑): Supertrend green + RSI 2 > 30 + SMA 4 > SMA 9
Sell Signals (↓): Supertrend red + SMA 4 < SMA 9 (low false signals)
Risk Management: Dynamic SL (1.5x ATR) & TP (2x ATR)
Clean Visualization: Entry/exit arrows + SL/TP lines
📊 Ideal For: Crypto, Forex, and Stocks (H1/Daily timeframes)
🎯 Why Use It?
Aggressive entries with RSI 2 + SMA 4
Conservative exits to lock profits
Fully customizable settings
FunkyQuokka's $ Volume💡 Why $ Volume Matters
Share volume alone is a half-truth — 1M shares traded at $5 isn’t the same as 1M shares at $500. That’s where dollar volume steps in, offering a far more accurate view of institutional interest, breakout validity, liquidity zones and overall trader conviction.
📈 Features:
Clean histogram of dollar volume (close × volume)
Orange line showing customizable average $ volume
K/M/B formatting for axis scale (no huge ugly numbers)
Minimal design to blend into a multi-pane layout
⚙️ Inputs:
Tweakable average length – defaults to 20
By FunkyQuokka 🦘
Dynamic Breakout Breakdown Trackerbreak out and break down calculator
you can calculate break out and break down from this indicator and this will calculate the levels dynamically
Enhanced Range Filter Strategy with ATR TP/SLBuilt by Omotola
## **Enhanced Range Filter Strategy: A Comprehensive Overview**
### **1. Introduction**
The **Enhanced Range Filter Strategy** is a powerful technical trading system designed to identify high-probability trading opportunities while filtering out market noise. It utilizes **range-based trend filtering**, **momentum confirmation**, and **volatility-based risk management** to generate precise entry and exit signals. This strategy is particularly useful for traders who aim to capitalize on trend-following setups while avoiding choppy, ranging market conditions.
---
### **2. Key Components of the Strategy**
#### **A. Range Filter (Trend Determination)**
- The **Range Filter** smooths price fluctuations and helps identify clear trends.
- It calculates an **adjusted price range** based on a **sampling period** and a **multiplier**, ensuring a dynamic trend-following approach.
- **Uptrends:** When the current price is above the range filter and the trend is strengthening.
- **Downtrends:** When the price falls below the range filter and momentum confirms the move.
#### **B. RSI (Relative Strength Index) as Momentum Confirmation**
- RSI is used to **filter out weak trades** and prevent entries during overbought/oversold conditions.
- **Buy Signals:** RSI is above a certain threshold (e.g., 50) in an uptrend.
- **Sell Signals:** RSI is below a certain threshold (e.g., 50) in a downtrend.
#### **C. ADX (Average Directional Index) for Trend Strength Confirmation**
- ADX ensures that trades are only taken when the trend has **sufficient strength**.
- Avoids trading in low-volatility, ranging markets.
- **Threshold (e.g., 25):** Only trade when ADX is above this value, indicating a strong trend.
#### **D. ATR (Average True Range) for Risk Management**
- **Stop Loss (SL):** Placed **one ATR below** (for long trades) or **one ATR above** (for short trades).
- **Take Profit (TP):** Set at a **3:1 reward-to-risk ratio**, using ATR to determine realistic price targets.
- Ensures volatility-adjusted risk management.
---
### **3. Entry and Exit Conditions**
#### **📈 Buy (Long) Entry Conditions:**
1. **Price is above the Range Filter** → Indicates an uptrend.
2. **Upward trend strength is positive** (confirmed via trend counter).
3. **RSI is above the buy threshold** (e.g., 50, to confirm momentum).
4. **ADX confirms trend strength** (e.g., above 25).
5. **Volatility is supportive** (using ATR analysis).
#### **📉 Sell (Short) Entry Conditions:**
1. **Price is below the Range Filter** → Indicates a downtrend.
2. **Downward trend strength is positive** (confirmed via trend counter).
3. **RSI is below the sell threshold** (e.g., 50, to confirm momentum).
4. **ADX confirms trend strength** (e.g., above 25).
5. **Volatility is supportive** (using ATR analysis).
#### **🚪 Exit Conditions:**
- **Stop Loss (SL):**
- **Long Trades:** 1 ATR below entry price.
- **Short Trades:** 1 ATR above entry price.
- **Take Profit (TP):**
- Set at **3x the risk distance** to achieve a favorable risk-reward ratio.
- **Ranging Market Exit:**
- If ADX falls below the threshold, indicating a weakening trend.
---
### **4. Visualization & Alerts**
- **Colored range filter line** changes based on trend direction.
- **Buy and Sell signals** appear as labels on the chart.
- **Stop Loss and Take Profit levels** are plotted as dashed lines.
- **Gray background highlights ranging markets** where trading is avoided.
- **Alerts trigger on Buy, Sell, and Ranging Market conditions** for automation.
---
### **5. Advantages of the Enhanced Range Filter Strategy**
✅ **Trend-Following with Noise Reduction** → Helps avoid false signals by filtering out weak trends.
✅ **Momentum Confirmation with RSI & ADX** → Ensures that only strong, valid trades are executed.
✅ **Volatility-Based Risk Management** → ATR ensures adaptive stop loss and take profit placements.
✅ **Works on Multiple Timeframes** → Effective for day trading, swing trading, and scalping.
✅ **Visually Intuitive** → Clearly displays trade signals, SL/TP levels, and trend conditions.
---
### **6. Who Should Use This Strategy?**
✔ **Trend Traders** who want to enter trades with momentum confirmation.
✔ **Swing Traders** looking for medium-term opportunities with a solid risk-reward ratio.
✔ **Scalpers** who need precise entries and exits to minimize false signals.
✔ **Algorithmic Traders** using alerts for automated execution.
---
### **7. Conclusion**
The **Enhanced Range Filter Strategy** is a powerful trading tool that combines **trend-following techniques, momentum indicators, and risk management** into a structured, rule-based system. By leveraging **Range Filters, RSI, ADX, and ATR**, traders can improve trade accuracy, manage risk effectively, and filter out unfavorable market conditions.
This strategy is **ideal for traders looking for a systematic, disciplined approach** to capturing trends while **avoiding market noise and false breakouts**. 🚀
Estrategia 15 MINThe 50-EMA and 200-EMA are exponential moving averages (EMA) used in technical analysis to identify trends. The 50-EMA is used to analyze short- and medium-term trends, while the 200-EMA is used to analyze long-term trends.
50-EMA
Averaged over 50 periods
Allows for faster reaction to price changes
Used to analyze short- and medium-term trends
200-EMA
Averaged over 200 periods
Indicates an overall trend
Used to analyze long-term trends
Davut Dayı Full EMA Stack StrategyEma stacking strategy for the honor of Davut Bilgili for his wisdom.
EMA's are generally stack to gether beware when the cross you should take action.