NWOG/NDOG by OutOfOptionsNew Week Opening Gap (NWOG) and New Day Opening Gap (NDOG)
NWOG and NDOG represent price imbalances formed when markets skip over certain levels at the start of a new week or trading day. These gaps often serve as magnets for price action throughout the week or day, drawing prices back to fill them while also functioning as key support or resistance zones. They are particularly relevant in futures markets, though less so in equities.
Consequent Encroachment (CE)
The CE, which is the midpoint of an NWOG or NDOG, frequently emerges as a critical level—especially if the gap remains unbalanced. In such cases, it can exert a strong pull on price, encouraging retracement or consolidation.
Indicator Features
This indicator allows you to display any number of NWOGs and NDOGs directly on your chart, with complete customization of their visual appearance. You can assign distinct colors to the most recent gaps for easy identification. Unlike other tools, it includes a filtering option to exclude minor gaps that may lack significance. Additionally, the "Smart" mode intelligently positions price labels to ensure they remain visible and uncluttered at all times.
How Does it Work
The indicator tracks all daily closes and new day opens, capturing the two values representing the top/bottom of NDOG/NWOG. I If the day begins on a Sunday, the gap is identified as NWOG; otherwise, it is classified as NDOG. A key feature of the indicator is that it avoids duplicating NDOGs that are also NWOGs.
Next, the indicator applies the size filter setting (if set above 0) to skip minor gaps. Valid gaps are then displayed on the screen using a style configured in the indicator settings for the most recent NDOG/NWOG.
To prevent the chart from becoming cluttered, the indicator limits the number of NWOG/NDOGs shown. When a new NWOG/NDOG is added, it checks the total displayed, and if this exceeds the configured limit, the oldest NWOG/NDOG is removed. Additionally, the indicator updates the display style of the previous NWOG/NDOG to the generic (non-last) style as specified in the settings.
For labels showing NWOG/NDOG price ranges and CE, the indicator offers a "Smart" option that dynamically positions labels 10 bars from the last candle and adjusts them every 5 candles. Otherwise, labels are placed at the end of the week for NWOGs and at the end of the following day for NDOGs.
รูปแบบชาร์ต
Live Market - Performance MonitorLive Market — Performance Monitor
Study material (no code) — step-by-step training guide for learners
________________________________________
1) What this tool is — short overview
This indicator is a live market performance monitor designed for learning. It scans price, volume and volatility, detects order blocks and trendline events, applies filters (volume & ATR), generates trade signals (BUY/SELL), creates simple TP/SL trade management, and renders a compact dashboard summarizing market state, risk and performance metrics.
Use it to learn how multi-factor signals are constructed, how Greeks-style sensitivity is replaced by volatility/ATR reasoning, and how a live dashboard helps monitor trade quality.
________________________________________
2) Quick start — how a learner uses it (step-by-step)
1. Add the indicator to a chart (any ticker / timeframe).
2. Open inputs and review the main groups: Order Block, Trendline, Signal Filters, Display.
3. Start with defaults (OB periods ≈ 7, ATR multiplier 0.5, volume threshold 1.2) and observe the dashboard on the last bar.
4. Walk the chart back in time (use the last-bar update behavior) and watch how signals, order blocks, trendlines, and the performance counters change.
5. Run the hands-on labs below to build intuition.
________________________________________
3) Main configurable inputs (what you can tweak)
• Order Block Relevant Periods (default ~7): number of consecutive candles used to define an order block.
• Min. Percent Move for Valid OB (threshold): minimum percent move required for a valid order block.
• Number of OB Channels: how many past order block lines to keep visible.
• Trendline Period (tl_period): pivot lookback for detecting highs/lows used to draw trendlines.
• Use Wicks for Trendlines: whether pivot uses wicks or body.
• Extension Bars: how far trendlines are projected forward.
• Use Volume Filter + Volume Threshold Multiplier (e.g., 1.2): requires volume to be greater than multiplier × average volume.
• Use ATR Filter + ATR Multiplier: require bar range > ATR × multiplier to filter noise.
• Show Targets / Table settings / Colors for visualization.
________________________________________
4) Core building blocks — what the script computes (plain language)
Price & trend:
• Spot / LTP: current close price.
• EMA 9 / 21 / 50: fast, medium, slow moving averages to define short/medium trend.
o trend_bullish: EMA9 > EMA21 > EMA50
o trend_bearish: EMA9 < EMA21 < EMA50
o trend_neutral: otherwise
Volatility & noise:
• ATR (14): average true range used for dynamic target and filter sizing.
• dynamic_zone = ATR × atr_multiplier: minimum bar range required for meaningful move.
• Annualized volatility: stdev of price changes × sqrt(252) × 100 — used to classify volatility (HIGH/MEDIUM/LOW).
Momentum & oscillators:
• RSI 14: overbought/oversold indicator (thresholds 70/30).
• MACD: EMA(12)-EMA(26) and a 9-period signal line; histogram used for momentum direction and strength.
• Momentum (ta.mom 10): raw momentum over 10 bars.
Mean reversion / band context:
• Bollinger Bands (20, 2σ): upper, mid, lower.
o price_position measures where price sits inside the band range as 0–100.
Volume metrics:
• avg_volume = SMA(volume, 20) and volume_spike = volume > avg_volume × volume_threshold
o volume_ratio = volume / avg_volume
Support & Resistance:
• support_level = lowest low over 20 bars
• resistance_level = highest high over 20 bars
• current_position = percent of price between support & resistance (0–100)
________________________________________
5) Order Block detection — concept & logic
What it tries to find: a bar (the base) followed by N candles in the opposite direction (a classical order block setup), with a minimum % move to qualify. The script records the high/low of the base candle, averages them, and plots those levels as OB channels.
How learners should think about it (conceptual):
1. An order block is a signature area where institutions (theory) left liquidity — often seen as a large bar followed by a sequence of directional candles.
2. This indicator uses a configurable number of subsequent candles to confirm that the pattern exists.
3. When found, it stores and displays the base candle’s high/low area so students can see how price later reacts to those zones.
Implementation note for learners: the tool keeps a limited history of OB lines (ob_channels). When new OBs exceed the count, the oldest lines are removed — good practice to avoid clutter.
________________________________________
6) Trendline detection — idea & interpretation
• The script finds pivot highs and lows using a symmetric lookback (tl_period and half that as right/left).
• It then computes a trendline slope from successive pivots and projects the line forward (extension_bars).
• Break detection: Resistance break = close crosses above the projected resistance line; Support break = close crosses below projected support.
Learning tip: trendlines here are computed from pivot points and time. Watch how changing tl_period (bigger = smoother, fewer pivots) alters the trendlines and break signals.
________________________________________
7) Signal generation & filters — step-by-step
1. Primary triggers:
o Bullish trigger: order block bullish OR resistance trendline break.
o Bearish trigger: bearish order block OR support trendline break.
2. Filters applied (both must pass unless disabled):
o Volume filter: volume must be > avg_volume × volume_threshold.
o ATR filter: bar range (high-low) must exceed ATR × atr_multiplier.
o Not in an existing trade: new trades only start if trade_active is false.
3. Trend confirmation:
o The primary trigger is only confirmed if trend is bullish/neutral for buys or bearish/neutral for sells (EMA alignment).
4. Result:
o When confirmed, a long or short trade is activated with TP/SL calculated from ATR multiples.
________________________________________
8) Trade management — what the tool does after a signal
• Entry management: the script marks a trade as trade_active and sets long_trade or short_trade flags.
• TP & SL rules:
o Long: TP = high + 2×ATR ; SL = low − 1×ATR
o Short: TP = low − 2×ATR ; SL = high + 1×ATR
• Monitoring & exit:
o A trade closes when price reaches TP or SL.
o When TP/SL hit, the indicator updates win_count and total_pnl using a very simple calculation (difference between TP/SL and previous close).
o Visual lines/labels are drawn for TP and updated as the trade runs.
Important learner notes:
• The script does not store a true entry price (it uses close in its P&L math), so PnL is an approximation — treat this as a learning proxy, not a position accounting system.
• There’s no sizing, slippage, or fee accounted — students must manually factor these when translating to real trades.
• This indicator is not a backtesting strategy; strategy.* functions would be needed for rigorous backtest results.
________________________________________
9) Signal strength & helper utilities
• Signal strength is a composite score (0–100) made up of four signals worth 25 points each:
1. RSI extreme (overbought/oversold) → 25
2. Volume spike → 25
3. MACD histogram magnitude increasing → 25
4. Trend existence (bull or bear) → 25
• Progress bars (text glyphs) are used to visually show RSI and signal strength on the table.
Learning point: composite scoring is a way to combine orthogonal signals — study how changing weights changes outcomes.
________________________________________
10) Dashboard — how to read each section (walkthrough)
The dashboard is split into sections; here's how to interpret them:
1. Market Overview
o LTP / Change%: immediate price & daily % change.
2. RSI & MACD
o RSI value plus progress bar (overbought 70 / oversold 30).
o MACD histogram sign indicates bullish/bearish momentum.
3. Volume Analysis
o Volume ratio (current / average) and whether there’s a spike.
4. Order Block Status
o Buy OB / Sell OB: the average base price of detected order blocks or “No Signal.”
5. Signal Status
o 🔼 BUY or 🔽 SELL if confirmed, or ⚪ WAIT.
o No-trade vs Active indicator summarizing market readiness.
6. Trend Analysis
o Trend direction (from EMAs), market sentiment score (composite), volatility level and band/position metrics.
7. Performance
o Win Rate = wins / signals (percentage)
o Total PnL = cumulative PnL (approximate)
o Bull / Bear Volume = accumulated volumes attributable to signals
8. Support & Resistance
o 20-bar highest/lowest — use as nearby reference points.
9. Risk & R:R
o Risk Level from ATR/price as a percent.
o R:R Ratio computed from TP/SL if a trade is active.
10. Signal Strength & Active Trade Status
• Numeric strength + progress bar and whether a trade is currently active with TP/SL display.
________________________________________
11) Alerts — what will notify you
The indicator includes pre-built alert triggers for:
• Bullish confirmed signal
• Bearish confirmed signal
• TP hit (long/short)
• SL hit (long/short)
• No-trade zone
• High signal strength (score > 75%)
Training use: enable alerts during a replay session to be notified when the indicator would have signalled.
________________________________________
12) Labs — hands-on exercises for learners (step-by-step)
Lab A — Order Block recognition
1. Pick a 15–30 minute timeframe on a liquid ticker.
2. Use default OB periods (7). Mark each time the dashboard shows a Buy/Sell OB.
3. Manually inspect the chart at the base candle and the following sequence — draw the OB zone by hand and watch later price reactions to it.
4. Repeat with OB periods 5 and 10; note stability vs noise.
Lab B — Trendline break confirmation
1. Increase trendline period (e.g., 20), watch trendlines form from pivots.
2. When a resistance break is flagged, compare with MACD & volume: was momentum aligned?
3. Note false breaks vs confirmed moves — change extension_bars to see projection effects.
Lab C — Filter sensitivity
1. Toggle Use Volume Filter off, and record the number and quality of signals in a 2-day window.
2. Re-enable volume filter and change threshold from 1.2 → 1.6; note how many low-quality signals are filtered out.
Lab D — Trade management simulation
1. For each signalled trade, record the time, close entry approximation, TP, SL, and eventual hit/miss.
2. Compute actual PnL if you had entered at the open of the next bar to compare with the script’s PnL math.
3. Tabulate win rate and average R:R.
Lab E — Performance review & improvement
1. Build a spreadsheet of signals over 30–90 periods with columns: Date, Signal type, Entry price (real), TP, SL, Exit, PnL, Notes.
2. Analyze which filters or indicators contributed most to winners vs losers and adjust weights.
________________________________________
13) Common pitfalls, assumptions & implementation notes (things to watch)
• P&L simplification: total_pnl uses close as a proxy entry price. Real entry/exit prices and slippage are not recorded — so PnL is approximate.
• No position sizing or money management: the script doesn’t compute position size from equity or risk percent.
• Signal confirmation logic: composite "signal_strength" is a simple 4×25 point scheme — explore different weights or additional signals.
• Order block detection nuance: the script defines the base candle and checks the subsequent sequence. Be sure to verify whether the intended candle direction (base being bullish vs bearish) aligns with academic/your trading definition — read the code carefully and test.
• Trendline slope over time: slope is computed using timestamps; small differences may make lines sensitive on very short timeframes — using bar_index differences is usually more stable.
• Not a true backtester: to evaluate performance statistically you must transform the logic into a strategy script that places hypothetical orders and records exact entry/exit prices.
________________________________________
14) Suggested improvements for advanced learners
• Record true entry price & timestamp for accurate PnL.
• Add position sizing: risk % per trade using SL distance and account size.
• Convert to strategy. (Pine Strategy)* to run formal backtests with equity curves, drawdowns, and metrics (Sharpe, Sortino).
• Log trades to an external spreadsheet (via alerts + webhook) for offline analysis.
• Add statistics: average win/loss, expectancy, max drawdown.
• Add additional filters: news time blackout, market session filters, multi-timeframe confirmation.
• Improve OB detection: combine wick/body, volume spike at base bar, and liquidity sweep detection.
________________________________________
15) Glossary — quick definitions
• ATR (Average True Range): measure of typical range; used to size targets and stops.
• EMA (Exponential Moving Average): trend smoothing giving more weight to recent prices.
• RSI (Relative Strength Index): momentum oscillator; >70 overbought, <30 oversold.
• MACD: momentum oscillator using difference of two EMAs.
• Bollinger Bands: volatility bands around SMA.
• Order Block: a base candle area with subsequent confirmation candles; a zone of institutional interest (learning model).
• Pivot High/Low: local turning point defined by candles on both sides.
• Signal Strength: combined score from multiple indicators.
• Win Rate: proportion of signals that hit TP vs total signals.
• R:R (Risk:Reward): ratio of potential reward (TP distance) to risk (entry to SL).
________________________________________
16) Limitations & assumptions (be explicit)
• This is an indicator for learning — not a trading robot or broker connection.
• No slippage, fees, commissions or tie-in to real orders are considered.
• The logic is heuristic (rule-of-thumb), not a guarantee of performance.
• Results are sensitive to timeframe, market liquidity, and parameter choices.
________________________________________
17) Practical classroom / study plan (4 sessions)
• Session 1 — Foundations: Understand EMAs, ATR, RSI, MACD, Bollinger Bands. Run the indicator and watch how these numbers change on a single day.
• Session 2 — Zones & Filters: Study order blocks and trendlines. Test volume & ATR filters and note changes in false signals.
• Session 3 — Simulated trading: Manually track 20 signals, compute real PnL and compare to the dashboard.
• Session 4 — Improvement plan: Propose changes (e.g., better PnL accounting, alternative OB rule) and test their impact.
________________________________________
18) Quick reference checklist for each signal
1. Was an order block or trendline break detected? (primary trigger)
2. Did volume meet threshold? (filter)
3. Did ATR filter (bar size) show a real move? (filter)
4. Was trend aligned (EMA 9/21/50)? (confirmation)
5. Signal confirmed → mark entry approximation, TP, SL.
6. Monitor dashboard (Signal Strength, Volatility, No-trade zone, R:R).
7. After exit, log real entry/exit, compute actual PnL, update spreadsheet.
________________________________________
19) Educational caveat & final note
This tool is built for training and analysis: it helps you see how common technical building blocks combine into trade ideas, but it is not a trading recommendation. Use it to develop judgment, to test hypotheses, and to design robust systems with proper backtesting and risk control before risking capital.
________________________________________
20) Disclaimer (must include)
Training & Educational Only — This material and the indicator are provided for educational purposes only. Nothing here is investment advice or a solicitation to buy or sell financial instruments. Past simulated or historical performance does not predict future results. Always perform full backtesting and risk management, and consider seeking advice from a qualified financial professional before trading with real capital.
________________________________________
Big Orders Detector - Whale Activity SpotterDetect Institutional & Whale Trading Activity with Volume Analysis
This indicator helps traders identify significant buy/sell orders (whale activity) by analyzing volume spikes and price movements. Perfect for spotting institutional entries and exits.
📊 Key Features:
Volume Spike Detection - Identifies when volume exceeds average by customizable multiplier
Price Movement Analysis - Tracks significant price changes with adjustable threshold
Smart Direction Detection - Distinguishes between big buy and sell orders
Visual Markers - Clear arrows, background highlights, and detailed labels
Flexible Settings - Fully customizable parameters for different trading styles
Statistics Table - Optional real-time order count tracking
Alert System - Built-in alerts for automated notifications
⚙️ How It Works:
The indicator combines volume analysis with price movement detection to identify unusual market activity. When volume significantly exceeds the moving average AND price shows meaningful movement, it marks these as potential whale orders.
🎯 Best Used For:
Crypto markets with high volume activity
Forex pairs during major news events
Stock trading around earnings/announcements
Identifying institutional accumulation/distribution
📈 Settings Guide:
Volume Multiplier (3.0) - How many times above average volume (recommended minimum: 3.0)
Volume Period (20) - Moving average period for volume
Price Threshold (1.5%) - Minimum price change requirement
Visual Options - Toggle arrows, labels, and background highlights
💡 Trading Tips:
Use on liquid markets with consistent volume
Combine with support/resistance levels
Higher timeframes show more significant orders
Adjust sensitivity based on market volatility
⚠️ Important Notes:
Not financial advice - for educational purposes only
Past performance doesn't guarantee future results
Always use proper risk management
Test parameters on your specific markets
Perfect for swing traders, day traders, and anyone looking to spot whale activity in their favorite markets!
4-Hour Range HighlighterThe 4-Hour Range Highlighter is a powerful visual analysis tool designed for traders operating on lower timeframes (like 5m, 15m, or 1H). It overlays the critical price range of the 4-hour (4H) candlestick onto your chart, providing immediate context from a higher timeframe. This helps you align your intraday trades with the dominant higher-timeframe structure, identifying key support and resistance zones, breakouts, and market volatility at a glance.
Key Features:
Visual Range Overlay: Draws a semi-transparent colored background spanning the entire High and Low of each 4-hour period.
Trend-Based Coloring: Automatically colors the range based on the 4H candle's direction:
Green: Bullish 4H candle (Close > Open)
Red: Bearish 4H candle (Close < Open)
Blue: Neutral 4H candle (Close = Open)
Customizable High/Low Lines: Optional, subtle lines plot the exact high and low of the 4H bar, acting as dynamic support/resistance levels.
Fully Customizable: Easily change colors and toggle visual elements on/off in the settings to match your chart's theme.
How to Use It:
Identify Key Levels: The top and bottom of the shaded area represent significant intraday support and resistance. Watch for price reactions at these levels.
Trade in Context: Use the trend color to gauge sentiment. For example, look for buy opportunities near the low of a bullish (green) 4H range.
Spot Breakouts: A strong candle closing above the high or below the low of the current 4H range can signal a continuation or the start of a new strong move.
Gauge Volatility: A large shaded area indicates a high-volatility 4H period. A small area suggests consolidation or low volatility.
Settings:
Visual Settings: Toggle the background and choose colors for Bullish, Bearish, and Neutral ranges.
Line Settings: Toggle the high/low lines and customize their colors.
Note: This is a visual aid, not a standalone trading system. It provides context but does not generate buy/sell signals. Always use it in conjunction with your own analysis and risk management.
Perfect for Day Traders, Swing Traders, and anyone who needs higher-timeframe context on their chart!
How to Use / Instructions:
After adding the script to your chart, open the settings menu (click on the indicator's name and then the gear icon).
In the "Inputs" tab, you will find two groups: "Visual Settings" and "Line Settings".
In Visual Settings, you can:
Toggle Show 4H Range Background on/off.
Change the Bullish Color, Bearish Color, and Neutral Color for the transparent background.
In Line Settings, you can:
Toggle Show High/Low Lines on/off.
Change the line colors for each trend type.
Adjust the colors to your preference. The default settings use transparency for a clean look that doesn't clutter the chart.
Ultra Volume DetectorNative Volume — Auto Levels + Ultra Label
What it does
This indicator classifies volume bars into four categories — Low, Medium, High, and Ultra — using rolling percentile thresholds. Instead of fixed cutoffs, it adapts dynamically to recent market activity, making it useful across different symbols and timeframes. Ultra-high volume bars are highlighted with labels showing compacted values (K/M/B/T) and the appropriate unit (shares, contracts, ticks, etc.).
Core Logic
Dynamic thresholds: Calculates percentile levels (e.g., 50th, 80th, 98th) over a user-defined window of bars.
Categorization: Bars are colored by category (Low/Med/High/Ultra).
Ultra labeling: Only Ultra bars are labeled, preventing chart clutter.
Optional MA: A moving average of raw volume can be plotted for context.
Alerts: Supports both alert condition for Ultra events and dynamic alert() messages that include the actual volume value at bar close.
How to use
Adjust window size: Larger windows (e.g., 200+) provide stable thresholds; smaller windows react more quickly.
Set percentiles: Typical defaults are 50 for Medium, 80 for High, and 98 for Ultra. Lower the Ultra percentile to see more frequent signals, or raise it to isolate only extreme events.
Read chart signals:
Bar colors show the category.
Labels appear only on Ultra bars.
Alerts can be set up for automatic notification when Ultra volume occurs.
Why it’s unique
Adaptive: Uses rolling statistics, not static thresholds.
Cross-asset ready: Adjusts units automatically depending on instrument type.
Efficient visualization: Focuses labels only on the most significant events, reducing noise.
⚠️ Disclaimer: This tool is for educational and analytical purposes only. It does not provide financial advice. Always test and manage risk before trading live
Machine Learning-Inspired Supply & Demand Zones [AlgoPoint]This indicator is a Smart Supply & Demand Zone tool, developed with principles inspired by Machine Learning (ML). It intelligently filters out market noise, allowing you to focus only on the most significant zones where institutional order flow is likely present.
💡 How It Works: Why Is This Indicator "Smart"?
Unlike traditional indicators that only measure simple price movements, this script uses an algorithm that asks the same critical questions an experienced market analyst would to qualify a zone:
- 1. Price Imbalance: How fast and aggressively did the price leave the zone? Our algorithm measures the body size of the "departure candle" relative to the current market volatility (ATR). A zone is only considered if it was formed by an explosive move that is statistically significant, indicating a major imbalance between buyers and sellers.
- 2. Volume Confirmation: Did the "smart money" participate in this move? The script checks if the volume on the departure candle was significantly higher than the recent average volume. A spike in volume confirms that the move was backed by institutional interest, adding strength and validity to the zone.
- 3. Valid Pivot Structure: Did the zone originate from a meaningful swing high or low? The algorithm first identifies a valid pivot structure, ensuring that zones are not drawn from insignificant or random price fluctuations.
Only when a potential zone passes these three critical tests—our "quality filter"—is it drawn on your chart.
🚀 Features & How to Use
Using the indicator is straightforward. You will see two primary types of boxes on your chart:
* 🟥 Red Box (Supply Zone): An area of potential resistance where selling pressure is likely to be strong. Look for potential shorting opportunities as the price approaches this zone.
* 🟩 Green Box (Demand Zone): An area of potential support where buying pressure is likely to be strong. Look for potential long opportunities as the price pulls back into this zone.
Dynamic Zone Management
This indicator is not static; it lives and breathes with the market:
- Fresh Zone: A newly formed zone appears in its full, vibrant color. These are the highest-probability zones as they have not yet been re-tested.
- Broken / Flipped Zone: You have full control over what happens when a zone is broken! In the settings, you can choose:
- Delete Zone: The zone will be removed completely when the price closes through it.
- Show as Broken (Flip): When broken, the zone will turn gray, stop extending, and remain on your chart. This is extremely useful for identifying Support/Resistance Flips, where a broken demand zone becomes new resistance, or a broken supply zone becomes new support.
⚙️ Settings & Customization
Fine-tune the indicator to match your personal trading style via the settings menu:
- Breakout Behavior: The most powerful feature. Choose between Delete Zone and Show as Broken (Flip) to customize your chart.
- Zone Finding Logic: Control the indicator's sensitivity.
- Selective: Requires both strong imbalance and high volume. Finds fewer, but higher-quality, zones.
- Moderate: Requires either strong imbalance or high volume. Finds more potential zones.
- Sensitivity Settings: Adjust the ATR Multiplier and Volume Multiplier to make the criteria for a "strong" zone stricter or looser.
BE-Fib Channel 2 Sided Trading█ Overview:
"BE-Fib Channel 2 Sided Trading" indicator is built with the thought of 2 profound setups named "Cup & Handle (C&H)" and "Fibonacci Channel Trading (FCT)" with the context of "day trading" or with a minimum holding period.
█ Similarities, Day Trading Context & Error Patterns:
While the known fact is that both C&H and FCT provide setups with lesser risk with bigger returns, they both share the similar "Base Pattern".
Note: Inverse of the above Image shall switch the setups between long vs short.
Since the indicator is designed for smaller time-frame candles, there may be instances where the "base pattern" does not visually resemble a Cup & Handle (C&H) pattern. However, patterns are validated using pivot points. The points labeled "A" and "C" can be equal or slightly slanted. Settings of the Indicator allows traders a flexibility to control the angle of these points to spot the strategies according to set conditions. Therefore, understanding the nuances of these patterns is crucial for effective decision-making.
█ 2 Sided Edge: FCT suggests to take trade closer to the yellow line to get better RR ratio. this leaves a small chance of doubt as to; what if price is intended to break the Yellow line thereby activating the C&H.
Wait for the confirmation is a Big FOMO with a compromised RR.
Hence, This indicator is designed to handle both the patterns based on the strength, FIFO and pattern occurring delay.
█ How to Use this Indicator:
Step 1: Enable the Show Sample Sensitivity option to understand the angle of yellow line shown in the sample image. By enabling this option, On the last bar you shall see 4 lines being plotted depicting the max angle which is acceptable for both long and short trades.
Note: Angle can be controlled via setting "Sensitivity".
Higher Sensitivity --> Higher Setup identification --> can lead to failed setups due to 2 sided trading.
Lower Sensitivity --> Lower Setup identification --> can increase the changes of being right.
Step 2: Adjust the look back & look forward periods which shall be used for identifying patterns.
Note: Smaller values can lead to more setups being identified but can hamper the performance of the indicator while increasing the chances of failures. larger values identifies more significant setup but leads to more waiting period thereby compromising on the RR.
Step 3: Adjust the Base Range.
Note: Smaller values can lead to more setups being identified but can hamper the performance of the indicator while increasing the chances of failures. larger values identifies more significant setup but leads to more Risk on play.
Step 4: set the Entry level for FCT & Set the SL for Both FCT & C&H and Target Reward ratio for C&H.
█ Features of Indicator & How it works:
1. Patterns are being identified using Pivot Points method.
2. Tracks & validates both the setups simultaneously on every candle and traded one at a time based on FIFO, New setups found in-between, Defined Entry Levels while on wait for the other pattern to get activated.
3. Alerts added for trade events.
4. FCT setups are generally traded with trailed SL level and increasing Target level on every completed bar. while C&H has the standard SL & TP level with no Trail SL option.
DISCLAIMER: No sharing, copying, reselling, modifying, or any other forms of use are authorized for our documents, script / strategy, and the information published with them. This informational planning script / strategy is strictly for individual use and educational purposes only. This is not financial or investment advice. Investments are always made at your own risk and are based on your personal judgement. I am not responsible for any losses you may incur. Please invest wisely.
Happy to receive suggestions and feedback in order to improve the performance of the indicator better.
BTC/USD 3-Min Binary Prediction [v7.2 EN]BTC/USD 3-Minute Binary Prediction Indicator v7.2 - Complete Guide
Overview
This is an advanced technical analysis indicator designed for Bitcoin/USD binary options trading with 3-minute expiration times. The system aims for an 83% win rate by combining multiple analysis layers and pattern recognition.
How It Works
Core Prediction Logic
- Timeframe: Predicts whether BTC price will be ±$25 higher (HIGH) or lower (LOW) after 3 minutes
- Entry Signals: Generates HIGH/LOW signals when confidence exceeds threshold (default 75%)
- Verification: Automatically tracks and displays win/loss statistics in real-time
5-Layer Filter System
The indicator uses a sophisticated scoring system (0-100 points):
1. Trend Filter (25 points) - Analyzes EMA alignments and price momentum
2. Leading Indicators (25 points) - RSI and MACD divergence analysis
3. Volume Confirmation (20 points) - Detects unusual volume patterns
4. Support/Resistance (15 points) - Identifies key price levels
5. Momentum Alignment (15 points) - Measures acceleration and deceleration
Pattern Recognition
Automatically detects and visualizes:
- Double Tops/Bottoms - Reversal patterns
- Triangles - Ascending, descending, symmetrical
- Channels - Trending price channels
- Candlestick Patterns - Engulfing, hammer, hanging man
Multi-Timeframe Analysis
- Uses 1-minute and 5-minute data for confirmation
- Aligns multiple timeframes for higher probability trades
- Monitors trend consistency across timeframes
Key Features
Display Panels
1. Statistics Panel (Top Right)
- Overall win rate percentage
- Hourly performance (wins/losses)
- Daily performance
- Current system status
2. Analysis Panel (Left Side)
- Market trend analysis
- RSI status (overbought/oversold)
- Volume conditions
- Filter scores for each component
- Final HIGH/LOW/WAIT decision
Visual Signals
- Green Triangle (↑) = HIGH prediction
- Red Triangle (↓) = LOW prediction
- Yellow Background = Entry opportunity
- Blue Background = Waiting for result
Configuration Options
Basic Settings
- Range Width: Target price movement (default $50 = ±$25)
- Min Confidence: Minimum confidence to enter (default 75%)
- Max Daily Trades: Risk management limit (default 5)
Filters (Can be toggled on/off)
- Trend Filter
- Volume Confirmation
- Support/Resistance Filter
- Momentum Alignment
Display Options
- Show/hide signals, statistics, analysis
- Minimal Mode for cleaner charts
- EMA line visibility
Important Risk Warnings
Binary Options Trading Risks:
1. High Risk Product - Binary options are extremely risky and banned in many countries
2. Not Investment Advice - This tool is for educational/analytical purposes only
3. No Guaranteed Returns - Past performance doesn't predict future results
4. Capital at Risk - You can lose your entire investment in seconds
Technical Limitations:
- Requires stable internet connection
- Performance varies with market conditions
- High volatility can reduce accuracy
- Not suitable for news events or low liquidity periods
Best Practices
1. Paper Trade First - Test thoroughly on demo accounts
2. Risk Management - Never risk more than 1-2% per trade
3. Market Conditions - Works best in normal volatility conditions
4. Avoid Major Events - Don't trade during major news releases
5. Monitor Performance - Track your actual results vs displayed statistics
Setup Instructions
1. Add to TradingView chart (BTC/USD preferred)
2. Use 30-second or 1-minute chart timeframe
3. Adjust settings based on your risk tolerance
4. Monitor F-Score (should be >65 for entries)
5. Wait for clear HIGH/LOW signals with high confidence
Alert Configuration
The indicator provides three alert types:
- HIGH Signal alerts
- LOW Signal alerts
- General entry opportunity alerts
Legal Disclaimer
Binary options trading may not be legal in your jurisdiction. Many countries including the USA, Canada, and EU nations have restrictions or outright bans on binary options. Always check local regulations and consult with financial advisors before trading.
Remember: This is a technical analysis tool, not a money-printing machine. Successful trading requires discipline, risk management, and continuous learning. The displayed statistics are historical and don't guarantee future performance.
Ranges by TraderHaroThis indicator highlights a custom price range for a selected date/time period on your chart. It draws key levels (0.00, 0.25, 0.50, 0.75, 1.00) within the range, visually marking the Premium Zone (upper range) and Discount Zone (lower range).
Features:
- Define a specific date/time range for the analysis.
- Optional fill between top and bottom levels with customizable color and transparency.
- Shows mid-levels (0.25, 0.50, 0.75) for additional guidance.
- Lines and fill can be extended to the right side of the chart.
- Labels for levels can be displayed or hidden.
Use Case:
Quickly identify where price is trading relative to a defined range, visualize potential zones of premium (resistance) and discount (support), and make better-informed trading decisions.
Elliott Wave / NeoWave Rule Engine – v6.9This script functions as a "rule engine" that automatically identifies significant price swings and then tests them against a comprehensive set of Elliott Wave rules and guidelines.
The goal is to filter out low-probability setups and identify valid motive (impulse and diagonal) waves by applying user-defined tolerances. The script plots swings on the chart and can display a real-time dashboard that shows which rules are passing or failing. When a valid motive wave is detected, it can generate buy or sell signals.
User Settings
The script's behavior is controlled by a set of user inputs, organized into four main groups.
Swing / ZigZag Detection
These settings control how the script identifies the price swings that form the basis of the wave patterns.
Pivot Left Bars & Pivot Right Bars: These two values determine the sensitivity of the swing detection. A pivot point (a high or low) is only identified if it is the highest or lowest price within the specified number of bars to its left and right. Increasing these numbers will result in fewer, larger swings.
Minimum swing % (filter micro noise): This is a crucial filter. It ignores swings that are too small to be considered significant, helping to clean up the chart and prevent the engine from analyzing "noise." For example, a value of 0.3 means any swing that is less than 0.3% of the price range will be ignored.
Rule Engine Tolerances
This group allows you to define how strict the validation rules are.
Fibonacci tolerance (±%): This sets the acceptable margin of error for Fibonacci relationships (e.g., a 0.618 retracement). A value of 0.001 means a retracement between 0.617 and 0.619 will be considered a valid match.
Same-degree TIME proportion max (x): This sets the maximum time difference allowed between waves of the same degree (e.g., Wave 1 and Wave 3) to still be considered "proportional." A value of 1 means Wave 3's duration can be up to 1 time longer than Wave 1's duration, and vice-versa.
Same-degree PRICE proportion max (x): Similar to the time tolerance, this sets the maximum price difference allowed between waves of the same degree to still be considered proportional.
Alternation slope ratio threshold: This is a key NeoWave guideline. It checks if Wave 2 and Wave 4 have different "sharpness" (price change per bar). A higher value makes the alternation rule stricter.
Min guideline passes for motive validation (0–7): This is the gating feature. Even if a pattern passes all the hard Elliott Wave rules (e.g., no overlap, Wave 3 isn't the shortest), you can still require it to pass a minimum number of guidelines (like Fibonacci relationships, alternation, etc.) before a signal is generated. A value of 7 means every guideline must be met.
Momentum / Volume Guidelines
These are additional checks for pattern validation.
Momentum length: This setting controls a proxy for momentum, which is calculated based on the speed of price movement.
Use volume checks: This is a placeholder for future functionality. It does not currently affect the script's behavior.
UI / Debug
These settings control the visual aspects of the script on your chart.
Max swings to keep/evaluate: This determines how far back the script looks to find and analyze swings. A larger number will analyze more historical patterns but may impact performance.
Show detected labels: Toggles the display of numerical (1-2-3-4-5) and letter (A-B-C) labels on the detected waves.
Show rule PASS/FAIL dashboard: Toggles the on-chart table that provides a detailed breakdown of which rules and guidelines are met.
Table Position: Controls where the rule dashboard is located on your chart.
Print debug info to Data Window: If you are a developer or want to see the underlying data, this will print information to TradingView's Data Window.
Show Buy/Sell Signals: Toggles the display of Buy/Sell signals. These signals are only generated when a pattern passes all the hard rules and your minimum guideline pass requirement.
PnL Bubble [%] | Fractalyst1. What's the indicator purpose?
The PnL Bubble indicator transforms your strategy's trade PnL percentages into an interactive bubble chart with professional-grade statistics and performance analytics. It helps traders quickly assess system profitability, understand win/loss distribution patterns, identify outliers, and make data-driven strategy improvements.
How does it work?
Think of this indicator as a visual report card for your trading performance. Here's what it does:
What You See
Colorful Bubbles: Each bubble represents one of your trades
Blue/Cyan bubbles = Winning trades (you made money)
Red bubbles = Losing trades (you lost money)
Bigger bubbles = Bigger wins or losses
Smaller bubbles = Smaller wins or losses
How It Organizes Your Trades:
Like a Photo Album: Instead of showing all your trades at once (which would be messy), it shows them in "pages" of 500 trades each:
Page 1: Your first 500 trades
Page 2: Trades 501-1000
Page 3: Trades 1001-1500, etc.
What the Numbers Tell You:
Average Win: How much money you typically make on winning trades
Average Loss: How much money you typically lose on losing trades
Expected Value (EV): Whether your trading system makes money over time
Positive EV = Your system is profitable long-term
Negative EV = Your system loses money long-term
Payoff Ratio (R): How your average win compares to your average loss
R > 1 = Your wins are bigger than your losses
R < 1 = Your losses are bigger than your wins
Why This Matters:
At a Glance: You can instantly see if you're a profitable trader or not
Pattern Recognition: Spot if you have more big wins than big losses
Performance Tracking: Watch how your trading improves over time
Realistic Expectations: Understand what "average" performance looks like for your system
The Cool Visual Effects:
Animation: The bubbles glow and shimmer to make the chart more engaging
Highlighting: Your biggest wins and losses get extra attention with special effects
Tooltips: hover any bubble to see details about that specific trade.
What are the underlying calculations?
The indicator processes trade PnL data using a dual-matrix architecture for optimal performance:
Dual-Matrix System:
• Display Matrix (display_matrix): Bounded to 500 trades for rendering performance
• Statistics Matrix (stats_matrix): Unbounded storage for complete statistical accuracy
Trade Classification & Aggregation:
// Separate wins, losses, and break-even trades
if val > 0.0
pos_sum += val // Sum winning trades
pos_count += 1 // Count winning trades
else if val < 0.0
neg_sum += val // Sum losing trades
neg_count += 1 // Count losing trades
else
zero_count += 1 // Count break-even trades
Statistical Averages:
avg_win = pos_count > 0 ? pos_sum / pos_count : na
avg_loss = neg_count > 0 ? math.abs(neg_sum) / neg_count : na
Win/Loss Rates:
total_obs = pos_count + neg_count + zero_count
win_rate = pos_count / total_obs
loss_rate = neg_count / total_obs
Expected Value (EV):
ev_value = (avg_win × win_rate) - (avg_loss × loss_rate)
Payoff Ratio (R):
R = avg_win ÷ |avg_loss|
Contribution Analysis:
ev_pos_contrib = avg_win × win_rate // Positive EV contribution
ev_neg_contrib = avg_loss × loss_rate // Negative EV contribution
How to integrate with any trading strategy?
Equity Change Tracking Method:
//@version=6
strategy("Your Strategy with Equity Change Export", overlay=true)
float prev_trade_equity = na
float equity_change_pct = na
if barstate.isconfirmed and na(prev_trade_equity)
prev_trade_equity := strategy.equity
trade_just_closed = strategy.closedtrades != strategy.closedtrades
if trade_just_closed and not na(prev_trade_equity)
current_equity = strategy.equity
equity_change_pct := ((current_equity - prev_trade_equity) / prev_trade_equity) * 100
prev_trade_equity := current_equity
else
equity_change_pct := na
plot(equity_change_pct, "Equity Change %", display=display.data_window)
Integration Steps:
1. Add equity tracking code to your strategy
2. Load both strategy and PnL Bubble indicator on the same chart
3. In bubble indicator settings, select your strategy's equity tracking output as data source
4. Configure visualization preferences (colors, effects, page navigation)
How does the pagination system work?
The indicator uses an intelligent pagination system to handle large trade datasets efficiently:
Page Organization:
• Page 1: Trades 1-500 (most recent)
• Page 2: Trades 501-1000
• Page 3: Trades 1001-1500
• Page N: Trades to
Example: With 1,500 trades total (3 pages available):
• User selects Page 1: Shows trades 1-500
• User selects Page 4: Automatically falls back to Page 3 (trades 1001-1500)
5. Understanding the Visual Elements
Bubble Visualization:
• Color Coding: Cyan/blue gradients for wins, red gradients for losses
• Size Mapping: Bubble size proportional to trade magnitude (larger = bigger P&L)
• Priority Rendering: Largest trades displayed first to ensure visibility
• Gradient Effects: Color intensity increases with trade magnitude within each category
Interactive Tooltips:
Each bubble displays quantitative trade information:
tooltip_text = outcome + " | PnL: " + pnl_str +
" Date: " + date_str + " " + time_str +
" Trade #" + str.tostring(trade_number) + " (Page " + str.tostring(active_page) + ")" +
" Rank: " + str.tostring(rank) + " of " + str.tostring(n_display_rows) +
" Percentile: " + str.tostring(percentile, "#.#") + "%" +
" Magnitude: " + str.tostring(magnitude_pct, "#.#") + "%"
Example Tooltip:
Win | PnL: +2.45%
Date: 2024.03.15 14:30
Trade #1,247 (Page 3)
Rank: 5 of 347
Percentile: 98.6%
Magnitude: 85.2%
Reference Lines & Statistics:
• Average Win Line: Horizontal reference showing typical winning trade size
• Average Loss Line: Horizontal reference showing typical losing trade size
• Zero Line: Threshold separating wins from losses
• Statistical Labels: EV, R-Ratio, and contribution analysis displayed on chart
What do the statistical metrics mean?
Expected Value (EV):
Represents the mathematical expectation per trade in percentage terms
EV = (Average Win × Win Rate) - (Average Loss × Loss Rate)
Interpretation:
• EV > 0: Profitable system with positive mathematical expectation
• EV = 0: Break-even system, profitability depends on execution
• EV < 0: Unprofitable system with negative mathematical expectation
Example: EV = +0.34% means you expect +0.34% profit per trade on average
Payoff Ratio (R):
Quantifies the risk-reward relationship of your trading system
R = Average Win ÷ |Average Loss|
Interpretation:
• R > 1.0: Wins are larger than losses on average (favorable risk-reward)
• R = 1.0: Wins and losses are equal in magnitude
• R < 1.0: Losses are larger than wins on average (unfavorable risk-reward)
Example: R = 1.5 means your average win is 50% larger than your average loss
Contribution Analysis (Σ):
Breaks down the components of expected value
Positive Contribution (Σ+) = Average Win × Win Rate
Negative Contribution (Σ-) = Average Loss × Loss Rate
Purpose:
• Shows how much wins contribute to overall expectancy
• Shows how much losses detract from overall expectancy
• Net EV = Σ+ - Σ- (Expected Value per trade)
Example: Σ+: 1.23% means wins contribute +1.23% to expectancy
Example: Σ-: -0.89% means losses drag expectancy by -0.89%
Win/Loss Rates:
Win Rate = Count(Wins) ÷ Total Trades
Loss Rate = Count(Losses) ÷ Total Trades
Shows the probability of winning vs losing trades
Higher win rates don't guarantee profitability if average losses exceed average wins
7. Demo Mode & Synthetic Data Generation
When using built-in sources (close, open, etc.), the indicator generates realistic demo trades for testing:
if isBuiltInSource(source_data)
// Generate random trade outcomes with realistic distribution
u_sign = prand(float(time), float(bar_index))
if u_sign < 0.5
v_push := -1.0 // Loss trade
else
// Skewed distribution favoring smaller wins (realistic)
u_mag = prand(float(time) + 9876.543, float(bar_index) + 321.0)
k = 8.0 // Skewness factor
t = math.pow(u_mag, k)
v_push := 2.5 + t * 8.0 // Win trade
Demo Characteristics:
• Realistic win/loss distribution mimicking actual trading patterns
• Skewed distribution favoring smaller wins over large wins
• Deterministic randomness for consistent demo results
• Includes jitter effects to prevent visual overlap
8. Performance Limitations & Optimizations
Display Constraints:
points_count = 500 // Maximum 500 dots per page for optimal performance
Pine Script v6 Limits:
• Label Count: Maximum 500 labels per indicator
• Line Count: Maximum 100 lines per indicator
• Box Count: Maximum 50 boxes per indicator
• Matrix Size: Efficient memory management with dual-matrix system
Optimization Strategies:
• Pagination System: Handle unlimited trades through 500-trade pages
• Priority Rendering: Largest trades displayed first for maximum visibility
• Dual-Matrix Architecture: Separate display (bounded) from statistics (unbounded)
• Smart Fallback: Automatic page clamping prevents empty displays
Impact & Workarounds:
• Visual Limitation: Only 500 trades visible per page
• Statistical Accuracy: Complete dataset used for all calculations
• Navigation: Use page input to browse through entire trade history
• Performance: Smooth operation even with thousands of trades
9. Statistical Accuracy Guarantees
Data Integrity:
• Complete Dataset: Statistics matrix stores ALL trades without limit
• Proper Aggregation: Separate tracking of wins, losses, and break-even trades
• Mathematical Precision: Pine Script v6's enhanced floating-point calculations
• Dual-Matrix System: Display limitations don't affect statistical accuracy
Calculation Validation:
// Verified formulas match standard trading mathematics
avg_win = pos_sum / pos_count // Standard average calculation
win_rate = pos_count / total_obs // Standard probability calculation
ev_value = (avg_win * win_rate) - (avg_loss * loss_rate) // Standard EV formula
Accuracy Features:
• Mathematical Correctness: Formulas follow established trading statistics
• Data Preservation: Complete dataset maintained for all calculations
• Precision Handling: Proper rounding and boundary condition management
• Real-Time Updates: Statistics recalculated on every new trade
10. Advanced Technical Features
Real-Time Animation Engine:
// Shimmer effects with sine wave modulation
offset = math.sin(shimmer_t + phase) * amp
// Dynamic transparency with organic flicker
new_transp = math.min(flicker_limit, math.max(-flicker_limit, cur_transp + dir * flicker_step))
• Sine Wave Shimmer: Dynamic glowing effects on bubbles
• Organic Flicker: Random transparency variations for natural feel
• Extreme Value Highlighting: Special visual treatment for outliers
• Smooth Animations: Tick-based updates for fluid motion
Magnitude-Based Priority Rendering:
// Sort trades by magnitude for optimal visual hierarchy
sort_indices_by_magnitude(values_mat)
• Largest First: Most important trades always visible
• Intelligent Sorting: Custom bubble sort algorithm for trade prioritization
• Performance Optimized: Efficient sorting for real-time updates
• Visual Hierarchy: Ensures critical trades never get hidden
Professional Tooltip System:
• Quantitative Data: Pure numerical information without interpretative language
• Contextual Ranking: Shows trade position within page dataset
• Percentile Analysis: Performance ranking as percentage
• Magnitude Scaling: Relative size compared to page maximum
• Professional Format: Clean, data-focused presentation
11. Quick Start Guide
Step 1: Add Indicator
• Search for "PnL Bubble | Fractalyst" in TradingView indicators
• Add to your chart (works on any timeframe)
Step 2: Configure Data Source
• Demo Mode: Leave source as "close" to see synthetic trading data
• Strategy Mode: Select your strategy's PnL% output as data source
Step 3: Customize Visualization
• Colors: Set positive (cyan), negative (red), and neutral colors
• Page Navigation: Use "Trade Page" input to browse trade history
• Visual Effects: Built-in shimmer and animation effects are enabled by default
Step 4: Analyze Performance
• Study bubble patterns for win/loss distribution
• Review statistical metrics: EV, R-Ratio, Win Rate
• Use tooltips for detailed trade analysis
• Navigate pages to explore full trade history
Step 5: Optimize Strategy
• Identify outlier trades (largest bubbles)
• Analyze risk-reward profile through R-Ratio
• Monitor Expected Value for system profitability
• Use contribution analysis to understand win/loss impact
12. Why Choose PnL Bubble Indicator?
Unique Advantages:
• Advanced Pagination: Handle unlimited trades with smart fallback system
• Dual-Matrix Architecture: Perfect balance of performance and accuracy
• Professional Statistics: Institution-grade metrics with complete data integrity
• Real-Time Animation: Dynamic visual effects for engaging analysis
• Quantitative Tooltips: Pure numerical data without subjective interpretations
• Priority Rendering: Intelligent magnitude-based display ensures critical trades are always visible
Technical Excellence:
• Built with Pine Script v6 for maximum performance and modern features
• Optimized algorithms for smooth operation with large datasets
• Complete statistical accuracy despite display optimizations
• Professional-grade calculations matching institutional trading analytics
Practical Benefits:
• Instantly identify system profitability through visual patterns
• Spot outlier trades and risk management issues
• Understand true risk-reward profile of your strategies
• Make data-driven decisions for strategy optimization
• Professional presentation suitable for performance reporting
Disclaimer & Risk Considerations:
Important: Historical performance metrics, including positive Expected Value (EV), do not guarantee future trading success. Statistical measures are derived from finite sample data and subject to inherent limitations:
• Sample Bias: Historical data may not represent future market conditions or regime changes
• Ergodicity Assumption: Markets are non-stationary; past statistical relationships may break down
• Survivorship Bias: Strategies showing positive historical EV may fail during different market cycles
• Parameter Instability: Optimal parameters identified in backtesting often degrade in forward testing
• Transaction Cost Evolution: Slippage, spreads, and commission structures change over time
• Behavioral Factors: Live trading introduces psychological elements absent in backtesting
• Black Swan Events: Extreme market events can invalidate statistical assumptions instantaneously
BTC Macro Composite Global liquidity Index -OffsetThis indicator is based on the thesis that Bitcoin price movements are heavily influenced by macro liquidity trends. It calculates a weighted composite index based on the following components:
• Global Liquidity (41%): Sum of central bank balance sheets (Fed , ECB , BoJ , and PBoC ), adjusted to USD.
• Investor Risk Appetite (22%): Derived from the Copper/Gold ratio, inverse VIX (as a risk-on signal), and the spread between High Yield and Investment Grade bonds (HY vs IG OAS).
• Gold Sensitivity (15–20%): Combines the XAUUSD price with BTC/Gold ratio to reflect the historical influence of gold on Bitcoin pricing.
Each component is normalized and then offset forward by 90 days to attempt predictive alignment with Bitcoin’s price.
The goal is to identify macro inflection points with high predictive value for BTC. It is not a trading signal generator but rather a macro trend context indicator.
❗ Important: This script should be used with caution. It does not account for geopolitical shocks, regulatory events, or internal BTC market structure (e.g., miner behavior, on-chain metrics).
💡 How to use:
• Use on the 1D timeframe.
• Look for divergences between BTC price and the macro index.
• Apply in confluence with other technical or fundamental frameworks.
🔍 Originality:
While similar components exist in macro dashboards, this script combines them uniquely using time-forward offsets and custom weighting specifically tailored for BTC behavior.
Day Label-WeeklyProfile-AdrianFx94This indicator is designed for Daily charts.
It writes a small label (like “L, M, G, V”) inside each candle’s body, exactly in the middle between the open and close.
Each label tells you which weekday closed that candle:
L → Monday
M → Tuesday
M/ME → Wednesday
G → Thursday
V → Friday
(Saturday and Sunday aren’t marked.)
Why it’s useful
It gives you a quick visual map of the week’s progression, day by day.
You immediately see the sequence of daily closes inside a week.
You can spot when the market trended cleanly through the week (labels step up or down neatly).
You notice when there’s choppy or balanced behavior (labels are mixed, up and down).
You can identify which day was the turning point or initiative day (a single label much higher or lower than the rest).
It’s a simple way to read the weekly profile of price action without having to remember which candle is which day.
Controls you have
You can change the letters (for example, instead of “L” you could write “Mo”).
You can change the text size, color, and add a background.
You can choose to show:
All weeks
Only this week
Only last week
That helps when you want to focus on a single week’s structure.
Important notes
It only works on Daily charts. On smaller timeframes it will just warn you.
The label sticks to the candle’s body, so even if you zoom or pan, it stays anchored where that day closed.
It’s not a volume profile or TPO — it’s purely about the closing position of each day.
👉 In short: this indicator is like a weekly diary on your chart — each candle is marked with the day of the week, so you can quickly analyze how the market behaved across past weeks, which days carried strength, and where momentum shifted.
This indicator shows a short label for each weekday directly inside the daily candle.
The nice part is: you can choose the letters yourself.
For example, if you are Italian, you might want:
Monday → L (Lunedì)
Tuesday → M (Martedì)
Wednesday → ME (Mercoledì)
Thursday → G (Giovedì)
Friday → V (Venerdì)
If you prefer English, you could set:
Monday → M
Tuesday → T
Wednesday → W
Thursday → Th
Friday → F
If you want very short codes, you could just write 1, 2, 3, 4, 5.
So the indicator is language-neutral — you adapt it to your country, your style, or even your personal system of marks.
RVM LLS Indicator and Low cheat Set upLow cheat set up. The indicator helps for a low stop loss entry. Risk reward should be well managed. Use it at your own risk. Enjoy.
Indicator 102#M3indicator based on Daily and weekly fib Level. Initial Breakout and breakdowns have been denoted as well
Yaso- Structural Signals: Buy/Sell (Clean v5)//@version=5
indicator("Structural Signals: Buy/Sell (Clean v5)", overlay=true)
//===================== Inputs =====================
grpCtx = "Context (Structure)"
lenDon = input.int(20, "Donchian Lookback (S/R proxy)", minval=5, group=grpCtx)
ema20On = input.bool(true, "Show EMA 20", group=grpCtx)
ema50On = input.bool(true, "Show EMA 50", group=grpCtx)
ema200On = input.bool(true, "Show EMA 200", group=grpCtx)
grpVol = "Volume Confirmation"
volLen = input.int(20, "Volume SMA Length", minval=2, group=grpVol)
volMult = input.float(1.5, "Volume Spike × SMA", minval=1.0, step=0.1, group=grpVol)
grpCand = "Candlestick Reversal (at Structure)"
useHammer = input.bool(true, "BUY: Hammer/Bottoming Tail near Support", group=grpCand)
useStar = input.bool(true, "SELL: Shooting Star/Topping Tail near Resistance", group=grpCand)
srNearPct = input.float(0.004, "‘Near’ S/R tolerance (0.004=0.4%)", step=0.001, minval=0.0, group=grpCand)
grpBreak = "Breakouts / Breakdowns"
useBO = input.bool(true, "BUY: Breakout above Resistance (Donchian High)", group=grpBreak)
useBD = input.bool(true, "SELL: Breakdown below Support (Donchian Low)", group=grpBreak)
grpPats = "Double Tops / Bottoms (pivots)"
useDB = input.bool(true, "BUY: Double Bottom / Higher Low", group=grpPats)
useDT = input.bool(true, "SELL: Double Top / Lower High", group=grpPats)
pvLeft = input.int(3, "Pivot Left Bars", minval=2, group=grpPats)
pvRight = input.int(3, "Pivot Right Bars", minval=2, group=grpPats)
matchTolPct = input.float(0.0075, "Price Match Tolerance (0.75%)", step=0.0005, minval=0.0, group=grpPats)
grpXover = "Trend Filters (Crosses)"
useGolden = input.bool(true, "BUY: Golden Cross (EMA50 > EMA200)", group=grpXover)
useDeath = input.bool(true, "SELL: Death Cross (EMA50 < EMA200)", group=grpXover)
grpGap = "Gap Fills (Daily preferred)"
useGapUpRev = input.bool(true, "SELL: Gap-Up Fill & Reversal (close < prior close)", group=grpGap)
useGapDnRev = input.bool(true, "BUY: Gap-Down Fill & Reversal (close > prior close)", group=grpGap)
minGapPct = input.float(0.01, "Min Gap % (1% = 0.01)", minval=0.0, step=0.001, group=grpGap)
grpAgg = "Alert Controls"
aggregateAlerts = input.bool(true, "Enable Aggregate BUY/SELL Alerts", group=grpAgg)
//===================== Context =====================
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
donHi = ta.highest(high, lenDon)
donLo = ta.lowest(low, lenDon)
plot(ema20On ? ema20 : na, "EMA 20", color=color.new(color.teal, 0), linewidth=2)
plot(ema50On ? ema50 : na, "EMA 50", color=color.new(color.orange, 0), linewidth=2)
plot(ema200On ? ema200 : na, "EMA 200", color=color.new(color.blue, 0), linewidth=2)
plot(donHi, "Donchian High", color=color.new(color.red, 40))
plot(donLo, "Donchian Low", color=color.new(color.green,40))
volSMA = ta.sma(volume, volLen)
volSpike = volume > volSMA * volMult
//===================== Helpers =====================
near(val, ref, pct) =>
// true if |val - ref| / ref <= pct (with nz guard)
math.abs(val - ref) / nz(ref, val) <= pct
lowerWick() =>
(open < close ? open : close) - low
upperWick() =>
high - (open > close ? open : close)
bodySize() =>
math.abs(close - open)
isHammer() =>
lw = lowerWick()
uw = upperWick()
bd = bodySize()
lw >= bd * 2 and uw <= bd * 0.6 and close > open
isShootingStar() =>
lw = lowerWick()
uw = upperWick()
bd = bodySize()
uw >= bd * 2 and lw <= bd * 0.6 and close < open
nearSupport = near(low, donLo, srNearPct) or near(low, ema200, srNearPct)
nearResist = near(high, donHi, srNearPct) or near(high, ema200, srNearPct)
//===================== Signals =====================
// Breakouts / Breakdowns
buyBreakout = useBO and ta.crossover(close, donHi ) and (volSpike or close > donHi )
sellBreakdown = useBD and ta.crossunder(close, donLo ) and (volSpike or close < donLo )
// Pivots → Double Bottom / Top
pL = ta.pivotlow(low, pvLeft, pvRight)
pH = ta.pivothigh(high, pvLeft, pvRight)
lastLow = ta.valuewhen(pL, low , 0)
prevLow = ta.valuewhen(pL, low , 1)
lastHigh = ta.valuewhen(pH, high , 0)
prevHigh = ta.valuewhen(pH, high , 1)
priceMatch(a, b, tol) =>
not na(a) and not na(b) and math.abs(a - b) / b <= tol
doubleBottom = useDB and priceMatch(lastLow, prevLow, matchTolPct) and nz(lastLow) > nz(prevLow)
doubleTop = useDT and priceMatch(lastHigh, prevHigh, matchTolPct) and nz(lastHigh) < nz(prevHigh)
// Crosses (trend)
goldenCross = useGolden and ta.crossover(ema50, ema200)
deathCross = useDeath and ta.crossunder(ema50, ema200)
// Gap fill reversals (daily)
isDaily = timeframe.isdaily
gapUp = isDaily and open > close * (1 + minGapPct)
gapDown = isDaily and open < close * (1 - minGapPct)
gapUpFillRev = useGapUpRev and gapUp and high >= close and close < close
gapDnFillRev = useGapDnRev and gapDown and low <= close and close > close
// Candles at structure
hammerAtSupport = useHammer and isHammer() and nearSupport
starAtResist = useStar and isShootingStar() and nearResist
// Aggregate booleans (no arrays, no loops)
anyBuy = hammerAtSupport or buyBreakout or doubleBottom or goldenCross or gapDnFillRev
anySell = starAtResist or sellBreakdown or doubleTop or deathCross or gapUpFillRev
//===================== Plots =====================
plotshape(hammerAtSupport, title="BUY: Hammer @ Support", style=shape.triangleup, color=color.new(color.lime, 0), size=size.tiny, location=location.belowbar, text="Hammer@S")
plotshape(buyBreakout, title="BUY: Breakout", style=shape.triangleup, color=color.new(color.green, 0), size=size.tiny, location=location.belowbar, text="BO")
plotshape(doubleBottom, title="BUY: Double Bottom", style=shape.triangleup, color=color.new(color.teal, 0), size=size.tiny, location=location.belowbar, text="DB")
plotshape(goldenCross, title="BUY: Golden Cross", style=shape.triangleup, color=color.new(color.aqua, 0), size=size.tiny, location=location.belowbar, text="GC")
plotshape(gapDnFillRev, title="BUY: Gap-Down Reversal",style=shape.triangleup, color=color.new(color.fuchsia,0), size=size.tiny, location=location.belowbar, text="GapDnREV")
plotshape(starAtResist, title="SELL: Star @ Resistance",style=shape.triangledown, color=color.new(color.red, 0), size=size.tiny, location=location.abovebar, text="Star@R")
plotshape(sellBreakdown, title="SELL: Breakdown", style=shape.triangledown, color=color.new(color.maroon, 0), size=size.tiny, location=location.abovebar, text="BD")
plotshape(doubleTop, title="SELL: Double Top", style=shape.triangledown, color=color.new(color.orange, 0), size=size.tiny, location=location.abovebar, text="DT")
plotshape(deathCross, title="SELL: Death Cross", style=shape.triangledown, color=color.new(color.purple, 0), size=size.tiny, location=location.abovebar, text="DC")
plotshape(gapUpFillRev, title="SELL: Gap-Up Reversal", style=shape.triangledown, color=color.new(color.yellow, 0), size=size.tiny, location=location.abovebar, text="GapUpREV")
plotshape(aggregateAlerts and anyBuy, title="BUY (Aggregate)", style=shape.labelup, color=color.new(color.green, 70), textcolor=color.black, text="BUY", location=location.belowbar, size=size.tiny)
plotshape(aggregateAlerts and anySell, title="SELL (Aggregate)", style=shape.labeldown, color=color.new(color.red, 70), textcolor=color.black, text="SELL", location=location.abovebar, size=size.tiny)
//===================== Alerts =====================
alertcondition(hammerAtSupport, "BUY: Hammer @ Support", "Hammer/Bottoming Tail at support on {{ticker}} {{interval}}")
alertcondition(buyBreakout, "BUY: Breakout", "Breakout above Donchian High on {{ticker}} {{interval}}")
alertcondition(doubleBottom, "BUY: Double Bottom", "Double Bottom/Higher Low on {{ticker}} {{interval}}")
alertcondition(goldenCross, "BUY: Golden Cross", "EMA50 crosses above EMA200 on {{ticker}} {{interval}}")
alertcondition(gapDnFillRev, "BUY: Gap-Down Reversal","Gap-down filled & reversed on {{ticker}} {{interval}}")
alertcondition(starAtResist, "SELL: Star @ Resistance","Shooting Star/Topping Tail at resistance on {{ticker}} {{interval}}")
alertcondition(sellBreakdown, "SELL: Breakdown", "Breakdown below Donchian Low on {{ticker}} {{interval}}")
alertcondition(doubleTop, "SELL: Double Top", "Double Top/Lower High on {{ticker}} {{interval}}")
alertcondition(deathCross, "SELL: Death Cross", "EMA50 crosses below EMA200 on {{ticker}} {{interval}}")
alertcondition(gapUpFillRev, "SELL: Gap-Up Reversal", "Gap-up filled & reversed on {{ticker}} {{interval}}")
// Aggregate
alertcondition(aggregateAlerts and anyBuy, "BUY: Aggregate", "Structural BUY signal on {{ticker}} {{interval}}")
alertcondition(aggregateAlerts and anySell, "SELL: Aggregate", "Structural SELL signal on {{ticker}} {{interval}}")
Student wyckoff relative strength Indicator cryptoRelative Strength Indicator crypto
Student wyckoff rs symbol USDT.D
Description
The Relative Strength (RS) Indicator compares the price performance of the current financial instrument (e.g., a stock) against another instrument (e.g., an index or another stock). It is calculated by dividing the closing price of the first instrument by the closing price of the second, then multiplying by 100. This provides a percentage ratio that shows how one instrument outperforms or underperforms another. The indicator helps traders identify strong or weak assets, spot market leaders, or evaluate an asset’s performance relative to a benchmark.
Key Features
Relative Strength Calculation: Divides the closing price of the current instrument by the closing price of the second instrument and multiplies by 100 to express the ratio as a percentage.
Simple Moving Average (SMA): Applies a customizable Simple Moving Average (default period: 14) to smooth the data and highlight trends.
Visualization: Displays the Relative Strength as a blue line, the SMA as an orange line, and colors bars (blue for rising, red for falling) to indicate changes in relative strength.
Flexibility: Allows users to select the second instrument via an input field and adjust the SMA period.
Applications
Market Comparison: Assess whether a stock is outperforming an index (e.g., S&P 500 or MOEX) to identify strong assets for investment.
Sector Analysis: Compare stocks within a sector or against a sector ETF to pinpoint leaders.
Trend Analysis: Use the rise or fall of the RS line and its SMA to gauge the strength of an asset’s trend relative to another instrument.
Trade Timing: Bar coloring helps quickly identify changes in relative strength, aiding short-term trading decisions.
Interpretation
Rising RS: Indicates the first instrument is outperforming the second (e.g., a stock growing faster than an index).
Falling RS: Suggests the first instrument is underperforming.
SMA as a Trend Filter: If the RS line is above the SMA, it may signal strengthening performance; if below, weakening performance.
Settings
Instrument 2: Ticker of the second instrument (default: QQQ).
SMA Period: Period for the Simple Moving Average (default: 14).
Notes
The indicator works on any timeframe but requires accurate ticker input for the second instrument.
Ensure data for both instruments is available on the selected timeframe for precise analysis.
Market Spiralyst [Hapharmonic]Hello, traders and creators! 👋
Market Spiralyst: Let's change the way we look at analysis, shall we? I've got to admit, I scratched my head on this for weeks, Haha :). What you're seeing is an exploration of what's possible when code meets art on financial charts. I wanted to try blending art with trading, to do something new and break away from the same old boring perspectives. The goal was to create a visual experience that's not just analytical, but also relaxing and aesthetically pleasing.
This work is intended as a guide and a design example for all developers, born from the spirit of learning and a deep love for understanding the Pine Script™ language. I hope it inspires you as much as it challenged me!
🧐 Core Concept: How It Works
Spiralyst is built on two distinct but interconnected engines:
The Generative Art Engine: At its core, this indicator uses a wide range of mathematical formulas—from simple polygons to exotic curves like Torus Knots and Spirographs—to draw beautiful, intricate shapes directly onto your chart. This provides a unique and dynamic visual backdrop for your analysis.
The Market Pulse Engine: This is where analysis meets art. The engine takes real-time data from standard technical indicators (RSI and MACD in this version) and translates their states into a simple, powerful "Pulse Score." This score directly influences the appearance of the "Scatter Points" orbiting the main shape, turning the entire artwork into a living, breathing representation of market momentum.
🎨 Unleash Your Creativity! This Is Your Playground
We've included 25 preset shapes for you... but that's just the starting point !
The real magic happens when you start tweaking the settings yourself. A tiny adjustment can make a familiar shape come alive and transform in ways you never expected.
I'm genuinely excited to see what your imagination can conjure up! If you create a shape you're particularly proud of or one that looks completely unique, I would love to see it. Please feel free to share a screenshot in the comments below. I can't wait to see what you discover! :)
Here's the default shape to get you started:
The Dynamic Scatter Points: Reading the Pulse
This is where the magic happens! The small points scattered around the main shape are not just decorative; they are the visual representation of the Market Pulse Score.
The points have two forms:
A small asterisk (`*`): Represents a low or neutral market pulse.
A larger, more prominent circle (`o`): Represents a high, strong market pulse.
Here’s how to read them:
The indicator calculates the Pulse Strength as a percentage (from 0% to 100%) based on the total score from the active indicators (RSI and MACD). This percentage determines the ratio of circles to asterisks.
High Pulse Strength (e.g., 80-100%): Most of the scatter points will transform into large circles (`o`). This indicates that the underlying momentum is strong and It could be an uptrend. It's a visual cue that the market is gaining strength and might be worth paying closer attention to.
Low Pulse Strength (e.g., 0-20%): Most or all of the scatter points will remain as small asterisks (`*`). This suggests weak, neutral, or bearish momentum.
The key takeaway: The more circles you see, the stronger the bullish momentum is according to the active indicators. Watch the artwork "breathe" as the circles appear and disappear with the market's rhythm!
And don't worry about the shape you choose; the scatter points will intelligently adapt and always follow the outer boundary of whatever beautiful form you've selected.
How to Use
Getting started with Spiralyst is simple:
Choose Your Canvas: Start by going into the settings and picking a `Shape` and `Palette` from the "Shape Selection & Palette" group that you find visually appealing. This is your canvas.
Tune Your Engine: Go to the "Market Pulse Engine" settings. Here, you can enable or disable the RSI and MACD scoring engines. Want to see the pulse based only on RSI? Just uncheck the MACD box. You can also fine-tune the parameters for each indicator to match your trading style.
Read the Vibe: Observe the scatter points. Are they mostly small asterisks or are they transforming into large, vibrant circles? Use this visual feedback as a high-level gauge of market momentum.
Check the Dashboard: For a precise breakdown, look at the "Market Pulse Analysis" table on the top-right. It gives you the exact values, scores, and total strength percentage.
Explore & Experiment: Play with the different shapes and color palettes! The core analysis remains the same, but the visual experience can be completely different.
⚙️ Settings & Customization
Spiralyst is designed to be highly customizable.
Shape Selection & Palette: This is your main control panel. Choose from over 25 unique shapes, select a color palette, and adjust the line extension style ( `extend` ) or horizontal position ( `offsetXInput` ).
scatterLabelsInput: This setting controls the total number of points (both asterisks and circles) that orbit the main shape. Think of it as adjusting the density or visual granularity of the market pulse feedback.
The Market Pulse engine will always calculate its strength as a percentage (e.g., 75%). This percentage is then applied to the `scatterLabelsInput` number you've set to determine how many points transform into large circles.
Example: If the Pulse Strength is 75% and you set this to `100` , approximately 75 points will become circles. If you increase it to `200` , approximately 150 points will transform.
A higher number provides a more detailed, high-resolution view of the market pulse, while a lower number offers a cleaner, more minimalist look. Feel free to adjust this to your personal visual preference; the underlying analytical percentage remains the same.
Market Pulse Engine:
`⚙️ RSI Settings` & `⚙️ MACD Settings`: Each indicator has its own group.
Enable Scoring: Use the checkbox at the top of each group to include or exclude that indicator from the Pulse Score calculation. If you only want to use RSI, simply uncheck "Enable MACD Scoring."
Parameters: All standard parameters (Length, Source, Fast/Slow/Signal) are fully adjustable.
Individual Shape Parameters (01-25): Each of the 25+ shapes has its own dedicated group of settings, allowing you to fine-tune every aspect of its geometry, from the number of petals on a flower to the windings of a knot. Feel free to experiment!
For Developers & Pine Script™ Enthusiasts
If you are a developer and wish to add more indicators (e.g., Stochastic, CCI, ADX), you can easily do so by following the modular structure of the code. You would primarily need to:
Add a new `PulseIndicator` object for your new indicator in the `f_getMarketPulse()` function.
Add the logic for its scoring inside the `calculateScore()` method.
The `calculateTotals()` method and the dashboard table are designed to be dynamic and will automatically adapt to include your new indicator!
One of the core design philosophies behind Spiralyst is modularity and scalability . The Market Pulse engine was intentionally built using User-Defined Types (UDTs) and an array-based structure so that adding new indicators is incredibly simple and doesn't require rewriting the main logic.
If you want to add a new indicator to the scoring engine—let's use the Stochastic Oscillator as a detailed example—you only need to modify three small sections of the code. The rest of the script, including the adaptive dashboard, will update automatically.
Here’s your step-by-step guide:
#### Step 1: Add the User Inputs
First, you need to give users control over your new indicator. Find the `USER INTERFACE: INPUTS` section and add a new group for the Stochastic settings, right after the MACD group.
Create a new group name: `string GRP_STOCH = "⚙️ Stochastic Settings"`
Add the inputs: Create a boolean to enable/disable it, and then add the necessary parameters (`%K`, `%D`, `Smooth`). Use the `active` parameter to link them to the enable/disable checkbox.
// Add this code block right after the GRP_MACD and MACD inputs
string GRP_STOCH = "⚙️ Stochastic Settings"
bool stochEnabledInput = input.bool(true, "Enable Stochastic Scoring", group = GRP_STOCH)
int stochKInput = input.int(14, "%K Length", minval=1, group = GRP_STOCH, active = stochEnabledInput)
int stochDInput = input.int(3, "%D Smoothing", minval=1, group = GRP_STOCH, active = stochEnabledInput)
int stochSmoothInput = input.int(3, "Smooth", minval=1, group = GRP_STOCH, active = stochEnabledInput)
#### Step 2: Integrate into the Pulse Engine (The "Factory")
Next, go to the `f_getMarketPulse()` function. This function acts as a "factory" that builds and configures the entire market pulse object. You need to teach it how to build your new Stochastic indicator.
Update the function signature: Add the new `stochEnabledInput` boolean as a parameter.
Calculate the indicator: Add the `ta.stoch()` calculation.
Create a `PulseIndicator` object: Create a new object for the Stochastic, populating it with its name, parameters, calculated value, and whether it's enabled.
Add it to the array: Simply add your new `stochPulse` object to the `array.from()` list.
Here is the complete, updated `f_getMarketPulse()` function :
// Factory function to create and calculate the entire MarketPulse object.
f_getMarketPulse(bool rsiEnabled, bool macdEnabled, bool stochEnabled) =>
// 1. Calculate indicator values
float rsiVal = ta.rsi(rsiSourceInput, rsiLengthInput)
= ta.macd(close, macdFastInput, macdSlowInput, macdSignalInput)
float stochVal = ta.sma(ta.stoch(close, high, low, stochKInput), stochDInput) // We'll use the main line for scoring
// 2. Create individual PulseIndicator objects
PulseIndicator rsiPulse = PulseIndicator.new("RSI", str.tostring(rsiLengthInput), rsiVal, na, 0, rsiEnabled)
PulseIndicator macdPulse = PulseIndicator.new("MACD", str.format("{0},{1},{2}", macdFastInput, macdSlowInput, macdSignalInput), macdVal, signalVal, 0, macdEnabled)
PulseIndicator stochPulse = PulseIndicator.new("Stoch", str.format("{0},{1},{2}", stochKInput, stochDInput, stochSmoothInput), stochVal, na, 0, stochEnabled)
// 3. Calculate score for each
rsiPulse.calculateScore()
macdPulse.calculateScore()
stochPulse.calculateScore()
// 4. Add the new indicator to the array
array indicatorArray = array.from(rsiPulse, macdPulse, stochPulse)
MarketPulse pulse = MarketPulse.new(indicatorArray, 0, 0.0)
// 5. Calculate final totals
pulse.calculateTotals()
pulse
// Finally, update the function call in the main orchestration section:
MarketPulse marketPulse = f_getMarketPulse(rsiEnabledInput, macdEnabledInput, stochEnabledInput)
#### Step 3: Define the Scoring Logic
Now, you need to define how the Stochastic contributes to the score. Go to the `calculateScore()` method and add a new case to the `switch` statement for your indicator.
Here's a sample scoring logic for the Stochastic, which gives a strong bullish score in oversold conditions and a strong bearish score in overbought conditions.
Here is the complete, updated `calculateScore()` method :
// Method to calculate the score for this specific indicator.
method calculateScore(PulseIndicator this) =>
if not this.isEnabled
this.score := 0
else
this.score := switch this.name
"RSI" => this.value > 65 ? 2 : this.value > 50 ? 1 : this.value < 35 ? -2 : this.value < 50 ? -1 : 0
"MACD" => this.value > this.signalValue and this.value > 0 ? 2 : this.value > this.signalValue ? 1 : this.value < this.signalValue and this.value < 0 ? -2 : this.value < this.signalValue ? -1 : 0
"Stoch" => this.value > 80 ? -2 : this.value > 50 ? 1 : this.value < 20 ? 2 : this.value < 50 ? -1 : 0
=> 0
this
#### That's It!
You're done. You do not need to modify the dashboard table or the total score calculation.
Because the `MarketPulse` object holds its indicators in an array , the rest of the script is designed to be adaptive:
The `calculateTotals()` method automatically loops through every indicator in the array to sum the scores and calculate the final percentage.
The dashboard code loops through the `enabledIndicators` array to draw the table. Since your new Stochastic indicator is now part of that array, it will appear automatically when enabled!
---
Remember, this is your playground! I'm genuinely excited to see the unique shapes you discover. If you create something you're proud of, feel free to share it in the comments below.
Happy analyzing, and may your charts be both insightful and beautiful! 💛
OSOK [AMERICANA] x [TakingProphets]OVERVIEW
OSOK is an ICT-inspired execution framework designed to help traders map the interaction between Higher-Timeframe (HTF) liquidity sweeps, qualifying Order Blocks, and Current-Timeframe (CTF) confirmation signals — all within a single, structured workflow.
By sequencing an HTF CRT → Order Block → CTF CRT model and integrating IPDA 20 equilibrium context, this tool provides traders with a visual framework for aligning intraday execution decisions with higher-timeframe intent. All plotted elements — sweeps, blocks, open prices, and equilibrium levels — update continuously in real time.
Core Concepts (ICT-Based)
Candle Range Transition (CRT) Sweeps
Bullish CRT → The second candle runs below the first candle’s low and closes back inside its range.
Bearish CRT → The second candle runs above the first candle’s high and closes back inside its range.
These patterns are frequently associated with liquidity grabs and potential directional shifts.
HTF → CTF Alignment
-Detects valid HTF CRTs (e.g., Daily CRTs derived from H4 or Weekly CRTs derived from Daily).
-Locates a qualifying Order Block within HTF Candle-2 to identify areas of potential interest.
-Waits for a modified CRT confirmation on the current timeframe before signaling possible directional bias.
IPDA 20 Equilibrium
-Plots the midpoint of the daily highest and lowest prices over the last 20 periods.
-Provides a visual reference for premium and discount pricing zones.
How OSOK Works
Step 1 — HTF CRT Check
On each new HTF candle, the script scans for a clean CRT formation on the higher aggregation (e.g., H4 → D or D → W).
If found, it tags the candles as C1, C2, and C3 and optionally shades their backgrounds for clear visual parsing.
Step 2 — HTF Order Block Identification
Searches within HTF Candle-2 for a qualifying Order Block using a compact pattern filter.
Draws a persistent OB level with clear labeling for context.
Step 3 — CTF Confirmation (Modified CRT)
Monitors your current chart timeframe for a modified CRT in alignment with the HTF setup:
For bullish setups → waits for a bullish modified CRT and close above C1’s high zone.
For bearish setups → expects a bearish modified CRT and close below C1’s low zone.
Step 4 — Real-Time Maintenance
All labels, lines, and background spans update intrabar.
If the setup invalidates — for example, if implied targets are exceeded before entry — the layout resets and waits for the next valid sequence.
KEY FEATURES
HTF CRT Visualization
-Optional “×” markers on Daily/Weekly CRT sweeps.
-Independent background shading for C1, C2, and C3.
Order Block + Open Price Context
-Draws HTF Order Block levels and plots C3 Open Price (DOP) for additional directional reference.
CTF CRT Execution Cue
-Displays a modified CRT on your current timeframe when conditions align with the HTF narrative.
IPDA 20 Line + Label
-Plots a dynamic midpoint level with an optional label for quick premium/discount context.
Optimized Drawing Engine
-Lightweight, efficient use of chart objects ensures smooth performance without visual clutter.
INPUTS
-Higher Timeframe Settings
-Toggle markers for Daily/Weekly CRT sweeps.
-Enable and color C1, C2, and C3 background spans.
-IPDA Display Options
-Control visibility, color, and line style for IPDA 20 equilibrium levels.
-Sweep, OB, and Open Price Styles
-Per-element customization for colors, widths, and labels.
BEST PRACTICES
Start on H4 or Daily to identify valid HTF CRT formations.
Confirm a qualifying OB inside Candle-2.
Drop to your execution timeframe and wait for the modified CTF CRT confirmation before acting.
Use IPDA 20 equilibrium as a reference for premium vs. discount zones.
Combine with your ICT session bias and overall market context for optimal decision-making.
Important Notes
OSOK is not a buy/sell signal provider. It’s a visual framework for understanding ICT-based execution models.
All objects reset automatically when new HTF candles form or setups invalidate.
Works on any symbol and timeframe by default, with HTF mapping set to H4 → D and D → W.
SSMT [TakingProphets]OVERVIEW
SSMT (Sequential SMT) is an ICT-inspired divergence detection tool designed to help traders identify potential intermarket divergences using Quarterly Theory, a framework popularized within the ICT community by Trader Daye and FearingICT.
The indicator segments each trading day into structured time-based quarters and scans for Sequential SMT divergences across Daily, 90-minute, and Micro-session cycles — updating continuously in real time. This allows traders to visualize when institutional liquidity shifts are most likely, based on ICT’s time-of-day models.
Built on ICT’s Quarterly Theory
At the heart of SSMT is Quarterly Theory, a time-based framework used in ICT methodology. The model divides each trading day into four predictable phases, representing shifts between accumulation, manipulation, and distribution:
Daily Quarters (4 per day)
Q1: 18:00 – 00:00 ET
Q2: 00:00 – 06:00 ET
Q3: 06:00 – 12:00 ET
Q4: 12:00 – 18:00 ET
Additionally, the indicator refines timing with two further layers:
90-Minute Quarters → Splits Asia, London, New York AM, and New York PM into structured liquidity windows, helping intraday traders monitor session-specific SMTs.
Micro Quarters → Offers a granular breakdown of each session for scalpers who require precise entry timing.
By combining these cycles, SSMT provides a contextual framework for understanding when divergences may carry the highest institutional relevance.
How SSMT Detects SMT Divergences
Sequential SMT detection in SSMT works by comparing price behavior between your selected instrument and a correlated asset (default: CME_MINI:ES1!). It monitors current vs. previous highs and lows within the active quarter and identifies divergence patterns as they form:
Bullish SMT → Your instrument forms a higher low while the correlated asset does not.
Bearish SMT → Your instrument forms a lower high while the correlated asset does not.
Divergence lines and labels are plotted directly on your chart, and these drawings update dynamically in real time as new data comes in. Historical SMTs also persist beyond quarter boundaries for added confluence in your analysis.
Key Features
Three SMT Cycles in One Tool
-Daily Cycle → Track higher-timeframe divergences around key liquidity events.
-90-Minute Cycle → Ideal for timing intraday setups within major sessions.
-Micro Cycle → Provides highly detailed precision for scalpers trading engineered sweeps.
Per-Cycle Customization
-Toggle Daily, 90-Minute, and Micro SMT independently.
-Fully customize divergence line colors, styles, widths, and optional session boxes for clarity.
Smart Auto-Labeling
-Labels automatically display the correlated symbol (e.g., “SMT w/ES”).
-Divergence drawings persist historically for reference and context.
Instant Style Updates
-Any visual changes to colors, widths, or line styles are applied immediately across both active and historical SMT drawings.
Practical Use Cases
Scalpers → Spot Micro SMTs to refine entries with session-specific precision.
Intraday Traders → Track divergences across Asia, London, and New York sessions in real time.
Swing Traders → Combine Daily SMT divergences with HTF POIs for higher confluence.
ICT Traders → Built specifically around ICT teachings, this tool provides a clear, visual framework to apply Quarterly Theory and SMT models seamlessly.
Important Notes
SSMT is not a buy/sell signal generator. It is an analytical framework designed to help traders interpret ICT-based SMT concepts visually.
Always confirm divergences within your broader market narrative and risk management rules.
HTF Candles [TakingProphets]OVERVIEW
The High Time Frame Candles indicator helps traders align their lower-timeframe executions with institutional context by projecting higher-timeframe (HTF) structure directly onto their charts. Designed for traders using ICT-inspired concepts, this tool integrates multi-timeframe candle visualization, real-time SMT divergence detection, and dynamic Open-High-Low-Close (OHLC) projections into a single customizable framework.
It’s not a signal generator — instead, it serves as an informational overlay that simplifies analysis by consolidating critical HTF insights into your intraday workflow.
WHAT THE INDICATOR DOES
Plots Up to 10 Higher Time Frame Candles
-Visualize HTF candles directly on your lower timeframe chart. The candles are offset to the right for clarity, giving you a clean and organized view of structure without cluttering price action.
HTF Close Timer
-Displays a countdown showing exactly when the current HTF candle will close — useful for timing trades around session boundaries.
Real-Time SMT Divergence Detection
-Compares price action on your main chart against a correlated asset (default: CME_MINI:ES1!) to automatically detect and label potential bearish or bullish SMT divergences. Optional alerts ensure you never miss these events.
Dynamic Candle Projections
-Continuously projects the current HTF candle’s Open, High, Low, and Close levels forward in real time. These evolving reference points can act as natural support/resistance levels and bias filters.
KEY FEATURES
Flexible Candle Rendering
-Adjust candle width, transparency, offset, and colors
-Select any HTF — from 1 minute to 1 month
-Choose customizable label sizes for clarity
Smart Time Labeling
-Automatically formats time labels based on timeframe
-Uses HH:MM for intraday and date labels for higher frames
-Supports 12-hour and 24-hour formats
SMT Divergence Tools
-Automatically detects historical and real-time SMT setups
-Customizable labels, colors, line styles, and widths
-Built-in alert conditions for bullish/bearish divergences
HTF OHLC Projections
-Plots the projected Open, High, Low, and Close levels for the current HTF candle
-Fully customizable styles, thickness, and labels for precision
INPUTS OVERVIEW
Timeframe Settings → Choose the HTF for plotting
Display Settings → Control the number of candles, offsets, label sizes, and visuals
Visual Settings → Customize bullish/bearish colors, border styles, and wick display
SMT Settings → Enable divergence detection, select correlated assets, and configure alerts
Projection Settings → Toggle OHLC projections and customize styles
ALERTS 🔔
Stay ahead of market shifts with built-in alert conditions:
Bullish SMT Divergence → Detected when main lows diverge from correlated lows
Bearish SMT Divergence → Detected when main highs diverge from correlated highs
Bullish Real-Time SMT → Highlights developing divergence as it forms
Bearish Real-Time SMT → Highlights active divergence in real time