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.
Tìm kiếm tập lệnh với "trigger"
Mongoose Global Conflict Risk Index v1Overview
The Mongoose Global Conflict Risk Index v1 is a multi-asset composite indicator designed to track the early pricing of geopolitical stress and potential conflict risk across global markets. By combining signals from safe havens, volatility indices, energy markets, and emerging market equities, the index provides a normalized 0–10 score with clear bias classifications (Neutral, Caution, Elevated, High, Shock).
This tool is not predictive of headlines but captures when markets are clustering around conflict-sensitive assets before events are widely recognized.
Methodology
The indicator calculates rolling rate-of-change z-scores for eight conflict-sensitive assets:
Gold (XAUUSD) – classic safe haven
US Dollar Index (DXY) – global reserve currency flows
VIX (Equity Volatility) – S&P 500 implied volatility
OVX (Crude Oil Volatility Index) – energy stress gauge
Crude Oil (CL1!) – WTI front contract
Natural Gas (NG1!) – energy security proxy, especially Europe
EEM (Emerging Markets ETF) – global risk capital flight
FXI (China ETF) – Asia/China proxy risk
Rules:
Safe havens and vol indices trigger when z-score > threshold.
Energy triggers when z-score > threshold.
Risk assets trigger when z-score < –threshold.
Each trigger is assigned a weight, summed, normalized, and scaled 0–10.
Bias classification:
0–2: Neutral
2–4: Caution
4–6: Elevated
6–8: High
8–10: Conflict Risk-On
How to Use
Timeframes:
Daily (1D) for strategic signals and early warnings.
4H for event shocks (missiles, sanctions, sudden escalations).
Weekly (1W) for sustained trends and macro build-ups.
What to Look For:
A single trigger (for example, Gold ON) may be noise.
A cluster of 2–3 triggers across Gold, USD, VIX, and Energy often marks early stress pricing.
Elevated readings (>4) = caution; High (>6) = rotation into havens; Shock (>8) = market conviction of conflict risk.
Practical Application:
Monitor as a heatmap of global stress.
Combine with fundamental or headline tracking.
Use alert conditions at ≥4, ≥6, ≥8 for systematic monitoring.
Notes
This indicator is for informational and educational purposes only.
It is not financial advice and should be used in conjunction with other analysis methods.
LP Sweep / Reclaim & Breakout Grading: Long-onlySignals
1) LP Sweep & Reclaim (mean-reversion entry)
Compute LP bounds from prior-bar window extremes:
lpLL_prev = lowest low of the last N bars (offset 1).
lpHH_prev = highest high of the last N bars (offset 1).
Sweep long trigger: current low dips below lpLL_prev and closes back above it.
Real-time quality grading (A/B/C) for sweep:
Trend filter & slope via EMA(88).
BOS bonus: close > last confirmed swing high.
Body size vs ATR, location above a long EMA, headroom to swing high (penalty if too close), and multi-sweep count bonus.
Sum → score → grade A/B/C; A or B required for sweep entry.
2) Trend Breakout (momentum entry)
Core trigger: close > previous Donchian high (length boLen) + ATR buffer.
Optional filter: close must be above the default EMA.
Breakout grading (A/B/C) in real time combining:
Trend up (price > EMA and EMA rising),
Body/ATR, Gap above breakout level (in ATR),
Volume vs MA,
Upper-wick penalty,
Position-in-Score: headroom to last swing high (penalty if too near) + EMA slope bonus.
Sum → score → A or B required if grading enabled.
ATAI Volume analysis with price action V 1.00ATAI Volume Analysis with Price Action
1. Introduction
1.1 Overview
ATAI Volume Analysis with Price Action is a composite indicator designed for TradingView. It combines per‑side volume data —that is, how much buying and selling occurs during each bar—with standard price‑structure elements such as swings, trend lines and support/resistance. By blending these elements the script aims to help a trader understand which side is in control, whether a breakout is genuine, when markets are potentially exhausted and where liquidity providers might be active.
The indicator is built around TradingView’s up/down volume feed accessed via the TradingView/ta/10 library. The following excerpt from the script illustrates how this feed is configured:
import TradingView/ta/10 as tvta
// Determine lower timeframe string based on user choice and chart resolution
string lower_tf_breakout = use_custom_tf_input ? custom_tf_input :
timeframe.isseconds ? "1S" :
timeframe.isintraday ? "1" :
timeframe.isdaily ? "5" : "60"
// Request up/down volume (both positive)
= tvta.requestUpAndDownVolume(lower_tf_breakout)
Lower‑timeframe selection. If you do not specify a custom lower timeframe, the script chooses a default based on your chart resolution: 1 second for second charts, 1 minute for intraday charts, 5 minutes for daily charts and 60 minutes for anything longer. Smaller intervals provide a more precise view of buyer and seller flow but cover fewer bars. Larger intervals cover more history at the cost of granularity.
Tick vs. time bars. Many trading platforms offer a tick / intrabar calculation mode that updates an indicator on every trade rather than only on bar close. Turning on one‑tick calculation will give the most accurate split between buy and sell volume on the current bar, but it typically reduces the amount of historical data available. For the highest fidelity in live trading you can enable this mode; for studying longer histories you might prefer to disable it. When volume data is completely unavailable (some instruments and crypto pairs), all modules that rely on it will remain silent and only the price‑structure backbone will operate.
Figure caption, Each panel shows the indicator’s info table for a different volume sampling interval. In the left chart, the parentheses “(5)” beside the buy‑volume figure denote that the script is aggregating volume over five‑minute bars; the center chart uses “(1)” for one‑minute bars; and the right chart uses “(1T)” for a one‑tick interval. These notations tell you which lower timeframe is driving the volume calculations. Shorter intervals such as 1 minute or 1 tick provide finer detail on buyer and seller flow, but they cover fewer bars; longer intervals like five‑minute bars smooth the data and give more history.
Figure caption, The values in parentheses inside the info table come directly from the Breakout — Settings. The first row shows the custom lower-timeframe used for volume calculations (e.g., “(1)”, “(5)”, or “(1T)”)
2. Price‑Structure Backbone
Even without volume, the indicator draws structural features that underpin all other modules. These features are always on and serve as the reference levels for subsequent calculations.
2.1 What it draws
• Pivots: Swing highs and lows are detected using the pivot_left_input and pivot_right_input settings. A pivot high is identified when the high recorded pivot_right_input bars ago exceeds the highs of the preceding pivot_left_input bars and is also higher than (or equal to) the highs of the subsequent pivot_right_input bars; pivot lows follow the inverse logic. The indicator retains only a fixed number of such pivot points per side, as defined by point_count_input, discarding the oldest ones when the limit is exceeded.
• Trend lines: For each side, the indicator connects the earliest stored pivot and the most recent pivot (oldest high to newest high, and oldest low to newest low). When a new pivot is added or an old one drops out of the lookback window, the line’s endpoints—and therefore its slope—are recalculated accordingly.
• Horizontal support/resistance: The highest high and lowest low within the lookback window defined by length_input are plotted as horizontal dashed lines. These serve as short‑term support and resistance levels.
• Ranked labels: If showPivotLabels is enabled the indicator prints labels such as “HH1”, “HH2”, “LL1” and “LL2” near each pivot. The ranking is determined by comparing the price of each stored pivot: HH1 is the highest high, HH2 is the second highest, and so on; LL1 is the lowest low, LL2 is the second lowest. In the case of equal prices the newer pivot gets the better rank. Labels are offset from price using ½ × ATR × label_atr_multiplier, with the ATR length defined by label_atr_len_input. A dotted connector links each label to the candle’s wick.
2.2 Key settings
• length_input: Window length for finding the highest and lowest values and for determining trend line endpoints. A larger value considers more history and will generate longer trend lines and S/R levels.
• pivot_left_input, pivot_right_input: Strictness of swing confirmation. Higher values require more bars on either side to form a pivot; lower values create more pivots but may include minor swings.
• point_count_input: How many pivots are kept in memory on each side. When new pivots exceed this number the oldest ones are discarded.
• label_atr_len_input and label_atr_multiplier: Determine how far pivot labels are offset from the bar using ATR. Increasing the multiplier moves labels further away from price.
• Styling inputs for trend lines, horizontal lines and labels (color, width and line style).
Figure caption, The chart illustrates how the indicator’s price‑structure backbone operates. In this daily example, the script scans for bars where the high (or low) pivot_right_input bars back is higher (or lower) than the preceding pivot_left_input bars and higher or lower than the subsequent pivot_right_input bars; only those bars are marked as pivots.
These pivot points are stored and ranked: the highest high is labelled “HH1”, the second‑highest “HH2”, and so on, while lows are marked “LL1”, “LL2”, etc. Each label is offset from the price by half of an ATR‑based distance to keep the chart clear, and a dotted connector links the label to the actual candle.
The red diagonal line connects the earliest and latest stored high pivots, and the green line does the same for low pivots; when a new pivot is added or an old one drops out of the lookback window, the end‑points and slopes adjust accordingly. Dashed horizontal lines mark the highest high and lowest low within the current lookback window, providing visual support and resistance levels. Together, these elements form the structural backbone that other modules reference, even when volume data is unavailable.
3. Breakout Module
3.1 Concept
This module confirms that a price break beyond a recent high or low is supported by a genuine shift in buying or selling pressure. It requires price to clear the highest high (“HH1”) or lowest low (“LL1”) and, simultaneously, that the winning side shows a significant volume spike, dominance and ranking. Only when all volume and price conditions pass is a breakout labelled.
3.2 Inputs
• lookback_break_input : This controls the number of bars used to compute moving averages and percentiles for volume. A larger value smooths the averages and percentiles but makes the indicator respond more slowly.
• vol_mult_input : The “spike” multiplier; the current buy or sell volume must be at least this multiple of its moving average over the lookback window to qualify as a breakout.
• rank_threshold_input (0–100) : Defines a volume percentile cutoff: the current buyer/seller volume must be in the top (100−threshold)%(100−threshold)% of all volumes within the lookback window. For example, if set to 80, the current volume must be in the top 20 % of the lookback distribution.
• ratio_threshold_input (0–1) : Specifies the minimum share of total volume that the buyer (for a bullish breakout) or seller (for bearish) must hold on the current bar; the code also requires that the cumulative buyer volume over the lookback window exceeds the seller volume (and vice versa for bearish cases).
• use_custom_tf_input / custom_tf_input : When enabled, these inputs override the automatic choice of lower timeframe for up/down volume; otherwise the script selects a sensible default based on the chart’s timeframe.
• Label appearance settings : Separate options control the ATR-based offset length, offset multiplier, label size and colors for bullish and bearish breakout labels, as well as the connector style and width.
3.3 Detection logic
1. Data preparation : Retrieve per‑side volume from the lower timeframe and take absolute values. Build rolling arrays of the last lookback_break_input values to compute simple moving averages (SMAs), cumulative sums and percentile ranks for buy and sell volume.
2. Volume spike: A spike is flagged when the current buy (or, in the bearish case, sell) volume is at least vol_mult_input times its SMA over the lookback window.
3. Dominance test: The buyer’s (or seller’s) share of total volume on the current bar must meet or exceed ratio_threshold_input. In addition, the cumulative sum of buyer volume over the window must exceed the cumulative sum of seller volume for a bullish breakout (and vice versa for bearish). A separate requirement checks the sign of delta: for bullish breakouts delta_breakout must be non‑negative; for bearish breakouts it must be non‑positive.
4. Percentile rank: The current volume must fall within the top (100 – rank_threshold_input) percent of the lookback distribution—ensuring that the spike is unusually large relative to recent history.
5. Price test: For a bullish signal, the closing price must close above the highest pivot (HH1); for a bearish signal, the close must be below the lowest pivot (LL1).
6. Labeling: When all conditions above are satisfied, the indicator prints “Breakout ↑” above the bar (bullish) or “Breakout ↓” below the bar (bearish). Labels are offset using half of an ATR‑based distance and linked to the candle with a dotted connector.
Figure caption, (Breakout ↑ example) , On this daily chart, price pushes above the red trendline and the highest prior pivot (HH1). The indicator recognizes this as a valid breakout because the buyer‑side volume on the lower timeframe spikes above its recent moving average and buyers dominate the volume statistics over the lookback period; when combined with a close above HH1, this satisfies the breakout conditions. The “Breakout ↑” label appears above the candle, and the info table highlights that up‑volume is elevated relative to its 11‑bar average, buyer share exceeds the dominance threshold and money‑flow metrics support the move.
Figure caption, In this daily example, price breaks below the lowest pivot (LL1) and the lower green trendline. The indicator identifies this as a bearish breakout because sell‑side volume is sharply elevated—about twice its 11‑bar average—and sellers dominate both the bar and the lookback window. With the close falling below LL1, the script triggers a Breakout ↓ label and marks the corresponding row in the info table, which shows strong down volume, negative delta and a seller share comfortably above the dominance threshold.
4. Market Phase Module (Volume Only)
4.1 Concept
Not all markets trend; many cycle between periods of accumulation (buying pressure building up), distribution (selling pressure dominating) and neutral behavior. This module classifies the current bar into one of these phases without using ATR , relying solely on buyer and seller volume statistics. It looks at net flows, ratio changes and an OBV‑like cumulative line with dual‑reference (1‑ and 2‑bar) trends. The result is displayed both as on‑chart labels and in a dedicated row of the info table.
4.2 Inputs
• phase_period_len: Number of bars over which to compute sums and ratios for phase detection.
• phase_ratio_thresh : Minimum buyer share (for accumulation) or minimum seller share (for distribution, derived as 1 − phase_ratio_thresh) of the total volume.
• strict_mode: When enabled, both the 1‑bar and 2‑bar changes in each statistic must agree on the direction (strict confirmation); when disabled, only one of the two references needs to agree (looser confirmation).
• Color customisation for info table cells and label styling for accumulation and distribution phases, including ATR length, multiplier, label size, colors and connector styles.
• show_phase_module: Toggles the entire phase detection subsystem.
• show_phase_labels: Controls whether on‑chart labels are drawn when accumulation or distribution is detected.
4.3 Detection logic
The module computes three families of statistics over the volume window defined by phase_period_len:
1. Net sum (buyers minus sellers): net_sum_phase = Σ(buy) − Σ(sell). A positive value indicates a predominance of buyers. The code also computes the differences between the current value and the values 1 and 2 bars ago (d_net_1, d_net_2) to derive up/down trends.
2. Buyer ratio: The instantaneous ratio TF_buy_breakout / TF_tot_breakout and the window ratio Σ(buy) / Σ(total). The current ratio must exceed phase_ratio_thresh for accumulation or fall below 1 − phase_ratio_thresh for distribution. The first and second differences of the window ratio (d_ratio_1, d_ratio_2) determine trend direction.
3. OBV‑like cumulative net flow: An on‑balance volume analogue obv_net_phase increments by TF_buy_breakout − TF_sell_breakout each bar. Its differences over the last 1 and 2 bars (d_obv_1, d_obv_2) provide trend clues.
The algorithm then combines these signals:
• For strict mode , accumulation requires: (a) current ratio ≥ threshold, (b) cumulative ratio ≥ threshold, (c) both ratio differences ≥ 0, (d) net sum differences ≥ 0, and (e) OBV differences ≥ 0. Distribution is the mirror case.
• For loose mode , it relaxes the directional tests: either the 1‑ or the 2‑bar difference needs to agree in each category.
If all conditions for accumulation are satisfied, the phase is labelled “Accumulation” ; if all conditions for distribution are satisfied, it’s labelled “Distribution” ; otherwise the phase is “Neutral” .
4.4 Outputs
• Info table row : Row 8 displays “Market Phase (Vol)” on the left and the detected phase (Accumulation, Distribution or Neutral) on the right. The text colour of both cells matches a user‑selectable palette (typically green for accumulation, red for distribution and grey for neutral).
• On‑chart labels : When show_phase_labels is enabled and a phase persists for at least one bar, the module prints a label above the bar ( “Accum” ) or below the bar ( “Dist” ) with a dashed or dotted connector. The label is offset using ATR based on phase_label_atr_len_input and phase_label_multiplier and is styled according to user preferences.
Figure caption, The chart displays a red “Dist” label above a particular bar, indicating that the accumulation/distribution module identified a distribution phase at that point. The detection is based on seller dominance: during that bar, the net buyer-minus-seller flow and the OBV‑style cumulative flow were trending down, and the buyer ratio had dropped below the preset threshold. These conditions satisfy the distribution criteria in strict mode. The label is placed above the bar using an ATR‑based offset and a dashed connector. By the time of the current bar in the screenshot, the phase indicator shows “Neutral” in the info table—signaling that neither accumulation nor distribution conditions are currently met—yet the historical “Dist” label remains to mark where the prior distribution phase began.
Figure caption, In this example the market phase module has signaled an Accumulation phase. Three bars before the current candle, the algorithm detected a shift toward buyers: up‑volume exceeded its moving average, down‑volume was below average, and the buyer share of total volume climbed above the threshold while the on‑balance net flow and cumulative ratios were trending upwards. The blue “Accum” label anchored below that bar marks the start of the phase; it remains on the chart because successive bars continue to satisfy the accumulation conditions. The info table confirms this: the “Market Phase (Vol)” row still reads Accumulation, and the ratio and sum rows show buyers dominating both on the current bar and across the lookback window.
5. OB/OS Spike Module
5.1 What overbought/oversold means here
In many markets, a rapid extension up or down is often followed by a period of consolidation or reversal. The indicator interprets overbought (OB) conditions as abnormally strong selling risk at or after a price rally and oversold (OS) conditions as unusually strong buying risk after a decline. Importantly, these are not direct trade signals; rather they flag areas where caution or contrarian setups may be appropriate.
5.2 Inputs
• minHits_obos (1–7): Minimum number of oscillators that must agree on an overbought or oversold condition for a label to print.
• syncWin_obos: Length of a small sliding window over which oscillator votes are smoothed by taking the maximum count observed. This helps filter out choppy signals.
• Volume spike criteria: kVolRatio_obos (ratio of current volume to its SMA) and zVolThr_obos (Z‑score threshold) across volLen_obos. Either threshold can trigger a spike.
• Oscillator toggles and periods: Each of RSI, Stochastic (K and D), Williams %R, CCI, MFI, DeMarker and Stochastic RSI can be independently enabled; their periods are adjustable.
• Label appearance: ATR‑based offset, size, colors for OB and OS labels, plus connector style and width.
5.3 Detection logic
1. Directional volume spikes: Volume spikes are computed separately for buyer and seller volumes. A sell volume spike (sellVolSpike) flags a potential OverBought bar, while a buy volume spike (buyVolSpike) flags a potential OverSold bar. A spike occurs when the respective volume exceeds kVolRatio_obos times its simple moving average over the window or when its Z‑score exceeds zVolThr_obos.
2. Oscillator votes: For each enabled oscillator, calculate its overbought and oversold state using standard thresholds (e.g., RSI ≥ 70 for OB and ≤ 30 for OS; Stochastic %K/%D ≥ 80 for OB and ≤ 20 for OS; etc.). Count how many oscillators vote for OB and how many vote for OS.
3. Minimum hits: Apply the smoothing window syncWin_obos to the vote counts using a maximum‑of‑last‑N approach. A candidate bar is only considered if the smoothed OB hit count ≥ minHits_obos (for OverBought) or the smoothed OS hit count ≥ minHits_obos (for OverSold).
4. Tie‑breaking: If both OverBought and OverSold spike conditions are present on the same bar, compare the smoothed hit counts: the side with the higher count is selected; ties default to OverBought.
5. Label printing: When conditions are met, the bar is labelled as “OverBought X/7” above the candle or “OverSold X/7” below it. “X” is the number of oscillators confirming, and the bracket lists the abbreviations of contributing oscillators. Labels are offset from price using half of an ATR‑scaled distance and can optionally include a dotted or dashed connector line.
Figure caption, In this chart the overbought/oversold module has flagged an OverSold signal. A sell‑off from the prior highs brought price down to the lower trend‑line, where the bar marked “OverSold 3/7 DeM” appears. This label indicates that on that bar the module detected a buy‑side volume spike and that at least three of the seven enabled oscillators—in this case including the DeMarker—were in oversold territory. The label is printed below the candle with a dotted connector, signaling that the market may be temporarily exhausted on the downside. After this oversold print, price begins to rebound towards the upper red trend‑line and higher pivot levels.
Figure caption, This example shows the overbought/oversold module in action. In the left‑hand panel you can see the OB/OS settings where each oscillator (RSI, Stochastic, Williams %R, CCI, MFI, DeMarker and Stochastic RSI) can be enabled or disabled, and the ATR length and label offset multiplier adjusted. On the chart itself, price has pushed up to the descending red trendline and triggered an “OverBought 3/7” label. That means the sell‑side volume spiked relative to its average and three out of the seven enabled oscillators were in overbought territory. The label is offset above the candle by half of an ATR and connected with a dashed line, signaling that upside momentum may be overextended and a pause or pullback could follow.
6. Buyer/Seller Trap Module
6.1 Concept
A bull trap occurs when price appears to break above resistance, attracting buyers, but fails to sustain the move and quickly reverses, leaving a long upper wick and trapping late entrants. A bear trap is the opposite: price breaks below support, lures in sellers, then snaps back, leaving a long lower wick and trapping shorts. This module detects such traps by looking for price structure sweeps, order‑flow mismatches and dominance reversals. It uses a scoring system to differentiate risk from confirmed traps.
6.2 Inputs
• trap_lookback_len: Window length used to rank extremes and detect sweeps.
• trap_wick_threshold: Minimum proportion of a bar’s range that must be wick (upper for bull traps, lower for bear traps) to qualify as a sweep.
• trap_score_risk: Minimum aggregated score required to flag a trap risk. (The code defines a trap_score_confirm input, but confirmation is actually based on price reversal rather than a separate score threshold.)
• trap_confirm_bars: Maximum number of bars allowed for price to reverse and confirm the trap. If price does not reverse in this window, the risk label will expire or remain unconfirmed.
• Label settings: ATR length and multiplier for offsetting, size, colours for risk and confirmed labels, and connector style and width. Separate settings exist for bull and bear traps.
• Toggle inputs: show_trap_module and show_trap_labels enable the module and control whether labels are drawn on the chart.
6.3 Scoring logic
The module assigns points to several conditions and sums them to determine whether a trap risk is present. For bull traps, the score is built from the following (bear traps mirror the logic with highs and lows swapped):
1. Sweep (2 points): Price trades above the high pivot (HH1) but fails to close above it and leaves a long upper wick at least trap_wick_threshold × range. For bear traps, price dips below the low pivot (LL1), fails to close below and leaves a long lower wick.
2. Close break (1 point): Price closes beyond HH1 or LL1 without leaving a long wick.
3. Candle/delta mismatch (2 points): The candle closes bullish yet the order flow delta is negative or the seller ratio exceeds 50%, indicating hidden supply. Conversely, a bearish close with positive delta or buyer dominance suggests hidden demand.
4. Dominance inversion (2 points): The current bar’s buyer volume has the highest rank in the lookback window while cumulative sums favor sellers, or vice versa.
5. Low‑volume break (1 point): Price crosses the pivot but total volume is below its moving average.
The total score for each side is compared to trap_score_risk. If the score is high enough, a “Bull Trap Risk” or “Bear Trap Risk” label is drawn, offset from the candle by half of an ATR‑scaled distance using a dashed outline. If, within trap_confirm_bars, price reverses beyond the opposite level—drops back below the high pivot for bull traps or rises above the low pivot for bear traps—the label is upgraded to a solid “Bull Trap” or “Bear Trap” . In this version of the code, there is no separate score threshold for confirmation: the variable trap_score_confirm is unused; confirmation depends solely on a successful price reversal within the specified number of bars.
Figure caption, In this example the trap module has flagged a Bear Trap Risk. Price initially breaks below the most recent low pivot (LL1), but the bar closes back above that level and leaves a long lower wick, suggesting a failed push lower. Combined with a mismatch between the candle direction and the order flow (buyers regain control) and a reversal in volume dominance, the aggregate score exceeds the risk threshold, so a dashed “Bear Trap Risk” label prints beneath the bar. The green and red trend lines mark the current low and high pivot trajectories, while the horizontal dashed lines show the highest and lowest values in the lookback window. If, within the next few bars, price closes decisively above the support, the risk label would upgrade to a solid “Bear Trap” label.
Figure caption, In this example the trap module has identified both ends of a price range. Near the highs, price briefly pushes above the descending red trendline and the recent pivot high, but fails to close there and leaves a noticeable upper wick. That combination of a sweep above resistance and order‑flow mismatch generates a Bull Trap Risk label with a dashed outline, warning that the upside break may not hold. At the opposite extreme, price later dips below the green trendline and the labelled low pivot, then quickly snaps back and closes higher. The long lower wick and subsequent price reversal upgrade the previous bear‑trap risk into a confirmed Bear Trap (solid label), indicating that sellers were caught on a false breakdown. Horizontal dashed lines mark the highest high and lowest low of the lookback window, while the red and green diagonals connect the earliest and latest pivot highs and lows to visualize the range.
7. Sharp Move Module
7.1 Concept
Markets sometimes display absorption or climax behavior—periods when one side steadily gains the upper hand before price breaks out with a sharp move. This module evaluates several order‑flow and volume conditions to anticipate such moves. Users can choose how many conditions must be met to flag a risk and how many (plus a price break) are required for confirmation.
7.2 Inputs
• sharp Lookback: Number of bars in the window used to compute moving averages, sums, percentile ranks and reference levels.
• sharpPercentile: Minimum percentile rank for the current side’s volume; the current buy (or sell) volume must be greater than or equal to this percentile of historical volumes over the lookback window.
• sharpVolMult: Multiplier used in the volume climax check. The current side’s volume must exceed this multiple of its average to count as a climax.
• sharpRatioThr: Minimum dominance ratio (current side’s volume relative to the opposite side) used in both the instant and cumulative dominance checks.
• sharpChurnThr: Maximum ratio of a bar’s range to its ATR for absorption/churn detection; lower values indicate more absorption (large volume in a small range).
• sharpScoreRisk: Minimum number of conditions that must be true to print a risk label.
• sharpScoreConfirm: Minimum number of conditions plus a price break required for confirmation.
• sharpCvdThr: Threshold for cumulative delta divergence versus price change (positive for bullish accumulation, negative for bearish distribution).
• Label settings: ATR length (sharpATRlen) and multiplier (sharpLabelMult) for positioning labels, label size, colors and connector styles for bullish and bearish sharp moves.
• Toggles: enableSharp activates the module; show_sharp_labels controls whether labels are drawn.
7.3 Conditions (six per side)
For each side, the indicator computes six boolean conditions and sums them to form a score:
1. Dominance (instant and cumulative):
– Instant dominance: current buy volume ≥ sharpRatioThr × current sell volume.
– Cumulative dominance: sum of buy volumes over the window ≥ sharpRatioThr × sum of sell volumes (and vice versa for bearish checks).
2. Accumulation/Distribution divergence: Over the lookback window, cumulative delta rises by at least sharpCvdThr while price fails to rise (bullish), or cumulative delta falls by at least sharpCvdThr while price fails to fall (bearish).
3. Volume climax: The current side’s volume is ≥ sharpVolMult × its average and the product of volume and bar range is the highest in the lookback window.
4. Absorption/Churn: The current side’s volume divided by the bar’s range equals the highest value in the window and the bar’s range divided by ATR ≤ sharpChurnThr (indicating large volume within a small range).
5. Percentile rank: The current side’s volume percentile rank is ≥ sharp Percentile.
6. Mirror logic for sellers: The above checks are repeated with buyer and seller roles swapped and the price break levels reversed.
Each condition that passes contributes one point to the corresponding side’s score (0 or 1). Risk and confirmation thresholds are then applied to these scores.
7.4 Scoring and labels
• Risk: If scoreBull ≥ sharpScoreRisk, a “Sharp ↑ Risk” label is drawn above the bar. If scoreBear ≥ sharpScoreRisk, a “Sharp ↓ Risk” label is drawn below the bar.
• Confirmation: A risk label is upgraded to “Sharp ↑” when scoreBull ≥ sharpScoreConfirm and the bar closes above the highest recent pivot (HH1); for bearish cases, confirmation requires scoreBear ≥ sharpScoreConfirm and a close below the lowest pivot (LL1).
• Label positioning: Labels are offset from the candle by ATR × sharpLabelMult (full ATR times multiplier), not half, and may include a dashed or dotted connector line if enabled.
Figure caption, In this chart both bullish and bearish sharp‑move setups have been flagged. Earlier in the range, a “Sharp ↓ Risk” label appears beneath a candle: the sell‑side score met the risk threshold, signaling that the combination of strong sell volume, dominance and absorption within a narrow range suggested a potential sharp decline. The price did not close below the lower pivot, so this label remains a “risk” and no confirmation occurred. Later, as the market recovered and volume shifted back to the buy side, a “Sharp ↑ Risk” label prints above a candle near the top of the channel. Here, buy‑side dominance, cumulative delta divergence and a volume climax aligned, but price has not yet closed above the upper pivot (HH1), so the alert is still a risk rather than a confirmed sharp‑up move.
Figure caption, In this chart a Sharp ↑ label is displayed above a candle, indicating that the sharp move module has confirmed a bullish breakout. Prior bars satisfied the risk threshold — showing buy‑side dominance, positive cumulative delta divergence, a volume climax and strong absorption in a narrow range — and this candle closes above the highest recent pivot, upgrading the earlier “Sharp ↑ Risk” alert to a full Sharp ↑ signal. The green label is offset from the candle with a dashed connector, while the red and green trend lines trace the high and low pivot trajectories and the dashed horizontals mark the highest and lowest values of the lookback window.
8. Market‑Maker / Spread‑Capture Module
8.1 Concept
Liquidity providers often “capture the spread” by buying and selling in almost equal amounts within a very narrow price range. These bars can signal temporary congestion before a move or reflect algorithmic activity. This module flags bars where both buyer and seller volumes are high, the price range is only a few ticks and the buy/sell split remains close to 50%. It helps traders spot potential liquidity pockets.
8.2 Inputs
• scalpLookback: Window length used to compute volume averages.
• scalpVolMult: Multiplier applied to each side’s average volume; both buy and sell volumes must exceed this multiple.
• scalpTickCount: Maximum allowed number of ticks in a bar’s range (calculated as (high − low) / minTick). A value of 1 or 2 captures ultra‑small bars; increasing it relaxes the range requirement.
• scalpDeltaRatio: Maximum deviation from a perfect 50/50 split. For example, 0.05 means the buyer share must be between 45% and 55%.
• Label settings: ATR length, multiplier, size, colors, connector style and width.
• Toggles : show_scalp_module and show_scalp_labels to enable the module and its labels.
8.3 Signal
When, on the current bar, both TF_buy_breakout and TF_sell_breakout exceed scalpVolMult times their respective averages and (high − low)/minTick ≤ scalpTickCount and the buyer share is within scalpDeltaRatio of 50%, the module prints a “Spread ↔” label above the bar. The label uses the same ATR offset logic as other modules and draws a connector if enabled.
Figure caption, In this chart the spread‑capture module has identified a potential liquidity pocket. Buyer and seller volumes both spiked above their recent averages, yet the candle’s range measured only a couple of ticks and the buy/sell split stayed close to 50 %. This combination met the module’s criteria, so it printed a grey “Spread ↔” label above the bar. The red and green trend lines link the earliest and latest high and low pivots, and the dashed horizontals mark the highest high and lowest low within the current lookback window.
9. Money Flow Module
9.1 Concept
To translate volume into a monetary measure, this module multiplies each side’s volume by the closing price. It tracks buying and selling system money default currency on a per-bar basis and sums them over a chosen period. The difference between buy and sell currencies (Δ$) shows net inflow or outflow.
9.2 Inputs
• mf_period_len_mf: Number of bars used for summing buy and sell dollars.
• Label appearance settings: ATR length, multiplier, size, colors for up/down labels, and connector style and width.
• Toggles: Use enableMoneyFlowLabel_mf and showMFLabels to control whether the module and its labels are displayed.
9.3 Calculations
• Per-bar money: Buy $ = TF_buy_breakout × close; Sell $ = TF_sell_breakout × close. Their difference is Δ$ = Buy $ − Sell $.
• Summations: Over mf_period_len_mf bars, compute Σ Buy $, Σ Sell $ and ΣΔ$ using math.sum().
• Info table entries: Rows 9–13 display these values as texts like “↑ USD 1234 (1M)” or “ΣΔ USD −5678 (14)”, with colors reflecting whether buyers or sellers dominate.
• Money flow status: If Δ$ is positive the bar is marked “Money flow in” ; if negative, “Money flow out” ; if zero, “Neutral”. The cumulative status is similarly derived from ΣΔ.Labels print at the bar that changes the sign of ΣΔ, offset using ATR × label multiplier and styled per user preferences.
Figure caption, The chart illustrates a steady rise toward the highest recent pivot (HH1) with price riding between a rising green trend‑line and a red trend‑line drawn through earlier pivot highs. A green Money flow in label appears above the bar near the top of the channel, signaling that net dollar flow turned positive on this bar: buy‑side dollar volume exceeded sell‑side dollar volume, pushing the cumulative sum ΣΔ$ above zero. In the info table, the “Money flow (bar)” and “Money flow Σ” rows both read In, confirming that the indicator’s money‑flow module has detected an inflow at both bar and aggregate levels, while other modules (pivots, trend lines and support/resistance) remain active to provide structural context.
In this example the Money Flow module signals a net outflow. Price has been trending downward: successive high pivots form a falling red trend‑line and the low pivots form a descending green support line. When the latest bar broke below the previous low pivot (LL1), both the bar‑level and cumulative net dollar flow turned negative—selling volume at the close exceeded buying volume and pushed the cumulative Δ$ below zero. The module reacts by printing a red “Money flow out” label beneath the candle; the info table confirms that the “Money flow (bar)” and “Money flow Σ” rows both show Out, indicating sustained dominance of sellers in this period.
10. Info Table
10.1 Purpose
When enabled, the Info Table appears in the lower right of your chart. It summarises key values computed by the indicator—such as buy and sell volume, delta, total volume, breakout status, market phase, and money flow—so you can see at a glance which side is dominant and which signals are active.
10.2 Symbols
• ↑ / ↓ — Up (↑) denotes buy volume or money; down (↓) denotes sell volume or money.
• MA — Moving average. In the table it shows the average value of a series over the lookback period.
• Σ (Sigma) — Cumulative sum over the chosen lookback period.
• Δ (Delta) — Difference between buy and sell values.
• B / S — Buyer and seller share of total volume, expressed as percentages.
• Ref. Price — Reference price for breakout calculations, based on the latest pivot.
• Status — Indicates whether a breakout condition is currently active (True) or has failed.
10.3 Row definitions
1. Up volume / MA up volume – Displays current buy volume on the lower timeframe and its moving average over the lookback period.
2. Down volume / MA down volume – Shows current sell volume and its moving average; sell values are formatted in red for clarity.
3. Δ / ΣΔ – Lists the difference between buy and sell volume for the current bar and the cumulative delta volume over the lookback period.
4. Σ / MA Σ (Vol/MA) – Total volume (buy + sell) for the bar, with the ratio of this volume to its moving average; the right cell shows the average total volume.
5. B/S ratio – Buy and sell share of the total volume: current bar percentages and the average percentages across the lookback period.
6. Buyer Rank / Seller Rank – Ranks the bar’s buy and sell volumes among the last (n) bars; lower rank numbers indicate higher relative volume.
7. Σ Buy / Σ Sell – Sum of buy and sell volumes over the lookback window, indicating which side has traded more.
8. Breakout UP / DOWN – Shows the breakout thresholds (Ref. Price) and whether the breakout condition is active (True) or has failed.
9. Market Phase (Vol) – Reports the current volume‑only phase: Accumulation, Distribution or Neutral.
10. Money Flow – The final rows display dollar amounts and status:
– ↑ USD / Σ↑ USD – Buy dollars for the current bar and the cumulative sum over the money‑flow period.
– ↓ USD / Σ↓ USD – Sell dollars and their cumulative sum.
– Δ USD / ΣΔ USD – Net dollar difference (buy minus sell) for the bar and cumulatively.
– Money flow (bar) – Indicates whether the bar’s net dollar flow is positive (In), negative (Out) or neutral.
– Money flow Σ – Shows whether the cumulative net dollar flow across the chosen period is positive, negative or neutral.
The chart above shows a sequence of different signals from the indicator. A Bull Trap Risk appears after price briefly pushes above resistance but fails to hold, then a green Accum label identifies an accumulation phase. An upward breakout follows, confirmed by a Money flow in print. Later, a Sharp ↓ Risk warns of a possible sharp downturn; after price dips below support but quickly recovers, a Bear Trap label marks a false breakdown. The highlighted info table in the center summarizes key metrics at that moment, including current and average buy/sell volumes, net delta, total volume versus its moving average, breakout status (up and down), market phase (volume), and bar‑level and cumulative money flow (In/Out).
11. Conclusion & Final Remarks
This indicator was developed as a holistic study of market structure and order flow. It brings together several well‑known concepts from technical analysis—breakouts, accumulation and distribution phases, overbought and oversold extremes, bull and bear traps, sharp directional moves, market‑maker spread bars and money flow—into a single Pine Script tool. Each module is based on widely recognized trading ideas and was implemented after consulting reference materials and example strategies, so you can see in real time how these concepts interact on your chart.
A distinctive feature of this indicator is its reliance on per‑side volume: instead of tallying only total volume, it separately measures buy and sell transactions on a lower time frame. This approach gives a clearer view of who is in control—buyers or sellers—and helps filter breakouts, detect phases of accumulation or distribution, recognize potential traps, anticipate sharp moves and gauge whether liquidity providers are active. The money‑flow module extends this analysis by converting volume into currency values and tracking net inflow or outflow across a chosen window.
Although comprehensive, this indicator is intended solely as a guide. It highlights conditions and statistics that many traders find useful, but it does not generate trading signals or guarantee results. Ultimately, you remain responsible for your positions. Use the information presented here to inform your analysis, combine it with other tools and risk‑management techniques, and always make your own decisions when trading.
Trend Score with Dynamic Stop Loss RTH
📘 Trend Score with Dynamic Stop Loss (RTH) — Guide
🔎 Overview
This indicator tracks intraday momentum during Regular Trading Hours and flags trend flips using a cumulative TrendScore. It also draws dynamic stop-loss levels and shows a live stats table for quick decision-making and journaling.
⸻
⚙️ Core Concepts
1) TrendScore (per bar)
• +1 if the current bar makes a higher high than the previous bar (counted once per bar).
• –1 if the current bar makes a lower low than the previous bar (counted once per bar).
• If a bar takes both the prior high and low, the net contribution can cancel out within that bar.
2) Cumulative TrendScore (running total)
• The per-bar TrendScore accumulates across the session to form the cumulative TrendScore (TS).
• TS resets to 0 at session open and is cleared at session close.
• Rising TS = persistent upside pressure; falling TS = persistent downside pressure.
⸻
🔄 Flip Rules (3-point reversal of the cumulative TrendScore)
A flip occurs when the cumulative TrendScore reverses by 3 points in the opposite direction of the current trend.
• Bullish Flip
• Trigger: After a decline, the cumulative TrendScore rises by +3 from its down-leg.
• Interpretation: Bulls have taken control.
• Stop-loss: the lowest price of the prior (down) leg.
• Bearish Flip
• Trigger: After a rise, the cumulative TrendScore falls by –3 from its up-leg.
• Interpretation: Bears have taken control.
• Stop-loss: the highest price of the prior (up) leg.
Flip bars are marked with ▲ (lime) for bullish and ▼ (red) for bearish.
Note: If you prefer a different reversal distance, adjust the flip distance setting in the script’s inputs (default is 3).
⸻
📏 Stop-Loss Lines
• A dotted line is drawn at the prior leg’s extreme:
Green (below price) after a bullish flip.
Red (above price) after a bearish flip.
• Options:
Remove on touch for a clean chart.
Freeze on touch to keep a visual record for journaling.
• All stop lines are cleared at session end.
⸻
🧮 Stats Table (what you see)
• Trend: Bull / Bear / Neutral
• Bars in Trend: Count since the flip bar
• Since Flip: Current close minus flip bar close
• Since SL: Current close minus active stop level
• MFE-Maximum Favorable Excursion: Highest favorable move since flip
• MAE-Maximum Adverse Excursion: Largest adverse move since flip
Table colors reflect the current trend (green for bull, red for bear).
⸻
📊 Trading Playbook
Entries
• Aggressive: Enter immediately on a flip marker.
• Conservative: Wait for a small pullback that doesn’t violate the stop.
Stops
• Place the stop at the script’s flip stop-loss line (the prior leg extreme).
Exits
Choose one style and stick with it:
• Stop-only: Exit when the stop is hit.
• Time-based: Flatten at session close.
• Targets: Scale/close at 1R, 2R.
• Trailing: Trail behind minor swings once MFE > 1R.
Ultimately Exit choice is your own edge, so you must decide for yourself.
💡 Best Practices
• Skip the first few bars after the open (gap noise).
• Use regular candles (Heikin-Ashi will distort highs/lows).
• If you want fewer flips, increase the flip distance (e.g., 4 or 5). For more
responsiveness, use 2. Otherwise, increase your time frame to 5m, 10m, 15m.
• Keep SL lines frozen (not auto-removed) if you’re journaling.
Pasrsifal.RegressionTrendStateSummary
The Parsifal.Regression.Trend.State Indicator analyzes the leading coefficients of linear and quadratic regressions of price (against time). It also considers their first- and second-order changes. These features are aggregated into a Trend-State background, shown as a gradient color. In addition, the indicator generates fast and slow signals that can be used as potential entry- or exit triggers.
This tool is designed for advanced trend-following strategies, leveraging information from multiple trendline features.
Background
Trendlines provide insight into the state of a trend or the “trendiness” of a price process. While moving averages or pivot-based lines can serve as envelopes and breakout levels, they are often too lagging for swing traders, who need tools that adapt more closely to price swings, ideally using trendlines, around which the price process swings continuously.
Regression lines address this by cutting directly through the data, making them a natural anchor for observing how price winds around a central trendline within a chosen lookback period.
Regression Trendlines
• Linear Regression:
o Minimizes distance to all closing values over the lookback period.
o The slope represents the short-term linear trend.
o The change of slope indicates trend acceleration or deceleration.
o Linear regression lags during phases of rapid market shifts.
• Quadratic Regression:
o Fits a second-degree polynomial to minimize deviation from closing prices.
o The convexity term (leading coefficient) reflects curvature:
Positive convexity → accelerating uptrend or fading downtrend.
Negative convexity → accelerating downtrend or fading uptrend.
o The change of convexity detects early shifts in momentum and often reacts faster than slope features.
Features Extracted
The indicator evaluates six features:
• Linear features: slope, first derivative of slope, second derivative of slope.
• Quadratic features: convexity term, first derivative of the convexity term, second derivative of the convexity term.
• Linear features: capture broad, background trend behavior.
• Quadratic features: detect deviations, accelerations, and smaller-scale dynamics.
Quadratic terms generally react first to market changes, while linear terms provide stability and context.
Dynamics of Market Moves as seen by linear and quadratic regressions
• At the start of a rapid move:
The change of convexity reacts first, capturing the shift in dynamics before other features. The convexity term then follows, while linear slope features lag further behind. Because convexity measures deviation from linearity, it reflects accelerating momentum more effectively than slope.
• At the end of a rapid move:
Again, the change of convexity responds first to fading momentum, signaling the transition from above-linear to below-linear dynamics. Even while a strong trend persists, the change of convexity may flip sign early, offering a warning of weakening strength. The convexity term itself adjusts more slowly but may still turn before the price process does. Linear features lag the most, typically only flipping after price has already reversed, thereby smoothing out the rapid, more sensitive reactions of quadratic terms.
________________________________________
Parsifal Regression.Trend.State Method
1. Feature Mapping:
Each feature is mapped to a range between -1 and 1, preserving zero-crossings (critical for sign interpretation).
2. Aggregation:
A heuristic linear combination*) produces a background information value, visualized as a gradient color scale:
o Deep green → strong positive trend.
o Deep red → strong negative trend.
o Yellow → neutral or transitional states.
3. Signals:
o Fast signal (oscillator): ranges from -1 to 1, reflecting short-term trend state.
o Slow signal (smoothed): moving average of the fast signal.
o Their interactions (crossovers, zero-crossings) provide actionable trading triggers.
How to Use
The Trend-State background gradient provides intuitive visual feedback on the aggregated regression features (slope, convexity, and their changes). Because these features reflect not only current trend strength but also their acceleration or deceleration, the color transitions help anticipate evolving market states:
• Solid Green: All features near their highs. Indicates a strong, accelerating uptrend. May also reflect explosive or hyperbolic upside moves (including gaps).
• Fading Solid Green: A recently strong uptrend is losing momentum. Price may shift into a slower uptrend, consolidation, or even a reversal.
• Fading Green → Yellow: Often appears as a dirty yellow or a rapidly mixing pattern of green and red. Signals that the uptrend is weakening toward neutrality or beginning to turn negative.
• Yellow → Deepening Red: Two possible scenarios:
o Coming from a strong uptrend → suggests a sharp fade, though the trend may still technically be up.
o Coming from a weaker uptrend or sideways market → suggests the start of an accelerating downtrend.
• Solid Red: All features near their lows. Indicates a strong, accelerating downtrend. May also reflect crash-type conditions or downside gaps.
• Fading Solid Red: A recently strong downtrend is losing strength. Market may move into a slower decline, consolidation, or early reversal upward.
• Fading Red → Yellow : The downtrend is weakening toward neutral, with potential for a bullish shift.
• Yellow → Increasing Green: Two possible scenarios:
o Coming from a strong downtrend, it reflects a sharp fade of bearish momentum, though the market may still technically be trending down.
o Coming from a weaker downtrend or sideways movement, it suggests the start of an accelerating uptrend.
Note: Market evolution does not always follow this neat “color cycle.” It may jump between states, skip stages, or reverse abruptly depending on market conditions. This makes the background coloring particularly valuable as a contextual map of current and evolving price dynamics.
Signal Crossovers:
Although the fast signal is very similar (but not identical) to the background coloring, it provides a numerical representation indicating a bullish interpretation for rising values and bearish for falling.
o High-confidence entries:
Fast signal rising from < -0.7 and crossing above the slow signal → potential long entry.
Fast signal falling from > +0.7 and crossing below the slow signal → potential short entry.
o Low-confidence entries:
Crossovers near zero may still provide a valid trigger but may be noisy and should be confirmed with other signals.
o Zero-crossings:
Indicate broader state changes, useful for conservative positioning or option strategies. For confirmation of a Fast signal 0-crossing, wait for the Slow signal to cross as well.
________________________________________
*) Note on Aggregation
While the indicator currently uses a heuristic linear combination of features, alternatives such as Principal Component Analysis (PCA) could provide a more formal aggregation. However, while in the absence of matrix algebra, the required eigenvalue decomposition can be approximated, its computational expense does not justify the marginal higher insight in this case. The current heuristic approach offers a practical balance of clarity, speed, and accuracy.
Three Candle Bullish Engulfing StrategyThe Three Candle Bullish Engulfing Strategy is a versatile, multi-mode trading system designed for TradingView, combining classic candlestick patterns with momentum confirmation and dynamic risk management. This script supports both swing trading and intraday approaches, as well as an optional RSI-based breakout mode for additional signal filtering.
Key Features:
Three Candle Pattern Detection:
The strategy identifies potential trend reversal points using a three-candle pattern:
The first candle is a strong bullish (or bearish) move.
The second candle is a doji or small-bodied candle, indicating indecision.
The third candle is a bullish (or bearish) engulfing candle that closes above (or below) the previous high (or low), confirming the reversal.
Flexible Trading Modes:
Swing Long Only: Enter long trades on bullish three-candle setups.
Intraday Long & Short: Trade both long and short based on bullish and bearish three-candle patterns, with automatic session-end exits.
RSI Breakout Mode: Enter long trades when the 1-hour RSI exceeds a user-defined threshold (default 80) and a bullish candle forms, with breakout confirmation and a fixed-percentage stop loss.
Visual Aids:
Plots the RSI breakout trigger price and stop loss on the chart for easy monitoring.
How It Works:
Three Candle Pattern Entries:
Long Entry: Triggered when a bullish candle is followed by a doji, then a bullish engulfing candle closes above the previous high.
Short Entry (Intraday only): Triggered by the inverse pattern—bearish candle, doji, then bearish engulfing candle closing below the previous low.
RSI Breakout Entries:
When the RSI on a higher timeframe (default 1 hour) exceeds the set threshold and a bullish candle forms, the script records a trigger price.
A long trade is entered if the price breaks above this trigger, with a stop loss set a fixed percentage below.
Exits:
Positions are closed if the trailing stop is hit, the session ends (for intraday mode), or the stop loss is triggered in RSI breakout mode.
In RSI breakout mode, positions are also closed if a new breakout trigger forms while in position.
VWAP Breakout Strategy + EMAs + Clean Cycle/TP/SL PlotsHere’s a quick user-guide to get you up and running with your “VWAP Breakout Strategy + EMAs + Clean Cycle/TP/SL Plots” script in TradingView:
⸻
1. Installing the Script
1. Open TradingView, go to Pine Editor (bottom panel).
2. Paste in your full Pine-v6 code and hit Add to chart.
3. Save it (“Save as…”): give it a memorable name (e.g. “VWAP Breakout+EMAs”).
⸻
2. Configuring Your Inputs
Once it’s on the chart, click the ⚙️ Settings icon to tune:
Setting Default What it does
ATR Length 14 Period for average true range (volatility measure)
ATR Multiplier for Stop 1.5 How many ATRs away your stop-loss sits
TP1 / TP2 Multipliers (ATR) 1.0 / 2.0 Distance of TP1 and TP2 in ATR multiples
Show VWAP / EMAs On Toggles the blue VWAP line & EMAs (100/34/5)
Full Cycle Range Points 200 Height of the shaded “cycle zone”
Pivot Lookback 5 How many bars back to detect a pivot low
Round Number Step 500 Spacing of your dotted horizontal lines
Show TP/SL Labels On Toggles all the “ENTRY”, “TP1”, “TP2”, “STOP” tags
Feel free to adjust ATR multipliers and cycle-zone size based on the instrument’s typical range.
⸻
3. Reading the Signals
• Long Entry:
• Trigger: price crosses above VWAP
• You’ll see a green “Buy” tag at the low of the signal bar, plus an “ENTRY (Long)” label at the close.
• Stop is plotted as a red dashed line below (ATR × 1.5), and TP1/TP2 as teal and purple lines above.
• Short Entry:
• Trigger: price crosses below VWAP
• A red “Sell” tag appears at the high, with “ENTRY (Short)” at the close.
• Stop is the green line above; TP1/TP2 are dashed teal/purple lines below.
⸻
4. Full Cycle Zone
Whenever a new pivot low is detected (using your Pivot Lookback), the script deletes the old box and draws a shaded yellow rectangle from that low up by “Full Cycle Range Points.”
• Use this to visualize the “maximum expected swing” from your pivot.
• You can quickly see whether price is still traveling within a normal cycle or has overstretched.
⸻
5. Round-Number Levels
With Show Round Number Levels enabled, you’ll always get horizontal dotted lines at the nearest multiples of your “Round Number Step” (e.g. every 500 points).
• These often act as psychological support/resistance.
• Handy to see confluence with VWAP or cycle-zone edges.
⸻
6. Tips & Best-Practices
• Timeframes: Apply on any intraday chart (5 min, 15 min, H1…), but match your ATR length & cycle-points to the timeframe’s typical range.
• Backtest first: Use the Strategy Tester tab to review performance, tweak ATR multipliers or cycle size, then optimize.
• Combine with context: Don’t trade VWAP breakouts blindly—look for confluence (e.g. support/resistance zones, higher-timeframe trend).
• Label clutter: If too many labels build up, you can toggle Show TP/SL Labels off and rely just on the lines.
⸻
That’s it! Once you’ve added it to your chart and dialed in the inputs, your entries, exits, cycle ranges, and key levels will all be plotted automatically. Feel free to experiment with the ATR multipliers and cycle-zone size until it fits your instrument’s personality. Happy trading!
Divergence Macro Sentiment Indicator (DMSI)The Divergence Macro Sentiment Indicator (DMSI)
Think of DMSI as your daily “mood ring” for the markets. It boils down the tug-of-war between growth assets (S&P 500, copper, oil) and safe havens (gold, VIX) into one clear histogram—so you instantly know if the bulls have broad backing or are charging ahead with one foot tied behind.
🔍 What You’re Seeing
Green bars (above zero): Risk-on conviction.
Equities and commodities are rallying while gold and volatility retreat.
Red bars (below zero): Risk-off caution.
Gold or VIX are climbing even as stocks rise—or stocks aren’t fully joined by oil/copper.
Zero line: The line in the sand between “full-steam ahead” and “proceed with care.”
📈 How to Read It
Cross-Zero Signals
Bullish trigger: DMSI flips up through zero after a red stretch → fresh long entries.
Bearish trigger: DMSI tumbles below zero from green territory → tighten stops or go defensive.
Divergence Warnings
If SPX makes new highs but DMSI is rolling over (lower green bars or red), that’s your early red flag—rallies may fizzle.
Strength Confirmation
On pullbacks, only buy dips when DMSI ≥ 0. When DMSI is deeply positive, you can be more aggressive on position size or add leverage.
💡 Trade Guidance & Use Cases
Trend Filter: Only take your S&P or sector-ETF long setups when DMSI is non-negative—avoids hollow rallies.
Macro Pair Trades:
Deep red DMSI: go long gold or gold miners (GLD, GDX).
Strong green DMSI: lean into cyclicals, industrials, even energy names.
Risk Management:
Scale out as DMSI fades into negative territory mid-trade.
Scale in or add to winners when it stays bullish.
Swing Confirmation: Overlay on any oscillator or price-pattern system—accept signals only when the macro tide is flowing in your favour.
🚀 Why It Works
Markets don’t move in a vacuum. When stocks rally but the “real-economy” metals and volatility aren’t cooperating, something’s off under the hood. DMSI catches those cross-asset cracks before price alone can—and gives you an early warning system for smarter entries, tighter risk, and bigger gains when the macro trend really kicks in.
BTC Trading RobotOverview
This Pine Script strategy is designed for trading Bitcoin (BTC) by placing pending orders (BuyStop and SellStop) based on local price extremes. The script also implements a trailing stop mechanism to protect profits once a position becomes sufficiently profitable.
________________________________________
Inputs and Parameter Setup
1. Trading Profile:
o The strategy is set up specifically for BTC trading.
o The systemType input is set to 1, which means the strategy will calculate trade parameters using the BTC-specific inputs.
2. Common Trading Inputs:
o Risk Parameters: Although RiskPercent is defined, its actual use (e.g., for position sizing) isn’t implemented in this version.
o Trading Hours Filter:
SHInput and EHInput let you restrict trading to a specific hour range. If these are set (non-zero), orders will only be placed during the allowed hours.
3. BTC-Specific Inputs:
o Take Profit (TP) and Stop Loss (SL) Percentages:
TPasPctBTC and SLasPctBTC are used to determine the TP and SL levels as a percentage of the current price.
o Trailing Stop Parameters:
TSLasPctofTPBTC and TSLTgrasPctofTPBTC determine when and by how much a trailing stop is applied, again as percentages of the TP.
4. Other Parameters:
o BarsN is used to define the window (number of bars) over which the local high and low are calculated.
o OrderDistPoints acts as a buffer to prevent the entry orders from being triggered too early.
________________________________________
Trade Parameter Calculation
• Price Reference:
o The strategy uses the current closing price as the reference for calculations.
• Calculation of TP and SL Levels:
o If the systemType is set to BTC (value 1), then:
Take Profit Points (Tppoints) are calculated by multiplying the current price by TPasPctBTC.
Stop Loss Points (Slpoints) are calculated similarly using SLasPctBTC.
A buffer (OrderDistPoints) is set to half of the take profit points.
Trailing Stop Levels:
TslPoints is calculated as a fraction of the TP (using TSLTgrasPctofTPBTC).
TslTriggerPoints is similarly determined, which sets the profit level at which the trailing stop will start to activate.
________________________________________
Time Filtering
• Session Control:
o The current hour is compared against SHInput (start hour) and EHInput (end hour).
o If the current time falls outside the allowed window, the script will not place any new orders.
________________________________________
Entry Orders
• Local Price Extremes:
o The strategy calculates a local high and local low using a window of BarsN * 2 + 1 bars.
• Placing Stop Orders:
o BuyStop Order:
A long entry is triggered if the current price is less than the local high minus the order distance buffer.
The BuyStop order is set to trigger at the level of the local high.
o SellStop Order:
A short entry is triggered if the current price is greater than the local low plus the order distance buffer.
The SellStop order is set to trigger at the level of the local low.
Note: Orders are only placed if there is no current open position and if the session conditions are met.
________________________________________
Trailing Stop Logic
Once a position is open, the strategy monitors profit levels to protect gains:
• For Long Positions:
o The script calculates the profit as the difference between the current price and the average entry price.
o If this profit exceeds the TslTriggerPoints threshold, a trailing stop is applied by placing an exit order.
o The stop price is set at a distance below the current price, while a limit (profit target) is also defined.
• For Short Positions:
o The profit is calculated as the difference between the average entry price and the current price.
o A similar trailing stop exit is applied if the profit exceeds the trigger threshold.
________________________________________
Summary
In essence, this strategy works by:
• Defining entry levels based on recent local highs and lows.
• Placing pending stop orders to enter the market when those levels are breached.
• Filtering orders by time, ensuring trades are only taken during specified hours.
• Implementing a trailing stop mechanism to secure profits once the trade moves favorably.
This approach is designed to automate BTC trading based on price action and dynamic risk management, although further enhancements (like dynamic position sizing based on RiskPercent) could be added for a more complete risk management system.
Reversal + Confirm ZonesThis script is written in Pine Script (version 5) for TradingView and creates an indicator called **"Reversal + Confirm Zones"**. It overlays visual zones on a price chart to identify potential reversal points and confirmation signals for trading. The indicator combines **Bollinger Bands** and **RSI** to detect overbought/oversold conditions (reversal zones) and uses **EMA crosses** and **MACD zero-line crosses** to confirm bullish or bearish trends. Below is a detailed explanation:
---
### **1. Purpose**
- The script highlights:
- **Reversal Zones**: Areas where the price might reverse due to being overbought (green) or oversold (red).
- **Confirmation Zones**: Areas where a trend reversal is confirmed using EMA and MACD signals (green for bullish, red for bearish).
- It provides visual backgrounds and alerts to assist traders in spotting potential trade setups.
---
### **2. Components**
The script is divided into two main parts: **Reversal Logic** and **Confirmation Logic**.
---
### **3. Reversal Logic (Red & Green Zones)**
#### **Bollinger Bands**
- **Parameters**:
- Length: 20 periods.
- Source: Closing price (`close`).
- Multiplier: 2.0 (standard deviations).
- **Calculation**:
- `basis`: 20-period Simple Moving Average (SMA).
- `dev`: 2 times the standard deviation of the price over 20 periods.
- `upper`: `basis + dev` (upper band).
- `lower`: `basis - dev` (lower band).
- **Purpose**: Identifies when the price moves outside the normal range (beyond 2 standard deviations).
#### **Relative Strength Index (RSI)**
- **Parameters**:
- Length: 14 periods.
- Low Threshold: 30 (oversold).
- High Threshold: 70 (overbought).
- **Calculation**: `rsiValue = ta.rsi(close, rsiLength)`.
- **Purpose**: Measures momentum to confirm overbought or oversold conditions.
#### **Zone Conditions**
- **Red Zone (Oversold)**:
- Condition: `close < lower` (price below lower Bollinger Band) AND `rsiValue < rsiLowThreshold` (RSI < 30).
- Visual: Light red background (`color.new(color.red, 80)`).
- Alert: "Deep Oversold Signal triggered!".
- **Green Zone (Overbought)**:
- Condition: `close > upper` (price above upper Bollinger Band) AND `rsiValue > rsiHighThreshold` (RSI > 70).
- Visual: Light green background (`color.new(color.green, 80)`).
- Alert: "Deep Overbought Signal triggered!".
#### **Interpretation**
- Red Zone: Suggests the price is oversold and may reverse upward.
- Green Zone: Suggests the price is overbought and may reverse downward.
---
### **4. Confirmation Logic (EMA and MACD Crosses)**
#### **Exponential Moving Averages (EMAs)**
- **Parameters**:
- Short EMA Length: 9 periods (user adjustable).
- Long EMA Length: 21 periods (user adjustable).
- **Calculation**:
- `emaShort = ta.ema(close, emaShortLength)`.
- `emaLong = ta.ema(close, emaLongLength)`.
- **Conditions**:
- **Bullish EMA Cross**: `emaCrossBullish = ta.crossover(emaShort, emaLong)` (9 EMA crosses above 21 EMA).
- **Bearish EMA Cross**: `emaCrossBearish = ta.crossunder(emaShort, emaLong)` (9 EMA crosses below 21 EMA).
#### **MACD**
- **Parameters**:
- Fast Length: 12 periods (user adjustable).
- Slow Length: 26 periods (user adjustable).
- Signal Smoothing: 9 periods (user adjustable).
- **Calculation**:
- ` = ta.macd(close, macdFastLength, macdSlowLength, macdSignalSmoothing)`.
- Only the MACD line and signal line are used; the histogram is ignored (`_`).
- **Conditions**:
- **Bullish MACD Cross**: `macdCrossBullish = ta.crossover(macdLine, 0)` (MACD crosses above zero).
- **Bearish MACD Cross**: `macdCrossBearish = ta.crossunder(macdLine, 0)` (MACD crosses below zero).
#### **Combined Confirmation Conditions**
- **Bullish Confirmation**:
- Condition: `bullishConfirmation = emaCrossBullish and macdCrossBullish`.
- Visual: Very light green background (`color.new(color.green, 90)`).
- Meaning: A bullish trend is confirmed when the 9 EMA crosses above the 21 EMA AND the MACD crosses above zero.
- **Bearish Confirmation**:
- Condition: `bearishConfirmation = emaCrossBearish and macdCrossBearish`.
- Visual: Very light red background (`color.new(color.red, 90)`).
- Meaning: A bearish trend is confirmed when the 9 EMA crosses below the 21 EMA AND the MACD crosses below zero.
---
### **5. Visual Outputs**
- **Reversal Zones**:
- Red background for oversold conditions.
- Green background for overbought conditions.
- **Confirmation Zones**:
- Light green background for bullish confirmation.
- Light red background for bearish confirmation.
- Note: The script does not plot the Bollinger Bands, EMAs, or MACD lines—only the background zones are visualized.
---
### **6. Alerts**
- **Deep Oversold Alert**: Triggers when the red zone condition is met.
- **Deep Overbought Alert**: Triggers when the green zone condition is met.
- No alerts are set for the confirmation zones (EMA/MACD crosses).
---
### **7. How It Works**
1. **Reversal Detection**:
- The script uses Bollinger Bands and RSI to flag extreme price levels (red for oversold, green for overbought).
- These zones suggest potential reversals but are not confirmed yet.
2. **Trend Confirmation**:
- EMA crosses (9/21) and MACD zero-line crosses provide confirmation of a trend direction.
- Bullish confirmation (green) occurs when both indicators align upward.
- Bearish confirmation (red) occurs when both indicators align downward.
3. **Trading Strategy**:
- Look for a red zone (oversold) followed by a bullish confirmation for a potential long entry.
- Look for a green zone (overbought) followed by a bearish confirmation for a potential short entry.
---
### **8. How to Use**
1. Add the script to TradingView.
2. Adjust inputs (EMA lengths, MACD settings) if desired.
3. Monitor the chart:
- Red zones indicate oversold conditions—watch for a potential upward reversal.
- Green zones indicate overbought conditions—watch for a potential downward reversal.
- Light green/red backgrounds confirm the trend direction after a reversal zone.
4. Set up alerts for oversold/overbought conditions to catch reversal signals early.
---
### **9. Key Features**
- **Dual Purpose**: Combines reversal detection (Bollinger Bands + RSI) with trend confirmation (EMA + MACD).
- **Visual Simplicity**: Uses background colors instead of plotting lines, keeping the chart clean.
- **Customizable**: Allows users to tweak EMA and MACD periods.
- **Alerts**: Notifies users of extreme conditions for timely action.
---
### **10. Limitations**
- No plotted indicators (e.g., Bollinger Bands, EMAs, MACD) for visual reference—relies entirely on background shading.
- Confirmation signals (EMA/MACD) may lag behind reversal zones, potentially missing fast reversals.
- No alerts for confirmation zones, limiting real-time notification of trend confirmation.
This script is ideal for traders who want a straightforward way to spot potential reversals and confirm them with trend-following indicators, all overlaid on the price chart.
Sniper TradingSniper Trader Indicator Overview
Sniper Trader is a comprehensive trading indicator designed to assist traders by providing valuable insights and alerting them to key market conditions. The indicator combines several technical analysis tools and provides customizable inputs for different strategies and needs.
Here’s a detailed breakdown of all the components and their functions in the Sniper Trader indicator:
1. MACD (Moving Average Convergence Divergence)
The MACD is a trend-following momentum indicator that helps determine the strength and direction of the current trend. It consists of two lines:
MACD Line (Blue): Calculated by subtracting the long-term EMA (Exponential Moving Average) from the short-term EMA.
Signal Line (Red): The EMA of the MACD line, typically set to 9 periods.
What does it do?
Buy Signal: When the MACD line crosses above the signal line, it generates a buy signal.
Sell Signal: When the MACD line crosses below the signal line, it generates a sell signal.
Zero Line Crossings: Alerts are triggered when the MACD line crosses above or below the zero line.
2. RSI (Relative Strength Index)
The RSI is a momentum oscillator used to identify overbought or oversold conditions in the market.
Overbought Level (Red): The level above which the market might be considered overbought, typically set to 70.
Oversold Level (Green): The level below which the market might be considered oversold, typically set to 30.
What does it do?
Overbought Signal: When the RSI crosses above the overbought level, it’s considered a signal that the asset may be overbought.
Oversold Signal: When the RSI crosses below the oversold level, it’s considered a signal that the asset may be oversold.
3. ATR (Average True Range)
The ATR is a volatility indicator that measures the degree of price movement over a specific period (14 bars in this case). It provides insights into how volatile the market is.
What does it do?
The ATR value is plotted on the chart and provides a reference for potential market volatility. It's used to detect flat zones, where the price may not be moving significantly, potentially indicating a lack of trends.
4. Support and Resistance Zones
The Support and Resistance Zones are drawn by identifying key swing highs and lows over a user-defined look-back period.
Support Zone (Green): Identifies areas where the price has previously bounced upwards.
Resistance Zone (Red): Identifies areas where the price has previously been rejected or reversed.
What does it do?
The indicator uses swing highs and lows to define support and resistance zones and highlights these areas on the chart. This helps traders identify potential price reversal points.
5. Alarm Time
The Alarm Time feature allows you to set a custom time for the indicator to trigger an alarm. The time is based on Eastern Time and can be adjusted directly in the inputs tab.
What does it do?
It triggers an alert at a user-defined time (for example, 4 PM Eastern Time), helping traders close positions or take specific actions at a set time.
6. Market Condition Display
The Market Condition Display shows whether the market is in a Bullish, Bearish, or Flat state based on the MACD line’s position relative to the signal line.
Bullish (Green): The market is in an uptrend.
Bearish (Red): The market is in a downtrend.
Flat (Yellow): The market is in a range or consolidation phase.
7. Table for Key Information
The indicator includes a customizable table that displays the current market condition (Bull, Bear, Flat). The table is placed at a user-defined location (top-left, top-right, bottom-left, bottom-right), and the appearance of the table can be adjusted for text size and color.
8. Background Highlighting
Bullish Reversal: When the MACD line crosses above the signal line, the background is shaded green to highlight the potential for a trend reversal to the upside.
Bearish Reversal: When the MACD line crosses below the signal line, the background is shaded red to highlight the potential for a trend reversal to the downside.
Flat Zone: A flat zone is identified when volatility is low (ATR is below the average), and the background is shaded orange to signal periods of low market movement.
Key Features:
Customizable Time Inputs: Adjust the alarm time based on your local time zone.
User-Friendly Table: Easily view market conditions and adjust display settings.
Comprehensive Alerts: Receive alerts for MACD crossovers, RSI overbought/oversold conditions, flat zones, and the custom alarm time.
Support and Resistance Zones: Drawn automatically based on historical price action.
Trend and Momentum Indicators: Utilize the MACD and RSI for identifying trends and market conditions.
How to Use Sniper Trader:
Set Your Custom Time: Adjust the alarm time to match your trading schedule.
Monitor Market Conditions: Check the table for real-time market condition updates.
Use MACD and RSI Signals: Watch for MACD crossovers and RSI overbought/oversold signals.
Watch for Key Zones: Pay attention to the support and resistance zones and background highlights to identify market turning points.
Set Alerts: Use the built-in alerts to notify you of buy/sell signals or when it’s time to take action at your custom alarm time.
Timeframe Display + Countdown📘 Help Guide: Timeframe Display + Countdown + Alert
🔹 Overview
This indicator displays:
✅ The selected timeframe (e.g., 5min, 1H, 4H)
✅ A countdown timer showing minutes and seconds until the current candle closes
✅ An optional alert that plays a sound when 1 minute remains before the new candle starts
⚙️ How to Use
1️⃣ Add the Indicator
• Open TradingView
• Click on Pine Script Editor
• Copy and paste the script
• Click Add to Chart
2️⃣ Customize Settings
• Text Color: Choose a color for the displayed text
• Text Size: Adjust the font size (8–24)
• Transparency: Set how transparent the text is (0%–100%)
• Position: Choose where the text appears (Top Left, Top Right, Bottom Left, Bottom Right)
• Enable Audible Alert: Turn ON/OFF the alert when 1 minute remains
3️⃣ Set Up an Audible Alert in TradingView
🚨 Important: Pine Script cannot play sounds directly; you must set up a manual alert in TradingView.
Steps:
1. Click “Alerts” (🔔 icon in TradingView)
2. Click “Create Alert” (+ button)
3. In “Condition”, select this indicator (Timeframe Display + Countdown)
4. Under “Options”, choose:
• Trigger: “Once Per Bar”
• Expiration: Set a valid time range
• Alert Actions: Check “Play Sound” and choose a sound
5. Click “Create” ✅
🛠️ How It Works
• Countdown Timer:
• Updates in real time, displaying MM:SS until the candle closes
• Resets when a new candle starts
• Alert Trigger:
• When 1:00 minute remains, an alert is sent
• If properly configured in TradingView, it plays a sound
Sunil High-Frequency Strategy with Simple MACD & RSISunil High-Frequency Strategy with Simple MACD & RSI
This high-frequency trading strategy uses a combination of MACD and RSI to identify quick market opportunities. By leveraging these indicators, combined with dynamic risk management using ATR, it aims to capture small but frequent price movements while ensuring tight control over risk.
Key Features:
Indicators Used:
MACD (Moving Average Convergence Divergence): The strategy uses a shorter MACD configuration (Fast Length of 6 and Slow Length of 12) to capture quick price momentum shifts. A MACD crossover above the signal line triggers a buy signal, while a crossover below the signal line triggers a sell signal.
RSI (Relative Strength Index): A shorter RSI length of 7 is used to gauge overbought and oversold market conditions. The strategy looks for RSI confirmation, with a long trade initiated when RSI is below the overbought level (70) and a short trade initiated when RSI is above the oversold level (30).
Risk Management:
Dynamic Stop Loss and Take Profit: The strategy uses ATR (Average True Range) to calculate dynamic stop loss and take profit levels based on market volatility.
Stop Loss is set at 0.5x ATR to limit risk.
Take Profit is set at 1.5x ATR to capture reasonable price moves.
Trailing Stop: As the market moves in the strategy’s favor, the position is protected by a trailing stop set at 0.5x ATR, allowing the strategy to lock in profits as the price moves further.
Entry & Exit Signals:
Long Entry: Triggered when the MACD crosses above the signal line (bullish crossover) and RSI is below the overbought level (70).
Short Entry: Triggered when the MACD crosses below the signal line (bearish crossover) and RSI is above the oversold level (30).
Exit Conditions: The strategy exits long or short positions based on the stop loss, take profit, or trailing stop activation.
Frequent Trades:
This strategy is designed for high-frequency trading, with trade signals occurring frequently as the MACD and RSI indicators react quickly to price movements. It works best on lower timeframes such as 1-minute, 5-minute, or 15-minute charts, but can be adjusted for different timeframes based on the asset’s volatility.
Customizable Parameters:
MACD Settings: Adjust the Fast Length, Slow Length, and Signal Length to tune the MACD’s sensitivity.
RSI Settings: Customize the RSI Length, Overbought, and Oversold levels to better match your trading style.
ATR Settings: Modify the ATR Length and multipliers for Stop Loss, Take Profit, and Trailing Stop to optimize risk management according to market volatility.
Important Notes:
Market Conditions: This strategy is designed to capture smaller, quicker moves in trending markets. It may not perform well during choppy or sideways markets.
Optimizing for Asset Volatility: Adjust the ATR multipliers based on the asset’s volatility to suit the risk-reward profile that fits your trading goals.
Backtesting: It's recommended to backtest the strategy on different assets and timeframes to ensure optimal performance.
Summary:
The Sunil High-Frequency Strategy leverages a simple combination of MACD and RSI with dynamic risk management (using ATR) to trade small but frequent price movements. The strategy ensures tight stop losses and reasonable take profits, with trailing stops to lock in profits as the price moves in favor of the trade. It is ideal for scalping or intraday trading on lower timeframes, aiming for quick entries and exits with controlled risk.
Granular Candle-by-Candle VWAPGranular Candle-by-Candle VWAP is a customizable Volume Weighted Average Price (VWAP) indicator designed for TradingView. Unlike traditional VWAP indicators that operate on the chart's primary timeframe, this script enhances precision by incorporating lower timeframe (e.g., 1-minute) data into VWAP calculations. This granular approach provides traders with a more detailed and accurate representation of the average price, accounting for intra-bar price and volume movements. The indicator dynamically adjusts to the chart's current timeframe and offers a range of customization options, including price type selection, visual styling, and alert configurations.
Customizable Features
Users have extensive control over various aspects of the Granular Candle-by-Candle VWAP indicator. Below are the key features that can be customized to align with individual trading preferences:
🎛️ Customizable Features
Users have extensive control over various aspects of the Granular Candle-by-Candle VWAP indicator. Below are the key features that can be customized to align with individual trading preferences:
🔢 Lookback Period
Description: Defines the number of lower timeframe bars used in the VWAP calculation.
Customization:
Input: VWAP Lookback Period (Number of Lower Timeframe Bars)
Default Value: 20 bars
Range: Minimum of 1 bar
Purpose: Allows traders to adjust the sensitivity of the VWAP. A smaller lookback period makes the VWAP more responsive to recent price changes, while a larger period smoothens out fluctuations.
📈 Price Type Selection
Description: Determines which price metric is used in the VWAP calculation.
Customization:
Input: Price Type for VWAP Calculation
Options:
Open: Uses the opening price of each lower timeframe bar.
High: Uses the highest price of each lower timeframe bar.
Low: Uses the lowest price of each lower timeframe bar.
Close: Uses the closing price of each lower timeframe bar.
OHLC/4: Averages the Open, High, Low, and Close prices.
HL/2: Averages the High and Low prices.
Typical Price: (High + Low + Close) / 3
Weighted Close: (High + Low + 2 × Close) / 4
Default Value: Close
Purpose: Offers flexibility in how the average price is calculated, allowing traders to choose the price metric that best fits their analysis style.
🕒 Lower Timeframe Selection
Description: Specifies the lower timeframe from which data is fetched for granular VWAP calculations.
Customization:
Input: Lower Timeframe for Granular Data
Default Value: 1 minute ("1")
Options: Any valid TradingView timeframe (e.g., "1", "3", "5", "15", etc.)
Purpose: Enables traders to select the granularity of data used in the VWAP calculation, enhancing the indicator's precision on higher timeframe charts.
🎨 VWAP Line Customization
Description: Adjusts the visual appearance of the VWAP line based on price position relative to the VWAP.
Customizations:
Color When Price is Above VWAP:
Input: VWAP Color (Price Above)
Default Value: Green
Color When Price is Below VWAP:
Input: VWAP Color (Price Below)
Default Value: Red
Line Thickness:
Input: VWAP Line Thickness
Default Value: 2
Range: Minimum of 1
Line Style:
Input: VWAP Line Style
Options: Solid, Dashed, Dotted
Default Value: Solid
Purpose: Enhances visual clarity, allowing traders to quickly assess price positions relative to the VWAP through color coding and line styling.
🔔 Alerts and Notifications
Description: Provides real-time notifications when the price crosses the VWAP.
Customizations:
Enable/Disable Alerts:
Input: Enable Alerts for Price Crossing VWAP
Default Value: Enabled (true)
Alert Conditions:
Price Crossing Above VWAP:
Trigger: When the closing price crosses from below to above the VWAP.
Alert Message: "Price has crossed above the Granular VWAP."
Price Crossing Below VWAP:
Trigger: When the closing price crosses from above to below the VWAP.
Alert Message: "Price has crossed below the Granular VWAP."
Purpose: Keeps traders informed of significant price movements relative to the VWAP, facilitating timely trading decisions.
📊 Plotting and Visualization
Description: Displays the calculated Granular VWAP on the chart with user-defined styling.
Customization Options:
Color, Thickness, and Style: As defined in the VWAP Line Customization section.
Track Price Feature:
Parameter: trackprice=true
Function: Ensures that the VWAP line remains visible even when the price moves far from the VWAP.
Purpose: Provides a clear and persistent visual reference of the VWAP on the chart, aiding in trend analysis and support/resistance identification.
⚙️ Performance Optimizations
Description: Ensures the indicator runs efficiently, especially on higher timeframes with large datasets.
Strategies Implemented:
Minimized Security Calls: Utilizes two separate request.security calls to fetch necessary data, balancing functionality and performance.
Efficient Calculations: Employs built-in functions like ta.sum for rolling calculations to reduce computational load.
Conditional Processing: Alerts are processed only when enabled, preventing unnecessary computations.
Purpose: Maintains smooth chart performance and responsiveness, even when using lower timeframe data for granular calculations.
$TUBR: 7-25-99 Moving Average7, 25, and 99 Period Moving Averages
This indicator plots three moving averages: the 7-period, 25-period, and 99-period Simple Moving Averages (SMA). These moving averages are widely used to smooth out price action and help traders identify trends over different time frames. Let's break down the significance of these specific moving averages from both supply and demand perspectives and a price action perspective.
1. Supply and Demand Perspective:
- 7-period Moving Average (Short-Term) :
The 7-period moving average represents the short-term sentiment in the market. It captures the rapid fluctuations in price and is heavily influenced by recent supply and demand changes. Traders often look to the 7-period SMA for immediate price momentum, with price moving above or below this line signaling short-term strength or weakness.
- Bullish Supply/Demand : When price is above the 7-period SMA, it suggests that buyers are currently in control and demand is higher than supply. Conversely, price falling below this line indicates that supply is overpowering demand, leading to a short-term downtrend.
Is current price > average price in past 7 candles (depending on timeframe)? This will tell you how aggressive buyers are in short term.
- Key Supply/Demand Zones : The 7-period SMA often acts as dynamic support or resistance in a trending market, where traders might use it to enter or exit positions based on how price interacts with this level.
- 25-period Moving Average (Medium-Term) :
The 25-period SMA smooths out more of the noise compared to the 7-period, providing a more stable indication of intermediate trends. This moving average is often used to gauge the market's supply and demand balance over a broader timeframe than the short-term 7-period SMA.
- Supply/Demand Balance : The 25-period SMA reflects the medium-term equilibrium between supply and demand. A crossover between the price and the 25-period SMA may indicate a shift in this balance. When price sustains above the 25-period SMA, it shows that demand is strong enough to maintain an upward trend. Conversely, if the price stays below it, supply is likely exceeding demand.
Is current price > average price in past 25 candles (depending on timeframe)? This will tell you how aggressive buyers are in mid term.
- Momentum Shift : Crossovers between the 7-period and 25-period SMAs can indicate momentum shifts between short-term and medium-term demand. For example, if the 7-period crosses above the 25-period, it often signifies growing short-term demand relative to the medium-term trend, signaling potential buy opportunities. What this crossover means is that if 7MA > 25MA that means in past 7 candles average price is more than past 25 candles.
- 99-period Moving Average (Long-Term):
The 99-period SMA represents the long-term trend and reflects the market's supply and demand over an extended period. This moving average filters out short-term fluctuations and highlights the market's overall trajectory.
- Long-Term Supply/Demand Dynamics : The 99-period SMA is slower to react to changes in supply and demand, providing a more stable view of the market's overall trend. Price staying above this line shows sustained demand dominance, while price consistently staying below reflects ongoing supply pressure.
Is current price > average price in past 99 candles (depending on timeframe)? This will tell you how aggressive buyers are in long term.
- Market Trend Confirmation : When both the 7-period and 25-period SMAs are above the 99-period SMA, it signals a strong bullish trend with demand outweighing supply across all timeframes. If all three SMAs are below the 99-period SMA, it points to a bear market where supply is overpowering demand in both the short and long term.
2. Price Action Perspective :
- 7-period Moving Average (Short-Term Trends):
The 7-period moving average closely tracks price action, making it highly responsive to quick shifts in price. Traders often use it to confirm short-term reversals or continuations in price action. In an uptrend, price typically stays above the 7-period SMA, whereas in a downtrend, price stays below it.
- Short-Term Price Reversals : Crossovers between the price and the 7-period SMA often indicate short-term reversals. When price breaks above the 7-period SMA after staying below it, it suggests a potential bullish reversal. Conversely, a price breakdown below the 7-period SMA could signal a bearish reversal.
- 25-period Moving Average (Medium-Term Trends) :
The 25-period SMA helps identify the medium-term price action trend. It balances short-term volatility and longer-term stability, providing insight into the more persistent trend. Price pullbacks to the 25-period SMA during an uptrend can act as a buying opportunity for trend traders, while pullbacks during a downtrend may offer shorting opportunities.
- Pullback and Continuation: In trending markets, price often retraces to the 25-period SMA before continuing in the direction of the trend. For instance, if the price is in a bullish trend, traders may look for support at the 25-period SMA for potential continuation trades.
- 99-period Moving Average (Long-Term Trend and Market Sentiment ):
The 99-period SMA is the most critical for identifying the overall market trend. Price consistently trading above the 99-period SMA indicates long-term bullish momentum, while price staying below the 99-period SMA suggests bearish sentiment.
- Trend Confirmation : Price action above the 99-period SMA confirms long-term upward momentum, while price action below it confirms a downtrend. The space between the shorter moving averages (7 and 25) and the 99-period SMA gives a sense of the strength or weakness of the trend. Larger gaps between the 7 and 99 SMAs suggest strong bullish momentum, while close proximity indicates consolidation or potential reversals.
- Price Action in Trending Markets : Traders often use the 99-period SMA as a dynamic support/resistance level. In strong trends, price tends to stay on one side of the 99-period SMA for extended periods, with breaks above or below signaling major changes in market sentiment.
Why These Numbers Matter:
7-Period MA : The 7-period moving average is a popular choice among short-term traders who want to capture quick momentum changes. It helps visualize immediate market sentiment and is often used in conjunction with price action to time entries or exits.
- 25-Period MA: The 25-period MA is a key indicator for swing traders. It balances sensitivity and stability, providing a clearer picture of the intermediate trend. It helps traders stay in trades longer by filtering out short-term noise, while still being reactive enough to detect reversals.
- 99-Period MA : The 99-period moving average provides a broad view of the market's direction, filtering out much of the short- and medium-term noise. It is crucial for identifying long-term trends and assessing whether the market is bullish or bearish overall. It acts as a key reference point for longer-term trend followers, helping them stay with the broader market sentiment.
Conclusion:
From a supply and demand perspective, the 7, 25, and 99-period moving averages help traders visualize shifts in the balance between buyers and sellers over different time horizons. The price action interaction with these moving averages provides valuable insight into short-term momentum, intermediate trends, and long-term market sentiment. Using these three MAs together gives a more comprehensive understanding of market conditions, helping traders align their strategies with prevailing trends across various timeframes.
------------- RULE BASED SYSTEM ---------------
Overview of the Rule-Based System:
This system will use the following moving averages:
7-period MA: Represents short-term price action.
25-period MA: Represents medium-term price action.
99-period MA: Represents long-term price action.
1. Trend Identification Rules:
Bullish Trend:
The 7-period MA is above the 25-period MA, and the 25-period MA is above the 99-period MA.
This structure shows that short, medium, and long-term trends are aligned in an upward direction, indicating strong bullish momentum.
Bearish Trend:
The 7-period MA is below the 25-period MA, and the 25-period MA is below the 99-period MA.
This suggests that the market is in a downtrend, with bearish momentum dominating across timeframes.
Neutral/Consolidation:
The 7-period MA and 25-period MA are flat or crossing frequently with the 99-period MA, and they are close to each other.
This indicates a sideways or consolidating market where there’s no strong trend direction.
2. Entry Rules:
Bullish Entry (Buy Signals):
Primary Buy Signal:
The price crosses above the 7-period MA, AND the 7-period MA is above the 25-period MA, AND the 25-period MA is above the 99-period MA.
This indicates the start of a new upward trend, with alignment across the short, medium, and long-term trends.
Pullback Buy Signal (for trend continuation):
The price pulls back to the 25-period MA, and the 7-period MA remains above the 25-period MA.
This indica
tes that the pullback is a temporary correction in an uptrend, and buyers may re-enter the market as price approaches the 25-period MA.
You can further confirm the signal by waiting for price action (e.g., bullish candlestick patterns) at the 25-period MA level.
Breakout Buy Signal:
The price crosses above the 99-period MA, and the 7-period and 25-period MAs are also both above the 99-period MA.
This confirms a strong bullish breakout after consolidation or a long-term downtrend.
Bearish Entry (Sell Signals):
Primary Sell Signal:
The price crosses below the 7-period MA, AND the 7-period MA is below the 25-period MA, AND the 25-period MA is below the 99-period MA.
This indicates the start of a new downtrend with alignment across the short, medium, and long-term trends.
Pullback Sell Signal (for trend continuation):
The price pulls back to the 25-period MA, and the 7-period MA remains below the 25-period MA.
This indicates that the pullback is a temporary retracement in a downtrend, providing an opportunity to sell as price meets resistance at the 25-period MA.
Breakdown Sell Signal:
The price breaks below the 99-period MA, and the 7-period and 25-period MAs are also below the 99-period MA.
This confirms a strong bearish breakdown after consolidation or a long-term uptrend reversal.
3. Exit Rules:
Bullish Exit (for long positions):
Short-Term Exit:
The price closes below the 7-period MA, and the 7-period MA starts crossing below the 25-period MA.
This indicates weakening momentum in the uptrend, suggesting an exit from the long position.
Stop-Loss Trigger:
The price falls below the 99-period MA, signaling the breakdown of the long-term trend.
This can act as a final exit signal to minimize losses if the long-term uptrend is invalidated.
Bearish Exit (for short positions):
Short-Term Exit:
The price closes above the 7-period MA, and the 7-period MA starts crossing above the 25-period MA.
This indicates a potential weakening of the downtrend and signals an exit from the short position.
Stop-Loss Trigger:
The price breaks above the 99-period MA, invalidating the bearish trend.
This signals that the market may be reversing to the upside, and exiting short positions would be prudent.
Bitcoin Futures vs. Spot Tri-Frame - Strategy [presentTrading]Prove idea with a backtest is always true for trading.
I developed and open-sourced it as an educational material for crypto traders to understand that the futures and spot spread may be effective but not be as effective as they might think. It serves as an indicator of sentiment rather than a reliable predictor of market trends over certain periods. It is better suited for specific trading environments, which require further research.
█ Introduction and How it is Different
The "Bitcoin Futures vs. Spot Tri-Frame Strategy" utilizes three different timeframes to calculate the Z-Score of the spread between BTC futures and spot prices on Binance and OKX exchanges. The strategy executes long or short trades based on composite Z-Score conditions across the three timeframes.
The spread refers to the difference in price between BTC futures and BTC spot prices, calculated by taking a weighted average of futures prices from multiple exchanges (Binance and OKX) and subtracting a weighted average of spot prices from the same exchanges.
BTCUSD 1D L/S Performance
█ Strategy, How It Works: Detailed Explanation
🔶 Calculation of the Spread
The spread is the difference in price between BTC futures and BTC spot prices. The strategy calculates the spread by taking a weighted average of futures prices from multiple exchanges (Binance and OKX) and subtracting a weighted average of spot prices from the same exchanges. This spread serves as the primary metric for identifying trading opportunities.
Spread = Weighted Average Futures Price - Weighted Average Spot Price
🔶 Z-Score Calculation
The Z-Score measures how many standard deviations the current spread is from its historical mean. This is calculated for each timeframe as follows:
Spread Mean_tf = SMA(Spread_tf, longTermSMA)
Spread StdDev_tf = STDEV(Spread_tf, longTermSMA)
Z-Score_tf = (Spread_tf - Spread Mean_tf) / Spread StdDev_tf
Local performance
🔶 Composite Entry Conditions
The strategy triggers long and short entries based on composite Z-Score conditions across all three timeframes:
- Long Condition: All three Z-Scores must be greater than the long entry threshold.
Long Condition = (Z-Score_tf1 > zScoreLongEntryThreshold) and (Z-Score_tf2 > zScoreLongEntryThreshold) and (Z-Score_tf3 > zScoreLongEntryThreshold)
- Short Condition: All three Z-Scores must be less than the short entry threshold.
Short Condition = (Z-Score_tf1 < zScoreShortEntryThreshold) and (Z-Score_tf2 < zScoreShortEntryThreshold) and (Z-Score_tf3 < zScoreShortEntryThreshold)
█ Trade Direction
The strategy allows the user to specify the trading direction:
- Long: Only long trades are executed.
- Short: Only short trades are executed.
- Both: Both long and short trades are executed based on the Z-Score conditions.
█ Usage
The strategy can be applied to BTC or Crypto trading on major exchanges like Binance and OKX. By leveraging discrepancies between futures and spot prices, traders can exploit market inefficiencies. This strategy is suitable for traders who prefer a statistical approach and want to diversify their timeframes to validate signals.
█ Default Settings
- Input TF 1 (60 minutes): Sets the first timeframe for Z-Score calculation.
- Input TF 2 (120 minutes): Sets the second timeframe for Z-Score calculation.
- Input TF 3 (180 minutes): Sets the third timeframe for Z-Score calculation.
- Long Entry Z-Score Threshold (3): Defines the threshold above which a long trade is triggered.
- Short Entry Z-Score Threshold (-3): Defines the threshold below which a short trade is triggered.
- Long-Term SMA Period (100): The period used to calculate the simple moving average for the spread.
- Use Hold Days (true): Enables holding trades for a specified number of days.
- Hold Days (5): Number of days to hold the trade before exiting.
- TPSL Condition (None): Defines the conditions for taking profit and stop loss.
- Take Profit (%) (30.0): The percentage at which the trade will take profit.
- Stop Loss (%) (20.0): The percentage at which the trade will stop loss.
By fine-tuning these settings, traders can optimize the strategy to suit their risk tolerance and trading style, enhancing overall performance.
ICT Concept [TradingFinder] Order Block | FVG | Liquidity Sweeps🔵 Introduction
The "ICT" style is one of the subsets of "Price Action" technical analysis. ICT is a method created by "Michael Huddleston", a professional forex trader and experienced mentor. The acronym ICT stands for "Inner Circle Trader".
The main objective of the ICT trading strategy is to combine "Price Action" and the concept of "Smart Money" to identify optimal entry points into trades. However, finding suitable entry points is not the only strength of this approach. With the ICT style, traders can better understand price behavior and adapt their trading approach to market structure accordingly.
Numerous concepts are discussed in this style, but the key practical concepts for trading in financial markets include "Order Block," "Liquidity," and "FVG".
🔵 How to Use
🟣Order Block
Order blocks are a specific type of "Supply and Demand" zones formed when a series of orders are placed in a block. These orders could be created by banks or other major players. Banks typically execute large orders in blocks during their trading sessions. If they were to enter the market directly with a small quantity, significant price movements would occur before the orders are fully executed, resulting in less profit. To avoid this, they divide their orders into smaller, manageable positions. Traders should look for "buy" opportunities in "demand order blocks" areas and "sell" opportunities in "supply order blocks".
🟣Liquidity
These levels are where traders aim to exit their trades. "Market Makers" or smart money usually collects or distributes their trading positions near levels where many retail traders have placed their "Stop Loss" orders. When the liquidity resulting from these losses is collected, the price often reverses direction.
A "Stop Hunt" is a move designed to neutralize liquidity generated by triggered stop losses. Banks often use significant news events to trigger stop hunts and acquire the liquidity released in the market. If, for example, they intend to execute heavy buy orders, they encourage others to sell through stop hunts.
As a result, if there is liquidity in the market before reaching the order block region, the credibility of that order block is higher. Conversely, if liquidity is near the order block, meaning the price reaches the order block before reaching the liquidity area, the credibility of that order block is lower.
🟣FVG (Fair Value Gap)
To identify the "Fair Value Gap" on the chart, one must analyze candle by candle. Focus on candles with large bodies, examining one candle and the one before it. The candles before and after this central candle should have long shadows, and their bodies should not overlap with the body of the central candle. The distance between the shadows of the first and third candles is called the FVG range.
These zone function in two ways :
•Supply and Demand zone: In this case, the price reacts to these zone, and its trend reverses.
•Liquidity zone: In this scenario, the price "fills" the zone and then reaches the order block.
Important Note: In most cases, FVG zone with very small width act as supply and demand zone, while zone with a significant width act as liquidity zone, absorbing the price.
🔵 Setting
🟣Order Block
Refine Order Block : When the option for refining order blocks is Off, the supply and demand zones encompass the entire length of the order block (from Low to High) in their standard state and remain unaltered. On the option for refining order blocks triggers the improvement of supply and demand zones using the error correction algorithm.
Refine Type : The enhancement of order blocks via the error correction algorithm can be executed through two methods: Defensive and Aggressive. In the Aggressive approach, the widest possible range is taken into account for order blocks.
Show High Levels : If major high levels are to be displayed, set the option for showing high level to Yes.
Show Low Levels : If major low levels are to be displayed, set the option for showing low level to Yes.
Show Last Support : If showing the last support is desired, set the option for showing last support to Yes.
Show Last Resistance : If showing the last resistance is desired, set the option for showing last resistance to Yes.
🟣 FVG
FVG Filter : When FVG filtering is activated, the number of FVG areas undergoes filtration based on the specified algorithm.
FVG Filter Types :
1. Very Aggressive : Apart from the initial condition, an additional condition is introduced. For an upward FVG, the maximum price of the last candle should exceed the maximum price of the middle candle. Similarly, for a downward FVG, the minimum price of the last candle should be lower than the minimum price of the middle candle. This mode eliminates a minimal number of FVGs.
2. Aggressive : In addition to the conditions of the Very Aggressive mode, this mode considers the size of the middle candle; it should not be small. Consequently, a larger number of FVGs are eliminated in this mode.
3. Defensive : Alongside the conditions of the Very Aggressive mode, this mode takes into account the size of the middle candle, which should be relatively large with the majority of it comprising the body. Furthermore, to identify upward FVGs, the second and third candles must be positive, whereas for downward FVGs, the second and third candles must be negative. This mode filters out a considerable number of FVGs, retaining only those of suitable quality.
4. Very Defensive : In addition to the conditions of the Defensive mode, the first and third candles should not be very small-bodied doji candles. This mode filters out the majority of FVGs, leaving only the highest quality ones. Show Demand FVG: Enables the display of demand-related boxes, which can be toggled between off and on. Show Supply FVG: Enables the display of supply-related boxes along the path, which can also be toggled between off and on.
🟣 Liquidity
Statics Liquidity Line Sensitivity : A value ranging from 0 to 0.4. Increasing this value reduces the sensitivity of the "Statics Liquidity Line Detection" function and increases the number of identified lines. The default value is 0.3.
Dynamics Liquidity Line Sensitivity : A value ranging from 0.4 to 1.95. Increasing this value enhances the sensitivity of the "Dynamics Liquidity Line Detection" function and decreases the number of identified lines. The default value is 1.
Statics Period Pivot : Default value is set to 8. By adjusting this value, you can specify the period for static liquidity line pivots.
Dynamics Period Pivot : Default value is set to 3. By adjusting this value, you can specify the period for dynamic liquidity line pivots.
You can activate or deactivate liquidity lines as necessary using the buttons labeled "Show Statics High Liquidity Line," "Show Statics Low Liquidity Line," "Show Dynamics High Liquidity Line," and "Show Dynamics Low Liquidity Line".
SilverHawk Trend Flow Part of SilverHawk Suite
This script is designed to be used with the SilverHawk Suite workflow (context → trigger → confirmation → execution).
It works standalone, but the highest accuracy comes from using the full suite together.
Where it fits:
• Role: Context
What it does:
Colors candles based on detected trend regime, so you trade with the prevailing direction and avoid fighting structure.
How to use:
• Bullish color: prefer long triggers only
• Bearish color: prefer short triggers only
• No clear trend / transition: stand down and wait for the suite trigger + confirmation
Visual Tip: (important)
If candles look “hidden”: Settings → Visual Order → Bring To Front
Alerts:
New Up Trend / New Down Trend alerts trigger on confirmed candles (non-repainting style).
Suite note:
For full workflow and loadouts, start with: “SilverHawk Suite — Start Here (Workflow Guide)” (free)
Credits / License
Based on PhantomFlow Trend Detector (MPL-2.0). This script remains MPL-2.0.
ES Multi-Timeframe SMC Entry SystemOverviewThis is a comprehensive Smart Money Concepts (SMC) trading strategy for ES1! (E-mini S&P 500) futures that provides simultaneous buy and sell signals across three timeframes: Daily, Weekly, and Monthly. It incorporates your complete entry checklists, confluence scoring system, and automated risk management.Core Features1. Multi-Timeframe Signal Generation
Daily Signals (D) - For intraday/swing trades (1-3 day holds)
Weekly Signals (W) - For swing trades (3-10 day holds)
Monthly Signals (M) - For position trades (weeks to months)
All three timeframes can trigger simultaneously (pyramiding enabled)
2. Smart Money Concepts ImplementationOrder Blocks (OB)
Automatically detects bullish and bearish order blocks
Bullish OB = Down candle before strong impulse up
Bearish OB = Up candle before strong impulse down
Validates freshness (< 10 bars = higher quality)
Visual boxes displayed on chart
Fair Value Gaps (FVG)
Identifies 3-candle imbalance patterns
Bullish FVG = Gap between high and current low
Bearish FVG = Gap between low and current high
Tracks unfilled gaps as targets/entry zones
Auto-removes when filled
Premium/Discount Zones
Calculates 50-period swing range
Premium = Upper 50% (short from here)
Discount = Lower 50% (long from here)
Deep zones (<30% or >70%) for higher quality setups
Visual shading: Red = Premium, Green = Discount
Liquidity Sweeps
Sell-Side Sweep (SSL) = False break below lows → reversal up
Buy-Side Sweep (BSL) = False break above highs → reversal down
Marked with yellow labels on chart
Valid for 10 bars after occurrence
Break of Structure (BOS)
Identifies when price breaks recent swing high/low
Confirms trend continuation
Marked with small circles on chart
3. Confluence Scoring SystemEach timeframe has a 10-point scoring system based on your checklist requirements:Daily Score (10 points max)
HTF Trend Alignment (2 pts) - 4H and Daily EMAs aligned
SMC Structure (2 pts) - OB in correct zone with HTF bias
Liquidity Sweep (1 pt) - Recent SSL/BSL occurred
Volume Confirmation (1 pt) - Volume > 1.2x 20-period average
Optimal Time (1 pt) - 9:30-12 PM or 2-4 PM ET (avoids lunch)
Risk-Reward >2:1 (1 pt) - Built into exit strategy
Clean Price Action (1 pt) - BOS occurred
FVG Present (1 pt) - Near unfilled fair value gap
Minimum Required: 6/10 (adjustable)Weekly Score (10 points max)
Weekly/Monthly Alignment (2 pts) - W and M EMAs aligned
Daily/Weekly Alignment (2 pts) - D and W trends match
Premium/Discount Correct (2 pts) - Deep zone + trend alignment
Major Liquidity Event (1 pt) - SSL/BSL sweep
Order Block Present (1 pt) - Valid OB detected
Risk-Reward >3:1 (1 pt) - Built into exit
Fresh Order Block (1 pt) - OB < 10 bars old
Minimum Required: 7/10 (adjustable)Monthly Score (10 points max)
Monthly/Weekly Alignment (2 pts) - M and W trends match
Weekly OB in Monthly Zone (2 pts) - OB in deep discount/premium
Major Liquidity Sweep (2 pts) - Significant SSL/BSL
Strong Trend Alignment (2 pts) - D, W, M all aligned
Risk-Reward >4:1 (1 pt) - Built into exit
Extreme Zone (1 pt) - Price <20% or >80% of range
Minimum Required: 8/10 (adjustable)4. Entry ConditionsDaily Long Entry
✅ Daily score ≥ 6/10
✅ 4H trend bullish (price > EMAs)
✅ Price in discount zone
✅ Bullish OB OR SSL sweep OR near bullish FVG
✅ NOT during avoid times (lunch/first 5 min)Daily Short Entry
✅ Daily score ≥ 6/10
✅ 4H trend bearish
✅ Price in premium zone
✅ Bearish OB OR BSL sweep OR near bearish FVG
✅ NOT during avoid timesWeekly Long Entry
✅ Weekly score ≥ 7/10
✅ Weekly trend bullish
✅ Daily trend bullish
✅ Price in discount
✅ Bullish OB OR SSL sweepWeekly Short Entry
✅ Weekly score ≥ 7/10
✅ Weekly trend bearish
✅ Daily trend bearish
✅ Price in premium
✅ Bearish OB OR BSL sweepMonthly Long Entry
✅ Monthly score ≥ 8/10
✅ Monthly trend bullish
✅ Weekly trend bullish
✅ Price in DEEP discount (<30%)
✅ Bullish order block presentMonthly Short Entry
✅ Monthly score ≥ 8/10
✅ Monthly trend bearish
✅ Weekly trend bearish
✅ Price in DEEP premium (>70%)
✅ Bearish order block present5. Automated Risk ManagementPosition Sizing (Per Entry)
Daily: 1.0% account risk per trade
Weekly: 0.75% account risk per trade
Monthly: 0.5% account risk per trade
Formula:
Contracts = (Account Equity × Risk%) ÷ (Stop Points × $50)
Minimum = 1 contractStop Losses
Daily: 12 points ($600 per contract)
Weekly: 40 points ($2,000 per contract)
Monthly: 100 points ($5,000 per contract)
Profit Targets (Risk:Reward)
Daily: 2:1 = 24 points ($1,200 profit)
Weekly: 3:1 = 120 points ($6,000 profit)
Monthly: 4:1 = 400 points ($20,000 profit)
Example with $50,000 AccountDaily Trade:
Risk = $500 (1% of $50k)
Stop = 12 points × $50 = $600
Contracts = $500 ÷ $600 = 0.83 → 1 contract
Target = 24 points = $1,200 profit
Weekly Trade:
Risk = $375 (0.75% of $50k)
Stop = 40 points × $50 = $2,000
Contracts = $375 ÷ $2,000 = 0.18 → 1 contract
Target = 120 points = $6,000 profit
Monthly Trade:
Risk = $250 (0.5% of $50k)
Stop = 100 points × $50 = $5,000
Contracts = $250 ÷ $5,000 = 0.05 → 1 contract
Target = 400 points = $20,000 profit
6. Visual Elements on ChartKey Levels
Previous Daily High/Low - Red/Green solid lines
Previous Weekly High/Low - Red/Green circles
Previous Monthly High/Low - Red/Green crosses
Equilibrium Line - White dotted line (50% of range)
Zones
Premium Zone - Light red shading (upper 50%)
Discount Zone - Light green shading (lower 50%)
SMC Markings
Bullish Order Blocks - Green boxes with "Bull OB" label
Bearish Order Blocks - Red boxes with "Bear OB" label
Bullish FVGs - Green boxes with "FVG↑"
Bearish FVGs - Red boxes with "FVG↓"
Liquidity Sweeps - Yellow "SSL" (down) or "BSL" (up) labels
Break of Structure - Small lime/red circles
Entry Signals
Daily Long - Small lime triangle ▲ with "D" below price
Daily Short - Small red triangle ▼ with "D" above price
Weekly Long - Medium green triangle ▲ with "W" below price
Weekly Short - Medium maroon triangle ▼ with "W" above price
Monthly Long - Large aqua triangle ▲ with "M" below price
Monthly Short - Large fuchsia triangle ▼ with "M" above price
7. Information TablesConfluence Score Table (Top Right)
┌──────────┬────────┬────────┬────────┐
│ TF │ SCORE │ STATUS │ SIGNAL │
├──────────┼────────┼────────┼────────┤
│ 📊 DAILY │ 7/10 │ ✓ PASS │ 🔼 │
│ 📈 WEEKLY│ 6/10 │ ✗ WAIT │ ━ │
│ 🌙 MONTH │ 9/10 │ ✓ PASS │ 🔽 │
├──────────┴────────┴────────┴────────┤
│ P&L: $2,450 │
└─────────────────────────────────────┘
Green scores = Pass (meets minimum threshold)
Orange/Red scores = Fail (wait for better setup)
🔼 = Long signal active
🔽 = Short signal active
━ = No signal
Entry Checklist Table (Bottom Right)
┌──────────────┬───┐
│ CHECKLIST │ ✓ │
├──────────────┼───┤
│ ━ DAILY ━ │ │
│ HTF Trend │ ✓ │
│ Zone │ ✓ │
│ OB │ ✗ │
│ Liq Sweep │ ✓ │
│ Volume │ ✓ │
│ ━ WEEKLY ━ │ │
│ W/M Align │ ✓ │
│ Deep Zone │ ✗ │
│ ━ MONTHLY ━ │ │
│ M/W/D Align │ ✓ │
│ Zone: Discount│ │
└──────────────┴───┘
Green ✓ = Condition met
Red ✗ = Condition not met
Real-time updates as market conditions change
8. Alert SystemIndividual Alerts:
"Daily Long" - Triggers when daily long setup appears
"Daily Short" - Triggers when daily short setup appears
"Weekly Long" - Triggers when weekly long setup appears
"Weekly Short" - Triggers when weekly short setup appears
"Monthly Long" - Triggers when monthly long setup appears
"Monthly Short" - Triggers when monthly short setup appears
Combined Alerts:
"Any Long Signal" - Catches any bullish opportunity (D/W/M)
"Any Short Signal" - Catches any bearish opportunity (D/W/M)
Alert Messages Include:
🔼/🔽 Direction indicator
Timeframe (DAILY/WEEKLY/MONTHLY)
Current confluence score
Density Zones (GM Crossing Clusters) + QHO Spin FlipsINDICATOR NAME
Density Zones (GM Crossing Clusters) + QHO Spin Flips
OVERVIEW
This indicator combines two complementary ideas into a single overlay: *this combines my earlier Geometric Mean Indicator with the Quantum Harmonic Oscillator (Overlay) with additional enhancements*
1) Density Zones (GM Crossing Clusters)
A “Density Zone” is detected when price repeatedly crosses a Geometric Mean equilibrium line (GM) within a rolling lookback window. Conceptually, this identifies regions where the market is repeatedly “snapping” across an equilibrium boundary—high churn, high decision pressure, and repeated re-selection of direction.
2) QHO Spin Flips (Regression-Residual σ Breaches)
A “Spin Flip” is detected when price deviates beyond a configurable σ-threshold (κ) from a regression-based equilibrium, using normalized residuals. Conceptually, this marks excursions into extreme states (decoherence / expansion), which often precede a reversion toward equilibrium and/or a regime re-scaling.
These two systems are related but not identical:
- Density Zones identify where equilibrium crossings cluster (a “singularity”/anchor behavior around GM).
- Spin Flips identify when price exceeds statistically extreme displacement from the regression equilibrium (LSR), indicating expansion beyond typical variance.
CORE CONCEPTS AND FORMULAS
SECTION A — GEOMETRIC MEAN EQUILIBRIUM (GM)
We define two moving averages:
(1) MA1_t = SMA(close_t, L1)
(2) MA2_t = SMA(close_t, L2)
We define the equilibrium anchor as the geometric mean of MA1 and MA2:
(3) GM_t = sqrt( MA1_t * MA2_t )
This GM line acts as an equilibrium boundary. Repeated crossings are interpreted as high “equilibrium churn.”
SECTION B — CROSS EVENTS (UP/DOWN)
A “cross event” is registered when the sign of (close - GM) changes:
Define a sign function s_t:
(4) s_t =
+1 if close_t > GM_t
-1 if close_t < GM_t
s_{t-1} if close_t == GM_t (tie-breaker to avoid false flips)
Then define the crossing event indicator:
(5) crossEvent_t = 1 if s_t != s_{t-1}
0 otherwise
Additionally, the indicator plots explicit cross markers:
- Cross Above GM: crossover(close, GM)
- Cross Below GM: crossunder(close, GM)
These provide directional visual cues and match the original Geometric Mean Indicator behavior.
SECTION C — DENSITY MEASURE (CROSSING CLUSTER COUNT)
A Density Zone is based on the number of cross events occurring in the last W bars:
(6) D_t = Σ_{i=0..W-1} crossEvent_{t-i}
This is a “crossing density” score: how many times price has toggled across GM recently.
The script implements this efficiently using a cumulative sum identity:
Let x_t = crossEvent_t.
(7) cumX_t = Σ_{j=0..t} x_j
Then:
(8) D_t = cumX_t - cumX_{t-W} (for t >= W)
cumX_t (for t < W)
SECTION D — DENSITY ZONE TRIGGER
We define a Density Zone state:
(9) isDZ_t = ( D_t >= θ )
where:
- θ (theta) is the user-selected crossing threshold.
Zone edges:
(10) dzStart_t = isDZ_t AND NOT isDZ_{t-1}
(11) dzEnd_t = NOT isDZ_t AND isDZ_{t-1}
SECTION E — DENSITY ZONE BOUNDS
While inside a Density Zone, we track the running high/low to display zone bounds:
(12) dzHi_t = max(dzHi_{t-1}, high_t) if isDZ_t
(13) dzLo_t = min(dzLo_{t-1}, low_t) if isDZ_t
On dzStart:
(14) dzHi_t := high_t
(15) dzLo_t := low_t
Outside zones, bounds are reset to NA.
These bounds visually bracket the “singularity span” (the churn envelope) during each density episode.
SECTION F — QHO EQUILIBRIUM (REGRESSION CENTERLINE)
Define the regression equilibrium (LSR):
(16) m_t = linreg(close_t, L, 0)
This is the “centerline” the QHO system uses as equilibrium.
SECTION G — RESIDUAL AND σ (FIELD WIDTH)
Residual:
(17) r_t = close_t - m_t
Rolling standard deviation of residuals:
(18) σ_t = stdev(r_t, L)
This σ_t is the local volatility/width of the residual field around the regression equilibrium.
SECTION H — NORMALIZED DISPLACEMENT AND SPIN FLIP
Define the standardized displacement:
(19) Y_t = (close_t - m_t) / σ_t
(If σ_t = 0, the script safely treats Y_t = 0.)
Spin Flip trigger uses a user threshold κ:
(20) spinFlip_t = ( |Y_t| > κ )
Directional spin flips:
(21) spinUp_t = ( Y_t > +κ )
(22) spinDn_t = ( Y_t < -κ )
The default κ=3.0 corresponds to “3σ excursions,” which are statistically extreme under a normal residual assumption (even though real markets are not perfectly normal).
SECTION I — QHO BANDS (OPTIONAL VISUALIZATION)
The indicator optionally draws the standard σ-bands around the regression equilibrium:
(23) 1σ bands: m_t ± 1·σ_t
(24) 2σ bands: m_t ± 2·σ_t
(25) 3σ bands: m_t ± 3·σ_t
These provide immediate context for the Spin Flip events.
WHAT YOU SEE ON THE CHART
1) MA1 / MA2 / GM lines (optional)
- MA1 (blue), MA2 (red), GM (green).
- GM is the equilibrium anchor for Density Zones and cross markers.
2) GM Cross Markers (optional)
- “GM↑” label markers appear on bars where close crosses above GM.
- “GM↓” label markers appear on bars where close crosses below GM.
3) Density Zone Shading (optional)
- Background shading appears while isDZ_t = true.
- This is the period where the crossing density D_t is above θ.
4) Density Zone High/Low Bounds (optional)
- Two lines (dzHi / dzLo) are drawn only while in-zone.
- These bounds bracket the full churn envelope during the density episode.
5) QHO Bands (optional)
- 1σ, 2σ, 3σ shaded zones around regression equilibrium.
- These visualize the current variance field.
6) Regression Equilibrium (LSR Centerline)
- The white centerline is the regression equilibrium m_t.
7) Spin Flip Markers
- A circle is plotted when |Y_t| > κ (beyond your chosen σ-threshold).
- Marker size is user-controlled (tiny → huge).
HOW TO USE IT
Step 1 — Pick the equilibrium anchor (GM)
- L1 and L2 define MA1 and MA2.
- GM = sqrt(MA1 * MA2) becomes your equilibrium boundary.
Typical choices:
- Faster equilibrium: L1=20, L2=50 (default-like).
- Slower equilibrium: L1=50, L2=200 (macro anchor).
Interpretation:
- GM acts like a “center of mass” between two moving averages.
- Crosses show when price flips from one side of equilibrium to the other.
Step 2 — Tune Density Zones (W and θ)
- W controls the time window measured (how far back you count crossings).
- θ controls how many crossings qualify as a “density/singularity episode.”
Guideline:
- Larger W = slower, broader density detection.
- Higher θ = only the most intense churn is labeled as a Density Zone.
Interpretation:
- A Density Zone is not “bullish” or “bearish” by itself.
- It is a condition: repeated equilibrium toggling (high churn / high compression).
- These often precede expansions, but direction is not implied by the zone alone.
Step 3 — Tune the QHO spin flip sensitivity (L and κ)
- L controls regression memory and σ estimation length.
- κ controls how extreme the displacement must be to trigger a spin flip.
Guideline:
- Smaller L = more reactive centerline and σ.
- Larger L = smoother, slower “field” definition.
- κ=3.0 = strong extreme filter.
- κ=2.0 = more frequent flips.
Interpretation:
- Spin flips mark when price exits the “normal” residual field.
- In your model language: a moment of decoherence/expansion that is statistically extreme relative to recent equilibrium.
Step 4 — Read the combined behavior (your key thesis)
A) Density Zone forms (GM churn clusters):
- Market repeatedly crosses equilibrium (GM), compressing into a bounded churn envelope.
- dzHi/dzLo show the envelope range.
B) Expansion occurs:
- Price can release away from the density envelope (up or down).
- If it expands far enough relative to regression equilibrium, a Spin Flip triggers (|Y| > κ).
C) Re-coherence:
- After a spin flip, price often returns toward equilibrium structures:
- toward the regression centerline m_t
- and/or back toward the density envelope (dzHi/dzLo) depending on regime behavior.
- The indicator does not guarantee return, but it highlights the condition where return-to-field is statistically likely in many regimes.
IMPORTANT NOTES / DISCLAIMERS
- This indicator is an analytical overlay. It does not provide financial advice.
- Density Zones are condition states derived from GM crossing frequency; they do not predict direction.
- Spin Flips are statistical excursions based on regression residuals and rolling σ; markets have fat tails and non-stationarity, so σ-based thresholds are contextual, not absolute.
- All parameters (L1, L2, W, θ, L, κ) should be tuned per asset, timeframe, and volatility regime.
PARAMETER SUMMARY
Geometric Mean / Density Zones:
- L1: MA1 length
- L2: MA2 length
- GM_t = sqrt(SMA(L1)*SMA(L2))
- W: crossing-count lookback window
- θ: crossing density threshold
- D_t = Σ crossEvent_{t-i} over W
- isDZ_t = (D_t >= θ)
- dzHi/dzLo track envelope bounds while isDZ is true
QHO / Spin Flips:
- L: regression + residual σ length
- m_t = linreg(close, L, 0)
- r_t = close_t - m_t
- σ_t = stdev(r_t, L)
- Y_t = r_t / σ_t
- spinFlip_t = (|Y_t| > κ)
Visual Controls:
- toggles for GM lines, cross markers, zone shading, bounds, QHO bands
- marker size options for GM crosses and spin flips
ALERTS INCLUDED
- Density Zone START / END
- Spin Flip UP / DOWN
- Cross Above GM / Cross Below GM
SUMMARY
This indicator treats the Geometric Mean as an equilibrium boundary and identifies “Density Zones” when price repeatedly crosses that equilibrium within a rolling window, forming a bounded churn envelope (dzHi/dzLo). It also models a regression-based equilibrium field and triggers “Spin Flips” when price makes statistically extreme σ-excursions from that field. Used together, Density Zones highlight compression/decision regions (equilibrium churn), while Spin Flips highlight extreme expansion states (σ-breaches), allowing the user to visualize how price compresses around equilibrium, releases outward, and often re-stabilizes around equilibrium structures over time.
EMA Slope Angle# EMA Slope Angle Indicator
A professional, non-repainting overlay indicator that visualizes EMA slope strength as an angle in degrees, providing instant visual feedback through dynamic EMA coloring and comprehensive trend analysis.
## ORIGINALITY
This indicator is original in its approach to slope measurement:
- **Angle-based calculation**: Uses arctangent to calculate slope as an angle in degrees (not percentage), providing a more intuitive measure of trend strength
- **Dynamic visual feedback**: Combines real-time EMA line coloring with regime detection, creating a continuous visual representation of market conditions
- **Comprehensive analysis**: Integrates angle-based trend shift signals with optional statistical analysis in a single, cohesive tool
- **Non-repainting design**: All calculations use confirmed bars only, ensuring reliable, deterministic output
## HOW IT WORKS
The indicator calculates the EMA slope angle using trigonometric functions:
```
Angle = arctan((EMA_current - EMA_past) / lookback_bars) × 180/π
```
This provides an intuitive measure where:
- **Steep angles** = strong trends (visualized with saturated colors)
- **Shallow angles** = weak trends (visualized with lighter colors)
- **Near-zero angles** = flat/consolidation (visualized in gray)
The EMA line color dynamically reflects:
- **Direction**: Green shades for uptrends, red shades for downtrends
- **Strength**: Color intensity based on normalized angle (stronger slopes = more saturated colors)
- **Regime**: Gray for flat conditions when angle is below threshold
## KEY FEATURES
### Dynamic EMA Coloring
- EMA line color changes continuously based on slope strength
- Color intensity reflects trend strength (50-100% opacity range)
- Instant visual feedback without cluttering the chart
### Regime Detection
- Automatically classifies market conditions: **RISING**, **FALLING**, or **FLAT**
- Configurable angle thresholds for regime classification
- Real-time regime updates on confirmed bars only
### Trend-Shift Signals
- Detects transitions from FLAT to RISING/FALLING regimes
- Visual arrows on chart when significant trend shifts occur
- Prevents signal spam by only triggering from FLAT state
- Configurable trigger thresholds for signal sensitivity
### KPI Dashboard
- Real-time angle display (rounded to 1 decimal place)
- Current regime status with color coding
- Last signal tracking (UP/DOWN/NONE)
- Positioned in top-right corner for easy reference
### Advanced Angle Statistics (Optional)
- Detailed breakdown of angle distribution across 9 granular buckets:
- 0-0.2°, 0.2-0.5°, 0.5-1°, 1-1.5°, 1.5-2°, 2-3°, 3-5°, 5-10°, >10°
- Shows count and percentage for each bucket
- Automatically resets on symbol/timeframe changes
- Useful for analyzing historical slope patterns
## SETTINGS
### Main Settings
- **EMA Length**: Period for exponential moving average (default: 50)
- **Slope Lookback Bars**: Number of bars to compare for slope calculation (default: 5)
### Angle Settings
- **Flat Angle Threshold**: Maximum angle for FLAT regime classification (default: 2.0°)
- **Rising Angle Trigger**: Minimum angle to trigger RISING regime and UP signals (default: 1.0°)
- **Falling Angle Trigger**: Maximum angle to trigger FALLING regime and DOWN signals (default: -1.0°)
- **Max Angle for Color Saturation**: Maximum angle for full color intensity (default: 30.0°)
### Display Options
- **Uptrend Color**: Color for rising trends (default: dark green)
- **Downtrend Color**: Color for falling trends (default: dark red)
- **Flat Color**: Color for flat conditions (default: gray)
- **Show Trend-Shift Signals**: Toggle signal arrows on/off (default: true)
- **Show Angle Statistics**: Toggle statistics dashboard on/off (default: false)
## NON-REPAINTING GUARANTEE
- All calculations use confirmed bars only (`barstate.isconfirmed`)
- No future bar references
- No higher timeframe calls using `request.security()`
- Deterministic output - what you see is what you get
- Reliable for backtesting and live trading
## USE CASES
- **Trend Identification**: Instantly identify trend strength and direction at a glance
- **Reversal Detection**: Spot trend reversals early through regime changes
- **Trade Filtering**: Filter trades based on slope strength and regime
- **Consolidation Monitoring**: Identify flat market conditions for range trading
- **Pattern Analysis**: Study historical angle distributions to understand market behavior
- **Momentum Assessment**: Gauge trend momentum through visual color intensity
## LIMITATIONS
- Angle calculation depends on EMA length and lookback period settings
- Regime classification is based on configurable thresholds - adjust to match your trading style
- Signals only trigger when transitioning from FLAT state to prevent spam
- Statistics reset on symbol/timeframe changes (by design)
- Color intensity is normalized to max angle setting - adjust for your market's typical ranges
## TECHNICAL NOTES
- Uses Pine Script v6
- Overlay indicator (plots on price chart)
- No external dependencies
- Compatible with all TradingView chart types
- Works on all timeframes and symbols
## DISCLAIMER
This indicator is designed for visual trend analysis and educational purposes. Always combine with other technical analysis tools, fundamental analysis, and proper risk management strategies. Past performance does not guarantee future results. Trading involves risk of loss.
---
**Perfect for**: Swing traders, day traders, trend followers, and market analysts seeking intuitive trend strength visualization.
Tomb Reversal Signal Engulfing + RSI Momentum DetectorTomb is a fast and minimalistic reversal-detection indicator built to capture high-probability turning points in the market.
It combines engulfing candlestick patterns, a strong candle body filter, and RSI momentum analysis to generate precise BUY and SELL signals with minimal noise.
🔍 How it Works
The indicator triggers:
✅ BUY Signal
Bullish engulfing pattern appears
Candle body strength > 50% of total range (real momentum)
RSI below 50 (bearish momentum weakening)
Price decreasing over the last 5 bars (down-trend exhaustion)
✅ SELL Signal
Bearish engulfing pattern
Candle body shows strength
RSI above 50 (bullish momentum weakening)
Price increasing over the last 5 bars (up-trend exhaustion)
⚡ Why Tomb Works
Filters out weak signals using candle structure
Detects momentum shifts early
Works on all markets: Crypto, Forex, Indices, Stocks
Ideal for scalping, day trading, or swing trading
🎯 Purpose
To highlight the exact moments where the market shows exhaustion and is ready to reverse—before most traders see it.
📌 Recommended Use
For best performance:
Combine with trend tools such as EMA 200 or market structure
Look for signals at support/resistance or liquidity zones






















