15m ORB + FVG Strategy (ChadAnt)Core Logic
The indicator's logic revolves around three main phases:
1. Defining the 15-Minute Opening Range (ORB)
The script calculates the highest high (rangeHigh) and lowest low (rangeLow) that occurred during the first 15 minutes of the trading day.
This time window is defined by the sessionStr input, which defaults to 0930-0945 (exchange time).
The high and low of this range are plotted as small gray dots once the session ends (rangeSet = true).
2. Identifying a Fair Value Gap (FVG) Setup
After the 15-minute range is set, the indicator waits for a breakout of either the range high or range low.
A "Strict FVG breakout" requires two conditions on the first candle that closes beyond the range:
The candle before the breakout candle ( bars ago) must have been inside the range.
The breakout candle ( bar ago) must have closed outside the range.
A Fair Value Gap (FVG) must form on the most recent three candles (the current bar and the two previous bars).
Bullish FVG (Long Setup): The low of the current bar (low) is greater than the high of the bar two periods prior (high ). This FVG represents a price inefficiency that the trade expects to fill.
Bearish FVG (Short Setup): The high of the current bar (high) is less than the low of the bar two periods prior (low ).
If a valid FVG setup occurs, the indicator marks a pending setup and draws a colored box to highlight the FVG area (Green for Bullish FVG, Red for Bearish FVG).
3. Trade Entry and Management
If a pending setup is identified, the trade is structured as a re-entry trade into the FVG zone:
Entry Price: Set at the outer boundary of the FVG, which is the low of the current bar for a Long setup, or the high of the current bar for a Short setup.
Stop Loss (SL): Set at the opposite boundary of the FVG, which is the low for a Long setup, or the high for a Short setup.
The trade is triggered (tradeActive = true) once the price retraces to the pendingEntry level.
Risk/Reward (RR) Targets: Three Take Profit (TP) levels are calculated based on the distance between the Entry and Stop Loss:
$$\text{Risk} = | \text{Entry} - \text{SL} |$$
$$\text{TP}n = \text{Entry} \pm (\text{Risk} \times \text{RR}n)$$
where $n$ is 1, 2, or 3, corresponding to the input $\text{RR}1$, $\text{RR}2$, and $\text{RR}3$ values (defaults: 1.0, 1.5, and 2.0).
Trade Lines: Upon triggering, lines for the Entry, Stop Loss, and three Take Profit levels are drawn on the chart for a specified length (lineLength).
A crucial feature is the directional lock (highBroken / lowBroken):
If the price breaks a range level (e.g., simpleBrokeHigh) but without a valid FVG setup, the corresponding directional flag (e.g., highBroken) is set to true permanently for the day.
This prevents the indicator from looking for any subsequent trade setups in that direction for the rest of the day, suggesting that the initial move, without an FVG, exhausted the opportunity.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
ChadAnt
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied
Поиск скриптов по запросу "text"
15m ORB + FVG (ChadAnt)Core Logic
The indicator's logic revolves around three main phases:
1. Defining the 15-Minute Opening Range (ORB)
The script calculates the highest high (rangeHigh) and lowest low (rangeLow) that occurred during the first 15 minutes of the trading day.
This time window is defined by the sessionStr input, which defaults to 0930-0945 (exchange time).
The high and low of this range are plotted as small gray dots once the session ends (rangeSet = true).
2. Identifying a Fair Value Gap (FVG) Setup
After the 15-minute range is set, the indicator waits for a breakout of either the range high or range low.
A "Strict FVG breakout" requires two conditions on the first candle that closes beyond the range:
The candle before the breakout candle ( bars ago) must have been inside the range.
The breakout candle ( bar ago) must have closed outside the range.
A Fair Value Gap (FVG) must form on the most recent three candles (the current bar and the two previous bars).
Bullish FVG (Long Setup): The low of the current bar (low) is greater than the high of the bar two periods prior (high ). This FVG represents a price inefficiency that the trade expects to fill.
Bearish FVG (Short Setup): The high of the current bar (high) is less than the low of the bar two periods prior (low ).
If a valid FVG setup occurs, the indicator marks a pending setup and draws a colored box to highlight the FVG area (Green for Bullish FVG, Red for Bearish FVG).
3. Trade Entry and Management
If a pending setup is identified, the trade is structured as a re-entry trade into the FVG zone:
Entry Price: Set at the outer boundary of the FVG, which is the low of the current bar for a Long setup, or the high of the current bar for a Short setup.
Stop Loss (SL): Set at the opposite boundary of the FVG, which is the low for a Long setup, or the high for a Short setup.
The trade is triggered (tradeActive = true) once the price retraces to the pendingEntry level.
Risk/Reward (RR) Targets: Three Take Profit (TP) levels are calculated based on the distance between the Entry and Stop Loss:
$$\text{Risk} = | \text{Entry} - \text{SL} |$$
$$\text{TP}n = \text{Entry} \pm (\text{Risk} \times \text{RR}n)$$
where $n$ is 1, 2, or 3, corresponding to the input $\text{RR}1$, $\text{RR}2$, and $\text{RR}3$ values (defaults: 1.0, 1.5, and 2.0).
Trade Lines: Upon triggering, lines for the Entry, Stop Loss, and three Take Profit levels are drawn on the chart for a specified length (lineLength).
A crucial feature is the directional lock (highBroken / lowBroken):
If the price breaks a range level (e.g., simpleBrokeHigh) but without a valid FVG setup, the corresponding directional flag (e.g., highBroken) is set to true permanently for the day.
This prevents the indicator from looking for any subsequent trade setups in that direction for the rest of the day, suggesting that the initial move, without an FVG, exhausted the opportunity.
Market Electromagnetic Field [The_lurker]Market Electromagnetic Field
An innovative analytical indicator that presents a completely new model for understanding market dynamics, inspired by the laws of electromagnetic physics — but it's not a rhetorical metaphor, rather a complete mathematical system.
Unlike traditional indicators that focus on price or momentum, this indicator portrays the market as a closed physical system, where:
⚡ Candles = Electric charges (positive at bullish close, negative at bearish)
⚡ Buyers and Sellers = Two opposing poles where pressure accumulates
⚡ Market tension = Voltage difference between the poles
⚡ Price breakout = Electrical discharge after sufficient energy accumulation
█ Core Concept
Markets don't move randomly, but follow a clear physical cycle:
Accumulation → Tension → Discharge → Stabilization → New Accumulation
When charges accumulate (through strong candles with high volume) and exceed a certain "electrical capacitance" threshold, the indicator issues a "⚡ DISCHARGE IMMINENT" alert — meaning a price explosion is imminent, giving the trader an opportunity to enter before the move begins.
█ Competitive Advantage
- Predictive forecasting (not confirmatory after the event)
- Smart multi-layer filtering reduces false signals
- Animated 3D visual representation makes reading price conditions instant and intuitive — without need for number analysis
█ Theoretical Physical Foundation
The indicator doesn't use physical terms for decoration, but applies mathematical laws with precise market adjustments:
⚡ Coulomb's Law
Physics: F = k × (q₁ × q₂) / r²
Market: Field Intensity = 4 × norm_positive × norm_negative
Peaks at equilibrium (0.5 × 0.5 × 4 = 1.0), and decreases at dominance — because conflict increases at parity.
⚡ Ohm's Law
Physics: V = I × R
Market: Voltage = norm_positive − norm_negative
Measures balance of power:
- +1 = Absolute buying dominance
- −1 = Absolute selling dominance
- 0 = Balance
⚡ Capacitance
Physics: C = Q / V
Market: Capacitance = |Voltage| × Field Intensity
Represents stored energy ready for discharge — increases with bias combined with high interaction.
⚡ Electrical Discharge
Physics: Occurs when exceeding insulation threshold
Market: Discharge Probability = min(Capacitance / Discharge Threshold, 1.0)
When ≥ 0.9: "⚡ DISCHARGE IMMINENT"
📌 Key Note:
Maximum capacitance doesn't occur at absolute dominance (where field intensity = 0), nor at perfect balance (where voltage = 0), but at moderate bias (±30–50%) with high interaction (field intensity > 25%) — i.e., in moments of "pressure before breakout".
█ Detailed Calculation Mechanism
⚡ Phase 1: Candle Polarity
polarity = (close − open) / (high − low)
- +1.0: Complete bullish candle (Bullish Marubozu)
- −1.0: Complete bearish candle (Bearish Marubozu)
- 0.0: Doji (no decision)
- Intermediate values: Represent the ratio of candle body to its range — reducing the effect of long-shadow candles
⚡ Phase 2: Volume Weight
vol_weight = volume / SMA(volume, lookback)
A candle with 150% of average volume = 1.5x stronger charge
⚡ Phase 3: Adaptive Factor
adaptive_factor = ATR(lookback) / SMA(ATR, lookback × 2)
- In volatile markets: Increases sensitivity
- In quiet markets: Reduces noise
- Always recommended to keep it enabled
⚡ Phase 4–6: Charge Accumulation and Normalization
Charges are summed over lookback candles, then ratios are normalized:
norm_positive = positive_charge / total_charge
norm_negative = negative_charge / total_charge
So that: norm_positive + norm_negative = 1 — for easier comparison
⚡ Phase 7: Field Calculations
voltage = norm_positive − norm_negative
field_intensity = 4 × norm_positive × norm_negative × field_sensitivity
capacitance = |voltage| × field_intensity
discharge_prob = min(capacitance / discharge_threshold, 1.0)
█ Settings
⚡ Electromagnetic Model
Lookback Period
- Default: 20
- Range: 5–100
- Recommendations:
- Scalping: 10–15
- Day Trading: 20
- Swing: 30–50
- Investing: 50–100
Discharge Threshold
- Default: 0.7
- Range: 0.3–0.95
- Recommendations:
- Speed + Noise: 0.5–0.6
- Balance: 0.7
- High Accuracy: 0.8–0.95
Field Sensitivity
- Default: 1.0
- Range: 0.5–2.0
- Recommendations:
- Amplify Conflict: 1.2–1.5
- Natural: 1.0
- Calm: 0.5–0.8
Adaptive Mode
- Default: Enabled
- Always keep it enabled
🔬 Dynamic Filters
All enabled filters must pass for discharge signal to appear.
Volume Filter
- Condition: volume > SMA(volume) × vol_multiplier
- Function: Excludes "weak" candles not supported by volume
- Recommendation: Enabled (especially for stocks and forex)
Volatility Filter
- Condition: STDEV > SMA(STDEV) × 0.5
- Function: Ignores sideways stagnation periods
- Recommendation: Always enabled
Trend Filter
- Condition: Voltage alignment with fast/slow EMA
- Function: Reduces counter-trend signals
- Recommendation: Enabled for swing/investing only
Volume Threshold
- Default: 1.2
- Recommendations:
- 1.0–1.2: High sensitivity
- 1.5–2.0: Exclusive to high volume
🎨 Visual Settings
Settings improve visual reading experience — don't affect calculations.
Scale Factor
- Default: 600
- Higher = Larger scene (200–1200)
Horizontal Shift
- Default: 180
- Horizontal shift to the left — to focus on last candle
Pole Size
- Default: 60
- Base sphere size (30–120)
Field Lines
- Default: 8
- Number of field lines (4–16) — 8 is ideal balance
Colors
- Green/Red/Blue/Orange
- Fully customizable
█ Visual Representation: A Visual Language for Diagnosing Price Conditions
✨ Design Philosophy
The representation isn't "decoration", but a complete cognitive model — each element carries information, and element interaction tells a complete story.
The brain perceives changes in size, color, and movement 60,000 times faster than reading numbers — so you can "sense" the change before your eye finishes scanning.
═════════════════════════════════════════════════════════════
🟢 Positive Pole (Green Sphere — Left)
═════════════════════════════════════════════════════════════
What does it represent?
Active buying pressure accumulation — not just an uptrend, but real demand force supported by volume and volatility.
● Dynamic Size
Size = pole_size × (0.7 + norm_positive × 0.6)
- 70% of base size = No significant charge
- 130% of base size = Complete dominance
- The larger the sphere: Greater buyer dominance, higher probability of bullish continuation
Size Interpretation:
- Large sphere (>55%): Strong buying pressure — Buyers dominate
- Medium sphere (45–55%): Relative balance with buying bias
- Small sphere (<45%): Weak buying pressure — Sellers dominate
● Lighting and Transparency
- 20% transparency (when Bias = +1): Pole currently active — Bullish direction
- 50% transparency (when Bias ≠ +1): Pole inactive — Not the prevailing direction
Lighting = Current activity, while Size = Historical accumulation
● Pulsing Inner Glow
A smaller sphere pulses automatically when Bias = +1:
inner_pulse = 0.4 + 0.1 × sin(anim_time × 3)
Symbolizes continuity of buy order flow — not static dominance.
● Orbital Rings
Two rings rotating at different speeds and directions:
- Inner: 1.3× sphere size — Direct influence range
- Outer: 1.6× sphere size — Extended influence range
Represent "influence zone" of buyers:
- Continuous rotation = Stability and momentum
- Slowdown = Momentum exhaustion
● Percentage
Displayed below sphere: norm_positive × 100
- >55% = Clear dominance
- 45–55% = Balance
- <45% = Weakness
═════════════════════════════════════════════════════════════
🔴 Negative Pole (Red Sphere — Right)
═════════════════════════════════════════════════════════════
What does it represent?
Active selling pressure accumulation — whether cumulative selling (smart distribution) or panic selling (position liquidation).
● Visual Dynamics
Same size, lighting, and inner glow mechanism — but in red.
Key Difference:
- Rotation is reversed (counter-clockwise)
- Visually distinguishes "buy flow" from "sell flow"
- Allows reading direction at a glance — even for colorblind users
📌 Pole Reading Summary:
🟢 Large + Bright green sphere = Active buying force
🔴 Large + Bright red sphere = Active selling force
🟢🔴 Both large but dim = Energy accumulation (before discharge)
⚪ Both small = Stagnation / Low liquidity
═════════════════════════════════════════════════════════════
🔵 Field Lines (Curved Blue Lines)
═════════════════════════════════════════════════════════════
What do they represent?
Energy flow paths between poles — the arena where price battle is fought.
● Number of Lines
4–16 lines (Default: 8)
More lines: Greater sense of "interaction density"
● Arc Height
arc_h = (i − half_lines) × 15 × field_intensity × 2
- High field intensity = Highly elevated lines (like waves)
- Low intensity = Nearly straight lines
● Oscillating Transparency
transp = 30 + phase × 40
where phase = sin(anim_time × 2 + i × 0.5) × 0.5 + 0.5
Creates illusion of "flowing current" — not static lines
● Asymmetric Curvature
- Upper lines curve upward
- Lower lines curve downward
- Adds 3D depth and shows "pressure" direction
⚡ Pro Tip:
When you see lines suddenly "contract" (straighten), while both spheres are large — this is an early indicator of impending discharge, because the interaction is losing its flexibility.
═════════════════════════════════════════════════════════════
⚪ Moving Particles
═════════════════════════════════════════════════════════════
What do they represent?
Real liquidity flow in the market — who's driving price right now.
● Number and Movement
- 6 particles covering most field lines
- Move sinusoidally along the arc:
t = (sin(phase_val) + 1) / 2
- High speed = High trading activity
- Clustering at a pole = That side's control
● Color Gradient
From green (at positive pole) to red (at negative)
Shows "energy transformation":
- Green particle = Pure buying energy
- Orange particle = Conflict zone
- Red particle = Pure selling energy
📌 How to Read Them?
- Moving left to right (🟢 → 🔴): Buy flow → Bullish push
- Moving right to left (🔴 → 🟢): Sell flow → Bearish push
- Clustered in middle: Balanced conflict — Wait for breakout
═════════════════════════════════════════════════════════════
🟠 Discharge Zone (Orange Glow — Center)
═════════════════════════════════════════════════════════════
What does it represent?
Point of stored energy accumulation not yet discharged — heart of the early warning system.
● Glow Stages
Initial Warning (discharge_prob > 0.3):
- Dim orange circle (70% transparency)
- Meaning: Watch, don't enter yet
High Tension (discharge_prob ≥ 0.7):
- Stronger glow + "⚠️ HIGH TENSION" text
- Meaning: Prepare — Set pending orders
Imminent Discharge (discharge_prob ≥ 0.9):
- Bright glow + "⚡ DISCHARGE IMMINENT" text
- Meaning: Enter with direction (after candle confirmation)
● Layered Glow Effect (Glow Layering)
3 concentric circles with increasing transparency:
- Inner: 20%
- Middle: 35%
- Outer: 50%
Result: Realistic aura resembling actual electrical discharge.
📌 Why in the Center?
Because discharge always starts from the relative balance zone — where opposing pressures meet.
═════════════════════════════════════════════════════════════
📊 Voltage Meter (Bottom of Scene)
═════════════════════════════════════════════════════════════
What does it represent?
Simplified numeric indicator of voltage difference — for those who prefer numerical reading.
● Components
- Gray bar: Full range (−100% to +100%)
- Green fill: Positive voltage (extends right)
- Red fill: Negative voltage (extends left)
- Lightning symbol (⚡): Above center — reminder it's an "electrical gauge"
- Text value: Like "+23.4%" — in direction color
● Voltage Reading Interpretation
+50% to +100%:
Overwhelming buying dominance — Beware of saturation, may precede correction
+20% to +50%:
Strong buying dominance — Suitable for buying with trend
+5% to +20%:
Slight bullish bias — Wait for additional confirmation
−5% to +5%:
Balance/Neutral — Avoid entry or wait for breakout
−5% to −20%:
Slight bearish bias — Wait for confirmation
−20% to −50%:
Strong selling dominance — Suitable for selling with trend
−50% to −100%:
Overwhelming selling dominance — Beware of saturation, may precede bounce
═════════════════════════════════════════════════════════════
📈 Field Strength Indicator (Top of Scene)
═════════════════════════════════════════════════════════════
What it displays: "Field: XX.X%"
Meaning: Strength of conflict between buyers and sellers.
● Reading Interpretation
0–5%:
- Appearance: Nearly straight lines, transparent
- Meaning: Complete control by one side
- Strategy: Trend Following
5–15%:
- Appearance: Slight curvature
- Meaning: Clear direction with light resistance
- Strategy: Enter with trend
15–25%:
- Appearance: Medium curvature, clear lines
- Meaning: Balanced conflict
- Strategy: Range trading or waiting
25–35%:
- Appearance: High curvature, clear density
- Meaning: Strong conflict, high uncertainty
- Strategy: Volatility trading or prepare for discharge
35%+:
- Appearance: Very high lines, strong glow
- Meaning: Peak tension
- Strategy: Best discharge opportunities
📌 Golden Relationship:
Highest discharge probability when:
Field Strength (25–35%) + Voltage (±30–50%) + High Volume
← This is the "red zone" to monitor carefully.
█ Comprehensive Visual Reading
To read market condition at a glance, follow this sequence:
Step 1: Which sphere is larger?
- 🟢 Green larger ← Dominant buying pressure
- 🔴 Red larger ← Dominant selling pressure
- Equal ← Balance/Conflict
Step 2: Which sphere is bright?
- 🟢 Green bright ← Current bullish direction
- 🔴 Red bright ← Current bearish direction
- Both dim ← Neutral/No clear direction
Step 3: Is there orange glow?
- None ← Discharge probability <30%
- 🟠 Dim glow ← Discharge probability 30–70%
- 🟠 Strong glow with text ← Discharge probability >70%
Step 4: What's the voltage meter reading?
- Strong positive ← Confirms buying dominance
- Strong negative ← Confirms selling dominance
- Near zero ← No clear direction
█ Practical Visual Reading Examples
Example 1: Ideal Buy Opportunity ⚡🟢
- Green sphere: Large and bright with inner pulse
- Red sphere: Small and dim
- Orange glow: Strong with "DISCHARGE IMMINENT" text
- Voltage meter: +45%
- Field strength: 28%
Interpretation: Strong accumulated buying pressure, bullish explosion imminent
Example 2: Ideal Sell Opportunity ⚡🔴
- Green sphere: Small and dim
- Red sphere: Large and bright with inner pulse
- Orange glow: Strong with "DISCHARGE IMMINENT" text
- Voltage meter: −52%
- Field strength: 31%
Interpretation: Strong accumulated selling pressure, bearish explosion imminent
Example 3: Balance/Wait ⚖️
- Both spheres: Approximately equal in size
- Lighting: Both dim
- Orange glow: Strong
- Voltage meter: +3%
- Field strength: 24%
Interpretation: Strong conflict without clear winner, wait for breakout
Example 4: Clear Uptrend (No Discharge) 📈
- Green sphere: Large and bright
- Red sphere: Very small and dim
- Orange glow: None
- Voltage meter: +68%
- Field strength: 8%
Interpretation: Clear buying control, limited conflict, suitable for following bullish trend
Example 5: Potential Buying Saturation ⚠️
- Green sphere: Very large and bright
- Red sphere: Very small
- Orange glow: Dim
- Voltage meter: +88%
- Field strength: 4%
Interpretation: Absolute buying dominance, may precede bearish correction
█ Trading Signals
⚡ DISCHARGE IMMINENT
Appearance Conditions:
- discharge_prob ≥ 0.9
- All enabled filters passed
- Confirmed (after candle close)
Interpretation:
- Very large energy accumulation
- Pressure reached critical level
- Price explosion expected within 1–3 candles
How to Trade:
1. Determine voltage direction:
• Positive = Expect rise
• Negative = Expect fall
2. Wait for confirmation candle:
• For rise: Bullish candle closing above its open
• For fall: Bearish candle closing below its open
3. Entry: With next candle's open
4. Stop Loss: Behind last local low/high
5. Target: Risk/Reward ratio of at least 1:2
✅ Pro Tips:
- Best results when combined with support/resistance levels
- Avoid entry if voltage is near zero (±5%)
- Increase position size when field strength > 30%
⚠️ HIGH TENSION
Appearance Conditions:
- 0.7 ≤ discharge_prob < 0.9
Interpretation:
- Market in energy accumulation state
- Likely strong move soon, but not immediate
- Accumulation may continue or discharge may occur
How to Benefit:
- Prepare: Set pending orders at potential breakouts
- Monitor: Watch following candles for momentum candle
- Select: Don't enter every signal — choose those aligned with overall trend
█ Trading Strategies
📈 Strategy 1: Discharge Trading (Basic)
Principle: Enter at "DISCHARGE IMMINENT" in voltage direction
Steps:
1. Wait for "⚡ DISCHARGE IMMINENT"
2. Check voltage direction (+/−)
3. Wait for confirmation candle in voltage direction
4. Enter with next candle's open
5. Stop loss behind last low/high
6. Target: 1:2 or 1:3 ratio
Very high success rate when following confirmation conditions.
📈 Strategy 2: Dominance Following
Principle: Trade with dominant pole (largest and brightest sphere)
Steps:
1. Identify dominant pole (largest and brightest)
2. Trade in its direction
3. Beware when sizes converge (conflict)
Suitable for higher timeframes (H1+).
📈 Strategy 3: Reversal Hunting
Principle: Counter-trend entry under certain conditions
Conditions:
- High field strength (>30%)
- Extreme voltage (>±40%)
- Divergence with price (e.g., new price high with declining voltage)
⚠️ High risk — Use small position size.
📈 Strategy 4: Integration with Technical Analysis
Strong Confirmation Examples:
- Resistance breakout + Bullish discharge = Excellent buy signal
- Support break + Bearish discharge = Excellent sell signal
- Head & Shoulders pattern + Increasing negative voltage = Pattern confirmation
- RSI divergence + High field strength = Potential reversal
█ Ready Alerts
Bullish Discharge
- Condition: discharge_prob ≥ 0.9 + Positive voltage + All filters
- Message: "⚡ Bullish discharge"
- Use: High probability buy opportunity
Bearish Discharge
- Condition: discharge_prob ≥ 0.9 + Negative voltage + All filters
- Message: "⚡ Bearish discharge"
- Use: High probability sell opportunity
✅ Tip: Use these alerts with "Once Per Bar" setting to avoid repetition.
█ Data Window Outputs
Bias
- Values: −1 / 0 / +1
- Interpretation: −1 = Bearish, 0 = Neutral, +1 = Bullish
- Use: For integration in automated strategies
Discharge %
- Range: 0–100%
- Interpretation: Discharge probability
- Use: Monitor tension progression (e.g., from 40% to 85% in 5 candles)
Field Strength
- Range: 0–100%
- Interpretation: Conflict intensity
- Use: Identify "opportunity window" (25–35% ideal for discharge)
Voltage
- Range: −100% to +100%
- Interpretation: Balance of power
- Use: Monitor extremes (potential buying/selling saturation)
█ Optimal Settings by Trading Style
Scalping
- Timeframe: 1M–5M
- Lookback: 10–15
- Threshold: 0.5–0.6
- Sensitivity: 1.2–1.5
- Filters: Volume + Volatility
Day Trading
- Timeframe: 15M–1H
- Lookback: 20
- Threshold: 0.7
- Sensitivity: 1.0
- Filters: Volume + Volatility
Swing Trading
- Timeframe: 4H–D1
- Lookback: 30–50
- Threshold: 0.8
- Sensitivity: 0.8
- Filters: Volatility + Trend
Position Trading
- Timeframe: D1–W1
- Lookback: 50–100
- Threshold: 0.85–0.95
- Sensitivity: 0.5–0.8
- Filters: All filters
█ Tips for Optimal Use
1. Start with Default Settings
Try it first as is, then adjust to your style.
2. Watch for Element Alignment
Best signals when:
- Clear voltage (>│20%│)
- Moderate–high field strength (15–35%)
- High discharge probability (>70%)
3. Use Multiple Timeframes
- Higher timeframe: Determine overall trend
- Lower timeframe: Time entry
- Ensure signal alignment between frames
4. Integrate with Other Tools
- Support/Resistance levels
- Trend lines
- Candle patterns
- Volume indicators
5. Respect Risk Management
- Don't risk more than 1–2% of account
- Always use stop loss
- Don't enter every signal — choose the best
█ Important Warnings
⚠️ Not for Standalone Use
The indicator is an analytical support tool — don't use it isolated from technical or fundamental analysis.
⚠️ Doesn't Predict the Future
Calculations are based on historical data — Results are not guaranteed.
⚠️ Markets Differ
You may need to adjust settings for each market:
- Forex: Focus on Volume Filter
- Stocks: Add Trend Filter
- Crypto: Lower Threshold slightly (more volatile)
⚠️ News and Events
The indicator doesn't account for sudden news — Avoid trading before/during major news.
█ Unique Features
✅ First Application of Electromagnetism to Markets
Innovative mathematical model — Not just an ordinary indicator
✅ Predictive Detection of Price Explosions
Alerts before the move happens — Not after
✅ Multi-Layer Filtering
4 smart filters reduce false signals to minimum
✅ Smart Volatility Adaptation
Automatically adjusts sensitivity based on market conditions
✅ Animated 3D Visual Representation
Makes reading instant — Even for beginners
✅ High Flexibility
Works on all assets: Stocks, Forex, Crypto, Commodities
✅ Built-in Ready Alerts
No complex setup needed — Ready for immediate use
█ Conclusion: When Art Meets Science
Market Electromagnetic Field is not just an indicator — but a new analytical philosophy.
It's the bridge between:
- Physics precision in describing dynamic systems
- Market intelligence in generating trading opportunities
- Visual psychology in facilitating instant reading
The result: A tool that isn't read — but watched, felt, and sensed.
When you see the green sphere expanding, the glow intensifying, and particles rushing rightward — you're not seeing numbers, you're seeing market energy breathing.
⚠️ Disclaimer:
This indicator is for educational and analytical purposes only. It does not constitute financial, investment, or trading advice. Use it in conjunction with your own strategy and risk management. Neither TradingView nor the developer is liable for any financial decisions or losses.
المجال الكهرومغناطيسي للسوق - Market Electromagnetic Field
مؤشر تحليلي مبتكر يقدّم نموذجًا جديدًا كليًّا لفهم ديناميكيات السوق، مستوحى من قوانين الفيزياء الكهرومغناطيسية — لكنه ليس استعارة بلاغية، بل نظام رياضي متكامل.
على عكس المؤشرات التقليدية التي تُركّز على السعر أو الزخم، يُصوّر هذا المؤشر السوق كـنظام فيزيائي مغلق، حيث:
⚡ الشموع = شحنات كهربائية (موجبة عند الإغلاق الصاعد، سالبة عند الهابط)
⚡ المشتريون والبائعون = قطبان متعاكسان يتراكم فيهما الضغط
⚡ التوتر السوقي = فرق جهد بين القطبين
⚡ الاختراق السعري = تفريغ كهربائي بعد تراكم طاقة كافية
█ الفكرة الجوهرية
الأسواق لا تتحرك عشوائيًّا، بل تخضع لدورة فيزيائية واضحة:
تراكم → توتر → تفريغ → استقرار → تراكم جديد
عندما تتراكم الشحنات (من خلال شموع قوية بحجم مرتفع) وتتجاوز "السعة الكهربائية" عتبة معيّنة، يُصدر المؤشر تنبيه "⚡ DISCHARGE IMMINENT" — أي أن انفجارًا سعريًّا وشيكًا، مما يمنح المتداول فرصة الدخول قبل بدء الحركة.
█ الميزة التنافسية
- تنبؤ استباقي (ليس تأكيديًّا بعد الحدث)
- فلترة ذكية متعددة الطبقات تقلل الإشارات الكاذبة
- تمثيل بصري ثلاثي الأبعاد متحرك يجعل قراءة الحالة السعرية فورية وبديهية — دون حاجة لتحليل أرقام
█ الأساس النظري الفيزيائي
المؤشر لا يستخدم مصطلحات فيزيائية للزينة، بل يُطبّق القوانين الرياضية مع تعديلات سوقيّة دقيقة:
⚡ قانون كولوم (Coulomb's Law)
الفيزياء: F = k × (q₁ × q₂) / r²
السوق: شدة الحقل = 4 × norm_positive × norm_negative
تصل لذروتها عند التوازن (0.5 × 0.5 × 4 = 1.0)، وتنخفض عند الهيمنة — لأن الصراع يزداد عند التكافؤ.
⚡ قانون أوم (Ohm's Law)
الفيزياء: V = I × R
السوق: الجهد = norm_positive − norm_negative
يقيس ميزان القوى:
- +1 = هيمنة شرائية مطلقة
- −1 = هيمنة بيعية مطلقة
- 0 = توازن
⚡ السعة الكهربائية (Capacitance)
الفيزياء: C = Q / V
السوق: السعة = |الجهد| × شدة الحقل
تمثّل الطاقة المخزّنة القابلة للتفريغ — تزداد عند وجود تحيّز مع تفاعل عالي.
⚡ التفريغ الكهربائي (Discharge)
الفيزياء: يحدث عند تجاوز عتبة العزل
السوق: احتمال التفريغ = min(السعة / عتبة التفريغ, 1.0)
عندما ≥ 0.9: "⚡ DISCHARGE IMMINENT"
📌 ملاحظة جوهرية:
أقصى سعة لا تحدث عند الهيمنة المطلقة (حيث شدة الحقل = 0)، ولا عند التوازن التام (حيث الجهد = 0)، بل عند انحياز متوسط (±30–50%) مع تفاعل عالي (شدة حقل > 25%) — أي في لحظات "الضغط قبل الاختراق".
█ آلية الحساب التفصيلية
⚡ المرحلة 1: قطبية الشمعة
polarity = (close − open) / (high − low)
- +1.0: شمعة صاعدة كاملة (ماروبوزو صاعد)
- −1.0: شمعة هابطة كاملة (ماروبوزو هابط)
- 0.0: دوجي (لا قرار)
- القيم الوسيطة: تمثّل نسبة جسم الشمعة إلى مداها — مما يقلّل تأثير الشموع ذات الظلال الطويلة
⚡ المرحلة 2: وزن الحجم
vol_weight = volume / SMA(volume, lookback)
شمعة بحجم 150% من المتوسط = شحنة أقوى بـ 1.5 مرة
⚡ المرحلة 3: معامل التكيف (Adaptive Factor)
adaptive_factor = ATR(lookback) / SMA(ATR, lookback × 2)
- في الأسواق المتقلبة: يزيد الحساسية
- في الأسواق الهادئة: يقلل الضوضاء
- يوصى دائمًا بتركه مفعّلًا
⚡ المرحلة 4–6: تراكم وتوحيد الشحنات
تُجمّع الشحنات على lookback شمعة، ثم تُوحّد النسب:
norm_positive = positive_charge / total_charge
norm_negative = negative_charge / total_charge
بحيث: norm_positive + norm_negative = 1 — لتسهيل المقارنة
⚡ المرحلة 7: حسابات الحقل
voltage = norm_positive − norm_negative
field_intensity = 4 × norm_positive × norm_negative × field_sensitivity
capacitance = |voltage| × field_intensity
discharge_prob = min(capacitance / discharge_threshold, 1.0)
█ الإعدادات
⚡ Electromagnetic Model
Lookback Period
- الافتراضي: 20
- النطاق: 5–100
- التوصيات:
- المضاربة: 10–15
- اليومي: 20
- السوينغ: 30–50
- الاستثمار: 50–100
Discharge Threshold
- الافتراضي: 0.7
- النطاق: 0.3–0.95
- التوصيات:
- سرعة + ضوضاء: 0.5–0.6
- توازن: 0.7
- دقة عالية: 0.8–0.95
Field Sensitivity
- الافتراضي: 1.0
- النطاق: 0.5–2.0
- التوصيات:
- تضخيم الصراع: 1.2–1.5
- طبيعي: 1.0
- تهدئة: 0.5–0.8
Adaptive Mode
- الافتراضي: مفعّل
- أبقِه دائمًا مفعّلًا
🔬 Dynamic Filters
يجب اجتياز جميع الفلاتر المفعّلة لظهور إشارة التفريغ.
Volume Filter
- الشرط: volume > SMA(volume) × vol_multiplier
- الوظيفة: يستبعد الشموع "الضعيفة" غير المدعومة بحجم
- التوصية: مفعّل (خاصة للأسهم والعملات)
Volatility Filter
- الشرط: STDEV > SMA(STDEV) × 0.5
- الوظيفة: يتجاهل فترات الركود الجانبي
- التوصية: مفعّل دائمًا
Trend Filter
- الشرط: توافق الجهد مع EMA سريع/بطيء
- الوظيفة: يقلل الإشارات المعاكسة للاتجاه العام
- التوصية: مفعّل للسوينغ/الاستثمار فقط
Volume Threshold
- الافتراضي: 1.2
- التوصيات:
- 1.0–1.2: حساسية عالية
- 1.5–2.0: حصرية للحجم العالي
🎨 Visual Settings
الإعدادات تُحسّن تجربة القراءة البصرية — لا تؤثر على الحسابات.
Scale Factor
- الافتراضي: 600
- كلما زاد: المشهد أكبر (200–1200)
Horizontal Shift
- الافتراضي: 180
- إزاحة أفقيّة لليسار — ليركّز على آخر شمعة
Pole Size
- الافتراضي: 60
- حجم الكرات الأساسية (30–120)
Field Lines
- الافتراضي: 8
- عدد خطوط الحقل (4–16) — 8 توازن مثالي
الألوان
- أخضر/أحمر/أزرق/برتقالي
- قابلة للتخصيص بالكامل
█ التمثيل البصري: لغة بصرية لتشخيص الحالة السعرية
✨ الفلسفة التصميمية
التمثيل ليس "زينة"، بل نموذج معرفي متكامل — كل عنصر يحمل معلومة، وتفاعل العناصر يروي قصة كاملة.
العقل يدرك التغيير في الحجم، اللون، والحركة أسرع بـ 60,000 مرة من قراءة الأرقام — لذا يمكنك "الإحساس" بالتغير قبل أن تُنهي العين المسح.
═════════════════════════════════════════════════════════════
🟢 القطب الموجب (الكرة الخضراء — يسار)
═════════════════════════════════════════════════════════════
ماذا يمثّل؟
تراكم ضغط الشراء النشط — ليس مجرد اتجاه صاعد، بل قوة طلب حقيقية مدعومة بحجم وتقلّب.
● الحجم المتغير
حجم = pole_size × (0.7 + norm_positive × 0.6)
- 70% من الحجم الأساسي = لا شحنة تُذكر
- 130% من الحجم الأساسي = هيمنة تامة
- كلما كبرت الكرة: زاد تفوّق المشترين، وارتفع احتمال الاستمرار الصعودي
تفسير الحجم:
- كرة كبيرة (>55%): ضغط شراء قوي — المشترون يسيطرون
- كرة متوسطة (45–55%): توازن نسبي مع ميل للشراء
- كرة صغيرة (<45%): ضعف ضغط الشراء — البائعون يسيطرون
● الإضاءة والشفافية
- شفافية 20% (عند Bias = +1): القطب نشط حالياً — الاتجاه صعودي
- شفافية 50% (عند Bias ≠ +1): القطب غير نشط — ليس الاتجاه السائد
الإضاءة = النشاط الحالي، بينما الحجم = التراكم التاريخي
● التوهج الداخلي النابض
كرة أصغر تنبض تلقائيًّا عند Bias = +1:
inner_pulse = 0.4 + 0.1 × sin(anim_time × 3)
يرمز إلى استمرارية تدفق أوامر الشراء — وليس هيمنة جامدة.
● الحلقات المدارية
حلقتان تدوران بسرعات واتجاهات مختلفة:
- الداخلية: 1.3× حجم الكرة — نطاق التأثير المباشر
- الخارجية: 1.6× حجم الكرة — نطاق التأثير الممتد
تمثّل "نطاق تأثير" المشترين:
- الدوران المستمر = استقرار وزخم
- التباطؤ = نفاد الزخم
● النسبة المئوية
تظهر تحت الكرة: norm_positive × 100
- >55% = هيمنة واضحة
- 45–55% = توازن
- <45% = ضعف
═════════════════════════════════════════════════════════════
🔴 القطب السالب (الكرة الحمراء — يمين)
═════════════════════════════════════════════════════════════
ماذا يمثّل؟
تراكم ضغط البيع النشط — سواء كان بيعًا تراكميًّا (التوزيع الذكي) أو بيعًا هستيريًّا (تصفية مراكز).
● الديناميكيات البصرية
نفس آلية الحجم والإضاءة والتوهج الداخلي — لكن باللون الأحمر.
الفرق الجوهري:
- الدوران معكوس (عكس اتجاه عقارب الساعة)
- يُميّز بصريًّا بين "تدفق الشراء" و"تدفق البيع"
- يسمح بقراءة الاتجاه بنظرة واحدة — حتى للمصابين بعَمَى الألوان
📌 ملخص قراءة القطبين:
🟢 كرة خضراء كبيرة + مضيئة = قوة شرائية نشطة
🔴 كرة حمراء كبيرة + مضيئة = قوة بيعية نشطة
🟢🔴 كرتان كبيرتان لكن خافتتان = تراكم طاقة (قبل التفريغ)
⚪ كرتان صغيرتان = ركود / سيولة منخفضة
═════════════════════════════════════════════════════════════
🔵 خطوط الحقل (الخطوط الزرقاء المنحنية)
═════════════════════════════════════════════════════════════
ماذا تمثّل؟
مسارات تدفق الطاقة بين القطبين — أي الساحة التي تُدار فيها المعركة السعرية.
● عدد الخطوط
4–16 خط (الافتراضي: 8)
كلما زاد العدد: زاد إحساس "كثافة التفاعل"
● ارتفاع القوس
arc_h = (i − half_lines) × 15 × field_intensity × 2
- شدة حقل عالية = خطوط شديدة الارتفاع (مثل موجة)
- شدة منخفضة = خطوط شبه مستقيمة
● الشفافية المتذبذبة
transp = 30 + phase × 40
حيث phase = sin(anim_time × 2 + i × 0.5) × 0.5 + 0.5
تخلق وهم "تيّار متدفّق" — وليس خطوطًا ثابتة
● الانحناء غير المتناظر
- الخطوط العلوية تنحني لأعلى
- الخطوط السفلية تنحني لأسفل
- يُضفي عمقًا ثلاثي الأبعاد ويُظهر اتجاه "الضغط"
⚡ تلميح احترافي:
عندما ترى الخطوط "تتقلّص" فجأة (تستقيم)، بينما الكرتان كبيرتان — فهذا مؤشر مبكر على قرب التفريغ، لأن التفاعل بدأ يفقد مرونته.
═════════════════════════════════════════════════════════════
⚪ الجزيئات المتحركة
═════════════════════════════════════════════════════════════
ماذا تمثّل؟
تدفق السيولة الحقيقية في السوق — أي من يدفع السعر الآن.
● العدد والحركة
- 6 جزيئات تغطي معظم خطوط الحقل
- تتحرك جيبيًّا على طول القوس:
t = (sin(phase_val) + 1) / 2
- سرعة عالية = نشاط تداول عالي
- تجمّع عند قطب = سيطرة هذا الطرف
● تدرج اللون
من أخضر (عند القطب الموجب) إلى أحمر (عند السالب)
يُظهر "تحوّل الطاقة":
- جزيء أخضر = طاقة شرائية نقية
- جزيء برتقالي = منطقة صراع
- جزيء أحمر = طاقة بيعية نقية
📌 كيف تقرأها؟
- تحركت من اليسار لليمين (🟢 → 🔴): تدفق شرائي → دفع صعودي
- تحركت من اليمين لليسار (🔴 → 🟢): تدفق بيعي → دفع هبوطي
- تجمّعت في المنتصف: صراع متكافئ — انتظر اختراقًا
═════════════════════════════════════════════════════════════
🟠 منطقة التفريغ (التوهج البرتقالي — المركز)
═════════════════════════════════════════════════════════════
ماذا تمثّل؟
نقطة تراكم الطاقة المخزّنة التي لم تُفرّغ بعد — قلب نظام الإنذار المبكر.
● مراحل التوهج
إنذار أولي (discharge_prob > 0.3):
- دائرة برتقالية خافتة (شفافية 70%)
- المعنى: راقب، لا تدخل بعد
توتر عالي (discharge_prob ≥ 0.7):
- توهج أقوى + نص "⚠️ HIGH TENSION"
- المعنى: استعد — ضع أوامر معلقة
تفريغ وشيك (discharge_prob ≥ 0.9):
- توهج ساطع + نص "⚡ DISCHARGE IMMINENT"
- المعنى: ادخل مع الاتجاه (بعد تأكيد شمعة)
● تأثير التوهج الطبقي (Glow Layering)
3 دوائر متحدة المركز بشفافية متزايدة:
- داخلي: 20%
- وسط: 35%
- خارجي: 50%
النتيجة: هالة (Aura) واقعية تشبه التفريغ الكهربائي الحقيقي.
📌 لماذا في المركز؟
لأن التفريغ يبدأ دائمًا من منطقة التوازن النسبي — حيث يلتقي الضغطان المتعاكسان.
═════════════════════════════════════════════════════════════
📊 مقياس الجهد (أسفل المشهد)
═════════════════════════════════════════════════════════════
ماذا يمثّل؟
مؤشر رقمي مبسّط لفرق الجهد — لمن يفضّل القراءة العددية.
● المكونات
- الشريط الرمادي: النطاق الكامل (−100% إلى +100%)
- التعبئة الخضراء: جهد موجب (تمتد لليمين)
- التعبئة الحمراء: جهد سالب (تمتد لليسار)
- رمز البرق (⚡): فوق المركز — تذكير بأنه "مقياس كهربائي"
- القيمة النصية: مثل "+23.4%" — بلون الاتجاه
● تفسير قراءات الجهد
+50% إلى +100%:
هيمنة شرائية ساحقة — احذر التشبع، قد يسبق تصحيح
+20% إلى +50%:
هيمنة شرائية قوية — مناسب للشراء مع الاتجاه
+5% إلى +20%:
ميل صعودي خفيف — انتظر تأكيدًا إضافيًّا
−5% إلى +5%:
توازن/حياد — تجنّب الدخول أو انتظر اختراقًا
−5% إلى −20%:
ميل هبوطي خفيف — انتظر تأكيدًا
−20% إلى −50%:
هيمنة بيعية قوية — مناسب للبيع مع الاتجاه
−50% إلى −100%:
هيمنة بيعية ساحقة — احذر التشبع، قد يسبق ارتداد
═════════════════════════════════════════════════════════════
📈 مؤشر شدة الحقل (أعلى المشهد)
═════════════════════════════════════════════════════════════
ما يعرضه: "Field: XX.X%"
الدلالة: قوة الصراع بين المشترين والبائعين.
● تفسير القراءات
0–5%:
- المظهر: خطوط مستقيمة تقريبًا، شفافة
- المعنى: سيطرة تامة لأحد الطرفين
- الاستراتيجية: تتبع الترند (Trend Following)
5–15%:
- المظهر: انحناء خفيف
- المعنى: اتجاه واضح مع مقاومة خفيفة
- الاستراتيجية: الدخول مع الاتجاه
15–25%:
- المظهر: انحناء متوسط، خطوط واضحة
- المعنى: صراع متوازن
- الاستراتيجية: تداول النطاق أو الانتظار
25–35%:
- المظهر: انحناء عالي، كثافة واضحة
- المعنى: صراع قوي، عدم يقين عالي
- الاستراتيجية: تداول التقلّب أو الاستعداد للتفريغ
35%+:
- المظهر: خطوط عالية جدًّا، توهج قوي
- المعنى: ذروة التوتر
- الاستراتيجية: أفضل فرص التفريغ
📌 العلاقة الذهبية:
أعلى احتمال تفريغ عندما:
شدة الحقل (25–35%) + جهد (±30–50%) + حجم مرتفع
← هذه هي "المنطقة الحمراء" التي يجب مراقبتها بدقة.
█ قراءة التمثيل البصري الشاملة
لقراءة حالة السوق بنظرة واحدة، اتبع هذا التسلسل:
الخطوة 1: أي كرة أكبر؟
- 🟢 الخضراء أكبر ← ضغط شراء مهيمن
- 🔴 الحمراء أكبر ← ضغط بيع مهيمن
- متساويتان ← توازن/صراع
الخطوة 2: أي كرة مضيئة؟
- 🟢 الخضراء مضيئة ← اتجاه صعودي حالي
- 🔴 الحمراء مضيئة ← اتجاه هبوطي حالي
- كلاهما خافت ← حياد/لا اتجاه واضح
الخطوة 3: هل يوجد توهج برتقالي؟
- لا يوجد ← احتمال تفريغ <30%
- 🟠 توهج خافت ← احتمال تفريغ 30–70%
- 🟠 توهج قوي مع نص ← احتمال تفريغ >70%
الخطوة 4: ما قراءة مقياس الجهد؟
- موجب قوي ← تأكيد الهيمنة الشرائية
- سالب قوي ← تأكيد الهيمنة البيعية
- قريب من الصفر ← لا اتجاه واضح
█ أمثلة عملية للقراءة البصرية
المثال 1: فرصة شراء مثالية ⚡🟢
- الكرة الخضراء: كبيرة ومضيئة مع نبض داخلي
- الكرة الحمراء: صغيرة وخافتة
- التوهج البرتقالي: قوي مع نص "DISCHARGE IMMINENT"
- مقياس الجهد: +45%
- شدة الحقل: 28%
التفسير: ضغط شراء قوي متراكم، انفجار صعودي وشيك
المثال 2: فرصة بيع مثالية ⚡🔴
- الكرة الخضراء: صغيرة وخافتة
- الكرة الحمراء: كبيرة ومضيئة مع نبض داخلي
- التوهج البرتقالي: قوي مع نص "DISCHARGE IMMINENT"
- مقياس الجهد: −52%
- شدة الحقل: 31%
التفسير: ضغط بيع قوي متراكم، انفجار هبوطي وشيك
المثال 3: توازن/انتظار ⚖️
- الكرتان: متساويتان تقريباً في الحجم
- الإضاءة: كلاهما خافت
- التوهج البرتقالي: قوي
- مقياس الجهد: +3%
- شدة الحقل: 24%
التفسير: صراع قوي بدون فائز واضح، انتظر اختراقًا
المثال 4: اتجاه صعودي واضح (لا تفريغ) 📈
- الكرة الخضراء: كبيرة ومضيئة
- الكرة الحمراء: صغيرة جداً وخافتة
- التوهج البرتقالي: لا يوجد
- مقياس الجهد: +68%
- شدة الحقل: 8%
التفسير: سيطرة شرائية واضحة، صراع محدود، مناسب لتتبع الترند الصعودي
المثال 5: تشبع شرائي محتمل ⚠️
- الكرة الخضراء: كبيرة جداً ومضيئة
- الكرة الحمراء: صغيرة جداً
- التوهج البرتقالي: خافت
- مقياس الجهد: +88%
- شدة الحقل: 4%
التفسير: هيمنة شرائية مطلقة، قد يسبق تصحيحاً هبوطياً
█ إشارات التداول
⚡ DISCHARGE IMMINENT (التفريغ الوشيك)
شروط الظهور:
- discharge_prob ≥ 0.9
- اجتياز جميع الفلاتر المفعّلة
- Confirmed (بعد إغلاق الشمعة)
التفسير:
- تراكم طاقة كبير جدًّا
- الضغط وصل لمستوى حرج
- انفجار سعري متوقع خلال 1–3 شموع
كيفية التداول:
1. حدد اتجاه الجهد:
• موجب = توقع صعود
• سالب = توقع هبوط
2. انتظر شمعة تأكيدية:
• للصعود: شمعة صاعدة تغلق فوق افتتاحها
• للهبوط: شمعة هابطة تغلق تحت افتتاحها
3. الدخول: مع افتتاح الشمعة التالية
4. وقف الخسارة: وراء آخر قاع/قمة محلية
5. الهدف: نسبة مخاطرة/عائد 1:2 على الأقل
✅ نصائح احترافية:
- أفضل النتائج عند دمجها مع مستويات الدعم/المقاومة
- تجنّب الدخول إذا كان الجهد قريبًا من الصفر (±5%)
- زِد حجم المركز عند شدة حقل > 30%
⚠️ HIGH TENSION (التوتر العالي)
شروط الظهور:
- 0.7 ≤ discharge_prob < 0.9
التفسير:
- السوق في حالة تراكم طاقة
- احتمال حركة قوية قريبة، لكن ليست فورية
- قد يستمر التراكم أو يحدث تفريغ
كيفية الاستفادة:
- الاستعداد: حضّر أوامر معلقة عند الاختراقات المحتملة
- المراقبة: راقب الشموع التالية بحثًا عن شمعة دافعة
- الانتقاء: لا تدخل كل إشارة — اختر تلك التي تتوافق مع الاتجاه العام
█ استراتيجيات التداول
📈 استراتيجية 1: تداول التفريغ (الأساسية)
المبدأ: الدخول عند "DISCHARGE IMMINENT" في اتجاه الجهد
الخطوات:
1. انتظر ظهور "⚡ DISCHARGE IMMINENT"
2. تحقق من اتجاه الجهد (+/−)
3. انتظر شمعة تأكيدية في اتجاه الجهد
4. ادخل مع افتتاح الشمعة التالية
5. وقف الخسارة وراء آخر قاع/قمة
6. الهدف: نسبة 1:2 أو 1:3
نسبة نجاح عالية جدًّا عند الالتزام بشروط التأكيد.
📈 استراتيجية 2: تتبع الهيمنة
المبدأ: التداول مع القطب المهيمن (الكرة الأكبر والأكثر إضاءة)
الخطوات:
1. حدد القطب المهيمن (الأكبر حجماً والأكثر إضاءة)
2. تداول في اتجاهه
3. احذر عند تقارب الأحجام (صراع)
مناسبة للإطارات الزمنية الأعلى (H1+).
📈 استراتيجية 3: صيد الانعكاس
المبدأ: الدخول عكس الاتجاه عند ظروف معينة
الشروط:
- شدة حقل عالية (>30%)
- جهد متطرف (>±40%)
- تباعد مع السعر (مثل: قمة سعرية جديدة مع تراجع الجهد)
⚠️ عالية المخاطرة — استخدم حجم مركز صغير.
📈 استراتيجية 4: الدمج مع التحليل الفني
أمثلة تأكيد قوي:
- اختراق مقاومة + تفريغ صعودي = إشارة شراء ممتازة
- كسر دعم + تفريغ هبوطي = إشارة بيع ممتازة
- نموذج Head & Shoulders + جهد سالب متزايد = تأكيد النموذج
- تباعد RSI + شدة حقل عالية = انعكاس محتمل
█ التنبيهات الجاهزة
Bullish Discharge
- الشرط: discharge_prob ≥ 0.9 + جهد موجب + جميع الفلاتر
- الرسالة: "⚡ Bullish discharge"
- الاستخدام: فرصة شراء عالية الاحتمالية
Bearish Discharge
- الشرط: discharge_prob ≥ 0.9 + جهد سالب + جميع الفلاتر
- الرسالة: "⚡ Bearish discharge"
- الاستخدام: فرصة بيع عالية الاحتمالية
✅ نصيحة: استخدم هذه التنبيهات مع إعداد "Once Per Bar" لتجنب التكرار.
█ المخرجات في نافذة البيانات
Bias
- القيم: −1 / 0 / +1
- التفسير: −1 = هبوطي، 0 = حياد، +1 = صعودي
- الاستخدام: لدمجها في استراتيجيات آلية
Discharge %
- النطاق: 0–100%
- التفسير: احتمال التفريغ
- الاستخدام: مراقبة تدرّج التوتر (مثال: من 40% إلى 85% في 5 شموع)
Field Strength
- النطاق: 0–100%
- التفسير: شدة الصراع
- الاستخدام: تحديد "نافذة الفرص" (25–35% مثالية للتفريغ)
Voltage
- النطاق: −100% إلى +100%
- التفسير: ميزان القوى
- الاستخدام: مراقبة التطرف (تشبع شرائي/بيعي محتمل)
█ الإعدادات المثلى حسب أسلوب التداول
المضاربة (Scalping)
- الإطار: 1M–5M
- Lookback: 10–15
- Threshold: 0.5–0.6
- Sensitivity: 1.2–1.5
- الفلاتر: Volume + Volatility
التداول اليومي (Day Trading)
- الإطار: 15M–1H
- Lookback: 20
- Threshold: 0.7
- Sensitivity: 1.0
- الفلاتر: Volume + Volatility
السوينغ (Swing Trading)
- الإطار: 4H–D1
- Lookback: 30–50
- Threshold: 0.8
- Sensitivity: 0.8
- الفلاتر: Volatility + Trend
الاستثمار (Position Trading)
- الإطار: D1–W1
- Lookback: 50–100
- Threshold: 0.85–0.95
- Sensitivity: 0.5–0.8
- الفلاتر: جميع الفلاتر
█ نصائح للاستخدام الأمثل
1. ابدأ بالإعدادات الافتراضية
جرّبه أولًا كما هو، ثم عدّل حسب أسلوبك.
2. راقب التوافق بين العناصر
أفضل الإشارات عندما:
- الجهد واضح (>│20%│)
- شدة الحقل معتدلة–عالية (15–35%)
- احتمال التفريغ مرتفع (>70%)
3. استخدم أطر زمنية متعددة
- الإطار الأعلى: تحديد الاتجاه العام
- الإطار الأدنى: توقيت الدخول
- تأكد من توافق الإشارات بين الأطر
4. دمج مع أدوات أخرى
- مستويات الدعم/المقاومة
- خطوط الاتجاه
- أنماط الشموع
- مؤشرات الحجم
5. احترم إدارة المخاطرة
- لا تخاطر بأكثر من 1–2% من الحساب
- استخدم دائمًا وقف الخسارة
- لا تدخل كل الإشارات — اختر الأفضل
█ تحذيرات مهمة
⚠️ ليس للاستخدام المنفرد
المؤشر أداة تحليل مساعِدة — لا تستخدمه بمعزل عن التحليل الفني أو الأساسي.
⚠️ لا يتنبأ بالمستقبل
الحسابات مبنية على البيانات التاريخية — النتائج ليست مضمونة.
⚠️ الأسواق تختلف
قد تحتاج لضبط الإعدادات لكل سوق:
- العملات: تركّز على Volume Filter
- الأسهم: أضف Trend Filter
- الكريبتو: خفّض Threshold قليلًا (أكثر تقلّبًا)
⚠️ الأخبار والأحداث
المؤشر لا يأخذ في الاعتبار الأخبار المفاجئة — تجنّب التداول قبل/أثناء الأخبار الرئيسية.
█ الميزات الفريدة
✅ أول تطبيق للكهرومغناطيسية على الأسواق
نموذج رياضي مبتكر — ليس مجرد مؤشر عادي
✅ كشف استباقي للانفجارات السعرية
يُنبّه قبل حدوث الحركة — وليس بعدها
✅ تصفية متعددة الطبقات
4 فلاتر ذكية تقلل الإشارات الكاذبة إلى الحد الأدنى
✅ تكيف ذكي مع التقلب
يضبط حساسيته تلقائيًّا حسب ظروف السوق
✅ تمثيل بصري ثلاثي الأبعاد متحرك
يجعل القراءة فورية — حتى للمبتدئين
✅ مرونة عالية
يعمل على جميع الأصول: أسهم، عملات، كريبتو، سلع
✅ تنبيهات مدمجة جاهزة
لا حاجة لإعدادات معقدة — جاهز للاستخدام الفوري
█ خاتمة: عندما يلتقي الفن بالعلم
Market Electromagnetic Field ليس مجرد مؤشر — بل فلسفة تحليلية جديدة.
هو الجسر بين:
- دقة الفيزياء في وصف الأنظمة الديناميكية
- ذكاء السوق في توليد فرص التداول
- علم النفس البصري في تسهيل القراءة الفورية
النتيجة: أداة لا تُقرأ — بل تُشاهد، تُشعر، وتُستشعر.
عندما ترى الكرة الخضراء تتوسع، والتوهج يصفرّ، والجزيئات تندفع لليمين — فأنت لا ترى أرقامًا، بل ترى طاقة السوق تتنفّس.
⚠️ إخلاء مسؤولية:
هذا المؤشر لأغراض تعليمية وتحليلية فقط. لا يُمثل نصيحة مالية أو استثمارية أو تداولية. استخدمه بالتزامن مع استراتيجيتك الخاصة وإدارة المخاطر. لا يتحمل TradingView ولا المطور مسؤولية أي قرارات مالية أو خسائر.
XAUUSD Sniper Setup (Pre-Arrows + SL/TP)//@version=5
indicator("XAUUSD Sniper Setup (Pre-Arrows + SL/TP)", overlay=true)
// === Inputs ===
rangePeriod = input.int(20, "Lookback Bars for Zone", minval=5)
maxRangePercent = input.float(0.08, "Max Range % for Consolidation", step=0.01)
tpMultiplier = input.float(1.5, "TP Multiplier")
slMultiplier = input.float(1.0, "SL Multiplier")
// === Consolidation Detection ===
highestPrice = ta.highest(high, rangePeriod)
lowestPrice = ta.lowest(low, rangePeriod)
priceRange = highestPrice - lowestPrice
percentRange = (priceRange / close) * 100
isConsolidation = percentRange < maxRangePercent
// === Zones ===
demandZone = lowestPrice
supplyZone = highestPrice
// === Plot Consolidation Zone Background ===
bgcolor(isConsolidation ? color.new(color.gray, 85) : na)
// === Plot Potential Buy/Sell Levels ===
plot(isConsolidation ? demandZone : na, color=color.green, title="Potential Buy Level", linewidth=2)
plot(isConsolidation ? supplyZone : na, color=color.red, title="Potential Sell Level", linewidth=2)
// === Liquidity Sweep ===
liquidityTakenBelow = low < demandZone
liquidityTakenAbove = high > supplyZone
// === Engulfing Candles ===
bullishEngulfing = close > open and close < open and close > open
bearishEngulfing = close < open and close > open and close < open
// === Break of Structure ===
bosUp = high > ta.highest(high , 5)
bosDown = low < ta.lowest(low , 5)
// === Sniper Entry Conditions ===
buySignal = isConsolidation and liquidityTakenBelow and bullishEngulfing and bosUp
sellSignal = isConsolidation and liquidityTakenAbove and bearishEngulfing and bosDown
// === SL & TP Levels ===
slBuy = demandZone - (priceRange * slMultiplier)
tpBuy = close + (priceRange * tpMultiplier)
slSell = supplyZone + (priceRange * slMultiplier)
tpSell = close - (priceRange * tpMultiplier)
// === PRE-ARROWS (Show Before Breakout) ===
preBuyArrow = isConsolidation ? 1 : na
preSellArrow = isConsolidation ? -1 : na
plotarrow(preBuyArrow, colorup=color.new(color.green, 50), maxheight=20, minheight=20, title="Pre-Buy Arrow")
plotarrow(preSellArrow, colordown=color.new(color.red, 50), maxheight=20, minheight=20, title="Pre-Sell Arrow")
// === SNIPER CONFIRMATION ARROWS ===
buyArrow = buySignal ? 1 : na
sellArrow = sellSignal ? -1 : na
plotarrow(buyArrow, colorup=color.green, maxheight=60, minheight=60, title="Sniper BUY Arrow")
plotarrow(sellArrow, colordown=color.red, maxheight=60, minheight=60, title="Sniper SELL Arrow")
// === BUY SIGNAL ===
if buySignal
label.new(bar_index, low, "BUY\nSL/TP Added", style=label.style_label_up, color=color.green, textcolor=color.white)
line.new(bar_index, slBuy, bar_index + 5, slBuy, color=color.red, style=line.style_dotted)
line.new(bar_index, tpBuy, bar_index + 5, tpBuy, color=color.green, style=line.style_dotted)
label.new(bar_index, slBuy, "SL", color=color.red, style=label.style_label_down)
label.new(bar_index, tpBuy, "TP", color=color.green, style=label.style_label_up)
// === SELL SIGNAL ===
if sellSignal
label.new(bar_index, high, "SELL\nSL/TP Added", style=label.style_label_down, color=color.red, textcolor=color.white)
line.new(bar_index, slSell, bar_index + 5, slSell, color=color.red, style=line.style_dotted)
line.new(bar_index, tpSell, bar_index + 5, tpSell, color=color.green, style=line.style_dotted)
label.new(bar_index, slSell, "SL", color=color.red, style=label.style_label_up)
label.new(bar_index, tpSell, "TP", color=color.green, style=label.style_label_down)
// === Alerts ===
alertcondition(buySignal, title="Sniper BUY", message="Sniper BUY setup on XAUUSD")
alertcondition(sellSignal, title="Sniper SELL", message="Sniper SELL setup on XAUUSD")
OANDA:XAUUSD
Trading Sessions [QuantAlgo]🟢 Overview
The Trading Sessions indicator tracks and displays the four major global trading sessions: Sydney, Tokyo, London, and New York. It provides session-based background highlighting, real-time price change tracking from session open, and a data table with session status. The script works across all markets (forex, equities, commodities, crypto) and helps traders identify when specific geographic markets are active, which directly correlates with changes in liquidity and volatility patterns. Default session times are set to major financial center hours in UTC but are fully adjustable to match your trading methodology.
🟢 Key Features
→ Session Background Color Coding
Each trading session gets a distinct background color on your chart:
1. Sydney Session - Default orange, 22:00-07:00 UTC
2. Tokyo Session - Default red, 00:00-09:00 UTC
3. London Session - Default green, 08:00-16:00 UTC
4. New York Session - Default blue, 13:00-22:00 UTC
When sessions overlap, the color priority is New York > London > Tokyo > Sydney. This means if London and New York are both active, the background shows New York's color. The priority matches typical liquidity and volatility patterns where later sessions generally show higher volume.
→ Color Customization
All session colors are configurable in the Color Settings panel:
1. Click any session color input to open the color picker
2. Select your preferred color for that session
3. Use the "Background Transparency" slider (0-100) to adjust opacity. Lower values = more visible, higher values = more subtle
4. Enable "Color Price Bars" to color candlesticks themselves according to the active session instead of just the background
The Color column in the info table shows a block (█) in each session's assigned color, matching what you see on the chart background.
→ Information Table Breakdown
→ Timeframe Warning
If you're viewing a timeframe of 12 hours or higher, a red warning label appears center-screen. Session boundaries don't render accurately on high timeframes because the time() function in Pine Script can't detect intra-bar session changes when each bar spans multiple sessions. The warning tells you to switch to sub-12H timeframes (e.g., 4H, 1H, 30m, 15m, etc.) for proper session detection. You can disable this warning in Color Settings if needed, but session highlighting can be unreliable on 12H+ charts regardless.
→ Time Range Configuration
Every session's time range is editable in Session Settings:
1. Click the time input field next to each session
2. Enter time as HHMM-HHMM in 24-hour format
3. All times are interpreted as UTC
4. Modify these to account for daylight saving shifts or to define custom session periods based on your backtested optimal trading windows
For example, if your strategy performs best during London/NY overlap specifically, you could set London to 08:00-17:00 and New York to 13:00-22:00 to ensure you see the full overlap highlighted.
→ Weekdays Filter
The "Weekdays Only (Mon-Fri)" toggle controls whether sessions display on weekends:
Enabled: Sessions only show Monday-Friday and hide on Saturday-Sunday. Use this for markets that close on weekends (most equities, forex).
Disabled: Sessions display 24/7 including weekends. Use this for markets that trade continuously (crypto).
→ Table Display Options
The info table has several configuration options in Table Settings:
Visibility: Toggle "Show Info Table" on/off to display or hide the entire table.
Position: Nine position options (Top/Middle/Bottom + Left/Center/Right) let you place the table wherever it doesn't block your price action or other indicators.
Text Size: Four size options (Tiny, Small, Normal, Large) to match your screen resolution and visual preferences.
→ Color Schemes:
Mono: Black background, gray header, white text
Light: White background, light gray header, black text
Blue: Dark blue background, medium blue header, white text
Custom: Manual selection of all five color components (table background, header background, header text, data text, borders)
→ Alert Functionality
The indicator includes ten alert conditions you can access via TradingView's alert system:
Session Opens:
1. Sydney Session Started
2. Tokyo Session Started
3. London Session Started
4. New York Session Started
5. Any Session Started
Session Closes:
6. Sydney Session Ended
7. Tokyo Session Ended
8. London Session Ended
9. New York Session Ended
10. Any Session Ended
These alerts fire when sessions transition based on your configured time ranges, letting you automate monitoring of session changes without watching the chart continuously. Useful for strategies that trade specific session opens/closes or need to adjust position sizing when volatility regime shifts between sessions.
Custom Checklist# Custom Checklist - Trading Preparation & Reminders
A fully customizable checklist overlay indicator for TradingView that helps traders maintain discipline and follow their trading routine systematically.
## 🎯 Purpose
This indicator serves as a visual reminder system on your charts to ensure you complete all necessary analysis steps before entering a trade. Perfect for traders who want to maintain consistency and avoid emotional or rushed trading decisions.
## ✨ Key Features
- **20 Customizable Lines**: Create your own checklist items with any text you need
- **Flexible Display Options**:
- Show/hide title header
- Toggle entire checklist on/off
- Position anywhere on chart (9 positions available)
- Adjustable text size (tiny to huge)
- **Symbol Filtering**: Option to show checklist only on specific symbols (BTC/USD, GOLD, SPX500, USOIL)
- **Customizable Appearance**:
- Background color
- Text color
- Border color
- Transparency controls
- **Clean Interface**: Empty by default - add only the items you need
## 📋 Use Cases
- **Morning Routine**: Daily market preparation checklist
- **Trade Entry Rules**: Verify all setup conditions are met
- **Risk Management**: Confirm stop-loss, position size, and exit strategy
- **Multi-Timeframe Analysis**: Ensure you checked all required timeframes
- **Technical Analysis**: Track which indicators and patterns you've reviewed
- **News & Events**: Remember to check economic calendar and news
- **Personal Rules**: Your custom trading rules and reminders
## 🎨 Customization
Every aspect is customizable:
- All 20 lines can be edited to your needs
- Only non-empty lines are displayed
- Table position adjustable to any corner or middle position
- Color scheme fully customizable to match your chart theme
- Text size scalable for different screen sizes
## 💡 How to Use
1. Add indicator to your chart
2. Open Settings > Checklist Items
3. Fill in your checklist items (Line 1, Line 2, etc.)
4. Customize colors and position in Display Settings
5. Optional: Enable "Show Only on Specific Symbols" to show on select instruments
## 🔧 Display Settings
- **Checklist Title**: Custom header for your checklist
- **Show Title Header**: Toggle title display
- **Show Checklist**: Master on/off switch
- **Symbol Filter**: Restrict display to specific trading instruments
- **Position**: 9 placement options (corners and middle positions)
- **Text Size**: 5 size options (tiny, small, normal, large, huge)
- **Colors**: Background, text, and border fully customizable
## 📝 Example Checklist Ideas
**Swing Trading:**
- Support/Resistance levels identified
- Trend direction confirmed
- Volume analysis completed
- RSI/MACD signals checked
- Risk/Reward ratio calculated
**Day Trading:**
- Pre-market review done
- Key levels marked
- Economic calendar checked
- Trading plan written
- Position size calculated
**Technical Analysis:**
- Multiple timeframe alignment
- Chart patterns identified
- Moving averages reviewed
- Fibonacci levels drawn
- Volume profile analyzed
## ⚙️ Technical Details
- Pine Script v6
- Overlay indicator (displays on main chart)
- Lightweight - no complex calculations
- No repainting
- Works on all timeframes and instruments
## 🎓 Perfect For
- Beginner traders learning systematic analysis
- Experienced traders maintaining discipline
- Anyone who wants visual trading reminders
- Traders following multi-step strategies
- Those prone to FOMO or emotional trading
---
**Note**: This is a visual tool only. It does not generate trading signals or perform analysis. It serves as a reminder checklist to help you follow your own trading process consistently.
Custom Checklist# Custom Checklist - Trading Preparation & Reminders
A fully customizable checklist overlay indicator for TradingView that helps traders maintain discipline and follow their trading routine systematically.
## 🎯 Purpose
This indicator serves as a visual reminder system on your charts to ensure you complete all necessary analysis steps before entering a trade. Perfect for traders who want to maintain consistency and avoid emotional or rushed trading decisions.
## ✨ Key Features
- **20 Customizable Lines**: Create your own checklist items with any text you need
- **Flexible Display Options**:
- Show/hide title header
- Toggle entire checklist on/off
- Position anywhere on chart (9 positions available)
- Adjustable text size (tiny to huge)
- **Symbol Filtering**: Option to show checklist only on specific symbols (BTC/USD, GOLD, SPX500, USOIL)
- **Customizable Appearance**:
- Background color
- Text color
- Border color
- Transparency controls
- **Clean Interface**: Empty by default - add only the items you need
## 📋 Use Cases
- **Morning Routine**: Daily market preparation checklist
- **Trade Entry Rules**: Verify all setup conditions are met
- **Risk Management**: Confirm stop-loss, position size, and exit strategy
- **Multi-Timeframe Analysis**: Ensure you checked all required timeframes
- **Technical Analysis**: Track which indicators and patterns you've reviewed
- **News & Events**: Remember to check economic calendar and news
- **Personal Rules**: Your custom trading rules and reminders
## 🎨 Customization
Every aspect is customizable:
- All 20 lines can be edited to your needs
- Only non-empty lines are displayed
- Table position adjustable to any corner or middle position
- Color scheme fully customizable to match your chart theme
- Text size scalable for different screen sizes
## 💡 How to Use
1. Add indicator to your chart
2. Open Settings > Checklist Items
3. Fill in your checklist items (Line 1, Line 2, etc.)
4. Customize colors and position in Display Settings
5. Optional: Enable "Show Only on Specific Symbols" to show on select instruments
## 🔧 Display Settings
- **Checklist Title**: Custom header for your checklist
- **Show Title Header**: Toggle title display
- **Show Checklist**: Master on/off switch
- **Symbol Filter**: Restrict display to specific trading instruments
- **Position**: 9 placement options (corners and middle positions)
- **Text Size**: 5 size options (tiny, small, normal, large, huge)
- **Colors**: Background, text, and border fully customizable
## 📝 Example Checklist Ideas
**Swing Trading:**
- Support/Resistance levels identified
- Trend direction confirmed
- Volume analysis completed
- RSI/MACD signals checked
- Risk/Reward ratio calculated
**Day Trading:**
- Pre-market review done
- Key levels marked
- Economic calendar checked
- Trading plan written
- Position size calculated
**Technical Analysis:**
- Multiple timeframe alignment
- Chart patterns identified
- Moving averages reviewed
- Fibonacci levels drawn
- Volume profile analyzed
## ⚙️ Technical Details
- Pine Script v6
- Overlay indicator (displays on main chart)
- Lightweight - no complex calculations
- No repainting
- Works on all timeframes and instruments
## 🎓 Perfect For
- Beginner traders learning systematic analysis
- Experienced traders maintaining discipline
- Anyone who wants visual trading reminders
- Traders following multi-step strategies
- Those prone to FOMO or emotional trading
---
**Note**: This is a visual tool only. It does not generate trading signals or perform analysis. It serves as a reminder checklist to help you follow your own trading process consistently.
Ehlers Phasor Analysis (PHASOR)# PHASOR: Phasor Analysis (Ehlers)
## Overview and Purpose
The Phasor Analysis indicator, developed by John Ehlers, represents an advanced cycle analysis tool that identifies the phase of the dominant cycle component in a time series through complex signal processing techniques. This sophisticated indicator uses correlation-based methods to determine the real and imaginary components of the signal, converting them to a continuous phase angle that reveals market cycle progression. Unlike traditional oscillators, the Phasor provides unwrapped phase measurements that accumulate continuously, offering unique insights into market timing and cycle behavior.
## Core Concepts
* **Complex Signal Analysis** — Uses real and imaginary components to determine cycle phase
* **Correlation-Based Detection** — Employs Ehlers' correlation method for robust phase estimation
* **Unwrapped Phase Tracking** — Provides continuous phase accumulation without discontinuities
* **Anti-Regression Logic** — Prevents phase angle from moving backward under specific conditions
Market Applications:
* **Cycle Timing** — Precise identification of cycle peaks and troughs
* **Market Regime Analysis** — Distinguishes between trending and cycling market conditions
* **Turning Point Detection** — Advanced warning system for potential market reversals
## Common Settings and Parameters
| Parameter | Default | Function | When to Adjust |
|-----------|---------|----------|----------------|
| Period | 28 | Fixed cycle period for correlation analysis | Match to expected dominant cycle length |
| Source | Close | Price series for phase calculation | Use typical price or other smoothed series |
| Show Derived Period | false | Display calculated period from phase rate | Enable for adaptive period analysis |
| Show Trend State | false | Display trend/cycle state variable | Enable for regime identification |
## Calculation and Mathematical Foundation
**Technical Formula:**
**Stage 1: Correlation Analysis**
For period $n$ and source $x_t$:
Real component correlation with cosine wave:
$$R = \frac{n \sum x_t \cos\left(\frac{2\pi t}{n}\right) - \sum x_t \sum \cos\left(\frac{2\pi t}{n}\right)}{\sqrt{D_{cos}}}$$
Imaginary component correlation with negative sine wave:
$$I = \frac{n \sum x_t \left(-\sin\left(\frac{2\pi t}{n}\right)\right) - \sum x_t \sum \left(-\sin\left(\frac{2\pi t}{n}\right)\right)}{\sqrt{D_{sin}}}$$
where $D_{cos}$ and $D_{sin}$ are normalization denominators.
**Stage 2: Phase Angle Conversion**
$$\theta_{raw} = \begin{cases}
90° - \arctan\left(\frac{I}{R}\right) \cdot \frac{180°}{\pi} & \text{if } R \neq 0 \\
0° & \text{if } R = 0, I > 0 \\
180° & \text{if } R = 0, I \leq 0
\end{cases}$$
**Stage 3: Phase Unwrapping**
$$\theta_{unwrapped}(t) = \theta_{unwrapped}(t-1) + \Delta\theta$$
where $\Delta\theta$ is the normalized phase difference.
**Stage 4: Ehlers' Anti-Regression Condition**
$$\theta_{final}(t) = \begin{cases}
\theta_{final}(t-1) & \text{if regression conditions met} \\
\theta_{unwrapped}(t) & \text{otherwise}
\end{cases}$$
**Derived Calculations:**
Derived Period: $P_{derived} = \frac{360°}{\Delta\theta_{final}}$ (clamped to )
Trend State:
$$S_{trend} = \begin{cases}
1 & \text{if } \Delta\theta \leq 6° \text{ and } |\theta| \geq 90° \\
-1 & \text{if } \Delta\theta \leq 6° \text{ and } |\theta| < 90° \\
0 & \text{if } \Delta\theta > 6°
\end{cases}$$
> 🔍 **Technical Note:** The correlation-based approach provides robust phase estimation even in noisy market conditions, while the unwrapping mechanism ensures continuous phase tracking across cycle boundaries.
## Interpretation Details
* **Phasor Angle (Primary Output):**
- **+90°**: Potential cycle peak region
- **0°**: Mid-cycle ascending phase
- **-90°**: Potential cycle trough region
- **±180°**: Mid-cycle descending phase
* **Phase Progression:**
- Continuous upward movement → Normal cycle progression
- Phase stalling → Potential cycle extension or trend development
- Rapid phase changes → Cycle compression or volatility spike
* **Derived Period Analysis:**
- Period < 10 → High-frequency cycle dominance
- Period 15-40 → Typical swing trading cycles
- Period > 50 → Trending market conditions
* **Trend State Variable:**
- **+1**: Long trend conditions (slow phase change in extreme zones)
- **-1**: Short trend or consolidation (slow phase change in neutral zones)
- **0**: Active cycling (normal phase change rate)
## Applications
* **Cycle-Based Trading:**
- Enter long positions near -90° crossings (cycle troughs)
- Enter short positions near +90° crossings (cycle peaks)
- Exit positions during mid-cycle phases (0°, ±180°)
* **Market Timing:**
- Use phase acceleration for early trend detection
- Monitor derived period for cycle length changes
- Combine with trend state for regime-appropriate strategies
* **Risk Management:**
- Adjust position sizes based on cycle clarity (derived period stability)
- Implement different risk parameters for trending vs. cycling regimes
- Use phase velocity for stop-loss placement timing
## Limitations and Considerations
* **Parameter Sensitivity:**
- Fixed period assumption may not match actual market cycles
- Requires cycle period optimization for different markets and timeframes
- Performance degrades when multiple cycles interfere
* **Computational Complexity:**
- Correlation calculations over full period windows
- Multiple mathematical transformations increase processing requirements
- Real-time implementation requires efficient algorithms
* **Market Conditions:**
- Most effective in markets with clear cyclical behavior
- May provide false signals during strong trending periods
- Requires sufficient historical data for correlation analysis
Complementary Indicators:
* MESA Adaptive Moving Average (cycle-based smoothing)
* Dominant Cycle Period indicators
* Detrended Price Oscillator (cycle identification)
## References
1. Ehlers, J.F. "Cycle Analytics for Traders." Wiley, 2013.
2. Ehlers, J.F. "Cybernetic Analysis for Stocks and Futures." Wiley, 2004.
HTF Cross Breakout [CHE] HTF Cross Breakout — Detects higher timeframe close crossovers for breakout signals, anchors VWAP for trend validation, and flags continuations or traps with visual extensions for delta percent and stop levels.
Summary
This indicator spots moments when the current chart's close price crosses a higher timeframe close, marking potential breakouts only when the current bar shows directional strength. It anchors a volume-weighted average price line from the breakout point to track trend health, updating labels to show if the move continues or reverses into a trap. Extensions add a dotted line linking the breakout level to the current close with percent change display, plus a stop-loss marker at the VWAP end. Signals gain robustness from higher timeframe confirmation and anti-repainting options, reducing noise in live bars compared to simple crossover tools.
Motivation: Why this design?
Traders often face false breakouts from intrabar wiggles on lower timeframes, especially without higher timeframe alignment, leading to whipsaws in volatile sessions. This design uses higher timeframe close as a stable reference for crossover detection, combined with anchored volume weighting to gauge sustained momentum. It addresses these by enforcing bar confirmation and directional filters, providing clearer entry validation and risk points without overcomplicating the chart.
What’s different vs. standard approaches?
Reference baseline
Standard crossover indicators like moving average crosses operate solely on the chart timeframe, ignoring higher timeframe context and lacking volume anchoring.
Architecture differences
- Higher timeframe data pulls via security calls with optional repainting control for stability.
- Anchored VWAP resets at each signal, accumulating from the breakout bar only.
- Label dynamics update in real-time for continuation checks, with extensions for visual delta and stop computation.
- Event-driven line finalization prunes old elements after a set bar extension.
Practical effect
Charts show persistent lines and labels that extend live but finalize cleanly on new events, avoiding clutter. This matters for spotting trap reversals early via label color shifts, and extensions provide quick risk visuals without manual calculations, improving decision speed in trend trades.
How it works (technical)
The indicator first determines a higher timeframe based on user selection, pulling its close price securely. It checks for crossovers or crossunders of the current close against this higher close, but only triggers on confirmed bars with matching directional opens and closes. On a valid event, a horizontal line and label mark the higher close level, while a dashed VWAP line starts accumulating typical price times volume from that bar onward. During the active phase, the breakout line extends to the current bar, the label repositions and updates text based on whether the current close holds above or below the level for bulls or bears. A background tint warns if the close deviates adversely from the current VWAP. Extensions draw a vertical dotted line at the last bar between the breakout level and close, placing a midpoint label with percent difference; separately, a label at the VWAP end shows a computed stop price. Persistent variables track the active state and accumulators, resetting on new events after briefly extending old elements. Repaint risk from security calls is mitigated by confirmed bar gating or user opt-in.
Parameter Guide
Plateau Length (reserved for future, currently unused): Sets a length for potential plateau detection in extensions; default 3, minimum 1. Higher values would increase stability but are not active yet—leave at default to avoid tuning.
Line Width: Controls thickness of breakout, VWAP, and extension lines; default 2, range 1 to 5. Thicker lines improve visibility on busy charts but may obscure price action—use 1 for clean views, 3 or more for emphasis.
+Bars after next HTF event (finalize old, then delete): Extends old lines and labels by this many bars before deletion on new signals; default 20, minimum 0. Shorter extensions keep charts tidy but risk cutting visuals prematurely; longer aids review but builds clutter over time.
Evaluate label only on HTF close (prevents gray traps intrabar): When true, label updates wait for higher timeframe confirmation; default true. Enabling reduces intrabar flips for stabler signals, though it may delay feedback—disable for faster live trading at repaint cost.
Allow Repainting: Permits real-time security data without confirmation offset; default false. False ensures historical accuracy but lags live bars; true speeds updates but can repaint on HTF closes.
Timeframe Type: Chooses HTF method—Auto Timeframe (dynamic steps up), Multiplier (chart multiple), or Manual (fixed string); default Auto Timeframe. Auto adapts to chart scale for convenience; Multiplier suits custom scaling like 5 times current; Manual for precise like 1D on any chart.
Multiplier for Alternate Resolution: Scales chart timeframe when Multiplier type selected; default 5, minimum 1. Values near 1 mimic current resolution for subtle shifts; higher like 10 jumps to broader context, increasing signal rarity.
Manual Resolution: Direct timeframe string like 60 for 1H when Manual type; default 60. Match to trading horizon—shorter for swing, longer for positional—to balance frequency and reliability.
Show Extension 1: Toggles dotted line and delta percent label between breakout level and current close; default true. Disable to simplify for basic use, enable for precise momentum tracking.
Dotted Line Width: Thickness for Extension 1 line; default 2, range 1 to 5. Align with main Line Width for consistency.
Text Size: Size for delta percent label; options tiny, small, normal, large; default normal. Smaller reduces overlap on dense charts; larger aids glance reads.
Decimals for Δ%: Precision in percent change display; default 2, range 0 to 6. Fewer decimals speed reading; more suit low-volatility assets.
Positive Δ Color: Hue for upward percent changes; default lime. Choose contrasting for visibility.
Negative Δ Color: Hue for downward percent changes; default red. Pair with positive for quick polarity scan.
Dotted Line Color: Color for Extension 1 line; default gray. Neutral tones blend well; brighter for emphasis.
Background Transparency (0..100): Opacity for delta label background; default 90. Higher values fade for subtlety; lower solidifies for readability.
Show Extension 2: Toggles stop-loss label at VWAP end; default true. Turn off for entry focus only.
Stop Method: Percent from VWAP end or fixed ticks; options Percent, Ticks; default Percent. Percent scales with price levels; Ticks suits tick-based instruments.
Stop %: Distance as fraction of VWAP for Percent method; default 1.0, step 0.05, minimum 0.0. Tighter like 0.5 reduces risk but increases stops; wider like 2.0 allows breathing room.
Stop Ticks: Tick count offset for Ticks method; default 20, minimum 0. Adjust per asset volatility—fewer for tight control.
Price Decimals: Rounding for stop price text; default 4, range 0 to 10. Match syminfo.precision for clean display.
Text Size: Size for stop label; options tiny, small, normal, large; default normal. Scale to chart zoom.
Text Color: Foreground for stop text; default white. Ensure contrast with background.
Inherit VWAP Color (BG tint): Bases stop label background on VWAP hue; default true. True maintains theme; false allows custom black base.
BG Transparency (0..100): Opacity for stop label background; default 0. Zero for no tint; up to 100 for full fade.
Reading & Interpretation
Breakout lines appear green for bullish crosses or red for bearish, extending live until a new event finalizes them briefly then deletes. Labels start blank, updating to Bull Cont. or Bear Cont. in matching colors if holding the level, or gray Bull Trap/Bear Trap on reversal. VWAP dashes yellow for bulls, orange for bears, sloping with accumulated volume weight—deviations trigger faint red background warnings. Extension 1's dotted vertical shows at the last bar, with midpoint label green/red for positive/negative percent from breakout to close. Extension 2 places a left-aligned label at VWAP end with stop price and method note, tinted to VWAP for context.
Practical Workflows & Combinations
For trend following, enter long on green Bull Cont. labels above VWAP with higher highs confirmation, filtering via rising structure; short on red Bear Cont. below. Pair with volume surges or RSI above 50 for bulls to avoid traps. For exits, trail stops using the Extension 2 level, tightening on warnings or gray labels—aggressive on continuations, conservative post-trap. In multi-timeframe setups, use default Auto on 15m charts for 1H signals, scaling multiplier to 4 for daily context on hourly; test on forex/stocks where volume is reliable, avoiding low-liquidity assets.
Behavior, Constraints & Performance
Signals confirm on bar close with HTF gating when strict mode active, but live bars may update if repainting enabled—opt false for backtest fidelity, true for intraday speed. Security calls risk minor repaints on HTF closes, mitigated by confirmation offsets. Resources cap at 1000 bars back, 50 lines/labels total, with event prunes to stay under budgets—no loops, minimal arrays. Limits include VWAP lag in low-volume periods and dependency on accurate HTF data; gaps or holidays may skew anchors.
Sensible Defaults & Quick Tuning
Defaults suit 5m-1H charts on liquid assets: Auto HTF, no repaint, 1% stops. For choppy markets with excess signals, enable strict eval and bump multiplier to 10 for rarer triggers. If sluggish in trends, shorten extend bars to 10 and allow repainting for quicker visuals. On high-vol like crypto, widen stop % to 2.0 and use Ticks method; for stables like indices, tighten to 0.5% and keep Percent.
What this indicator is—and isn’t
This is a signal visualization layer for breakout confirmation and basic risk marking, best as a filter in discretionary setups. It isn’t a standalone system or predictive oracle—combine with price structure, news awareness, and sizing rules for real edges.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
JK_Traders_Reality_LibLibrary "JK_Traders_Reality_Lib"
This library contains common elements used in Traders Reality scripts
calcPvsra(pvsraVolume, pvsraHigh, pvsraLow, pvsraClose, pvsraOpen, redVectorColor, greenVectorColor, violetVectorColor, blueVectorColor, darkGreyCandleColor, lightGrayCandleColor)
calculate the pvsra candle color and return the color as well as an alert if a vector candle has apperared.
Situation "Climax"
Bars with volume >= 200% of the average volume of the 10 previous chart TFs, or bars
where the product of candle spread x candle volume is >= the highest for the 10 previous
chart time TFs.
Default Colors: Bull bars are green and bear bars are red.
Situation "Volume Rising Above Average"
Bars with volume >= 150% of the average volume of the 10 previous chart TFs.
Default Colors: Bull bars are blue and bear are violet.
Parameters:
pvsraVolume (float) : the instrument volume series (obtained from request.sequrity)
pvsraHigh (float) : the instrument high series (obtained from request.sequrity)
pvsraLow (float) : the instrument low series (obtained from request.sequrity)
pvsraClose (float) : the instrument close series (obtained from request.sequrity)
pvsraOpen (float) : the instrument open series (obtained from request.sequrity)
redVectorColor (simple color) : red vector candle color
greenVectorColor (simple color) : green vector candle color
violetVectorColor (simple color) : violet/pink vector candle color
blueVectorColor (simple color) : blue vector candle color
darkGreyCandleColor (simple color) : regular volume candle down candle color - not a vector
lightGrayCandleColor (simple color) : regular volume candle up candle color - not a vector
@return
adr(length, barsBack)
Parameters:
length (simple int) : how many elements of the series to calculate on
barsBack (simple int) : starting possition for the length calculation - current bar or some other value eg last bar
@return adr the adr for the specified lenght
adrHigh(adr, fromDo)
Calculate the ADR high given an ADR
Parameters:
adr (float) : the adr
fromDo (simple bool) : boolean flag, if false calculate traditional adr from high low of today, if true calcualte from exchange midnight
@return adrHigh the position of the adr high in price
adrLow(adr, fromDo)
Parameters:
adr (float) : the adr
fromDo (simple bool) : boolean flag, if false calculate traditional adr from high low of today, if true calcualte from exchange midnight
@return adrLow the position of the adr low in price
splitSessionString(sessXTime)
given a session in the format 0000-0100:23456 split out the hours and minutes
Parameters:
sessXTime (simple string) : the session time string usually in the format 0000-0100:23456
@return
calcSessionStartEnd(sessXTime, gmt)
calculate the start and end timestamps of the session
Parameters:
sessXTime (simple string) : the session time string usually in the format 0000-0100:23456
gmt (simple string) : the gmt offset string usually in the format GMT+1 or GMT+2 etc
@return
drawOpenRange(sessXTime, sessXcol, showOrX, gmt)
draw open range for a session
Parameters:
sessXTime (simple string) : session string in the format 0000-0100:23456
sessXcol (simple color) : the color to be used for the opening range box shading
showOrX (simple bool) : boolean flag to toggle displaying the opening range
gmt (simple string) : the gmt offset string usually in the format GMT+1 or GMT+2 etc
@return void
drawSessionHiLo(sessXTime, showRectangleX, showLabelX, sessXcolLabel, sessXLabel, gmt, sessionLineStyle)
Parameters:
sessXTime (simple string) : session string in the format 0000-0100:23456
showRectangleX (simple bool)
showLabelX (simple bool)
sessXcolLabel (simple color) : the color to be used for the hi/low lines and label
sessXLabel (simple string) : the session label text
gmt (simple string) : the gmt offset string usually in the format GMT+1 or GMT+2 etc
sessionLineStyle (simple string) : the line stile for the session high low lines
@return void
calcDst()
calculate market session dst on/off flags
@return indicating if DST is on or off for a particular region
timestampPreviousDayOfWeek(previousDayOfWeek, hourOfDay, gmtOffset, oneWeekMillis)
Timestamp any of the 6 previous days in the week (such as last Wednesday at 21 hours GMT)
Parameters:
previousDayOfWeek (simple string) : Monday or Satruday
hourOfDay (simple int) : the hour of the day when psy calc is to start
gmtOffset (simple string) : the gmt offset string usually in the format GMT+1 or GMT+2 etc
oneWeekMillis (simple int) : the amount if time for a week in milliseconds
@return the timestamp of the psy level calculation start time
getdayOpen()
get the daily open - basically exchange midnight
@return the daily open value which is float price
newBar(res)
new_bar: check if we're on a new bar within the session in a given resolution
Parameters:
res (simple string) : the desired resolution
@return true/false is a new bar for the session has started
toPips(val)
to_pips Convert value to pips
Parameters:
val (float) : the value to convert to pips
@return the value in pips
rLabel(ry, rtext, rstyle, rcolor, valid, labelXOffset)
a function that draws a right aligned lable for a series during the current bar
Parameters:
ry (float) : series float the y coordinate of the lable
rtext (simple string) : the text of the label
rstyle (simple string) : the style for the lable
rcolor (simple color) : the color for the label
valid (simple bool) : a boolean flag that allows for turning on or off a lable
labelXOffset (int) : how much to offset the label from the current position
rLabelOffset(ry, rtext, rstyle, rcolor, valid, labelOffset)
a function that draws a right aligned lable for a series during the current bar
Parameters:
ry (float) : series float the y coordinate of the lable
rtext (string) : the text of the label
rstyle (simple string) : the style for the lable
rcolor (simple color) : the color for the label
valid (simple bool) : a boolean flag that allows for turning on or off a lable
labelOffset (int)
rLabelLastBar(ry, rtext, rstyle, rcolor, valid, labelXOffset)
a function that draws a right aligned lable for a series only on the last bar
Parameters:
ry (float) : series float the y coordinate of the lable
rtext (string) : the text of the label
rstyle (simple string) : the style for the lable
rcolor (simple color) : the color for the label
valid (simple bool) : a boolean flag that allows for turning on or off a lable
labelXOffset (int) : how much to offset the label from the current position
drawLine(xSeries, res, tag, xColor, xStyle, xWidth, xExtend, isLabelValid, xLabelOffset, validTimeFrame)
a function that draws a line and a label for a series
Parameters:
xSeries (float) : series float the y coordinate of the line/label
res (simple string) : the desired resolution controlling when a new line will start
tag (simple string) : the text for the lable
xColor (simple color) : the color for the label
xStyle (simple string) : the style for the line
xWidth (simple int) : the width of the line
xExtend (simple string) : extend the line
isLabelValid (simple bool) : a boolean flag that allows for turning on or off a label
xLabelOffset (int)
validTimeFrame (simple bool) : a boolean flag that allows for turning on or off a line drawn
drawLineDO(xSeries, res, tag, xColor, xStyle, xWidth, xExtend, isLabelValid, xLabelOffset, validTimeFrame)
a function that draws a line and a label for the daily open series
Parameters:
xSeries (float) : series float the y coordinate of the line/label
res (simple string) : the desired resolution controlling when a new line will start
tag (simple string) : the text for the lable
xColor (simple color) : the color for the label
xStyle (simple string) : the style for the line
xWidth (simple int) : the width of the line
xExtend (simple string) : extend the line
isLabelValid (simple bool) : a boolean flag that allows for turning on or off a label
xLabelOffset (int)
validTimeFrame (simple bool) : a boolean flag that allows for turning on or off a line drawn
drawPivot(pivotLevel, res, tag, pivotColor, pivotLabelColor, pivotStyle, pivotWidth, pivotExtend, isLabelValid, validTimeFrame, levelStart, pivotLabelXOffset)
draw a pivot line - the line starts one day into the past
Parameters:
pivotLevel (float) : series of the pivot point
res (simple string) : the desired resolution
tag (simple string) : the text to appear
pivotColor (simple color) : the color of the line
pivotLabelColor (simple color) : the color of the label
pivotStyle (simple string) : the line style
pivotWidth (simple int) : the line width
pivotExtend (simple string) : extend the line
isLabelValid (simple bool) : boolean param allows to turn label on and off
validTimeFrame (simple bool) : only draw the line and label at a valid timeframe
levelStart (int) : basically when to start drawing the levels
pivotLabelXOffset (int) : how much to offset the label from its current postion
@return the pivot line series
getPvsraFlagByColor(pvsraColor, redVectorColor, greenVectorColor, violetVectorColor, blueVectorColor, lightGrayCandleColor)
convert the pvsra color to an internal code
Parameters:
pvsraColor (color) : the calculated pvsra color
redVectorColor (simple color) : the user defined red vector color
greenVectorColor (simple color) : the user defined green vector color
violetVectorColor (simple color) : the user defined violet vector color
blueVectorColor (simple color) : the user defined blue vector color
lightGrayCandleColor (simple color) : the user defined regular up candle color
@return pvsra internal code
updateZones(pvsra, direction, boxArr, maxlevels, pvsraHigh, pvsraLow, pvsraOpen, pvsraClose, transperancy, zoneupdatetype, zonecolor, zonetype, borderwidth, coloroverride, redVectorColor, greenVectorColor, violetVectorColor, blueVectorColor)
a function that draws the unrecovered vector candle zones
Parameters:
pvsra (int) : internal code
direction (simple int) : above or below the current pa
boxArr (array) : the array containing the boxes that need to be updated
maxlevels (simple int) : the maximum number of boxes to draw
pvsraHigh (float) : the pvsra high value series
pvsraLow (float) : the pvsra low value series
pvsraOpen (float) : the pvsra open value series
pvsraClose (float) : the pvsra close value series
transperancy (simple int) : the transparencfy of the vecor candle zones
zoneupdatetype (simple string) : the zone update type
zonecolor (simple color) : the zone color if overriden
zonetype (simple string) : the zone type
borderwidth (simple int) : the width of the border
coloroverride (simple bool) : if the color overriden
redVectorColor (simple color) : the user defined red vector color
greenVectorColor (simple color) : the user defined green vector color
violetVectorColor (simple color) : the user defined violet vector color
blueVectorColor (simple color) : the user defined blue vector color
cleanarr(arr)
clean an array from na values
Parameters:
arr (array) : the array to clean
@return if the array was cleaned
calcPsyLevels(oneWeekMillis, showPsylevels, psyType, sydDST)
calculate the psy levels
4 hour res based on how mt4 does it
mt4 code
int Li_4 = iBarShift(NULL, PERIOD_H4, iTime(NULL, PERIOD_W1, Li_0)) - 2 - Offset;
ObjectCreate("PsychHi", OBJ_TREND, 0, Time , iHigh(NULL, PERIOD_H4, iHighest(NULL, PERIOD_H4, MODE_HIGH, 2, Li_4)), iTime(NULL, PERIOD_W1, 0), iHigh(NULL, PERIOD_H4,
iHighest(NULL, PERIOD_H4, MODE_HIGH, 2, Li_4)));
so basically because the session is 8 hours and we are looking at a 4 hour resolution we only need to take the highest high an lowest low of 2 bars
we use the gmt offset to adjust the 0000-0800 session to Sydney open which is at 2100 during dst and at 2200 otherwize. (dst - spring foward, fall back)
keep in mind sydney is in the souther hemisphere so dst is oposite of when london and new york go into dst
Parameters:
oneWeekMillis (simple int) : a constant value
showPsylevels (simple bool) : should psy levels be calculated
psyType (simple string) : the type of Psylevels - crypto or forex
sydDST (bool) : is Sydney in DST
@return
adrHiLo(length, barsBack, fromDO)
Parameters:
length (simple int) : how many elements of the series to calculate on
barsBack (simple int) : starting possition for the length calculation - current bar or some other value eg last bar
fromDO (simple bool) : boolean flag, if false calculate traditional adr from high low of today, if true calcualte from exchange midnight
@return adr, adrLow and adrHigh - the adr, the position of the adr High and adr Low with respect to price
drawSessionHiloLite(sessXTime, showRectangleX, showLabelX, sessXcolLabel, sessXLabel, gmt, sessionLineStyle, sessXcol)
Parameters:
sessXTime (simple string) : session string in the format 0000-0100:23456
showRectangleX (simple bool)
showLabelX (simple bool)
sessXcolLabel (simple color) : the color to be used for the hi/low lines and label
sessXLabel (simple string) : the session label text
gmt (simple string) : the gmt offset string usually in the format GMT+1 or GMT+2 etc
sessionLineStyle (simple string) : the line stile for the session high low lines
sessXcol (simple color) : - the color for the box color that will color the session
@return void
msToHmsString(ms)
converts milliseconds into an hh:mm string. For example, 61000 ms to '0:01:01'
Parameters:
ms (int) : - the milliseconds to convert to hh:mm
@return string - the converted hh:mm string
countdownString(openToday, closeToday, showMarketsWeekends, oneDay)
that calculates how much time is left until the next session taking the session start and end times into account. Note this function does not work on intraday sessions.
Parameters:
openToday (int) : - timestamps of when the session opens in general - note its a series because the timestamp was created using the dst flag which is a series itself thus producing a timestamp series
closeToday (int) : - timestamp of when the session closes in general - note its a series because the timestamp was created using the dst flag which is a series itself thus producing a timestamp series
@return a countdown of when next the session opens or 'Open' if the session is open now
showMarketsWeekends (simple bool)
oneDay (simple int)
countdownStringSyd(sydOpenToday, sydCloseToday, showMarketsWeekends, oneDay)
that calculates how much time is left until the next session taking the session start and end times into account. special case of intraday sessions like sydney
Parameters:
sydOpenToday (int)
sydCloseToday (int)
showMarketsWeekends (simple bool)
oneDay (simple int)
Multi-Symbol and Multi-Timeframe Supertrend Screener [Pineify]Multi-Symbol and Multi-Timeframe Supertrend Screener
Advanced Supertrend screener for TradingView that monitors 6 symbols across 4 timeframes simultaneously. Features customizable ATR periods, visual alerts, and color-coded trend direction displays for efficient market scanning.
Key Features
The Supertrend Screener is a comprehensive multi-symbol market monitoring tool that displays Supertrend indicator signals across multiple assets and timeframes in a single, organized table view. This screener eliminates the need to manually check individual charts by providing real-time trend analysis for up to 6 symbols across 4 different timeframes simultaneously.
How It Works
The screener utilizes the proven Supertrend indicator methodology, which combines Average True Range (ATR) and price action to determine trend direction. The core calculation involves:
Computing the ATR using a customizable period (default: 10)
Applying a multiplication factor (default: 3.0) to create dynamic support/resistance levels
Determining trend direction based on price position relative to these levels
Displaying results through color-coded cells with customizable text labels
The indicator employs the request.security() function to fetch data from multiple symbols and timeframes, ensuring accurate cross-market analysis without chart switching.
Trading Ideas and Insights
This screener excels in several trading scenarios:
Market Overview: Quickly assess overall market sentiment across major cryptocurrencies or forex pairs
Trend Confirmation: Verify trend alignment across multiple timeframes before entering positions
Divergence Spotting: Identify when shorter timeframes diverge from longer-term trends
Opportunity Scanning: Locate assets showing consistent trend direction across all monitored timeframes
Risk Management: Monitor multiple positions simultaneously to spot potential trend reversals
The screener is particularly effective for swing traders and position traders who need to monitor multiple assets without constantly switching between charts.
How Multiple Indicators Work Together
While this screener focuses specifically on the Supertrend indicator, it incorporates several complementary technical analysis components:
ATR Foundation: Uses Average True Range to adapt to market volatility, making the indicator responsive to current market conditions
Multi-Timeframe Analysis: Combines signals from 1-minute, 5-minute, 10-minute, and 30-minute timeframes to provide comprehensive trend perspective
Price Action Integration: The Supertrend calculation inherently incorporates price action by using high, low, and close values
Volatility Adjustment: The ATR-based calculation ensures the indicator adapts to different volatility regimes across various assets
The synergy between these elements creates a robust screening system that accounts for both momentum and volatility , providing more reliable trend identification than single-timeframe analysis.
Unique Aspects
Several features distinguish this screener from standard Supertrend implementations:
Table-Based Display: Presents data in an organized, space-efficient format rather than overlay plots
Customizable Visual Elements: Full control over text labels, colors, and background styling
Multi-Asset Capability: Monitors 6 different symbols simultaneously without performance degradation
Efficient Resource Usage: Optimized code structure minimizes calculation overhead
Professional Presentation: Clean, institutional-grade visual design suitable for trading desks
How to Use
Symbol Configuration: Input your desired symbols in the Symbol section (default includes major crypto pairs)
Timeframe Setup: Configure four timeframes for analysis (default: 1m, 5m, 10m, 30m)
Supertrend Parameters: Adjust the Factor (sensitivity) and ATR Period according to your trading style
Visual Customization: Set custom text labels and colors for up/down trends
Market Analysis: Monitor the table for consistent signals across timeframes and symbols
Interpretation Guide:
- Green cells indicate uptrend (price above Supertrend line)
- Red cells indicate downtrend (price below Supertrend line)
- Look for alignment across multiple timeframes for stronger signal confidence
Customization
The screener offers extensive customization options:
Factor Setting: Adjust sensitivity (higher values = less sensitive, fewer signals)
ATR Period: Modify lookback period for volatility calculation
Text Labels: Customize up/down trend display text
Color Scheme: Full RGB color control for text and background elements
Symbol Selection: Monitor any TradingView-supported symbols
Timeframe Array: Choose any four timeframes for comprehensive analysis
Conclusion
The Supertrend Screener transforms traditional single-chart analysis into an efficient, multi-dimensional market monitoring system. By combining the reliability of the Supertrend indicator with multi-timeframe and multi-symbol capabilities, this tool empowers traders to make more informed decisions with greater market context.
Whether you're managing multiple positions, scanning for new opportunities, or confirming trend direction before entries, this screener provides the comprehensive overview needed for professional trading operations. The clean interface and customizable features make it suitable for traders of all experience levels while maintaining the analytical depth required for serious market analysis.
Perfect for day traders, swing traders, and anyone requiring efficient multi-market trend monitoring in a single view.
Tchwella Stocks Custom WatermarkThis Pine Script v5 indicator adds a customizable watermark to TradingView charts, displaying key stock information while allowing for flexible positioning and formatting.
📌 Features & Functionality:
✅ Custom Positioning:
• Fixed to the top-left corner.
• Adjustable spacing ensures the text is properly aligned.
✅ Displayed Information (Configurable):
• Company Name & Market Cap (Optional: Shows dynamically calculated market cap)
• Stock Ticker & Timeframe
• Industry & Sector
✅ Customization Options:
• Font Size: Huge, Large, Normal, Small
• Text Color & Transparency: Adjustable
• Proper Left Alignment for a clean, structured display
• Vertical Offset Tweaks to move text down for better visibility
✅ Optimized Table Layout:
• Uses table.new() for persistent placement.
• Added an empty row to fine-tune positioning, ensuring the watermark doesn’t overlap key chart areas.
🔧 Use Case:
Designed for traders who want a clear, customizable stock watermark to enhance their charting experience without obstructing price action.
Feb 1
Release Notes
Updated version: now you can decide your location for the watermark
Micha Stocks Custom Watermark (MSWM) – TradingView Script
This Pine Script v5 indicator adds a customizable watermark to TradingView charts, displaying key stock information while allowing for flexible positioning and formatting.
📌 Features & Functionality:
✅ Custom Positioning:
• Fixed to the top-left corner.
• Adjustable spacing ensures the text is properly aligned.
✅ Displayed Information (Configurable):
• Company Name & Market Cap (Optional: Shows dynamically calculated market cap)
• Stock Ticker & Timeframe
• Industry & Sector
✅ Customization Options:
• Font Size: Huge, Large, Normal, Small
• Text Color & Transparency: Adjustable
• Proper Left Alignment for a clean, structured display
• Vertical Offset Tweaks to move text down for better visibility
✅ Optimized Table Layout:
• Uses table.new() for persistent placement.
• Added an empty row to fine-tune positioning, ensuring the watermark doesn’t overlap key chart areas.
🔧 Use Case:
Designed for traders who want a clear, customizable stock watermark to enhance their charting experience without obstructing price action.
Feb 7
Release Notes
Micha Stocks Custom Watermark – Updated Version 🚀
This updated Micha Stocks Custom Watermark script enhances your TradingView experience by adding an ATR-based volatility signal alongside the existing customizable stock watermark.
🆕 New Features & Improvements:
✅ ATR (14-Day) with Dynamic Volatility Indicator
• Displays the ATR value and its percentage relative to price.
• Includes a color-coded volatility signal:
• 🔴 High Volatility (Above user-defined Red Threshold)
• 🟡 Moderate Volatility (Between Red & Yellow Thresholds)
• 🟢 Low Volatility (Below user-defined Yellow Threshold)
✅ Fully Customizable ATR Thresholds
• Users can set their own ATR % levels for Red, Yellow, and Green signals.
✅ Improved Watermark Customization
• Users can still adjust the position, size, and color of the watermark.
• Includes Company Name, Ticker, Market Cap, Industry, and Sector.
• ATR can be turned on/off in settings for flexibility.
🔧 How to Use:
1️⃣ Go to Indicator Settings → Enable or Disable ATR Display
2️⃣ Adjust ATR % Thresholds to fit your volatility preference
3️⃣ Customize Text Position, Color, and Size to match your chart setup
This update makes it easier to quickly assess market volatility while keeping a clean and professional chart layout.
💡 Why Use This Indicator?
• Effortlessly track key stock info without cluttering your chart.
• Quickly identify volatile conditions using ATR percentage signals.
• Adjust settings on the fly to match your trading strategy.
📢 Update Now & Enjoy a Smarter Charting Experience!
Percentage Change per 5 Candles
🔎 What this indicator does
This indicator calculates and displays the percentage change of each candlestick directly on the chart.
• If a candle closed higher than it opened (bullish candle), it shows a positive % change (green).
• If a candle closed lower than it opened (bearish candle), it shows a negative % change (red).
• Small moves below your chosen threshold (e.g., 0.1%) are ignored to avoid clutter.
• The labels are placed above, below, or in the center of the candle (you choose).
So essentially, every candle “tells you in numbers” exactly how much it changed relative to its opening price.
________________________________________
⚙️ How it operates (the logic inside)
1. Calculate the change
o Formula:
\text{% Change} = \frac{(\text{Close} - \text{Open})}{\text{Open}} \times 100
o Example: If a candle opens at 100 and closes at 105, that’s a +5% change.
2. Round it nicely
o You can control decimals (e.g., show 2 decimals → +5.23%).
3. Filter out noise
o If a candle barely moved (say 0.02%), the label won’t appear unless you reduce the threshold.
4. Style the labels
o Bullish = green text, slightly transparent green background.
o Bearish = red text, slightly transparent red background.
o Neutral (0%) = gray.
5. Place the labels
o Options: above the candle, below the candle, or centered.
o Small vertical offset is applied so labels don’t overlap the candle itself.
________________________________________
📊 How this helps traders
This indicator turns visual candles into quantifiable numbers at a glance. Instead of guessing whether a move was “big” or “small,” you see it clearly.
Key Benefits:
1. Quick volatility analysis
o You can instantly see if candles are making big % swings or just small moves.
o This is especially useful on higher timeframes (daily/weekly) where moves can be large.
2. Pattern confirmation
o For example, you might spot a strong bullish engulfing candle — the % change label helps confirm whether it was truly significant (e.g., +4.5%) or just modest (+0.7%).
3. Noise filtering
o By setting a minimum % threshold, you only see labels when moves are meaningful (say > 0.5%). This keeps focus on important candles.
4. Backtesting & comparison
o You can compare moves across time:
“How strong was this breakout candle compared to the last one?”
“Are today’s bearish candles weaker or stronger than yesterday’s bullish candles?”
5. Better decision-making
o If you’re trading breakouts, reversals, or trend-following, knowing the % size of each candle helps confirm if the move has enough momentum.
________________________________________
✅ In short:
This indicator quantifies price action. Instead of just seeing “green” or “red” candles, you now know exactly how much the price changed in percentage terms, directly on the chart, in real time. It helps you distinguish between strong and weak moves and makes your analysis more precise.
________________________________________
Information Flow Analysis[b🔄 Information Flow Analysis: Systematic Multi-Component Market Analysis Framework
SYSTEM OVERVIEW AND ANALYTICAL FOUNDATION
The Information Flow Kernel - Hybrid combines established technical analysis methods into a unified analytical framework. This indicator systematically processes three distinct data streams - directional price momentum, volume-weighted pressure dynamics, and intrabar development patterns - integrating them through weighted mathematical fusion to produce statistically normalized market flow measurements.
COMPREHENSIVE MATHEMATICAL FRAMEWORK
Component 1: Directional Flow Analysis
The directional component analyzes price momentum through three mathematical vectors:
Price Vector: p = C - O (intrabar directional bias)
Momentum Vector: m = C_t - C_{t-1} (bar-to-bar velocity)
Acceleration Vector: a = m_t - m_{t-1} (momentum rate of change)
Directional Signal Integration:
S_d = \text{sgn}(p) \cdot |p| + \text{sgn}(m) \cdot |m| \cdot 0.6 + \text{sgn}(a) \cdot |a| \cdot 0.3
The signum function preserves directional information while absolute values provide magnitude weighting. Coefficients create a hierarchy emphasizing intrabar movement (100%), momentum (60%), and acceleration (30%).
Final Directional Output: K_1 = S_d \cdot w_d where w_d is the directional weight parameter.
Component 2: Volume-Weighted Pressure Analysis
Volume Normalization: r_v = \frac{V_t}{\overline{V_n}} where \overline{V_n} represents the n-period simple moving average of volume.
Base Pressure Calculation: P_{base} = \Delta C \cdot r_v \cdot w_v where \Delta C = C_t - C_{t-1} and w_v is the velocity weighting factor.
Volume Confirmation Function:
f(r_v) = \begin{cases}
1.4 & \text{if } r_v > 1.2 \
0.7 & \text{if } r_v < 0.8 \
1.0 & \text{otherwise}
\end{cases}
Final Pressure Output: K_2 = P_{base} \cdot f(r_v)
Component 3: Intrabar Development Analysis
Bar Position Calculation: B = \frac{C - L}{H - L} when H - L > 0 , else B = 0.5
Development Signal Function:
S_{dev} = \begin{cases}
2(B - 0.5) & \text{if } B > 0.6 \text{ or } B < 0.4 \
0 & \text{if } 0.4 \leq B \leq 0.6
\end{cases}
Final Development Output: K_3 = S_{dev} \cdot 0.4
Master Integration and Statistical Normalization
Weighted Component Fusion: F_{raw} = 0.5K_1 + 0.35K_2 + 0.15K_3
Sensitivity Scaling: F_{master} = F_{raw} \cdot s where s is the sensitivity parameter.
Statistical Normalization Process:
Rolling Mean: \mu_F = \frac{1}{n}\sum_{i=0}^{n-1} F_{master,t-i}
Rolling Standard Deviation: \sigma_F = \sqrt{\frac{1}{n}\sum_{i=0}^{n-1} (F_{master,t-i} - \mu_F)^2}
Z-Score Computation: z = \frac{F_{master} - \mu_F}{\sigma_F}
Boundary Enforcement: z_{bounded} = \max(-3, \min(3, z))
Final Normalization: N = \frac{z_{bounded}}{3}
Flow Metrics Calculation:
Intensity: I = |z|
Strength Percentage: S = \min(100, I \times 33.33)
Extreme Detection: \text{Extreme} = I > 2.0
DETAILED INPUT PARAMETER SPECIFICATIONS
Sensitivity (0.1 - 3.0, Default: 1.0)
Global amplification multiplier applied to the master flow calculation. Functions as: F_{master} = F_{raw} \cdot s
Low Settings (0.1 - 0.5): Enhanced precision for subtle market movements. Optimal for low-volatility environments, scalping strategies, and early detection of minor directional shifts. Increases responsiveness but may amplify noise.
Moderate Settings (0.6 - 1.2): Balanced sensitivity for standard market conditions across multiple timeframes.
High Settings (1.3 - 3.0): Reduced sensitivity to minor fluctuations while emphasizing significant flow changes. Ideal for high-volatility assets, trending markets, and longer timeframes.
Directional Weighting (0.1 - 1.0, Default: 0.7)
Controls emphasis on price direction versus volume and positioning factors. Applied as: K_{1,weighted} = K_1 \times w_d
Lower Values (0.1 - 0.4): Reduces directional bias, favoring volume-confirmed moves. Optimal for ranging markets where momentum may generate false signals.
Higher Values (0.7 - 1.0): Amplifies directional signals from price vectors and acceleration. Ideal for trending conditions where directional momentum drives price action.
Velocity Weighting (0.1 - 1.0, Default: 0.6)
Scales volume-confirmed price change impact. Applied in: P_{base} = \Delta C \times r_v \times w_v
Lower Values (0.1 - 0.4): Dampens volume spike influence, focusing on sustained pressure patterns. Suitable for illiquid assets or news-sensitive markets.
Higher Values (0.8 - 1.0): Amplifies high-volume directional moves. Optimal for liquid markets where volume provides reliable confirmation.
Volume Length (3 - 20, Default: 5)
Defines lookback period for volume averaging: \overline{V_n} = \frac{1}{n}\sum_{i=0}^{n-1} V_{t-i}
Short Periods (3 - 7): Responsive to recent volume shifts, excellent for intraday analysis.
Long Periods (13 - 20): Smoother averaging, better for swing trading and higher timeframes.
DASHBOARD SYSTEM
Primary Flow Gauge
Bilaterally symmetric visualization displaying normalized flow direction and intensity:
Segment Calculation: n_{active} = \lfloor |N| \times 15 \rfloor
Left Fill: Bearish flow when N < -0.01
Right Fill: Bullish flow when N > 0.01
Neutral Display: Empty segments when |N| \leq 0.01
Visual Style Options:
Matrix: Digital blocks (▰/▱) for quantitative precision
Wave: Progressive patterns (▁▂▃▄▅▆▇█) showing flow buildup
Dots: LED-style indicators (●/○) with intensity scaling
Blocks: Modern squares (■/□) for professional appearance
Pulse: Progressive markers (⎯ to █) emphasizing intensity buildup
Flow Intensity Visualization
30-segment horizontal bar graph with mathematical fill logic:
Segment Fill: For i \in : filled if \frac{i}{29} \leq \frac{S}{100}
Color Coding System:
Orange (S > 66%): High intensity, strong directional conviction
Cyan (33% ≤ S ≤ 66%): Moderate intensity, developing bias
White (S < 33%): Low intensity, neutral conditions
Extreme Detection Indicators
Circular markers flanking the gauge with state-dependent illumination:
Activation: I > 2.0 \land |N| > 0.3
Bright Yellow: Active extreme conditions
Dim Yellow: Normal conditions
Metrics Display
Balance Value: Raw master flow output ( F_{master} ) showing absolute directional pressure
Z-Score Value: Statistical deviation ( z_{bounded} ) indicating historical context
Dynamic Narrative System
Context-sensitive interpretation based on mathematical thresholds:
Extreme Flow: I > 2.0 \land |N| > 0.6
Moderate Flow: 0.3 < |N| \leq 0.6
High Volatility: S > 50 \land |N| \leq 0.3
Neutral State: S \leq 50 \land |N| \leq 0.3
ALERT SYSTEM SPECIFICATIONS
Mathematical Trigger Conditions:
Extreme Bullish: I > 2.0 \land N > 0.6
Extreme Bearish: I > 2.0 \land N < -0.6
High Intensity: S > 80
Bullish Shift: N_t > 0.3 \land N_{t-1} \leq 0.3
Bearish Shift: N_t < -0.3 \land N_{t-1} \geq -0.3
TECHNICAL IMPLEMENTATION AND PERFORMANCE
Computational Architecture
The system employs efficient calculation methods minimizing processing overhead:
Single-pass mathematical operations for all components
Conditional visual rendering (executed only on final bar)
Optimized array operations using direct calculations
Real-Time Processing
The indicator updates continuously during bar formation, providing immediate feedback on changing market conditions. Statistical normalization ensures consistent interpretation across varying market regimes.
Market Applicability
Optimal performance in liquid markets with consistent volume patterns. May require parameter adjustment for:
Low-volume or after-hours sessions
News-driven market conditions
Highly volatile cryptocurrency markets
Ranging versus trending market environments
PRACTICAL APPLICATION FRAMEWORK
Market State Classification
This indicator functions as a comprehensive market condition assessment tool providing:
Trend Analysis: High intensity readings ( S > 66% ) with sustained directional bias indicate strong trending conditions suitable for momentum strategies.
Reversal Detection: Extreme readings ( I > 2.0 ) at key technical levels may signal potential trend exhaustion or reversal points.
Range Identification: Low intensity with neutral flow ( S < 33%, |N| < 0.3 ) suggests ranging market conditions suitable for mean reversion strategies.
Volatility Assessment: High intensity without clear directional bias indicates elevated volatility with conflicting pressures.
Integration with Trading Systems
The normalized output range facilitates integration with automated trading systems and position sizing algorithms. The statistical basis provides consistent interpretation across different market conditions and asset classes.
LIMITATIONS AND CONSIDERATIONS
This indicator combines established technical analysis methods and processes historical data without predicting future price movements. The system performs optimally in liquid markets with consistent volume patterns and may produce false signals in thin trading conditions or during news-driven market events. This indicator is provided for educational and analytical purposes only and does not constitute financial advice. Users should combine this analysis with proper risk management, position sizing, and additional confirmation methods before making any trading decisions. Past performance does not guarantee future results.
Note: The term "kernel" in this context refers to modular calculation components rather than mathematical kernel functions in the formal computational sense.
As quantitative analyst Ralph Vince noted: "The essence of successful trading lies not in predicting market direction, but in the systematic processing of market information and the disciplined management of probability distributions."
— Dskyz, Trade with insight. Trade with anticipation.
Adaptive Rolling Quantile Bands [CHE] Adaptive Rolling Quantile Bands
Part 1 — Mathematics and Algorithmic Design
Purpose. The indicator estimates distribution‐aware price levels from a rolling window and turns them into dynamic “buy” and “sell” bands. It can work on raw price or on *residuals* around a baseline to better isolate deviations from trend. Optionally, the percentile parameter $q$ adapts to volatility via ATR so the bands widen in turbulent regimes and tighten in calm ones. A compact, latched state machine converts these statistical levels into high-quality discretionary signals.
Data pipeline.
1. Choose a source (default `close`; MTF optional via `request.security`).
2. Optionally compute a baseline (`SMA` or `EMA`) of length $L$.
3. Build the *working series*: raw price if residual mode is off; otherwise price minus baseline (if a baseline exists).
4. Maintain a FIFO buffer of the last $N$ values (window length). All quantiles are computed on this buffer.
5. Map the resulting levels back to price space if residual mode is on (i.e., add back the baseline).
6. Smooth levels with a short EMA for readability.
Rolling quantiles.
Given the buffer $X_{t-N+1..t}$ and a percentile $q\in $, the indicator sorts a copy of the buffer ascending and linearly interpolates between adjacent ranks to estimate:
* Buy band $\approx Q(q)$
* Sell band $\approx Q(1-q)$
* Median $Q(0.5)$, plus optional deciles $Q(0.10)$ and $Q(0.90)$
Quantiles are robust to outliers relative to means. The estimator uses only data up to the current bar’s value in the buffer; there is no look-ahead.
Residual transform (optional).
In residual mode, quantiles are computed on $X^{res}_t = \text{price}_t - \text{baseline}_t$. This centers the distribution and often yields more stationary tails. After computing $Q(\cdot)$ on residuals, levels are transformed back to price space by adding the baseline. If `Baseline = None`, residual mode simply falls back to raw price.
Volatility-adaptive percentile.
Let $\text{ATR}_{14}(t)$ be current ATR and $\overline{\text{ATR}}_{100}(t)$ its long SMA. Define a volatility ratio $r = \text{ATR}_{14}/\overline{\text{ATR}}_{100}$. The effective quantile is:
Smoothing.
Each level is optionally smoothed by an EMA of length $k$ for cleaner visuals. This smoothing does not change the underlying quantile logic; it only stabilizes plots and signals.
Latched state machines.
Two three-step processes convert levels into “latched” signals that only fire after confirmation and then reset:
* BUY latch:
(1) HLC3 crosses above the median →
(2) the median is rising →
(3) HLC3 prints above the upper (orange) band → BUY latched.
* SELL latch:
(1) HLC3 crosses below the median →
(2) the median is falling →
(3) HLC3 prints below the lower (teal) band → SELL latched.
Labels are drawn on the latch bar, with a FIFO cap to limit clutter. Alerts are available for both the simple band interactions and the latched events. Use “Once per bar close” to avoid intrabar churn.
MTF behavior and repainting.
MTF sourcing uses `lookahead_off`. Quantiles and baselines are computed from completed data only; however, any *intrabar* cross conditions naturally stabilize at close. As with all real-time indicators, values can update during a live bar; prefer bar-close alerts for reliability.
Complexity and parameters.
Each bar sorts a copy of the $N$-length window (practical $N$ values keep this inexpensive). Typical choices: $N=50$–$100$, $q_0=0.15$–$0.25$, $k=2$–$5$, baseline length $L=20$ (if used), adaptation strength $s=0.2$–$0.7$.
Part 2 — Practical Use for Discretionary/Active Traders
What the bands mean in practice.
The teal “buy” band marks the lower tail of the recent distribution; the orange “sell” band marks the upper tail. The median is your dynamic equilibrium. In residual mode, these tails are deviations around trend; in raw mode they are absolute price percentiles. When ATR adaptation is on, tails breathe with regime shifts.
Two core playbooks.
1. Mean-reversion around a stable median.
* Context: The median is flat or gently sloped; band width is relatively tight; instrument is ranging.
* Entry (long): Look for price to probe or close below the buy band and then reclaim it, especially after HLC3 recrosses the median and the median turns up.
* Stops: Place beyond the most recent swing low or $1.0–1.5\times$ ATR(14) below entry.
* Targets: First scale at the median; optional second scale near the opposite band. Trail with the median or an ATR stop.
* Symmetry: Mirror the rules for shorts near the sell band when the median is flat to down.
2. Continuation with latched confirmations.
* Context: A developing trend where you want fewer but cleaner signals.
* Entry (long): Take the latched BUY (3-step confirmation) on close, or on the next bar if you require bar-close validation.
* Invalidation: A close back below the median (or below the lower band in strong trends) negates momentum.
* Exits: Trail under the median for conservative exits or under the teal band for trend-following exits. Consider scaling at structure (prior swing highs) or at a fixed $R$ multiple.
Parameter guidance by timeframe.
* Scalping / LTF (1–5m): $N=30$–$60$, $q_0=0.20$, $k=2$–3, residual mode on, baseline EMA $L=20$, adaptation $s=0.5$–0.7 to handle micro-vol spikes. Expect more signals; rely on latched logic to filter noise.
* Intraday swing (15–60m): $N=60$–$100$, $q_0=0.15$–0.20, $k=3$–4. Residual mode helps but is optional if the instrument trends cleanly. $s=0.3$–0.6.
* Swing / HTF (4H–D): $N=80$–$150$, $q_0=0.10$–0.18, $k=3$–5. Consider `SMA` baseline for smoother residuals and moderate adaptation $s=0.2$–0.4.
Baseline choice.
Use EMA for responsiveness (fast trend shifts) and SMA for stability (smoother residuals). Turning residual mode on is advantageous when price exhibits persistent drift; turning it off is useful when you explicitly want absolute bands.
How to time entries.
Prefer bar-close validation for both band recaptures and latched signals. If you must act intrabar, accept that crosses can “un-cross” before close; compensate with tighter stops or reduced size.
Risk management.
Position size to a fixed fractional risk per trade (e.g., 0.5–1.0% of equity). Define invalidation using structure (swing points) plus ATR. Avoid chasing when distance to the opposite band is small; reward-to-risk degrades rapidly once you are deep inside the distribution.
Combos and filters.
* Pair with a higher-timeframe median slope as a regime filter (trade only in the direction of the HTF median).
* Use band width relative to ATR as a range/trend gauge: unusually narrow bands suggest compression (mean-reversion bias); expanding bands suggest breakout potential (favor latched continuation).
* Volume or session filters (e.g., avoid illiquid hours) can materially improve execution.
Alerts for discretion.
Enable “Cross above Buy Level” / “Cross below Sell Level” for early notices and “Latched BUY/SELL” for conviction entries. Set alerts to “Once per bar close” to avoid noise.
Common pitfalls.
Do not interpret band touches as automatic signals; context matters. A strong trend will often ride the far band (“band walking”) and punish counter-trend fades—use the median slope and latched logic to separate trend from range. Do not oversmooth levels; you will lag breaks. Do not set $q$ too small or too large; extremes reduce statistical meaning and practical distance for stops.
A concise checklist.
1. Is the median flat (range) or sloped (trend)?
2. Is band width expanding or contracting vs ATR?
3. Are we near the tail level aligned with the intended trade?
4. For continuation: did the 3 steps for a latched signal complete?
5. Do stops and targets produce acceptable $R$ (≥1.5–2.0)?
6. Are you trading during liquid hours for the instrument?
Summary. ARQB provides statistically grounded, regime-aware bands and a disciplined, latched confirmation engine. Use the bands as objective context, the median as your equilibrium line, ATR adaptation to stay calibrated across regimes, and the latched logic to time higher-quality discretionary entries.
Disclaimer
No indicator guarantees profits. Adaptive Rolling Quantile Bands is a decision aid; always combine with solid risk management and your own judgment. Backtest, forward test, and size responsibly.
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Enhance your trading precision and confidence 🚀
Best regards
Chervolino
MERV: Market Entropy & Rhythm Visualizer [BullByte]The MERV (Market Entropy & Rhythm Visualizer) indicator analyzes market conditions by measuring entropy (randomness vs. trend), tradeability (volatility/momentum), and cyclical rhythm. It provides traders with an easy-to-read dashboard and oscillator to understand when markets are structured or choppy, and when trading conditions are optimal.
Purpose of the Indicator
MERV’s goal is to help traders identify different market regimes. It quantifies how structured or random recent price action is (entropy), how strong and volatile the movement is (tradeability), and whether a repeating cycle exists. By visualizing these together, MERV highlights trending vs. choppy environments and flags when conditions are favorable for entering trades. For example, a low entropy value means prices are following a clear trend line, whereas high entropy indicates a lot of noise or sideways action. The indicator’s combination of measures is original: it fuses statistical trend-fit (entropy), volatility trends (ATR and slope), and cycle analysis to give a comprehensive view of market behavior.
Why a Trader Should Use It
Traders often need to know when a market trend is reliable vs. when it is just noise. MERV helps in several ways: it shows when the market has a strong direction (low entropy, high tradeability) and when it’s ranging (high entropy). This can prevent entering trend-following strategies during choppy periods, or help catch breakouts early. The “Optimal Regime” marker (a star) highlights moments when entropy is very low and tradeability is very high, typically the best conditions for trend trades. By using MERV, a trader gains an empirical “go/no-go” signal based on price history, rather than guessing from price alone. It’s also adaptable: you can apply it to stocks, forex, crypto, etc., on any timeframe. For example, during a bullish phase of a stock, MERV will turn green (Trending Mode) and often show a star, signaling good follow-through. If the market later grinds sideways, MERV will shift to magenta (Choppy Mode), warning you that trend-following is now risky.
Why These Components Were Chosen
Market Entropy (via R²) : This measures how well recent prices fit a straight line. We compute a linear regression on the last len_entropy bars and calculate R². Entropy = 1 - R², so entropy is low when prices follow a trend (R² near 1) and high when price action is erratic (R² near 0). This single number captures trend strength vs noise.
Tradeability (ATR + Slope) : We combine two familiar measures: the Average True Range (ATR) (normalized by price) and the absolute slope of the regression line (scaled by ATR). Together they reflect how active and directional the market is. A high ATR or strong slope means big moves, making a trend more “tradeable.” We take a simple average of the normalized ATR and slope to get tradeability_raw. Then we convert it to a percentile rank over the lookback window so it’s stable between 0 and 1.
Percentile Ranks : To make entropy and tradeability values easy to interpret, we convert each to a 0–100 rank based on the past len_entropy periods. This turns raw metrics into a consistent scale. (For example, an entropy rank of 90 means current entropy is higher than 90% of recent values.) We then divide by 100 to plot them on a 0–1 scale.
Market Mode (Regime) : Based on those ranks, MERV classifies the market:
Trending (Green) : Low entropy rank (<40%) and high tradeability rank (>60%). This means the market is structurally trending with high activity.
Choppy (Magenta) : High entropy rank (>60%) and low tradeability rank (<40%). This is a mostly random, low-momentum market.
Neutral (Cyan) : All other cases. This covers mixed regimes not strongly trending or choppy.
The mode is shown as a colored bar at the bottom: green for trending, magenta for choppy, cyan for neutral.
Optimal Regime Signal : Separately, we mark an “optimal” condition when entropy_norm < 0.3 and tradeability > 0.7 (both normalized 0–1). When this is true, a ★ star appears on the bottom line. This star is colored white when truly optimal, gold when only tradeability is high (but entropy not quite low enough), and black when neither condition holds. This gives a quick visual cue for very favorable conditions.
What Makes MERV Stand Out
Holistic View : Unlike a single-oscillator, MERV combines trend, volatility, and cycle analysis in one tool. This multi-faceted approach is unique.
Visual Dashboard : The fixed on-chart dashboard (shown at your chosen corner) summarizes all metrics in bar/gauge form. Even a non-technical user can glance at it: more “█” blocks = a higher value, colors match the plots. This is more intuitive than raw numbers.
Adaptive Thresholds : Using percentile ranks means MERV auto-adjusts to each market’s character, rather than requiring fixed thresholds.
Cycle Insight : The rhythm plot adds information rarely found in indicators – it shows if there’s a repeating cycle (and its period in bars) and how strong it is. This can hint at natural bounce or reversal intervals.
Modern Look : The neon color scheme and glow effects make the lines easy to distinguish (blue/pink for entropy, green/orange for tradeability, etc.) and the filled area between them highlights when one dominates the other.
Recommended Timeframes
MERV can be applied to any timeframe, but it will be more reliable on higher timeframes. The default len_entropy = 50 and len_rhythm = 30 mean we use 30–50 bars of history, so on a daily chart that’s ~2–3 months of data; on a 1-hour chart it’s about 2–3 days. In practice:
Swing/Position traders might prefer Daily or 4H charts, where the calculations smooth out small noise. Entropy and cycles are more meaningful on longer trends.
Day trader s could use 15m or 1H charts if they adjust the inputs (e.g. shorter windows). This provides more sensitivity to intraday cycles.
Scalpers might find MERV too “slow” unless input lengths are set very low.
In summary, the indicator works anywhere, but the defaults are tuned for capturing medium-term trends. Users can adjust len_entropy and len_rhythm to match their chart’s volatility. The dashboard position can also be moved (top-left, bottom-right, etc.) so it doesn’t cover important chart areas.
How the Scoring/Logic Works (Step-by-Step)
Compute Entropy : A linear regression line is fit to the last len_entropy closes. We compute R² (goodness of fit). Entropy = 1 – R². So a strong straight-line trend gives low entropy; a flat/noisy set of points gives high entropy.
Compute Tradeability : We get ATR over len_entropy bars, normalize it by price (so it’s a fraction of price). We also calculate the regression slope (difference between the predicted close and last close). We scale |slope| by ATR to get a dimensionless measure. We average these (ATR% and slope%) to get tradeability_raw. This represents how big and directional price moves are.
Convert to Percentiles : Each new entropy and tradeability value is inserted into a rolling array of the last 50 values. We then compute the percentile rank of the current value in that array (0–100%) using a simple loop. This tells us where the current bar stands relative to history. We then divide by 100 to plot on .
Determine Modes and Signal : Based on these normalized metrics: if entropy < 0.4 and tradeability > 0.6 (40% and 60% thresholds), we set mode = Trending (1). If entropy > 0.6 and tradeability < 0.4, mode = Choppy (-1). Otherwise mode = Neutral (0). Separately, if entropy_norm < 0.3 and tradeability > 0.7, we set an optimal flag. These conditions trigger the colored mode bars and the star line.
Rhythm Detection : Every bar, if we have enough data, we take the last len_rhythm closes and compute the mean and standard deviation. Then for lags from 5 up to len_rhythm, we calculate a normalized autocorrelation coefficient. We track the lag that gives the maximum correlation (best match). This “best lag” divided by len_rhythm is plotted (a value between 0 and 1). Its color changes with the correlation strength. We also smooth the best correlation value over 5 bars to plot as “Cycle Strength” (also 0 to 1). This shows if there is a consistent cycle length in recent price action.
Heatmap (Optional) : The background color behind the oscillator panel can change with entropy. If “Neon Rainbow” style is on, low entropy is blue and high entropy is pink (via a custom color function), otherwise a classic green-to-red gradient can be used. This visually reinforces the entropy value.
Volume Regime (Dashboard Only) : We compute vol_norm = volume / sma(volume, len_entropy). If this is above 1.5, it’s considered high volume (neon orange); below 0.7 is low (blue); otherwise normal (green). The dashboard shows this as a bar gauge and percentage. This is for context only.
Oscillator Plot – How to Read It
The main panel (oscillator) has multiple colored lines on a 0–1 vertical scale, with horizontal markers at 0.2 (Low), 0.5 (Mid), and 0.8 (High). Here’s each element:
Entropy Line (Blue→Pink) : This line (and its glow) shows normalized entropy (0 = very low, 1 = very high). It is blue/green when entropy is low (strong trend) and pink/purple when entropy is high (choppy). A value near 0.0 (below 0.2 line) indicates a very well-defined trend. A value near 1.0 (above 0.8 line) means the market is very random. Watch for it dipping near 0: that suggests a strong trend has formed.
Tradeability Line (Green→Yellow) : This represents normalized tradeability. It is colored bright green when tradeability is low, transitioning to yellow as tradeability increases. Higher values (approaching 1) mean big moves and strong slopes. Typically in a market rally or crash, this line will rise. A crossing above ~0.7 often coincides with good trend strength.
Filled Area (Orange Shade) : The orange-ish fill between the entropy and tradeability lines highlights when one dominates the other. If the area is large, the two metrics diverge; if small, they are similar. This is mostly aesthetic but can catch the eye when the lines cross over or remain close.
Rhythm (Cycle) Line : This is plotted as (best_lag / len_rhythm). It indicates the relative period of the strongest cycle. For example, a value of 0.5 means the strongest cycle was about half the window length. The line’s color (green, orange, or pink) reflects how strong that cycle is (green = strong). If no clear cycle is found, this line may be flat or near zero.
Cycle Strength Line : Plotted on the same scale, this shows the autocorrelation strength (0–1). A high value (e.g. above 0.7, shown in green) means the cycle is very pronounced. Low values (pink) mean any cycle is weak and unreliable.
Mode Bars (Bottom) : Below the main oscillator, thick colored bars appear: a green bar means Trending Mode, magenta means Choppy Mode, and cyan means Neutral. These bars all have a fixed height (–0.1) and make it very easy to see the current regime.
Optimal Regime Line (Bottom) : Just below the mode bars is a thick horizontal line at –0.18. Its color indicates regime quality: White (★) means “Optimal Regime” (very low entropy and high tradeability). Gold (★) means not quite optimal (high tradeability but entropy not low enough). Black means neither condition. This star line quickly tells you when conditions are ideal (white star) or simply good (gold star).
Horizontal Guides : The dotted lines at 0.2 (Low), 0.5 (Mid), and 0.8 (High) serve as reference lines. For example, an entropy or tradeability reading above 0.8 is “High,” and below 0.2 is “Low,” as labeled on the chart. These help you gauge values at a glance.
Dashboard (Fixed Corner Panel)
MERV also includes a compact table (dashboard) that can be positioned in any corner. It summarizes key values each bar. Here is how to read its rows:
Entropy : Shows a bar of blocks (█ and ░). More █ blocks = higher entropy. It also gives a percentage (rounded). A full bar (10 blocks) with a high % means very chaotic market. The text is colored similarly (blue-green for low, pink for high).
Rhythm : Shows the best cycle period in bars (e.g. “15 bars”). If no calculation yet, it shows “n/a.” The text color matches the rhythm line.
Cycle Strength : Gives the cycle correlation as a percentage (smoothed, as shown on chart). Higher % (green) means a strong cycle.
Tradeability : Displays a 10-block gauge for tradeability. More blocks = more tradeable market. It also shows “gauge” text colored green→yellow accordingly.
Market Mode : Simply shows “Trending”, “Choppy”, or “Neutral” (cyan text) to match the mode bar color.
Volume Regime : Similar to tradeability, shows blocks for current volume vs. average. Above-average volume gives orange blocks, below-average gives blue blocks. A % value indicates current volume relative to average. This row helps see if volume is abnormally high or low.
Optimal Status (Large Row) : In bold, either “★ Optimal Regime” (white text) if the star condition is met, “★ High Tradeability” (gold text) if tradeability alone is high, or “— Not Optimal” (gray text) otherwise. This large row catches your eye when conditions are ripe.
In short, the dashboard turns the numeric state into an easy read: filled bars, colors, and text let you see current conditions without reading the plot. For instance, five blue blocks under Entropy and “25%” tells you entropy is low (good), and a row showing “Trending” in green confirms a trend state.
Real-Life Example
Example : Consider a daily chart of a trending stock (e.g. “AAPL, 1D”). During a strong uptrend, recent prices fit a clear upward line, so Entropy would be low (blue line near bottom, perhaps below the 0.2 line). Volatility and slope are high, so Tradeability is high (green-yellow line near top). In the dashboard, Entropy might show only 1–2 blocks (e.g. 10%) and Tradeability nearly full (e.g. 90%). The Market Mode bar turns green (Trending), and you might see a white ★ on the optimal line if conditions are very good. The Volume row might light orange if volume is above average during the rally. In contrast, imagine the same stock later in a tight range: Entropy will rise (pink line up, more blocks in dashboard), Tradeability falls (fewer blocks), and the Mode bar turns magenta (Choppy). No star appears in that case.
Consolidated Use Case : Suppose on XYZ stock the dashboard reads “Entropy: █░░░░░░░░ 20%”, “Tradeability: ██████████ 80%”, Mode = Trending (green), and “★ Optimal Regime.” This tells the trader that the market is in a strong, low-noise trend, and it might be a good time to follow the trend (with appropriate risk controls). If instead it reads “Entropy: ████████░░ 80%”, “Tradeability: ███▒▒▒▒▒▒ 30%”, Mode = Choppy (magenta), the trader knows the market is random and low-momentum—likely best to sit out until conditions improve.
Example: How It Looks in Action
Screenshot 1: Trending Market with High Tradeability (SOLUSD, 30m)
What it means:
The market is in a clear, strong trend with excellent conditions for trading. Both trend-following and active strategies are favored, supported by high tradeability and strong volume.
Screenshot 2: Optimal Regime, Strong Trend (ETHUSD, 1h)
What it means:
This is an ideal environment for trend trading. The market is highly organized, tradeability is excellent, and volume supports the move. This is when the indicator signals the highest probability for success.
Screenshot 3: Choppy Market with High Volume (BTC Perpetual, 5m)
What it means:
The market is highly random and choppy, despite a surge in volume. This is a high-risk, low-reward environment, avoid trend strategies, and be cautious even with mean-reversion or scalping.
Settings and Inputs
The script is fully open-source; here are key inputs the user can adjust:
Entropy Window (len_entropy) : Number of bars used for entropy and tradeability (default 50). Larger = smoother, more lag; smaller = more sensitivity.
Rhythm Window (len_rhythm ): Bars used for cycle detection (default 30). This limits the longest cycle we detect.
Dashboard Position : Choose any corner (Top Right default) so it doesn’t cover chart action.
Show Heatmap : Toggles the entropy background coloring on/off.
Heatmap Style : “Neon Rainbow” (colorful) or “Classic” (green→red).
Show Mode Bar : Turn the bottom mode bar on/off.
Show Dashboard : Turn the fixed table panel on/off.
Each setting has a tooltip explaining its effect. In the description we will mention typical settings (e.g. default window sizes) and that the user can move the dashboard corner as desired.
Oscillator Interpretation (Recap)
Lines : Blue/Pink = Entropy (low=trend, high=chop); Green/Yellow = Tradeability (low=quiet, high=volatile).
Fill : Orange tinted area between them (for visual emphasis).
Bars : Green=Trending, Magenta=Choppy, Cyan=Neutral (at bottom).
Star Line : White star = ideal conditions, Gold = good but not ideal.
Horizontal Guides : 0.2 and 0.8 lines mark low/high thresholds for each metric.
Using the chart, a coder or trader can see exactly what each output represents and make decisions accordingly.
Disclaimer
This indicator is provided as-is for educational and analytical purposes only. It does not guarantee any particular trading outcome. Past market patterns may not repeat in the future. Users should apply their own judgment and risk management; do not rely solely on this tool for trading decisions. Remember, TradingView scripts are tools for market analysis, not personalized financial advice. We encourage users to test and combine MERV with other analysis and to trade responsibly.
-BullByte
hudDisplay_v1Library "hudDisplay_v1"
f_getPosition(loc)
Parameters:
loc (string)
f_getTableSize(layout, itemCount)
Parameters:
layout (string)
itemCount (int)
f_getCellPosition(layout, index)
Parameters:
layout (string)
index (int)
f_drawHUD(show, loc, layout, content, textColor, bgColor)
Parameters:
show (bool)
loc (string)
layout (string)
content (array)
textColor (color)
bgColor (color)
LiliALHUNTERSystem_v2📚 **Library: LiliALHUNTERSystem_v2**
This library provides a powerful target management system for Pine Script developers.
It includes advanced calculators for EMA, RMA, and Supertrend, and introduces a central `createTargets()` function to dynamically render target lines and labels based on long/short trade logic.
🛠️ **Main Features:**
– Dynamic horizontal & vertical target lines
– Dual target configuration (Target 1 & Target 2)
– Directional logic via `isLong1`, `isLong2`
– Integrated Supertrend validation
– Visual dashboard and label display
– Works seamlessly with custom indicators
🎯 **Purpose:**
The `LiliALHUNTERSystem_v2` Library enables Pine coders to manage and visualize targets consistently across all trading strategies and indicators. It simplifies target logic while maintaining visual clarity and modular usage.
⚠️ **Disclaimer:**
This script is intended for educational and analytical purposes only. It does not constitute financial advice.
Library "LiliALHUNTERSystem_v2"
ema_calc(len, source)
Parameters:
len (simple int)
source (float)
rma_calc(len, source)
Parameters:
len (simple int)
source (float)
supertrend_calc(length, factor)
Parameters:
length (simple int)
factor (float)
createTargets(config, state, source1A, source1B, source2A, source2B)
Parameters:
config (TargetConfig)
state (TargetState)
source1A (float)
source1B (float)
source2A (float)
source2B (float)
showDashboard(state, dashLoc, textSize)
Parameters:
state (TargetState)
dashLoc (string)
textSize (string)
TargetConfig
Fields:
enableTarget1 (series bool)
enableTarget2 (series bool)
isLong1 (series bool)
isLong2 (series bool)
target1Condition (series string)
target2Condition (series string)
target1Color (series color)
target2Color (series color)
target1Style (series string)
target2Style (series string)
distTarget1 (series float)
distTarget2 (series float)
distOptions1 (series string)
distOptions2 (series string)
showLabels (series bool)
showDash (series bool)
TargetState
Fields:
target1LineV (series line)
target1LineH (series line)
target2LineV (series line)
target2LineH (series line)
target1Lbl (series label)
target2Lbl (series label)
target1Active (series bool)
target2Active (series bool)
target1Value (series float)
target2Value (series float)
countTargets1 (series int)
countTgReached1 (series int)
countTargets2 (series int)
countTgReached2 (series int)
1A Monthly P&L Table - Using Library1A Monthly P&L Table: Track Your Performance Month-by-Month
Overview:
The 1A Monthly P&L Table is a straightforward yet powerful indicator designed to give you an immediate overview of your asset's (or strategy's) percentage performance on a monthly basis. Displayed conveniently in the bottom-right corner of your chart, this tool helps you quickly assess historical gains and losses, making it easier to analyze trends in performance over time.
Key Features:
Monthly Performance at a Glance: Clearly see the percentage change for each past month.
Cumulative P&L: A running total of the displayed monthly P&L is provided, giving you a quick sum of performance over the selected period.
Customizable Display:
Months to Display: Choose how many past months you want to see in the table (from 1 to 60 months).
Text Size: Adjust the text size (Tiny, Small, Normal, Large, Huge) to fit your viewing preferences.
Text Color: Customize the color of the text for better visibility against your chart background.
Intraday & Daily Compatibility: The table is optimized to display on daily and intraday timeframes, ensuring it's relevant for various trading styles. (Note: For very long-term analysis on weekly/monthly charts, you might consider other tools, as this focuses on granular monthly P&L.)
How It Works:
The indicator calculates the percentage change from the close of the previous month to the close of the current month. For the very first month displayed, it calculates the P&L from the opening price of the chart's first bar to the close of that month. This data is then neatly organized into a table, updated on the last bar of the day or session.
Ideal For:
Traders and investors who want a quick, visual summary of monthly performance.
Analyzing seasonal trends or consistent periods of profitability/drawdown.
Supplementing backtesting results with a clear month-by-month breakdown.
Settings:
Text Color: Changes the color of all text within the table.
Text Size: Controls the font size of the table content.
Months to Display: Determines the number of recent months included in the table.
MonthlyPnLTableLibrary "MonthlyPnLTable"
monthlyPnL(currentClose, initialOpenPrice, monthsToDisplay)
Parameters:
currentClose (float)
initialOpenPrice (float)
monthsToDisplay (int)
displayPnLTable(pnls, pnlMonths, pnlYears, textSizeOption, labelColor)
Parameters:
pnls (array)
pnlMonths (array)
pnlYears (array)
textSizeOption (string)
labelColor (color)
Stochastic RSI with Alerts# Stochastic RSI with Alerts - User Manual
## 1. Overview
This enhanced Stochastic RSI indicator identifies overbought/oversold conditions with visual signals and customizable alerts. It features:
- Dual-line Stoch RSI (K & D)
- Threshold-based buy/sell signals
- Configurable alert system
- Customizable parameters
## 2. Installation
1. Open TradingView chart
2. Open Pine Editor (📈 icon at bottom)
3. Copy/paste the full code
4. Click "Add to Chart"
## 3. Input Parameters
### 3.1 Core Settings
| Parameter | Default | Description |
|-----------|---------|-------------|
| K | 3 | Smoothing period for %K line |
| D | 3 | Smoothing period for %D line |
| RSI Length | 14 | RSI calculation period |
| Stochastic Length | 14 | Lookback period for Stoch calculation |
| RSI Source | Close | Price source for RSI calculation |
### 3.2 Signal Thresholds
| Parameter | Default | Description |
|-----------|---------|-------------|
| Upper Limit | 80 | Sell signal threshold (overbought) |
| Lower Limit | 20 | Buy signal threshold (oversold) |
### 3.3 Alert Settings
| Parameter | Default | Description |
|-----------|---------|-------------|
| Enable Buy Alerts | True | Toggle buy notifications |
| Enable Sell Alerts | True | Toggle sell notifications |
| Custom Alert Message | Empty | Additional text for alerts |
## 4. Signal Logic
### 4.1 Buy Signal (Green ▲)
Triggers when:
\text{%K crossover %D} \quad AND \quad (\text{%K ≤ Lower Limit} \quad OR \quad \text{%D ≤ Lower Limit})
### 4.2 Sell Signal (Red ▼)
Triggers when:
\text{%K crossunder %D} \quad AND \quad (\text{%K ≥ Upper Limit} \quad OR \quad \text{%D ≥ Upper Limit})
## 5. Alert System
### 5.1 Auto-Generated Alerts
The script automatically creates these alert conditions:
- **Buy Signal Alert**: Triggers on valid buy signals
- **Sell Signal Alert**: Triggers on valid sell signals
Alert messages include:
- Signal type (Buy/Sell)
- Current %K and %D values
- Custom message (if configured)
### 5.2 Alert Configuration
**Method 1: Script-Generated Alerts**
1. Hover over any signal marker
2. Click the 🔔 icon
3. Select trigger conditions:
- "Buy Signal Alert"
- "Sell Signal Alert"
**Method 2: Manual Setup**
1. Open Alert creation window
2. Condition: Select "Stoch RSI Alerts"
3. Choose:
- "Buy Signal Alert" for long entries
- "Sell Signal Alert" for exits/shorts
## 6. Customization Tips
### 6.1 Threshold Adjustment
// For day trading (tighter ranges)
upperLimit = 75
lowerLimit = 25
// For swing trading (wider ranges)
upperLimit = 85
lowerLimit = 15
### 6.2 Visual Modifications
Change signal markers via:
- `style=` : Try `shape.labelup`, `shape.flag`, etc.
- `color=` : Use hex codes (#FF00FF) or named colors
- `size=` : `size.tiny` to `size.huge`
## 7. Recommended Use Cases
1. **Mean Reversion Strategies**: Pair with support/resistance levels
2. **Trend Confirmation**: Filter with 200EMA direction
3. **Divergence Trading**: Compare with price action
## 8. Limitations
- Works best in ranging markets
- Combine with volume analysis for confirmation
- Not recommended as standalone strategy
---
This documentation follows technical writing best practices with:
- Clear parameter tables
- Mathematical signal logic
- Visual hierarchy
- Practical examples
- Usage recommendations
Real-Time Open Levels with Labels + Info TableReal-Time Multi-Timeframe Open Levels with Labels & Info Panel
Overview
This indicator displays real-time opening price levels across multiple timeframes (Monthly, Weekly, Daily, 4H) directly on your chart. It features:
• Dynamic horizontal lines extending through each timeframe period
• Customizable labels with text/colors
• Special 4H line treatment for the last hour (5-min charts only)
• Integrated information panel showing symbol, timeframe, and price changes
! (www.tradingview.com)
*Example showing multiple timeframe levels with labels and info panel*
---
Features & Configuration
1. Monthly Settings
! (www.tradingview.com)
Show Monthly: Toggle visibility of monthly opening price
Color: Semi-transparent blue (#2196F3 at 70% opacity)
Width: 2px line thickness
Style: Solid/Dotted/Dashed
Label: Display "M-Open" text with white text on blue background
2. Weekly Settings
! (www.tradingview.com)
Show Weekly: Toggle weekly opening price visibility
Color: Semi-transparent red (#FF5252 at 70% opacity)
Width: 1px thickness
Style: Dotted by default
Label: "W-Open" text in white on red background
3. Daily Settings
! (www.tradingview.com)
Show Daily: Toggle daily opening price
Color: Amber (#FFA000 at 70% opacity)
Width: 2px thickness
Style: Solid
Label: "D-Open" in white on orange background
---
4. 4-Hour Settings (5-Minute Charts Only)
Special Features for 5-Min Timeframe:
1. Standard 4H Line
• First 3 hours: Green (#4CAF50) dashed line
• Last hour: Bright red solid line (configurable)
• Vertical divider between 3rd/4th hours
2. Configuration Options
• Main 4H Line:
◦ Color/Width/Style for initial 3 hours
◦ Toggle label ("H4-Open") visibility and styling
• Final Hour Enhancement:
*Last Hour Line*
◦ Unique red color and line style
◦ Separate width (1px) and style (Solid)
*Divider Line*
◦ Vertical red dotted line marking last hour
◦ Adjustable position/width/transparency
! (www.tradingview.com)
*4H levels showing 3-hour segment and final hour treatment*
---
5. Info Panel Settings
Positioning:
• Anchor to any chart corner (Top/Bottom + Left/Right combinations)
• Three text sizes: Title (Huge), Change % (Large), Signature (Small)
Display Elements:
• Symbol: Show exchange prefix (e.g., "NASDAQ:")
• Timeframe: Current chart period (e.g., "5m")
• Change %: 24-hour price movement ▲/▼ percentage
• Custom Signature: Add text/username in footer
Styling:
• Semi-transparent white text (#ffffff77)
• Currency pair formatting (e.g., BTC/USD vs BTC-USD)
! (www.tradingview.com)
*Sample info panel with all elements enabled*
---
Usage Tips
1. Multi-Timeframe Context: Use levels to identify key daily/weekly support/resistance
2. 4H Trading: On 5-min charts, watch for price reactions near final hour transition
3. Customization:
• Match line colors to your chart theme
• Use different labels for clarity (e.g., "Weekly Open")
• Disable unused elements to reduce clutter
4. Divider Lines: Helps identify institutional trading periods (hour closes)
---
*Created using Pine Script v6. For optimal performance, use on charts <1H timeframe. ()*
AllCandlestickPatternsLibraryAll Candlestick Patterns Library
The Candlestick Patterns Library is a Pine Script (version 6) library extracted from the All Candlestick Patterns indicator. It provides a comprehensive set of functions to calculate candlestick properties, detect market trends, and identify various candlestick patterns (bullish, bearish, and neutral). The library is designed for reusability, enabling TradingView users to incorporate pattern detection into their own scripts, such as indicators or strategies.
The library is organized into three main sections:
Trend Detection: Functions to determine market trends (uptrend or downtrend) based on user-defined rules.
Candlestick Property Calculations: A function to compute core properties of a candlestick, such as body size, shadow lengths, and doji characteristics.
Candlestick Pattern Detection: Functions to detect specific candlestick patterns, each returning a tuple with detection status, pattern name, type, and description.
Library Structure
1. Trend Detection
This section includes the detectTrend function, which identifies whether the market is in an uptrend or downtrend based on user-specified rules, such as the relationship between the closing price and Simple Moving Averages (SMAs).
Function: detectTrend
Parameters:
downTrend (bool): Initial downtrend condition.
upTrend (bool): Initial uptrend condition.
trendRule (string): The rule for trend detection ("SMA50" or "SMA50, SMA200").
p_close (float): Current closing price.
sma50 (float): Simple Moving Average over 50 periods.
sma200 (float): Simple Moving Average over 200 periods.
Returns: A tuple indicating the detected trend.
Logic:
If trendRule is "SMA50", a downtrend is detected when p_close < sma50, and an uptrend when p_close > sma50.
If trendRule is "SMA50, SMA200", a downtrend is detected when p_close < sma50 and sma50 < sma200, and an uptrend when p_close > sma50 and sma50 > sma200.
2. Candlestick Property Calculations
This section includes the calculateCandleProperties function, which computes essential properties of a candlestick based on OHLC (Open, High, Low, Close) data and configuration parameters.
Function: calculateCandleProperties
Parameters:
p_open (float): Candlestick open price.
p_close (float): Candlestick close price.
p_high (float): Candlestick high price.
p_low (float): Candlestick low price.
bodyAvg (float): Average body size (e.g., from EMA of body sizes).
shadowPercent (float): Minimum shadow size as a percentage of body size.
shadowEqualsPercent (float): Tolerance for equal shadows in doji detection.
dojiBodyPercent (float): Maximum body size as a percentage of range for doji detection.
Returns: A tuple containing 17 properties:
C_BodyHi (float): Higher of open or close price.
C_BodyLo (float): Lower of open or close price.
C_Body (float): Body size (difference between C_BodyHi and C_BodyLo).
C_SmallBody (bool): True if body size is below bodyAvg.
C_LongBody (bool): True if body size is above bodyAvg.
C_UpShadow (float): Upper shadow length (p_high - C_BodyHi).
C_DnShadow (float): Lower shadow length (C_BodyLo - p_low).
C_HasUpShadow (bool): True if upper shadow exceeds shadowPercent of body.
C_HasDnShadow (bool): True if lower shadow exceeds shadowPercent of body.
C_WhiteBody (bool): True if candle is bullish (p_open < p_close).
C_BlackBody (bool): True if candle is bearish (p_open > p_close).
C_Range (float): Candlestick range (p_high - p_low).
C_IsInsideBar (bool): True if current candle body is inside the previous candle's body.
C_BodyMiddle (float): Midpoint of the candle body.
C_ShadowEquals (bool): True if upper and lower shadows are equal within shadowEqualsPercent.
C_IsDojiBody (bool): True if body size is small relative to range (C_Body <= C_Range * dojiBodyPercent / 100).
C_Doji (bool): True if the candle is a doji (C_IsDojiBody and C_ShadowEquals).
Purpose: These properties are used by pattern detection functions to evaluate candlestick formations.
3. Candlestick Pattern Detection
This section contains functions to detect specific candlestick patterns, each returning a tuple . The patterns are categorized as bullish, bearish, or neutral, and include detailed descriptions for use in tooltips or alerts.
Supported Patterns
The library supports the following candlestick patterns, grouped by type:
Bullish Patterns:
Rising Window: A two-candle continuation pattern in an uptrend with a price gap between the first candle's high and the second candle's low.
Rising Three Methods: A five-candle continuation pattern with a long green candle, three short red candles, and another long green candle.
Tweezer Bottom: A two-candle reversal pattern in a downtrend with nearly identical lows.
Upside Tasuki Gap: A three-candle continuation pattern in an uptrend with a gap between the first two green candles and a red candle closing partially into the gap.
Doji Star (Bullish): A two-candle reversal pattern in a downtrend with a long red candle followed by a doji gapping down.
Morning Doji Star: A three-candle reversal pattern with a long red candle, a doji gapping down, and a long green candle.
Piercing: A two-candle reversal pattern in a downtrend with a red candle followed by a green candle closing above the midpoint of the first.
Hammer: A single-candle reversal pattern in a downtrend with a small body and a long lower shadow.
Inverted Hammer: A single-candle reversal pattern in a downtrend with a small body and a long upper shadow.
Morning Star: A three-candle reversal pattern with a long red candle, a short candle gapping down, and a long green candle.
Marubozu White: A single-candle pattern with a long green body and minimal shadows.
Dragonfly Doji: A single-candle reversal pattern in a downtrend with a doji where open and close are at the high.
Harami Cross (Bullish): A two-candle reversal pattern in a downtrend with a long red candle followed by a doji inside its body.
Harami (Bullish): A two-candle reversal pattern in a downtrend with a long red candle followed by a small green candle inside its body.
Long Lower Shadow: A single-candle pattern with a long lower shadow indicating buyer strength.
Three White Soldiers: A three-candle reversal pattern with three long green candles in a downtrend.
Engulfing (Bullish): A two-candle reversal pattern in a downtrend with a small red candle followed by a larger green candle engulfing it.
Abandoned Baby (Bullish): A three-candle reversal pattern with a long red candle, a doji gapping down, and a green candle gapping up.
Tri-Star (Bullish): A three-candle reversal pattern with three doji candles in a downtrend, with gaps between them.
Kicking (Bullish): A two-candle reversal pattern with a bearish marubozu followed by a bullish marubozu gapping up.
Bearish Patterns:
On Neck: A two-candle continuation pattern in a downtrend with a long red candle followed by a short green candle closing near the first candle's low.
Falling Window: A two-candle continuation pattern in a downtrend with a price gap between the first candle's low and the second candle's high.
Falling Three Methods: A five-candle continuation pattern with a long red candle, three short green candles, and another long red candle.
Tweezer Top: A two-candle reversal pattern in an uptrend with nearly identical highs.
Dark Cloud Cover: A two-candle reversal pattern in an uptrend with a green candle followed by a red candle opening above the high and closing below the midpoint.
Downside Tasuki Gap: A three-candle continuation pattern in a downtrend with a gap between the first two red candles and a green candle closing partially into the gap.
Evening Doji Star: A three-candle reversal pattern with a long green candle, a doji gapping up, and a long red candle.
Doji Star (Bearish): A two-candle reversal pattern in an uptrend with a long green candle followed by a doji gapping up.
Hanging Man: A single-candle reversal pattern in an uptrend with a small body and a long lower shadow.
Shooting Star: A single-candle reversal pattern in an uptrend with a small body and a long upper shadow.
Evening Star: A three-candle reversal pattern with a long green candle, a short candle gapping up, and a long red candle.
Marubozu Black: A single-candle pattern with a long red body and minimal shadows.
Gravestone Doji: A single-candle reversal pattern in an uptrend with a doji where open and close are at the low.
Harami Cross (Bearish): A two-candle reversal pattern in an uptrend with a long green candle followed by a doji inside its body.
Harami (Bearish): A two-candle reversal pattern in an uptrend with a long green candle followed by a small red candle inside its body.
Long Upper Shadow: A single-candle pattern with a long upper shadow indicating seller strength.
Three Black Crows: A three-candle reversal pattern with three long red candles in an uptrend.
Engulfing (Bearish): A two-candle reversal pattern in an uptrend with a small green candle followed by a larger red candle engulfing it.
Abandoned Baby (Bearish): A three-candle reversal pattern with a long green candle, a doji gapping up, and a red candle gapping down.
Tri-Star (Bearish): A three-candle reversal pattern with three doji candles in an uptrend, with gaps between them.
Kicking (Bearish): A two-candle reversal pattern with a bullish marubozu followed by a bearish marubozu gapping down.
Neutral Patterns:
Doji: A single-candle pattern with a very small body, indicating indecision.
Spinning Top White: A single-candle pattern with a small green body and long upper and lower shadows, indicating indecision.
Spinning Top Black: A single-candle pattern with a small red body and long upper and lower shadows, indicating indecision.
Pattern Detection Functions
Each pattern detection function evaluates specific conditions based on candlestick properties (from calculateCandleProperties) and trend conditions (from detectTrend). The functions return:
detected (bool): True if the pattern is detected.
name (string): The name of the pattern (e.g., "On Neck").
type (string): The pattern type ("Bullish", "Bearish", or "Neutral").
description (string): A detailed description of the pattern for use in tooltips or alerts.
For example, the detectOnNeckBearish function checks for a bearish On Neck pattern by verifying a downtrend, a long red candle followed by a short green candle, and specific price relationships.
Usage Example
To use the library in a TradingView indicator, you can import it and call its functions as shown below:
//@version=6
indicator("Candlestick Pattern Detector", overlay=true)
import CandlestickPatternsLibrary as cp
// Calculate SMA for trend detection
sma50 = ta.sma(close, 50)
sma200 = ta.sma(close, 200)
= cp.detectTrend(true, true, "SMA50", close, sma50, sma200)
// Calculate candlestick properties
bodyAvg = ta.ema(math.max(close, open) - math.min(close, open), 14)
= cp.calculateCandleProperties(open, close, high, low, bodyAvg, 5.0, 100.0, 5.0)
// Detect a pattern (e.g., On Neck Bearish)
= cp.detectOnNeckBearish(downTrend, blackBody, longBody, whiteBody, open, close, low, bodyAvg, smallBody, candleRange)
if onNeckDetected
label.new(bar_index, low, onNeckName, style=label.style_label_up, color=color.red, textcolor=color.white, tooltip=onNeckDesc)
// Detect another pattern (e.g., Piercing Bullish)
= cp.detectPiercingBullish(downTrend, blackBody, longBody, whiteBody, open, low, close, bodyMiddle)
if piercingDetected
label.new(bar_index, low, piercingName, style=label.style_label_up, color=color.blue, textcolor=color.white, tooltip=piercingDesc)
Steps in the Example
Import the Library: Use import CandlestickPatternsLibrary as cp to access the library's functions.
Calculate Trend: Use detectTrend to determine the market trend based on SMA50 or SMA50/SMA200 rules.
Calculate Candlestick Properties: Use calculateCandleProperties to compute properties like body size, shadow lengths, and doji status.
Detect Patterns: Call specific pattern detection functions (e.g., detectOnNeckBearish, detectPiercingBullish) and use the returned values to display labels or alerts.
Visualize Patterns: Use label.new to display detected patterns on the chart with their names, types, and descriptions.
Key Features
Modularity: The library is designed as a standalone module, making it easy to integrate into other Pine Script projects.
Comprehensive Pattern Coverage: Supports over 40 candlestick patterns, covering bullish, bearish, and neutral formations.
Detailed Documentation: Each function includes comments with @param and @returns annotations for clarity.
Reusability: Can be used in indicators, strategies, or alerts by importing the library and calling its functions.
Extracted from All Candlestick Patterns: The library is derived from the All Candlestick Patterns indicator, ensuring it inherits a well-tested foundation for pattern detection.
Notes for Developers
Pine Script Version: The library uses Pine Script version 6, as specified by //@version=6.
Parameter Naming: Parameters use prefixes like p_ (e.g., p_open, p_close) to avoid conflicts with built-in variables.
Error Handling: The library has been fixed to address issues like undeclared identifiers (C_SmallBody, C_Range), unused arguments (factor), and improper comment formatting.
Testing: Developers should test the library in TradingView to ensure patterns are detected correctly under various market conditions.
Customization: Users can adjust parameters like bodyAvg, shadowPercent, shadowEqualsPercent, and dojiBodyPercent in calculateCandleProperties to fine-tune pattern detection sensitivity.
Conclusion
The Candlestick Patterns Library, extracted from the All Candlestick Patterns indicator, is a powerful tool for traders and developers looking to implement candlestick pattern detection in TradingView. Its modular design, comprehensive pattern support, and detailed documentation make it an ideal choice for building custom indicators or strategies. By leveraging the library's functions, users can analyze market trends, compute candlestick properties, and detect a wide range of patterns to inform their trading decisions.






















