Candle body break (WD4H1H)When the body of a candlestick breaks on the weekly, daily, 4-hour, and 1-hour charts, a sign and horizontal line will be displayed. The alert corresponds to the break of the 1-hour chart, and although there are some places where it is not displayed accurately, it may be useful as a guide when determining whether a bottom or peak is forming.
Indicateurs et stratégies
QTheoryQTheory –
This indicator is built on Quarterly Theory (developed by Daye)
🔹 Quarterly Theory
Markets often unfold in repeating quarterly cycles (Q1–Q4) across multiple timeframes — yearly, monthly, weekly, daily, 90-minute, and even micro cycles. By dividing price action into these quarters, traders can better anticipate structural shifts, accumulation/distribution phases, and liquidity runs.
🔹 Sequential SMT (SSMT)
Sequential SMT extends standard SMT (Smart Money Technique) by comparing multiple assets (such as FX majors) to identify divergences across quarters.
🔹 Features of QTheory
Automatic detection of quarterly cycles across multiple timeframes.
Visual cycle boxes & customizable dividers.
Integrated SSMT signals with divergence line visualization.
DFR (Defining Range) with Fibonacci levels.
Support for up to 5 comparison assets, with inversion options.
Auto-cycle selection for seamless multi-timeframe adaptation.
Extensive customization for colors, opacity, and signal display.
🔹 How it works
QTheory divides price data into consistent “quarters” across multiple timeframes. Within each cycle, it tracks highs, lows, and divergences, then overlays this information as boxes, dividers, and optional signals on your chart. Traders can use these visual cues to better align entries and exits with institutional market behavior patterns.
🔹 How to use it
Enable the desired cycle type (e.g., weekly, daily, 90-minute) from the settings.
Toggle boxes, dividers, and signals depending on your trading style.
Use SSMT divergences and DFR Fibs to anticipate a reversal
Compare against other assets (e.g., DXY or correlated pairs) to refine confluence.
⚠️ Disclaimer: This tool is for educational purposes only. It does not constitute financial advice. Always perform your own analysis and risk management.
Attribution: Portions of this script extend the quarter-cycle logic from TFlab’s “Quarterly Theory ICT 04”, released under the Mozilla Public License 2.0
Cycle-Synced Channel Breakout📌 Cycle-Synced Channel Breakout – Detect Breakouts Confirmed by Candles and Momentum Cycles
📖 Overview
The Cycle-Synced Channel Breakout indicator is a precision breakout detection tool that combines the power of:
• Adaptive Keltner Channels
• Dominant Cycle Period Analysis (Ehlers-inspired)
• Candlestick Pattern Recognition (Engulfing)
This multi-layered approach helps identify true breakout opportunities by filtering out noise and false signals, making it ideal for swing traders and intraday traders seeking high-probability directional moves.
⚙️ How It Works
1. Keltner Channel Envelope
A dynamic volatility channel based on the EMA and ATR defines the upper and lower bounds of price movement.
2. Engulfing Candle Detection
The script detects strong bullish and bearish engulfing patterns, which often signal trend reversals or momentum continuations.
3. Dominant Cycle Momentum (Ehlers-inspired)
Using a smoothed power oscillator derived from a detrended price series, the indicator assesses whether momentum is accelerating during the breakout — filtering out weak moves.
4. Signal Confirmation Logic
A signal is only shown when:
• An engulfing pattern is detected, and
• Price breaks out of the Keltner Channel, and
• Momentum (cycle power) is rising
5. Visual Feedback
• Breakout signals are plotted with “BUY” or “SELL” labels
• Faded green/red background highlights confirmed breakouts
• Optional display of engulfing candles with triangle markers
⸻
🛠️ Key Features
• ✅ Adaptive Keltner Channels
• ✅ Bullish/Bearish Engulfing Candle Recognition
• ✅ Ehlers-style Cycle Momentum Confirmation
• ✅ Background highlights for confirmed breakouts
• ✅ Optional candle pattern visualization
• ✅ Lightweight and Pine v6 compatible
⸻
🧪 Inputs
• Keltner Length – EMA period for channel basis
• Multiplier – Multiplied with ATR to determine band width
• Cycle Lookback – Used to calculate smoothed cycle power
• Show Engulfing Candles? – Toggles candlestick signals
• Show Breakout Signals? – Toggles breakout labels and backgrounds
⸻
🧠 How to Use
• Look for “BUY” or “SELL” labels when:
• An engulfing candle breaks through the Keltner Channel
• Cycle momentum confirms strength behind the move
• The background color will faintly highlight the breakout direction.
• Use in combination with other trend or volume indicators for added confluence.
🔒 Notes
• This indicator is not repainting.
• It is designed for educational and research purposes only.
• Works across all timeframes and asset classes (stocks, crypto, forex, etc.)
Stop ATR [TheAlphaGroup]The Stop ATR is a volatility-based trailing stop that adapts dynamically to market conditions.
It uses the Average True Range (ATR) to plot a continuous “stair-step” line:
• In uptrend, the stop appears below price as a green line, rising with volatility.
• In downtrend, the stop appears above price as a red line, falling with volatility.
Unlike fixed stops, the Stop ATR never moves backward. It only trails in the direction of the trend, locking in profits while leaving room for price to move.
Key features:
• ATR-based trailing stop that adapts to volatility.
• Clean “one line only” design — no overlap of signals.
• Adjustable ATR period and multiplier for flexibility.
• Color-coded visualization for quick trend recognition.
How traders use it:
• Manage trades with volatility-adjusted stop placement (trailing stop).
• Identify trend reversals when price closes across the stop.
• Combine with other entry signals for a complete strategy.
EMA Separation (LFZ Scalps) v6 — Early TriggerPlots the percentage distance between a fast and a slow EMA (default 9 & 21) to gauge trend strength and filter out choppy London Flow Zone breakouts.
• Gray – EMAs nearly flat (low momentum, avoid trades)
• Orange – early trend building
• Green/Red – strong directional momentum
Useful for day-traders: wait for the gap to widen beyond your chosen threshold (e.g., 0.25 %) before entering a breakout. Adjustable EMA lengths and alert when the separation exceeds your “strong trend” level.
TRP Stop-Loss_Trailing SL# TRP Stop-Loss Indicator
## Overview
The TRP (True Range Percentage) Stop-Loss indicator is an advanced volatility-based stop-loss tool that provides dynamic position protection based on market volatility. Unlike traditional ATR-based indicators, TRP calculates volatility as a percentage of price, offering superior adaptability across different price ranges and market conditions.
## What is TRP and Why It's Superior to ATR
### TRP (True Range Percentage)
TRP calculates the true range as a percentage of the closing price, providing a **normalized volatility measure**. The formula is:
```
TRP = (True Range / Close) × 100
```
### Key Advantages of TRP over ATR:
1. **Price-Normalized Volatility**: TRP automatically adjusts for different price levels, making it equally effective whether you're trading a $10 stock or a $1000 stock.
2. **Percentage-Based Risk**: TRP gives you direct percentage risk values, making position sizing and risk management more intuitive.
3. **Better Cross-Market Comparison**: Unlike ATR, TRP allows you to compare volatility across different instruments on an equal basis.
4. **Adaptive to Market Conditions**: TRP naturally scales with price movements, providing more relevant stop-loss levels during trending markets.
5. **Consistent Risk Exposure**: Maintains consistent percentage risk regardless of the underlying asset's price level.
## Indicator Features
### 🎯 **Dual Stop-Loss System**
- **Long SL**: Red line below price for long positions
- **Short SL**: Blue line above price for short positions
- Independent control for each direction
### ⚙️ **Advanced Calculation Options**
#### **Multiple TRP Calculation Sources:**
- **Current Candle**: Uses real-time running candle data
- **Previous Close**: Uses completed candle data (default)
- **Last Green Candle**: For longs - uses TRP from the most recent bullish candle
- **Last Red Candle**: For shorts - uses TRP from the most recent bearish candle
#### **Independent Multipliers:**
- Separate multiplier controls for long and short stop-losses
- Adjust risk levels independently (0.1x to 10x+ range)
- Fine-tune stop-loss distance based on your risk tolerance
### 📊 **Visual Customization**
- **Line Styles**: Solid, dashed, or dotted lines
- **Custom Colors**: Separate color controls for long/short SL
- **Line Width**: Adjustable thickness (1-10)
- **Extension**: Customizable projection bars to the right
### 🏷️ **Smart Labeling System**
- **Value Display**: Shows exact SL price on the right side of lines
- **Toggle Control**: Enable/disable labels as needed
- **Size Options**: 5 different label sizes (tiny to huge)
- **Color Coordination**: Labels match their respective line colors
### ⏰ **Multi-Timeframe Support**
- Calculate TRP on any timeframe while viewing on another
- Default: Daily TRP calculation for intraday charts
- Maintains calculation integrity across timeframe switches
## How to Use
### Basic Setup:
1. Add the indicator to your chart
2. Select your preferred timeframe for TRP calculation
3. Choose calculation source for long and short positions
4. Adjust multipliers based on your risk tolerance
### Risk Management Applications:
- **Conservative**: Use 0.5-0.8 multipliers for tighter stops
- **Standard**: Use 1.0 multiplier for normal volatility-based stops
- **Aggressive**: Use 1.2-2.0 multipliers for wider stops in volatile markets
### Advanced Strategies:
- **Trend Following**: Use "Last Green/Red Candle" sources to adapt to momentum changes
- **Breakout Trading**: Use "Current Candle" for real-time stop adjustments
- **Swing Trading**: Use "Previous Close" for stable, confirmed levels
## Key Benefits
✅ **Dynamic Adaptation**: Automatically adjusts to changing market volatility
✅ **Percentage Risk Control**: Direct percentage-based risk management
✅ **Multi-Strategy Compatible**: Works with scalping, day trading, and swing trading
✅ **Visual Clarity**: Clean, professional chart display with customizable appearance
✅ **Real-Time Updates**: Instant recalculation when settings change
✅ **No Overlapping Lines**: Smart line management prevents chart clutter
## Best Practices
1. **Backtest First**: Test different multiplier settings on historical data
2. **Market Adaptation**: Adjust multipliers based on current market volatility regime
3. **Combine with Other Signals**: Use TRP stops with your existing entry signals
4. **Position Sizing**: Use TRP percentage values for consistent position sizing
5. **Regular Review**: Periodically review and adjust settings based on performance
## Technical Specifications
- **Pine Script Version**: v6
- **Overlay**: Yes (draws directly on price chart)
- **Calculations**: Based on 50-period EMA of TRP values
- **Updates**: Real-time with automatic line management
- **Performance**: Optimized for fast execution and minimal lag
This indicator is ideal for traders who want professional-grade, volatility-adaptive stop-loss management with the flexibility to fine-tune risk parameters across different market conditions and trading styles.
Quadro Volume Profile- ArchitThe volume profile indicator is an advanced charting tool that displays trading activity (volume) at specific price levels during a selected time period. Unlike traditional volume indicators, which show volume over time (below the price chart), the volume profile plots a histogram on the price axis to show where the most trading has occurred for each price point.
Iron Condor Pro v6 – Full EngineIronCondor Engine v6.6 is a multi-mode options strategy tool for planning and managing iron condors, straddles, strangles, and butterflies. It supports both setup planning and live trade tracking with modeled delta, risk-based strike selection, IV rank estimation, and visual breach alerts.
Use Setup Mode to preview strike structures based on IV proxy, ATR, delta targeting, and risk tier (High/Mid/Low/Delta). Use Live Mode to track real trades, enter strike/premium data, and monitor live P&L, delta drift, and range status.
This script does not connect to live option chains. Volatility and delta are modeled using price history. All strikes and premiums must be confirmed using your broker before placing trades. Best used with strong support/resistance levels and high IV rank (30%+).
For educational purposes only.
Workflow Guide
Use this flow whether you're setting up on Sunday night or any day before placing a trade.
Step 0: Pre-Script Preparation
Before using the script:
Identify major support and resistance zones on your chart. Define the expected range or consolidation area. Use this context to help evaluate strike placement
1. Setup Phase (Pre-Trade Planning)
Step 1 – Load the Script
Add: IronCondor Engine v6.6 – Full Risk/Decay Edition to your chart
Step 2 – Set Mode = Setup
This enables planning mode, where the engine calculates strike combinations based on:
Your selected risk profile (High, Mid, Low, or Delta)
Historical volatility (20-day log return)
ATR (Average True Range)
Target short delta (adjustable)
Step 3 – Review Setup Table
Enable Show Setup Table to view calculated strikes and width by risk tier.
Adjust any of the following as needed:
Target Short Delta
Strike Interval ($)
Width multipliers (High/Mid/Low)
Risk tier under Auto-Feed Choice
Step 4 – Evaluate the Setup
Is the net credit at least 1.5–2.0x your max risk?
Are the short strikes clearly outside support/resistance zones?
Are the short deltas between 0.15 and 0.30?
Is the range wide enough to handle normal price movement?
Step 5 – Prep for Execution
Enable Auto-Feed Setup → Live to carry Setup strikes into Live mode
Or disable it if you prefer to manually enter strikes later
2. Trade Execution (Live Tracking Mode)
Step 1 – Place the Trade with Your Broker
Use your brokerage (TOS, Tasty, IBKR, etc.) to place the iron condor or other structure
Step 2 – Set Mode = Live
In Live mode:
If Auto-Feed is ON, the Setup strikes auto-populate
If Auto-Feed is OFF, manually enter:
Short and long strikes (Call and Put)
Premiums collected/paid per leg
Total net credit (Entry Credit)
Optional: Input current mid prices for each leg in the "Live Chain" section to track live mark-to-market P&L
Once all required fields are valid, the script activates:
Real-time profit/loss tracking
Max risk estimate
Delta monitoring on short legs
IV Rank estimate
Breach detection system
Chart visuals (if enabled)
3. Trade Management (During the Week)
While the trade is active, use the dashboard and visuals to monitor:
Key Metrics:
Unrealized P/L %
Mark-to-market value vs entry credit
Daily decay (theta)
Days until expiration
Breach status:
In Range
Near Breach
Breached
Alerts:
Price near short strike → suggests roll
Price breaches long strike → breach alert
50% or 75% profit → optional exit signal
Delta exceeds threshold → exposure may need adjustment
Management Tips:
At 50–75% profit: consider closing early
If price nears a short leg: roll, hedge, or manage
If nearing expiry: decide whether to hold or close
If IV collapses: may accelerate time decay or reduce exit value
4. End-of-Week or Expiration Management
If Profit Target Hit
Close early to reduce risk and lock gains
If Still Open Near Expiry
Close the position or
Hold through expiration only if you're fully prepared for pinning/gamma/assignment scenarios
Avoid holding open spreads over the weekend unless part of a defined strategy
Reference Notes
Strike Width
Defined as:
Width = Distance between Short and Long strike
Used for calculating max loss and breach visuals
Delta Guidelines
0.15–0.20 = safer, wider range, lower credit
0.25–0.30 = more aggressive, tighter range, higher credit
Use Target Short Delta input to adjust auto-selected strikes accordingly
Credit Example
Sell Call: $1.04
Sell Put: $0.23
Buy Call + Put wings: $0.14
Net Credit = $1.13 = $113 per contract (max profit)
This is the max profit if price stays between short strikes through expiration
IV Rank (Estimated)
This script does not use options chain IV data.
Instead, it calculates a volatility proxy:
ivRaw = ta.stdev(log returns, 20) * sqrt(252)
IV Rank is then calculated as the percentile of this value within the last 252 bars.
High IV Rank (30%–100%) → better premium-selling conditions
Low IV Rank (<30%) → lower edge for condors
Ideal to sell premium when IV Rank is above 30–50%
Disclosures and Limitations
This script is for educational use only
It does not connect to live option chains
All strikes, deltas, and premiums must be validated through your broker
Always confirm real-time IV, delta, and pricing before placing a trade
KDJ Divergence Indicator(Regular & Hidden)📌 中文介绍
KDJ 背离指标(副图版,支持 Regular & Hidden)
这是一个基于 KDJ 指标 的背离检测工具,可以在副图中直观显示 Regular 背离(顶背离/底背离) 和 Hidden 背离(隐藏顶/隐藏底)。
功能特点:
可选计算基线:支持以 J 值 或 K 值 作为背离判定依据。
多种背离类型:
Regular Bullish(底背离):价格创新低,但指标不创新低 → 可能反弹。
Regular Bearish(顶背离):价格创新高,但指标不创新高 → 可能回落。
Hidden Bullish(隐藏底背离):价格不创新低,但指标创新低 → 可能延续上涨。
Hidden Bearish(隐藏顶背离):价格不创新高,但指标创新高 → 可能延续下跌。
连线显示:在副图用线条连接前后两个背离点,帮助更直观地发现趋势变化。
自定义选项:
可选择是否显示 Regular / Hidden 背离。
可调整回溯范围(左侧/右侧/最大最小)。
可自定义颜色和信号样式。
报警提醒:背离出现时会触发报警。
适合:
波段交易者寻找趋势反转。
短线交易者捕捉关键拐点。
技术分析结合 KDJ 的交易策略。
📌 English Introduction
KDJ Divergence Indicator (Sub-Chart, Regular & Hidden Supported)
This is a KDJ-based divergence detection tool, plotted in a sub-window, that highlights Regular Divergences (Bullish/Bearish) and Hidden Divergences (Hidden Bullish/Hidden Bearish).
Key Features:
Selectable Oscillator Line: Choose between J or K line as the basis for divergence detection.
Divergence Types:
Regular Bullish: Price makes a lower low, but oscillator makes a higher low → potential rebound.
Regular Bearish: Price makes a higher high, but oscillator makes a lower high → potential drop.
Hidden Bullish: Price holds higher low, but oscillator makes a lower low → potential trend continuation upward.
Hidden Bearish: Price holds lower high, but oscillator makes a higher high → potential trend continuation downward.
Line Connections: Draws connecting lines between divergence points for better visual clarity.
Customizable Settings:
Enable/disable Regular & Hidden divergences.
Adjustable left/right lookback and range filters.
Custom colors and shapes for signals.
Alert Ready: Alerts trigger when divergences are detected.
Best for:
Swing traders spotting trend reversals.
Short-term traders catching turning points.
Technical analysts using KDJ-based strategies.
Trend ScalperThe Trend Scalper is a simple EMA-based trend-following and scalping indicator designed to help traders identify potential long and short trading opportunities on any timeframe. It uses a three-EMA strategy to filter trades in the direction of the prevailing trend while refining entry signals based on price reactions to the EMAs.
Here’s how it works:
It calculates three Exponential Moving Averages (EMA) with customizable lengths (default: 9, 21, and 89).
A long signal is generated when the EMAs align in bullish order (EMA1 > EMA2 > EMA3) and the price low dips into the zone between EMA1 and EMA2. This indicates a pullback into short-term support while the broader trend remains bullish.
A short signal is generated when the EMAs align in bearish order (EMA1 < EMA2 < EMA3) and the price high rises into the zone between EMA1 and EMA2. This indicates a pullback into resistance within a bearish trend.
The EMAs are plotted on the chart for visual guidance, while buy and sell signals are displayed as up and down triangles directly on price bars.
Best use practices:
The indicator works best as a trend continuation scalping tool, aiming to join established market direction after minor pullbacks.
It is most effective on liquid assets and in trending market conditions. Avoid relying on signals during sideways or choppy markets.
For confirmation, combine with volume, momentum oscillators, or higher timeframe trend analysis.
Risk management is critical: consider setting stop losses beyond EMA zones or recent swing highs/lows, and use take profits that match your risk-reward plan.
This indicator provides clean, rule-based signals that help traders time entries within the broader context of the trend. It is not a standalone strategy but a tool to assist in disciplined trade execution.
RSI Crossover with Candlestick Patternsusing the RSI indicator levels 40 and 60, where the signal cuts above level 40 with a candlestick hammer or bull engulfing and cuts below level 60 with a candlestick inverter hammer or bearish engulfing.
OBV Cross Signals With Buy/Sell & AlertThis TradingView indicator generates Buy and Sell signals based on the On-Balance Volume (OBV) and its Signal line crossover/crossunder. Labels are plotted just above or below the candles at the exact points where OBV crosses the Signal line.
It includes a single alert (“New Cross”) that triggers once per new crossover or crossunder, allowing traders to receive timely notifications for potential trend changes.
Built using an existing open-source OBV script on TradingView. Sincere thanks to Everget for the base code.
卡蛋K线反转Currently, only entry signals and reversal signals are available.
Continuous updates are planned, with subsequent plans to add alarm and reversal alerts.
Week Start/End Bar CoordinatesGive the Bar Index for the First and Last of the Week,
input the coordinates directly into the Fixed Range Volume Profile
RSI ROC Signals with Price Action# RSI ROC Signals with Price Action
## Overview
The RSI ROC (Rate of Change) Signals indicator is an advanced momentum-based trading system that combines RSI velocity analysis with price action confirmation to generate high-probability buy and sell signals. This indicator goes beyond traditional RSI analysis by measuring the speed of RSI changes and requiring price confirmation before triggering signals.
## Core Concept: RSI Rate of Change (ROC)
### What is RSI ROC?
RSI ROC measures the **velocity** or **acceleration** of the RSI indicator, providing insights into momentum shifts before they become apparent in traditional RSI readings.
**Formula**: `RSI ROC = ((Current RSI - Previous RSI) / Previous RSI) × 100`
### Why RSI ROC is Superior to Standard RSI:
1. **Early Momentum Detection**: Identifies momentum shifts before RSI reaches traditional overbought/oversold levels
2. **Velocity Analysis**: Measures the speed of momentum changes, not just absolute levels
3. **Reduced False Signals**: Filters out weak momentum moves that don't sustain
4. **Dynamic Thresholds**: Adapts to market volatility rather than using fixed RSI levels
5. **Leading Indicator**: Provides earlier signals compared to traditional RSI crossovers
## Signal Generation Logic
### 🟢 Buy Signal Process (3-Stage System):
#### Stage 1: Trigger Activation
- **RSI ROC** > threshold (default 7%) - RSI accelerating upward
- **Price ROC** > 0 - Price moving higher
- Records the **trigger high** (highest point during trigger)
#### Stage 2: Invalidation Check
- Signal invalidated if **RSI ROC** drops below negative threshold
- Prevents false signals during momentum reversals
#### Stage 3: Confirmation
- **Price breaks above trigger high** - Price action confirmation
- **Current candle is green** (close > open) - Bullish price action
- **State alternation** - Ensures no consecutive duplicate signals
### 🔴 Sell Signal Process (3-Stage System):
#### Stage 1: Trigger Activation
- **RSI ROC** < negative threshold (default -7%) - RSI accelerating downward
- **Price ROC** < 0 - Price moving lower
- Records the **trigger low** (lowest point during trigger)
#### Stage 2: Invalidation Check
- Signal invalidated if **RSI ROC** rises above positive threshold
- Prevents false signals during momentum reversals
#### Stage 3: Confirmation
- **Price breaks below trigger low** - Price action confirmation
- **Current candle is red** (close < open) - Bearish price action
- **State alternation** - Ensures no consecutive duplicate signals
## Key Features
### 🎯 **Smart Signal Management**
- **State Alternation**: Prevents signal clustering by alternating between buy/sell states
- **Trigger Invalidation**: Automatically cancels weak signals that lose momentum
- **Price Confirmation**: Requires actual price breakouts, not just momentum shifts
- **No Repainting**: Signals are confirmed and won't disappear or change
### ⚙️ **Customizable Parameters**
#### **RSI Length (Default: 14)**
- Standard RSI calculation period
- Shorter periods = more sensitive to price changes
- Longer periods = smoother, less noisy signals
#### **Lookback Period (Default: 1)**
- Period for ROC calculations
- 1 = compares to previous bar (most responsive)
- Higher values = smoother momentum detection
#### **RSI ROC Threshold (Default: 7%)**
- Minimum RSI velocity required for signal trigger
- Lower values = more signals, potentially more noise
- Higher values = fewer but higher-quality signals
### 📊 **Visual Signals**
- **Green Arrow Up**: Buy signal below price bar
- **Red Arrow Down**: Sell signal above price bar
- **Clean Chart**: No additional lines or oscillators cluttering the view
- **Size Options**: Customizable arrow sizes for visibility preferences
## Advantages Over Traditional Indicators
### vs. Standard RSI:
✅ **Earlier Signals**: Detects momentum changes before RSI reaches extremes
✅ **Dynamic Thresholds**: Adapts to market conditions vs. fixed 30/70 levels
✅ **Velocity Focus**: Measures momentum speed, not just position
✅ **Better Timing**: Combines momentum with price action confirmation
### vs. Moving Average Crossovers:
✅ **Leading vs. Lagging**: RSI ROC is forward-looking vs. backward-looking MAs
✅ **Volatility Adaptive**: Automatically adjusts to market volatility
✅ **Fewer Whipsaws**: Built-in invalidation logic reduces false signals
✅ **Momentum Focus**: Captures acceleration, not just direction changes
### vs. MACD:
✅ **Price-Normalized**: RSI ROC works consistently across different price ranges
✅ **Simpler Logic**: Clear trigger/confirmation process vs. complex crossovers
✅ **Built-in Filters**: Automatic signal quality control
✅ **State Management**: Prevents over-trading through alternation logic
## Trading Applications
### 📈 **Trend Following**
- Use in trending markets to catch momentum continuations
- Combine with trend filters for directional bias
- Excellent for breakout strategies
### 🔄 **Swing Trading**
- Ideal timeframes: 4H, Daily, Weekly
- Captures major momentum shifts
- Perfect for position entries/exits
### ⚡ **Scalping (Advanced Users)**
- Lower timeframes: 1m, 5m, 15m
- Reduce threshold for more frequent signals
- Combine with volume confirmation
### 🎯 **Momentum Strategies**
- Perfect for momentum-based trading systems
- Identifies acceleration phases in trends
- Complements breakout and continuation patterns
## Optimization Guidelines
### **Conservative Settings (Lower Risk)**
- RSI Length: 21
- ROC Threshold: 10%
- Lookback: 2
### **Standard Settings (Balanced)**
- RSI Length: 14 (default)
- ROC Threshold: 7% (default)
- Lookback: 1 (default)
### **Aggressive Settings (Higher Frequency)**
- RSI Length: 7
- ROC Threshold: 5%
- Lookback: 1
## Best Practices
### 🎯 **Entry Strategy**
1. Wait for signal arrow confirmation
2. Consider market context (trend, support/resistance)
3. Use proper position sizing based on volatility
4. Set stop-loss below/above trigger levels
### 🛡️ **Risk Management**
1. **Stop Loss**: Place beyond trigger high/low levels
2. **Position Sizing**: Use 1-2% risk per trade
3. **Market Context**: Avoid counter-trend signals in strong trends
4. **Time Filters**: Consider avoiding signals near major news events
### 📊 **Backtesting Recommendations**
1. Test on multiple timeframes and instruments
2. Analyze win rate vs. average win/loss ratio
3. Consider transaction costs in backtesting
4. Optimize threshold values for different market conditions
## Technical Specifications
- **Pine Script Version**: v6
- **Signal Type**: Non-repainting, confirmed signals
- **Calculation Basis**: RSI velocity with price action confirmation
- **Update Frequency**: Real-time on bar close
- **Memory Management**: Efficient state tracking with minimal resource usage
## Ideal For:
- **Momentum Traders**: Captures acceleration phases
- **Swing Traders**: Medium-term position entries/exits
- **Breakout Traders**: Confirms momentum behind breakouts
- **System Traders**: Mechanical signal generation with clear rules
This indicator represents a significant evolution in momentum analysis, combining the reliability of RSI with the precision of rate-of-change analysis and the confirmation of price action. It's designed for traders who want sophisticated momentum detection with built-in quality controls.
By Gadirov Hyper-Aggressive Multi-Timeframe Binary SignalsBy Gadirov Hyper-Aggressive Multi-Timeframe Binary Signals
Volume Delta Volume Signals by Claudio [hapharmonic]// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © hapharmonic
//@version=6
FV = format.volume
FP = format.percent
indicator('Volume Delta Volume Signals by Claudio ', format = FV, max_bars_back = 4999, max_labels_count = 500)
//------------------------------------------
// Settings |
//------------------------------------------
bool usecandle = input.bool(true, title = 'Volume on Candles',display=display.none)
color C_Up = input.color(#12cef8, title = 'Volume Buy', inline = ' ', group = 'Style')
color C_Down = input.color(#fe3f00, title = 'Volume Sell', inline = ' ', group = 'Style')
// ✅ Nueva entrada para colores de señales
color buySignalColor = input.color(color.new(color.green, 0), "Buy Signal Color", group = "Signals")
color sellSignalColor = input.color(color.new(color.red, 0), "Sell Signal Color", group = "Signals")
string P_ = input.string(position.top_right,"Position",options = ,
group = "Style",display=display.none)
string sL = input.string(size.small , 'Size Label', options = , group = 'Style',display=display.none)
string sT = input.string(size.normal, 'Size Table', options = , group = 'Style',display=display.none)
bool Label = input.bool(false, inline = 'l')
History = input.bool(true, inline = 'l')
// Inputs for EMA lengths and volume confirmation
bool MAV = input.bool(true, title = 'EMA', group = 'EMA')
string volumeOption = input.string('Use Volume Confirmation', title = 'Volume Option', options = , group = 'EMA',display=display.none)
bool useVolumeConfirmation = volumeOption == 'none' ? false : true
int emaFastLength = input(12, title = 'Fast EMA Length', group = 'EMA',display=display.none)
int emaSlowLength = input(26, title = 'Slow EMA Length', group = 'EMA',display=display.none)
int volumeConfirmationLength = input(6, title = 'Volume Confirmation Length', group = 'EMA',display=display.none)
string alert_freq = input.string(alert.freq_once_per_bar_close, title="Alert Frequency",
options= ,group = "EMA",
tooltip="If you choose once_per_bar, you will receive immediate notifications (but this may cause interference or indicator repainting).
However, if you choose once_per_bar_close, it will wait for the candle to confirm the signal before notifying.",display=display.none)
//------------------------------------------
// UDT_identifier |
//------------------------------------------
type OHLCV
float O = open
float H = high
float L = low
float C = close
float V = volume
type VolumeData
float buyVol
float sellVol
float pcBuy
float pcSell
bool isBuyGreater
float higherVol
float lowerVol
color higherCol
color lowerCol
//------------------------------------------
// Calculate volumes and percentages |
//------------------------------------------
calcVolumes(OHLCV ohlcv) =>
var VolumeData data = VolumeData.new()
data.buyVol := ohlcv.V * (ohlcv.C - ohlcv.L) / (ohlcv.H - ohlcv.L)
data.sellVol := ohlcv.V - data.buyVol
data.pcBuy := data.buyVol / ohlcv.V * 100
data.pcSell := 100 - data.pcBuy
data.isBuyGreater := data.buyVol > data.sellVol
data.higherVol := data.isBuyGreater ? data.buyVol : data.sellVol
data.lowerVol := data.isBuyGreater ? data.sellVol : data.buyVol
data.higherCol := data.isBuyGreater ? C_Up : C_Down
data.lowerCol := data.isBuyGreater ? C_Down : C_Up
data
//------------------------------------------
// Get volume data |
//------------------------------------------
ohlcv = OHLCV.new()
volData = calcVolumes(ohlcv)
// Plot volumes and create labels
plot(ohlcv.V, color=color.new(volData.higherCol, 90), style=plot.style_columns, title='Total',display = display.all - display.status_line)
plot(ohlcv.V, color=volData.higherCol, style=plot.style_stepline_diamond, title='Total2', linewidth = 2,display = display.pane)
plot(volData.higherVol, color=volData.higherCol, style=plot.style_columns, title='Higher Volume', display = display.all - display.status_line)
plot(volData.lowerVol , color=volData.lowerCol , style=plot.style_columns, title='Lower Volume',display = display.all - display.status_line)
S(D,F)=>str.tostring(D,F)
volStr = S(math.sign(ta.change(ohlcv.C)) * ohlcv.V, FV)
buyVolStr = S(volData.buyVol , FV )
sellVolStr = S(volData.sellVol , FV )
// ✅ MODIFICACIÓN: Porcentaje sin decimales
buyPercentStr = str.tostring(math.round(volData.pcBuy)) + " %"
sellPercentStr = str.tostring(math.round(volData.pcSell)) + " %"
totalbuyPercentC_ = volData.buyVol / (volData.buyVol + volData.sellVol) * 100
sup = not na(ohlcv.V)
if sup
TC = text.align_center
CW = color.white
var table tb = table.new(P_, 6, 6, bgcolor = na, frame_width = 2, frame_color = chart.fg_color, border_width = 1, border_color = CW)
tb.cell(0, 0, text = 'Volume Candles', text_color = #FFBF00, bgcolor = #0E2841, text_halign = TC, text_valign = TC, text_size = sT)
tb.merge_cells(0, 0, 5, 0)
tb.cell(0, 1, text = 'Current Volume', text_color = CW, bgcolor = #0B3040, text_halign = TC, text_valign = TC, text_size = sT)
tb.merge_cells(0, 1, 1, 1)
tb.cell(0, 2, text = 'Buy', text_color = #000000, bgcolor = #92D050, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(1, 2, text = 'Sell', text_color = #000000, bgcolor = #FF0000, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(0, 3, text = buyVolStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(1, 3, text = sellVolStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(0, 5, text = 'Net: ' + volStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
tb.merge_cells(0, 5, 1, 5)
tb.cell(0, 4, text = buyPercentStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(1, 4, text = sellPercentStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
cellCount = 20
filledCells = 0
for r = 5 to 1 by 1
for c = 2 to 5 by 1
if filledCells < cellCount * (totalbuyPercentC_ / 100)
tb.cell(c, r, text = '', bgcolor = C_Up)
else
tb.cell(c, r, text = '', bgcolor = C_Down)
filledCells := filledCells + 1
filledCells
if Label
sp = ' '
l = label.new(bar_index, ohlcv.V,
text=str.format('Net: {0} Buy: {1} ({2}) Sell: {3} ({4}) {5}/\ {5}l {5}l',
volStr, buyVolStr, buyPercentStr, sellVolStr, sellPercentStr, sp),
style=label.style_none, textcolor=volData.higherCol, size=sL, textalign=text.align_left)
if not History
(l ).delete()
//------------------------------------------
// Draw volume levels on the candlesticks |
//------------------------------------------
float base = na,float value = na
bool uc = usecandle and sup
if volData.isBuyGreater
base := math.min(ohlcv.O, ohlcv.C)
value := base + math.abs(ohlcv.O - ohlcv.C) * (volData.pcBuy / 100)
else
base := math.max(ohlcv.O, ohlcv.C)
value := base - math.abs(ohlcv.O - ohlcv.C) * (volData.pcSell / 100)
barcolor(sup ? color.new(na, na) : ohlcv.C < ohlcv.O ? color.red : color.green,display = usecandle? display.all:display.none)
UseC = uc ? volData.higherCol:color.new(na, na)
plotcandle(uc?base:na, uc?base:na, uc?value:na, uc?value:na,
title='Body', color=UseC, bordercolor=na, wickcolor=UseC,
display = usecandle ? display.all - display.status_line : display.none, force_overlay=true,editable=false)
plotcandle(uc?ohlcv.O:na, uc?ohlcv.H:na, uc?ohlcv.L:na, uc?ohlcv.C:na,
title='Fill', color=color.new(UseC,80), bordercolor=UseC, wickcolor=UseC,
display = usecandle ? display.all - display.status_line : display.none, force_overlay=true,editable=false)
//------------------------------------------------------------
// Plot the EMA and filter out the noise with volume control. |
//------------------------------------------------------------
float emaFast = ta.ema(ohlcv.C, emaFastLength)
float emaSlow = ta.ema(ohlcv.C, emaSlowLength)
bool signal = emaFast > emaSlow
color c_signal = signal ? C_Up : C_Down
float volumeMA = ta.sma(ohlcv.V, volumeConfirmationLength)
bool crossover = ta.crossover(emaFast, emaSlow)
bool crossunder = ta.crossunder(emaFast, emaSlow)
isVolumeConfirmed(source, length, ma) =>
math.sum(source > ma ? source : 0, length) >= math.sum(source < ma ? source : 0, length)
bool ISV = isVolumeConfirmed(ohlcv.V, volumeConfirmationLength, volumeMA)
bool crossoverConfirmed = crossover and (not useVolumeConfirmation or ISV)
bool crossunderConfirmed = crossunder and (not useVolumeConfirmation or ISV)
PF = MAV ? emaFast : na
PS = MAV ? emaSlow : na
p1 = plot(PF, color = c_signal, editable = false, force_overlay = true, display = display.pane)
plot(PF, color = color.new(c_signal, 80), linewidth = 10, editable = false, force_overlay = true, display = display.pane)
plot(PF, color = color.new(c_signal, 90), linewidth = 20, editable = false, force_overlay = true, display = display.pane)
plot(PF, color = color.new(c_signal, 95), linewidth = 30, editable = false, force_overlay = true, display = display.pane)
plot(PF, color = color.new(c_signal, 98), linewidth = 45, editable = false, force_overlay = true, display = display.pane)
p2 = plot(PS, color = c_signal, editable = false, force_overlay = true, display = display.pane)
plot(PS, color = color.new(c_signal, 80), linewidth = 10, editable = false, force_overlay = true, display = display.pane)
plot(PS, color = color.new(c_signal, 90), linewidth = 20, editable = false, force_overlay = true, display = display.pane)
plot(PS, color = color.new(c_signal, 95), linewidth = 30, editable = false, force_overlay = true, display = display.pane)
plot(PS, color = color.new(c_signal, 98), linewidth = 45, editable = false, force_overlay = true, display = display.pane)
fill(p1, p2, top_value=crossover ? emaFast : emaSlow,
bottom_value =crossover ? emaSlow : emaFast,
top_color =color.new(c_signal, 80),
bottom_color =color.new(c_signal, 95)
)
// ✅ Usar colores configurables para señales
plotshape(crossoverConfirmed and MAV, style=shape.triangleup , location=location.belowbar, color=buySignalColor , size=size.small, force_overlay=true,display =display.pane)
plotshape(crossunderConfirmed and MAV, style=shape.triangledown, location=location.abovebar, color=sellSignalColor, size=size.small, force_overlay=true,display =display.pane)
string msg = '--------- '+"Buy volume ="+buyVolStr+" Buy Percent = "+buyPercentStr+" Sell volume = "+sellVolStr+" Sell Percent = "+sellPercentStr+" Net = "+volStr+' ---------'
if crossoverConfirmed
alert("Price (" + str.tostring(close) + ") Crossed over MA " + msg, alert_freq)
if crossunderConfirmed
alert("Price (" + str.tostring(close) + ") Crossed under MA " + msg, alert_freq)
MYM Edge Booster MYM Long Trading Assistant - ATR-Based Edge Booster
Clean, simple indicator that tells you when MYM long setups meet high-probability criteria. No complicated charts - just clear numbers and signals.
• ATR Targets & Stops (whole numbers)
• Quality Score (0-3 stars)
• Green Circle when conditions perfect
• Warnings for choppy/high volatility
• ES/NQ sector confirmation
Eliminates guesswork. Trade when the green circle appears.
Smart Money — Volume Panel + OBV Smart Money — Volume Panel + Scaled OBV
This indicator combines classic volume analysis with a scaled On-Balance Volume (OBV) line, helping spot smart money activity:
Volume bars – color changes dynamically:
🟢 green = high volume & OBV rising
🔴 red = high volume & OBV falling
🟠 orange = high volume but OBV neutral
⚪ gray = low volume
Yellow line – volume moving average (MA)
Purple line – high-volume threshold (MA × multiplier)
OBV line (green/red) – scaled OBV plotted in the same range as volume for easier comparison.
pyogi24 Intraday Ichimoku + RSIcustom script to get entry exit
its based on the ichimoku cloud indicator
and the cross over of the leading ang lagging spans to get the signals,
its under development.
i have also integrated the vwap so we know the bias of the trend.
this should work on a trending day.
MACD (The Moving Average Convergence Divergence)The Moving Average Convergence Divergence (MACD) is a momentum indicator used in technical analysis to identify trends, measure their strength, and signal potential reversals. It is calculated by subtracting the 26-period Exponential Moving Average (EMA) from the 12-period EMA, creating the MACD line. A 9-period EMA of the MACD line, known as the signal line, is then plotted to generate buy or sell signals. Positive MACD values suggest upward momentum, while negative values indicate downward momentum. Traders often watch for crossovers, divergences, and movements relative to the zero line to make informed decisions.
DeMarkerWhat the DeMarker Indicator Is:
It’s a trend exhaustion and timing tool, not a trend-following one. The indicator looks for points where an uptrend or downtrend is likely to reverse because the market is “overextended.”
TD Setup:
1) A setup is formed when you get 9 consecutive candles where:
2) In an uptrend setup: each close is higher than the close 4 candles earlier.
3) In a downtrend setup: each close is lower than the close 4 candles earlier.
4) When the 9th candle prints, it signals potential trend exhaustion - not an immediate reversal, but a warning.
👉 Example: If BTC closes higher than the close 4 bars ago for 9 bars straight -> that’s a bullish setup.