Precision Candle Marker – OL/OH/OC ScreenerThis indicator highlights high-probability precision candles on any perpetual contract, designed especially for scalpers and short-term traders.
It marks three unique candle setups on the 1-minute chart (works on other timeframes too):
🟢 Open = Low (OL) → Strong bullish momentum, buyers took control instantly.
🔴 Open = High (OH) → Strong bearish momentum, sellers took control instantly.
🔵 Open = Close (OC) → Doji / indecision candle, potential reversal or continuation signal.
Use cases:
Identify breakout entry points in uptrend/downtrend.
Filter noise and focus on precision candles.
Combine with trend indicators (EMA, VWAP, RSI) for confirmation.
This tool is best suited for scalping perpetual contracts (e.g., BTCUSDT, ETHUSDT) but works on any symbol and timeframe.
Analisis Trend
さくらんぼーいⅢSakuranboi III — Indicator Description (English)
Overview
Sakuranboi III visualizes market “trajectory” and timing using an ATR-based Light-Cone projected from a user-defined Anchor (bar & price) and a set of √n convergence stripes placed at quadratic time intervals.
A compact Bias Panel aggregates five independent signals—HTF trend, cone position (z), rail-hug, first fractal inside a stripe, and a simple structure break—into a Bias Score to quickly read UP / DOWN / NEUTRAL conditions.
Key Features
Anchor-driven Light-Cone
Growth modes: Linear n or Diffusive √n.
Height: ATR × multiplier (from Close or Wick range).
Upper / lower cone edges are drawn as infinitely extended diagonal lines.
Optional 0.5c / 1.5c guide lines for mid/outer bands.
√n Convergence Stripes
Stripe centers at anchorBar + stepBars * m² (m = 1..Max M).
Stripe width controlled by halfWindow (center ± halfWindow bars).
Optional vertical center lines (visual aid only).
Fractal Detection
Pivot High/Low (PH/PL) hits inside stripes are counted.
m² Hit Table shows counts per stripe order (PH▲ / PL▼).
Bias Panel (5 cards, ±1 each)
HTF Trend (EMA Fast vs EMA Slow, on a selectable higher timeframe).
Cone z: relative position
z = (Close − AnchorPrice) / (cone height at current distance).
Rail-Hug: ratio of bars touching the 0.5c–1.0c band (upper vs lower).
First Fractal in Stripe after entering a stripe (first PL → +1, first PH → −1).
Structure Break: takeout of recent PH (↑) or PL (↓).
Alerts
Bias UP (score ≥ +3) / Bias DOWN (score ≤ −3).
Fractal High in Convergence / Fractal Low in Convergence.
How to Use
Set the Anchor
Choose Anchor Mode = Time or Bars Ago and select the Anchor Price source (Close/High/Low/Open/Manual).
Shape the Cone
Adjust ATR Length, optional ATR Timeframe, Multiplier, and Growth Mode.
Diffusive √n emphasizes diffusion-like growth.
Linear n gives straight, linear expansion.
Tune Stripes (Time Resonance)
stepBars controls spacing of m² centers.
Max Order M controls how many stripes to draw.
halfWindow controls stripe thickness.
Turn Draw Stripe Center Lines on if you want the exact centers.
Read the Bias Panel
Use +3 or higher → UP, −3 or lower → DOWN as a quick filter.
Set HTF timeframe to your higher-timeframe context (e.g., 15m).
Configure Alerts for your workflow (Bias UP/DOWN, PH/PL in stripe).
Inputs (Highlights)
Anchor (shared): Mode, Time, BarsAgo, Price Mode, Manual Price.
Light-Cone ATR: ATR Length / Timeframe / Horizon / Growth Mode / Multiplier / Height source / Colors.
Guides (0.5c / 1.5c): show/hide, colors, width.
Convergence (√n stripes): stepBars / Max Order M / halfWindow / color / center lines.
Fractal: Left/Right sensitivity for pivots.
Display / Limits: Hit table on/off, screen trimming, past/future draw limits.
Bias Panel: HTF timeframe, EMA Fast/Slow, z threshold, Rail lookback & ratio.
Bias Score Details
HTF Trend: EMA(fast) > EMA(slow) → +1; EMA(fast) < EMA(slow) → −1.
Cone z: z > +threshold → +1; z < −threshold → −1.
Rail-Hug (last N bars):
Upper band (0.5c–1.0c) touch ratio dominant → +1;
Lower band dominant → −1.
First Fractal in Stripe (after entry): PL → +1, PH → −1.
Structure Break: break above recent PH → +1; break below recent PL → −1.
Total: ≥ +3 → UP, ≤ −3 → DOWN, otherwise NEUTRAL.
Alerts
Bias UP — when Bias score >= +3.
Bias DOWN — when Bias score <= -3.
Fractal High in Convergence — PH detected inside a stripe.
Fractal Low in Convergence — PL detected inside a stripe.
Recommended Presets
Scalp / Short-term:
ATR TF = same, Growth = Diffusive √n, Mult = 1.0–1.5,
stepBars = 15–30, halfWindow = 1–2.
Swing:
ATR TF = higher TF, Growth = Linear n, Mult = 1.5–2.5,
stepBars = 60–120, halfWindow = 2–4.
Notes & Limits
Cone edges and guides are drawn as infinitely extended diagonals; the cone fill is rendered between upper/lower edges.
Future plotting respects TradingView’s cap (default max ~500 future bars); governed by futureLimitBars.
Script uses max_bars_back = 5000 and guarded indexing to avoid historical-buffer errors.
If performance is heavy, reduce Max Order M, screenPastBars, or hide the hit table.
Disclaimer
This script is for research and educational purposes only and does not constitute financial advice. Market behavior varies by symbol and timeframe; please backtest and adjust parameters to your own risk tolerance. The author assumes no responsibility for any outcomes.
B-Xtrender @Puppytherapy +vova13I have recreated a trend following indicator published in IFTA Journal by Bharat Jhunjhunwala. It is mainly to be traded on big timeframes.
For anyone looking into the indicators please have in the source below where logic behing the indicator is nicely explained.
The only thing I added is a T3 moving average with momentum shift signals for earlier signals in some cases.
Set & Forget – AlexG Club – ChecklistThe Set & Forget – AlexG Club – Checklist is built to help traders apply the well-known Set and Forget strategy from the famous AlexG (falexg) and the G-Club community.
This indicator displays a clear, on-chart checklist table of trading confluences. Each confluence adds to a total score, making it easier to objectively evaluate whether a trade setup aligns with the AlexG / G-Club strategy.
✅ Features:
• Customizable confluence checklist (trend alignment, S/R levels, candlestick signals, momentum, etc.)
• Automatic scoring system to calculate the Set & Forget readiness of a trade
• Clean table visualization on your chart
• Flexible thresholds — you decide how many confluences equal a strong setup
🚀 How to Use:
Add the indicator to your chart.
Adjust the confluences to reflect your own AlexG / G-Club inspired checklist.
Use the total score to validate trades before you pull the trigger.
⚠️ Disclaimer: This indicator is for educational purposes only. It is not financial advice and does not guarantee profitability. Always manage your risk and test before using live.
Multi-Timeframe Candle Color Dashboard (ฺBy WutTrader)// This description should be added to the script's information section on TradingView.
//
// === คู่มือการใช้งาน: Multi-Timeframe Candle Color Dashboard ===
//
// **ภาพรวม:**
// อินดิเคเตอร์นี้แสดงสีของแท่งเทียนจากหลายไทม์เฟรม (M1, M5, M15, M30, H1, H4, D1) บนหน้าจอเดียว
// เพื่อช่วยให้คุณเห็นภาพรวมของแนวโน้มในแต่ละช่วงเวลาได้อย่างรวดเร็ว
//
// - **🟢 สีเขียว:** แสดงว่าแท่งเทียนเป็นขาขึ้น (Bullish) ตามจำนวนแท่งที่กำหนด
// - **🔴 สีแดง:** แสดงว่าแท่งเทียนเป็นขาลง (Bearish) ตามจำนวนแท่งที่กำหนด
// - **⚪ สีเทา:** แสดงว่ายังไม่มีทิศทางที่ชัดเจน
//
// **วิธีการใช้งาน:**
// 1. **การดูสัญญาณ:** ใช้ Dashboard เพื่อยืนยันว่าหลายไทม์เฟรมมีแนวโน้มไปในทิศทางเดียวกัน
// - **ตัวอย่าง:** หากคุณกำลังดูชาร์ต M5 แล้วพบว่า M15, M30 และ H1 เป็นสีเขียวทั้งหมด
// แสดงว่ามีแนวโน้มขาขึ้นที่แข็งแกร่งในภาพรวม ซึ่งอาจเป็นจังหวะที่ดีสำหรับการเข้าซื้อ
// 2. **การตั้งค่า:** คุณสามารถปรับแต่งการแสดงผลได้ในเมนู "Settings"
// - **Global Settings:** เลือกเปิด/ปิดการแสดงผลของแต่ละไทม์เฟรมที่คุณต้องการ
// - **Dashboard Style:** เลือกว่าจะให้ Dashboard แสดงผลเป็นแนวตั้ง (Vertical) หรือแนวนอน (Horizontal)
// - **Color Settings:** ปรับสีสำหรับแนวโน้มขาขึ้น (Bullish) และขาลง (Bearish) ได้ตามใจชอบ
//
// **การตั้งค่าการแจ้งเตือน (Alert):**
// อินดิเคเตอร์นี้รองรับการแจ้งเตือนเมื่อทุกไทม์เฟรมที่คุณเปิดใช้งานเป็นสีเขียวทั้งหมด
// 1. ไปที่เมนู "Alert" (รูปกระดิ่ง) ที่ด้านบนของ TradingView
// 2. ตั้งค่า "Condition" เป็นชื่ออินดิเคเตอร์นี้: `Multi-Timeframe Candle Color Dashboard`
// 3. ตั้งค่า "Condition" เป็น `Bullish Alert`
// 4. ตั้งค่า "Frequency" เป็น `Once Per Bar Close`
//
// === User Manual: Multi-Timeframe Candle Color Dashboard ===
//
// **Overview:**
// This indicator displays the candle color from multiple timeframes (M1, M5, M15, M30, H1, H4, D1) on a single screen,
// helping you to quickly see the trend direction across different time periods.
//
// - **🟢 Green:** Indicates that candles are bullish for the specified number of lookback bars.
// - **🔴 Red:** Indicates that candles are bearish for the specified number of lookback bars.
// - **⚪ Gray:** Indicates a neutral or undefined trend.
//
// **How to Use:**
// 1. **Signal Confirmation:** Use the dashboard to confirm that multiple timeframes are moving in the same direction.
// - **Example:** If you are on an M5 chart and see that the M15, M30, and H1 timeframes are all green,
// it suggests a strong overall bullish momentum, which could be a good entry signal.
// 2. **Settings:** You can customize the display in the "Settings" menu.
// - **Global Settings:** Select which timeframes you want to show or hide.
// - **Dashboard Style:** Choose between a vertical or horizontal layout for the dashboard.
// - **Color Settings:** Adjust the colors for bullish and bearish trends to your preference.
//
// **Setting up an Alert:**
// This indicator supports an alert when all enabled timeframes turn completely green.
// 1. Go to the "Alert" menu (bell icon) at the top of TradingView.
// 2. Set the "Condition" to the name of this indicator: `Multi-Timeframe Candle Color Dashboard`.
// 3. Set the "Condition" to `Bullish Alert`.
// 4. Set the "Frequency" to `Once Per Bar Close`.
Multi-Timeframe Candle Color Dashboard (Closed Bars Only) V.2Pine Script
// This description should be added to the script's information section on TradingView.
//
// === คู่มือการใช้งาน: Multi-Timeframe Candle Color Dashboard ===
//
// **ภาพรวม:**
// อินดิเคเตอร์นี้แสดงสีของแท่งเทียนจากหลายไทม์เฟรม (M1, M5, M15, M30, H1, H4, D1) บนหน้าจอเดียว
// เพื่อช่วยให้คุณเห็นภาพรวมของแนวโน้มในแต่ละช่วงเวลาได้อย่างรวดเร็ว
//
// - **🟢 สีเขียว:** แสดงว่าแท่งเทียนเป็นขาขึ้น (Bullish) ตามจำนวนแท่งที่กำหนด
// - **🔴 สีแดง:** แสดงว่าแท่งเทียนเป็นขาลง (Bearish) ตามจำนวนแท่งที่กำหนด
// - **⚪ สีเทา:** แสดงว่ายังไม่มีทิศทางที่ชัดเจน
//
// **วิธีการใช้งาน:**
// 1. **การดูสัญญาณ:** ใช้ Dashboard เพื่อยืนยันว่าหลายไทม์เฟรมมีแนวโน้มไปในทิศทางเดียวกัน
// - **ตัวอย่าง:** หากคุณกำลังดูชาร์ต M5 แล้วพบว่า M15, M30 และ H1 เป็นสีเขียวทั้งหมด
// แสดงว่ามีแนวโน้มขาขึ้นที่แข็งแกร่งในภาพรวม ซึ่งอาจเป็นจังหวะที่ดีสำหรับการเข้าซื้อ
// 2. **การตั้งค่า:** คุณสามารถปรับแต่งการแสดงผลได้ในเมนู "Settings"
// - **Global Settings:** เลือกเปิด/ปิดการแสดงผลของแต่ละไทม์เฟรมที่คุณต้องการ
// - **Dashboard Style:** เลือกว่าจะให้ Dashboard แสดงผลเป็นแนวตั้ง (Vertical) หรือแนวนอน (Horizontal)
// - **Color Settings:** ปรับสีสำหรับแนวโน้มขาขึ้น (Bullish) และขาลง (Bearish) ได้ตามใจชอบ
//
// **การตั้งค่าการแจ้งเตือน (Alert):**
// อินดิเคเตอร์นี้รองรับการแจ้งเตือนเมื่อทุกไทม์เฟรมที่คุณเปิดใช้งานเป็นสีเขียวทั้งหมด
// 1. ไปที่เมนู "Alert" (รูปกระดิ่ง) ที่ด้านบนของ TradingView
// 2. ตั้งค่า "Condition" เป็นชื่ออินดิเคเตอร์นี้: `Multi-Timeframe Candle Color Dashboard`
// 3. ตั้งค่า "Condition" เป็น `Bullish Alert`
// 4. ตั้งค่า "Frequency" เป็น `Once Per Bar Close`
//
// === User Manual: Multi-Timeframe Candle Color Dashboard ===
//
// **Overview:**
// This indicator displays the candle color from multiple timeframes (M1, M5, M15, M30, H1, H4, D1) on a single screen,
// helping you to quickly see the trend direction across different time periods.
//
// - **🟢 Green:** Indicates that candles are bullish for the specified number of lookback bars.
// - **🔴 Red:** Indicates that candles are bearish for the specified number of lookback bars.
// - **⚪ Gray:** Indicates a neutral or undefined trend.
//
// **How to Use:**
// 1. **Signal Confirmation:** Use the dashboard to confirm that multiple timeframes are moving in the same direction.
// - **Example:** If you are on an M5 chart and see that the M15, M30, and H1 timeframes are all green,
// it suggests a strong overall bullish momentum, which could be a good entry signal.
// 2. **Settings:** You can customize the display in the "Settings" menu.
// - **Global Settings:** Select which timeframes you want to show or hide.
// - **Dashboard Style:** Choose between a vertical or horizontal layout for the dashboard.
// - **Color Settings:** Adjust the colors for bullish and bearish trends to your preference.
//
// **Setting up an Alert:**
// This indicator supports an alert when all enabled timeframes turn completely green.
// 1. Go to the "Alert" menu (bell icon) at the top of TradingView.
// 2. Set the "Condition" to the name of this indicator: `Multi-Timeframe Candle Color Dashboard`.
// 3. Set the "Condition" to `Bullish Alert`.
// 4. Set the "Frequency" to `Once Per Bar Close`.
63-Day Sector Relative Strength vs NIFTYThis script calculates and displays the 63-day returns of major NSE sectoral indices and their relative strength versus the NIFTY 50.
It,
Covered Indices: CNXIT, CNXAUTO, CNXFMCG, CNXPHARMA, CNXENERGY, CNXMETAL, CNXPSUBANK, CNXINFRA, CNXREALTY, CNXFINANCE, CNXMEDIA, BANKNIFTY, CNXCONSUMPTION, CNXCOMMODITIES
How to use this: Quickly identify which sectors are outperforming or underperforming relative to the NIFTY over the past 63 trading sessions (approx. 3 months).
Chanpreet Moving AveragesChanpreet Moving Averages
by Chanpreet Singh
This script plots up to four customizable moving averages (SMA, EMA, SMMA/RMA, WMA, VWMA).
You can adjust:
Moving average type
Source (close, open, hl2, etc.)
Length
Color
An optional input lets you select a higher or custom timeframe for the moving averages (e.g., daily MA on a 1-hour chart). If left empty, the script calculates them on the current chart timeframe, so the lines scale and move naturally when zooming or panning.
This tool is designed for educational and visualization purposes, helping traders see trend direction and potential areas of dynamic support/resistance.
⚠️ Disclaimer: This script does not provide financial advice or trading signals. Use it at your own risk. Always do your own research before making trading decisions.
Structure Strategycreated to spot key area needed to take valid trades in most market conditions. use beside RSI MACD
High Volume Candle Zones (Neutral)Contact the publisher to get full content into using this indicator to its full potential. Will help identify key areas in the market. Can be used on all time frames for confluence
Harmonic Super GuppyHarmonic Super Guppy – Harmonic & Golden Ratio Trend Analysis Framework
Overview
Harmonic Super Guppy is a comprehensive trend analysis and visualization tool that evolves the classic Guppy Multiple Moving Average (GMMA) methodology, pioneered by Daryl Guppy to visualize the interaction between short-term trader behavior and long-term investor trends. into a harmonic and phase-based market framework. By combining harmonic weighting, golden ratio phasing, and multiple moving averages, it provides traders with a deep understanding of market structure, momentum, and trend alignment. Fast and slow line groups visually differentiate short-term trader activity from longer-term investor positioning, while adaptive fills and dynamic coloring clearly illustrate trend coherence, expansion, and contraction in real time.
Traditional GMMA focuses primarily on moving average convergence and divergence. Harmonic Super Guppy extends this concept, integrating frequency-aware harmonic analysis and golden ratio modulation, allowing traders to detect subtle cyclical forces and early trend shifts before conventional moving averages would react. This is particularly valuable for traders seeking to identify early trend continuation setups, preemptive breakout entries, and potential trend exhaustion zones. The indicator provides a multi-dimensional view, making it suitable for scalping, intraday trading, swing setups, and even longer-term position strategies.
The visual structure of Harmonic Super Guppy is intentionally designed to convey trend clarity without oversimplification. Fast lines reflect short-term trader sentiment, slow lines capture longer-term investor alignment, and fills highlight compression or expansion. The adaptive color coding emphasizes trend alignment: strong green for bullish alignment, strong red for bearish, and subtle gray tones for indecision. This allows traders to quickly gauge market conditions while preserving the granularity necessary for sophisticated analysis.
How It Works
Harmonic Super Guppy uses a combination of harmonic averaging, golden ratio phasing, and adaptive weighting to generate its signals.
Harmonic Weighting : Each moving average integrates three layers of harmonics:
Primary harmonic captures the dominant cyclical structure of the market.
Secondary harmonic introduces a complementary frequency for oscillatory nuance.
Tertiary harmonic smooths higher-frequency noise while retaining meaningful trend signals.
Golden Ratio Phase : Phases of each harmonic contribution are adjusted using the golden ratio (default φ = 1.618), ensuring alignment with natural market rhythms. This reduces lag and allows traders to detect trend shifts earlier than conventional moving averages.
Adaptive Trend Detection : Fast SMAs are compared against slow SMAs to identify structural trends:
UpTrend : Fast SMA exceeds slow SMA.
DownTrend : Fast SMA falls below slow SMA.
Frequency Scaling : The wave frequency setting allows traders to modulate responsiveness versus smoothing. Higher frequency emphasizes short-term moves, while lower frequency highlights structural trends. This enables adaptation across asset classes with different volatility characteristics.
Through this combination, Harmonic Super Guppy captures micro and macro market cycles, helping traders distinguish between transient noise and genuine trend development. The multi-harmonic approach amplifies meaningful price action while reducing false signals inherent in standard moving averages.
Interpretation
Harmonic Super Guppy provides a multi-dimensional perspective on market dynamics:
Trend Analysis : Alignment of fast and slow lines reveals trend direction and strength. Expanding harmonics indicate momentum building, while contraction signals weakening conditions or potential reversals.
Momentum & Volatility : Rapid expansion of fast lines versus slow lines reflects short-term bullish or bearish pressure. Compression often precedes breakout scenarios or volatility expansion. Traders can quickly gauge trend vigor and potential turning points.
Market Context : The indicator overlays harmonic and structural insights without dictating entry or exit points. It complements order blocks, liquidity zones, oscillators, and other technical frameworks, providing context for informed decision-making.
Phase Divergence Detection : Subtle divergence between harmonic layers (primary, secondary, tertiary) often signals early exhaustion in trends or hidden strength, offering preemptive insight into potential reversals or sustained continuation.
By observing both structural alignment and harmonic expansion/contraction, traders gain a clear sense of when markets are trending with conviction versus when conditions are consolidating or becoming unpredictable. This allows for proactive trade management, rather than reactive responses to lagging indicators.
Strategy Integration
Harmonic Super Guppy adapts to various trading methodologies with clear, actionable guidance.
Trend Following : Enter positions when fast and slow lines are aligned and harmonics are expanding. The broader the alignment, the stronger the confirmation of trend persistence. For example:
A fast line crossover above slow lines with expanding fills confirms momentum-driven continuation.
Traders can use harmonic amplitude as a filter to reduce entries against prevailing trends.
Breakout Trading : Periods of line compression indicate potential volatility expansion. When fast lines diverge from slow lines after compression, this often precedes breakouts. Traders can combine this visual cue with structural supports/resistances or order flow analysis to improve timing and precision.
Exhaustion and Reversals : Divergences between harmonic components, or contraction of fast lines relative to slow lines, highlight weakening trends. This can indicate liquidity exhaustion, trend fatigue, or corrective phases. For example:
A flattening fast line group above a rising slow line can hint at short-term overextension.
Traders may use these signals to tighten stops, take partial profits, or prepare for contrarian setups.
Multi-Timeframe Analysis : Overlay slow lines from higher timeframes on lower timeframe charts to filter noise and trade in alignment with larger market structures. For example:
A daily bullish alignment combined with a 15-minute breakout pattern increases probability of a successful intraday trade.
Conversely, a higher timeframe divergence can warn against taking counter-trend trades in lower timeframes.
Adaptive Trade Management : Harmonic expansion/contraction can guide dynamic risk management:
Stops may be adjusted according to slow line support/resistance or harmonic contraction zones.
Position sizing can be modulated based on harmonic amplitude and compression levels, optimizing risk-reward without rigid rules.
Technical Implementation Details
Harmonic Super Guppy is powered by a multi-layered harmonic and phase calculation engine:
Harmonic Processing : Primary, secondary, and tertiary harmonics are calculated per period to capture multiple market cycles simultaneously. This reduces noise and amplifies meaningful signals.
Golden Ratio Modulation : Phase adjustments based on φ = 1.618 align harmonic contributions with natural market rhythms, smoothing lag and improving predictive value.
Adaptive Trend Scaling : Fast line expansion reflects short-term momentum; slow lines provide structural trend context. Fills adapt dynamically based on alignment intensity and harmonic amplitude.
Multi-Factor Trend Analysis : Trend strength is determined by alignment of fast and slow lines over multiple bars, expansion/contraction of harmonic amplitudes, divergences between primary, secondary, and tertiary harmonics and phase synchronization with golden ratio cycles.
These computations allow the indicator to be highly responsive yet smooth, providing traders with actionable insights in real time without overloading visual complexity.
Optimal Application Parameters
Asset-Specific Guidance:
Forex Majors : Wave frequency 1.0–2.0, φ = 1.618–1.8
Large-Cap Equities : Wave frequency 0.8–1.5, φ = 1.5–1.618
Cryptocurrency : Wave frequency 1.2–3.0, φ = 1.618–2.0
Index Futures : Wave frequency 0.5–1.5, φ = 1.618
Timeframe Optimization:
Scalping (1–5min) : Emphasize fast lines, higher frequency for micro-move capture.
Day Trading (15min–1hr) : Balance fast/slow interactions for trend confirmation.
Swing Trading (4hr–Daily) : Focus on slow lines for structural guidance, fast lines for entry timing.
Position Trading (Daily–Weekly) : Slow lines dominate; harmonics highlight long-term cycles.
Performance Characteristics
High Effectiveness Conditions:
Clear separation between short-term and long-term trends.
Moderate-to-high volatility environments.
Assets with consistent volume and price rhythm.
Reduced Effectiveness:
Flat or extremely low volatility markets.
Erratic assets with frequent gaps or algorithmic dominance.
Ultra-short timeframes (<1min), where noise dominates.
Integration Guidelines
Signal Confirmation : Confirm alignment of fast and slow lines over multiple bars. Expansion of harmonic amplitude signals trend persistence.
Risk Management : Place stops beyond slow line support/resistance. Adjust sizing based on compression/expansion zones.
Advanced Feature Settings :
Frequency tuning for different volatility environments.
Phase analysis to track divergences across harmonics.
Use fills and amplitude patterns as a guide for dynamic trade management.
Multi-timeframe confirmation to filter noise and align with structural trends.
Disclaimer
Harmonic Super Guppy is a trend analysis and visualization tool, not a guaranteed profit system. Optimal performance requires proper wave frequency, golden ratio phase, and line visibility settings per asset and timeframe. Traders should combine the indicator with other technical frameworks and maintain disciplined risk management practices.
FFI-Trend Rider ProFFI-Trend Rider Pro is a trend-following strategy designed to help traders make more structured and disciplined entries.
It uses a crossover between the 11 EMA and 21 SMA to detect potential trend shifts, while avoiding premature entries by checking how far the price is from the moving averages. If the price is extended, it waits for a pullback — just like professional traders do.
The indicator also includes:
Auto stoploss based on 21 SMA
Visual background colors based on RSI to help gauge trend strength
A built-in trade info table showing current trade type, entry price, stoploss, and trailing SL
Strategy-enabled functionality for easy backtesting
🔍 Ideal For:
Intraday & Swing Traders
Traders who want fewer, high-quality trades
Anyone looking to reduce emotional decision-making
⚠️ Disclaimer:
This script is for educational purposes only and does not constitute financial advice. Always do your own analysis before making any trading decisions. Past performance is not indicative of future results.
Z-Score For Loop | MisinkoMasterThe Z-Score For Loop is a new trend following oscillator designed to capture reversals, optimize speed while giving a low amount of noise. The behaviour this interesting and unique tool provides allows traders/investors to get a unique insight into the market trend.
How does it work?
The Z-Score For Loop works like so:
1. Calculate the Z-Score with the following formula:
(source - mean)/Standard Deviation
Where:
source = user defined input, for example close, low, high, hl2 and so on
mean = average of source, using different methods like EMA, recommended approach is not using anything different then EMA, WMA or SMA, since the other options are too noisy and can mess up signals, but you can try them out :)
Standard Deviation = Standard Deviation of the source
2. How many bars back have lower Z-Score value then the current one from start to end
For example:
From 6-55 bars ago how many bars had a lower/higher Z-score?
The methodology & Usage
Combining the classical Z-Score with the For Loop creates an indicator, which like mentioned before creates a unique, smooth & fast signal allowing investors to get an insight into the market, create new advanced strategies and capture the big moves.
Hope you enjoy Gs :)
10-Crypto Normalized IndexOverview
This indicator builds a custom index for up to 10 cryptocurrencies and plots their combined trend as a single line. Each coin is normalized to 100 at a user-selected base date (or at its first available bar), then averaged (equally or by your custom weights). The result lets you see the market direction of your basket at a glance.
How it works
For each symbol, the script finds a base price (first bar ≥ the chosen base date; or the first bar in history if base-date normalization is off).
It converts the current price to a normalized value: price / base × 100.
It then computes a weighted average of those normalized values to form the index.
A dotted baseline at 100 marks the starting point; values above/below 100 represent % performance vs. the base.
Key inputs
Symbols (10 max): Default set: BTC, ETH, SOL, POL, OKB, BNB, SUI, LINK, 1INCH, TRX (USDT pairs). You can change exchange/quote (keep all the same quote, e.g., all USDT).
Weights: Toggle equal weights or enter custom weights. Custom weights are auto-normalized internally, so they don’t need to sum to 1.
Base date: Year/Month/Day (default: 2025-06-01). Turning normalization off uses each symbol’s first available bar as its base.
Smoothing: Optional SMA to reduce noise.
Show baseline: Toggle the horizontal line at 100.
Interpretation
Index > 100 and rising → your basket is up since the base date.
Index < 100 and falling → down since the base date.
Use shorter timeframes for intraday sentiment, higher timeframes for swing/trend context.
Default basket & weights (editable)
Order: BTC, ETH, SOL, POL, OKB, BNB, SUI, LINK, 1INCH, TRX.
Default custom weight factors: 30, 30, 20, 10, 10, 5, 5, 5, 5, 5 (auto-normalized).
Base date: 2025-06-01.
Highlight 10-11 AM NY//@version=5
indicator("Highlight 10-11 AM NY", overlay=true)
// Inputs for flexibility
startHour = input.int(10, "Start Hour (NY time)")
endHour = input.int(11, "End Hour (NY time)")
// Check if the current bar is within the session (uses chart time zone)
inSession = (hour(time, syminfo.timezone) >= startHour) and (hour(time, syminfo.timezone) < endHour)
// Highlight background
bgcolor(inSession ? color.new(color.yellow, 85) : na)
Smart Money Flow Index (SMFI) - This tool is useful for comparing price action with underlying money flow and spotting where smart money may be entering or exiting the market.
Hazel nut BB Strategy, volume base- lite versionHazel nut BB Strategy, volume base — lite version
Having knowledge and information in financial markets is only useful when a trader operates with a well-defined trading strategy. Trading strategies assist in capital management, profit-taking, and reducing potential losses.
This strategy is built upon the core principle of supply and demand dynamics. Alongside this foundation, one of the widely used technical tools — the Bollinger Bands — is employed to structure a framework for profit management and risk control.
In this strategy, the interaction of these tools is explained in detail. A key point to note is that for calculating buy and sell volumes, a lower timeframe function is used. When applied with a tick-level resolution, this provides the most precise measurement of buyer/seller flows. However, this comes with a limitation of reduced historical depth. Users should be aware of this trade-off: if precise tick-level data is required, shorter timeframes should be considered to extend historical coverage .
The strategy offers multiple configuration options. Nevertheless, it should be treated strictly as a supportive tool rather than a standalone trading system. Decisions must integrate personal analysis and other instruments. For example, in highly volatile assets with narrow ranges, it is recommended to adjust profit-taking and stop-loss percentages to smaller values.
◉ Volume Settings
• Buyer and seller volume (up/down volume) are requested from a lower timeframe, with an option to override the automatic resolution.
• A global lookback period is applied to calculate moving averages and cumulative sums of buy/sell/delta volumes.
• Ratios of buyers/sellers to total volume are derived both on the current bar and across the lookback window.
◉ Bollinger Band
• Bands are computed using configurable moving averages (SMA, EMA, RMA, WMA, VWMA).
• Inputs allow control of length, standard deviation multiplier, and offset.
• The basis, upper, and lower bands are plotted, with a shaded background between them.
◉ Progress & Proximity
• Relative position of the price to the Bollinger basis is expressed as percentages (qPlus/qMinus).
• “Near band” conditions are triggered when price progress toward the upper or lower band exceeds a user-defined threshold (%).
• A signed score (sScore) represents how far the close has moved above or below the basis relative to band width.
◉ Info Table
• Optional compact table summarizing:
• - Upper/lower band margins
• - Buyer/seller volumes with moving averages
• - Delta and cumulative delta
• - Buyer/seller ratios per bar and across the window
• - Money flow values (buy/sell/delta × price) for bar-level and summed periods
• The table is neutral-colored and resizable for different chart layouts.
◉ Zone Event Gate
• Tracks entry into and exit from “near band” zones.
• Arming logic: a side is armed when price enters a band proximity zone.
• Trigger logic: on exit, a trade event is generated if cumulative buyer or seller volume dominates over a configurable window.
◉ Trading Logic
• Orders are placed only on zone-exit events, conditional on volume dominance.
• Position sizing is defined as a fixed percentage of strategy equity.
• Long entries occur when leaving the lower zone with buyer dominance; short entries occur when leaving the upper zone with seller dominance.
◉ Exit Rules
• Open positions are managed by a strict priority sequence:
• 1. Stop-loss (% of entry price)
• 2. Take-profit (% of entry price)
• 3. Opposite-side event (zone exit with dominance in the other direction)
• Stop-loss and take-profit levels are configurable
◉ Notes
• This lite version is intended to demonstrate the interaction of Bollinger Bands and volume-based dominance logic.
• It provides a framework to observe how price reacts at band boundaries under varying buy/sell pressure, and how zone exits can be systematically converted into entry/exit signals.
When configuring this strategy, it is essential to carefully review the settings within the Strategy Tester. Ensure that the chosen parameters and historical data options are correctly aligned with the intended use. Accurate back testing depends on applying proper configurations for historical reference. The figure below illustrates sample result and configuration type.
さくらんぼーい//@version=6
indicator("さくらんぼーい", overlay=true, max_labels_count=500, max_lines_count=500)
//==================== Inputs ====================//
// ---- Anchor (shared) ----
grpA = "Anchor (shared)"
anchorMode = input.string("Time", "Anchor Mode", options= , group=grpA)
anchorTime = input.time(timestamp("2025-06-24T20:31:00"), "Anchor Time (exchange)", group=grpA)
anchorBarsAgo = input.int(100, "Anchor Bars Ago", minval=1, group=grpA)
anchorPriceMode = input.string("Close", "Anchor Price", options= , group=grpA)
anchorPriceManual = input.float(0.0, "Manual Anchor Price (0=auto)", step=0.0001, group=grpA)
// ---- Light-Cone ----
grpLC = "Light-Cone ATR"
atrLen = input.int(14, "ATR Length", minval=1, group=grpLC)
atrTF = input.timeframe("", "ATR Timeframe (blank=same)", group=grpLC)
projBars = input.int(60, "Projection Horizon (bars)", minval=1, group=grpLC)
coneMode = input.string("Diffusive √n", "Cone Growth Mode", options= , group=grpLC)
mult = input.float(1.0, "ATR Multiplier (σ-ish)", step=0.1, minval=0.0, group=grpLC)
wickMode = input.string("Close", "Height uses", options= , group=grpLC)
coneFillCol= input.color(color.new(color.teal, 90), "Cone Fill", group=grpLC)
coneLineCol= input.color(color.new(color.aqua, 40), "Cone Edge", group=grpLC)
// ---- Light-Cone guide lines ----
grpFan = "Light-Cone Guides (0.5c / 1.5c)"
showFan = input.bool(true, "Show 0.5c & 1.5c guide lines", group=grpFan)
fan05Color = input.color(color.new(color.aqua, 75), "0.5c line", group=grpFan)
fan15Color = input.color(color.new(color.aqua, 60), "1.5c line", group=grpFan)
fanWidth = input.int(1, "Guide line width", minval=1, maxval=3, group=grpFan)
// ---- √n Stripes ----
grpZ = "Convergence (√n stripes)"
stepBars = input.int(20, "Base Step (bars)", minval=1, group=grpZ)
maxOrderM = input.int(8, "Max Order M (m²)", minval=1, maxval=50, group=grpZ)
halfWindow = input.int(2, "Stripe Half-Width (bars)", minval=0, group=grpZ)
stripeColor = input.color(color.new(color.fuchsia, 86), "Stripe Color", group=grpZ)
showCenters = input.bool(false, "Draw Stripe Center Lines", group=grpZ)
// ---- Fractal ----
grpF = "Fractal (Pivot) Detector"
leftP = input.int(2, "Left bars (L)", minval=1, group=grpF)
rightP = input.int(2, "Right bars (R)", minval=1, group=grpF)
hitColHi = input.color(color.new(color.lime, 0), "Pivot High Mark", group=grpF)
hitColLo = input.color(color.new(color.red, 0), "Pivot Low Mark", group=grpF)
// ---- Display / Limits ----
grpO = "Display / Limits"
showHitTable = input.bool(true, "Show m² Hit Table", group=grpO)
limitScreen = input.bool(true, "Reduce drawing near screen", group=grpO)
screenPastBars = input.int(5000, "Screen past window (bars)", minval=100, group=grpO)
futureLimitBars= input.int(500, "FUTURE draw limit (TV max 500)", minval=0, maxval=500, group=grpO)
// ---- Bias Panel ----
grpB = "Bias Panel"
showBiasPanel = input.bool(true, "Show Bias Panel", group=grpB)
biasTf = input.timeframe("15", "HTF timeframe", group=grpB)
emaFast = input.int(20, "HTF EMA fast", minval=1, group=grpB)
emaSlow = input.int(50, "HTF EMA slow", minval=2, group=grpB)
zThresh = input.float(0.30, "Z threshold (±)", step=0.05, group=grpB)
railLookback = input.int(20, "Rail lookback bars", minval=5, group=grpB)
railPct = input.float(0.40, "Rail touch ratio (0–1)", minval=0.1, maxval=0.9, step=0.05, group=grpB)
// ---- Positions (NEW) ----
panelCorner = input.string("Top-Right", "Bias Panel Position",
options= , group=grpB)
hitsCorner = input.string("Top-Left", "Hits Table Position",
options= , group=grpO)
// ---- Helpers: table positions ----
f_pos(s) =>
p = position.top_left
if s == "Top-Right"
p := position.top_right
else if s == "Bottom-Left"
p := position.bottom_left
else if s == "Bottom-Right"
p := position.bottom_right
p
//==================== Anchor Resolve ====================//
var int anchorBar = na
var float anchorPrice = na
var label anchorLbl = na
// 初バー保護付きタイム検索
f_find_anchor_bar_by_time(_t) =>
ta.valuewhen(nz(time , time ) < _t and time >= _t, bar_index, 0)
if anchorMode == "Time"
anchorBar := f_find_anchor_bar_by_time(anchorTime)
else
// バッファ下限保護
anchorBar := math.max(0, bar_index - anchorBarsAgo)
// アンカー価格(安全取得)
f_price_at_anchor(_bar) =>
float _v = na
if anchorPriceMode == "Close"
_v := ta.valuewhen(bar_index == _bar, close, 0)
else if anchorPriceMode == "High"
_v := ta.valuewhen(bar_index == _bar, high, 0)
else if anchorPriceMode == "Low"
_v := ta.valuewhen(bar_index == _bar, low, 0)
else if anchorPriceMode == "Open"
_v := ta.valuewhen(bar_index == _bar, open, 0)
_v
float autoPrice = na
if not na(anchorBar) and anchorBar <= bar_index
autoPrice := f_price_at_anchor(anchorBar)
anchorPrice := (anchorPriceMode == "Manual" and anchorPriceManual != 0.0) ? anchorPriceManual : autoPrice
bool anchorOK = not na(anchorBar) and anchorBar >= 0 and anchorBar <= bar_index + futureLimitBars and not na(anchorPrice)
// ラベル
if anchorOK
if na(anchorLbl)
anchorLbl := label.new(anchorBar, anchorPrice, "Anchor", xloc=xloc.bar_index, yloc=yloc.price, style=label.style_label_down, textcolor=color.black, color=color.yellow, size=size.tiny)
else
label.set_x(anchorLbl, anchorBar), label.set_y(anchorLbl, anchorPrice)
//==================== Light-Cone (ATR-based) ====================//
float atrSame = ta.atr(atrLen)
float atrOther = request.security(syminfo.tickerid, atrTF, ta.atr(atrLen), gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_off)
float baseATR = (na(atrTF) or atrTF == "") ? atrSame : atrOther
float c_main = mult * baseATR
int horizon = math.min(projBars, futureLimitBars)
var line upL = na
var line dnL = na
var line up05 = na
var line dn05 = na
var line up15 = na
var line dn15 = na
var linefill coneFill = na
f_growth(_n) =>
coneMode == "Linear n" ? _n : math.sqrt(_n)
if anchorOK
if not na(coneFill)
linefill.delete(coneFill)
if not na(upL)
line.delete(upL)
if not na(dnL)
line.delete(dnL)
if not na(up05)
line.delete(up05)
if not na(dn05)
line.delete(dn05)
if not na(up15)
line.delete(up15)
if not na(dn15)
line.delete(dn15)
int x1 = anchorBar + horizon
float dyPer= (wickMode == "Wick (High/Low)") ? c_main * 0.5 : c_main
float grow = f_growth(horizon)
float upY = anchorPrice + dyPer * grow
float dnY = anchorPrice - dyPer * grow
float upY05 = anchorPrice + (dyPer * 0.5) * grow
float dnY05 = anchorPrice - (dyPer * 0.5) * grow
float upY15 = anchorPrice + (dyPer * 1.5) * grow
float dnY15 = anchorPrice - (dyPer * 1.5) * grow
upL := line.new(anchorBar, anchorPrice, x1, upY, xloc=xloc.bar_index, extend=extend.none, color=coneLineCol, width=2)
dnL := line.new(anchorBar, anchorPrice, x1, dnY, xloc=xloc.bar_index, extend=extend.none, color=coneLineCol, width=2)
coneFill := linefill.new(upL, dnL, color=coneFillCol)
if showFan
up05 := line.new(anchorBar, anchorPrice, x1, upY05, xloc=xloc.bar_index, extend=extend.none, color=fan05Color, width=fanWidth)
dn05 := line.new(anchorBar, anchorPrice, x1, dnY05, xloc=xloc.bar_index, extend=extend.none, color=fan05Color, width=fanWidth)
up15 := line.new(anchorBar, anchorPrice, x1, upY15, xloc=xloc.bar_index, extend=extend.none, color=fan15Color, width=fanWidth)
dn15 := line.new(anchorBar, anchorPrice, x1, dnY15, xloc=xloc.bar_index, extend=extend.none, color=fan15Color, width=fanWidth)
//==================== √n Stripes ====================//
var array centers = array.new_int()
array.clear(centers)
if not na(anchorBar)
for m = 1 to maxOrderM
array.push(centers, anchorBar + stepBars * m * m)
f_in_any_stripe(_bi) =>
sz = array.size(centers)
if sz == 0
false
else
bool hit = false
for i = 0 to sz - 1
int c0 = array.get(centers, i)
if _bi >= c0 - halfWindow and _bi <= c0 + halfWindow
hit := true
hit
// どの m² ストライプか(なければ na)
f_stripe_index(_bi) =>
int mFound = na
if array.size(centers) > 0
for m = 1 to maxOrderM
int cCenter = array.get(centers, m - 1)
if _bi >= cCenter - halfWindow and _bi <= cCenter + halfWindow
mFound := m
mFound
bgcolor(f_in_any_stripe(bar_index) ? stripeColor : na)
if showCenters and array.size(centers) > 0
for i = 0 to array.size(centers) - 1
int c0 = array.get(centers, i)
bool withinFutureLimit = c0 <= bar_index + futureLimitBars
bool nearScreen = not limitScreen or (c0 >= bar_index - screenPastBars and c0 <= bar_index + futureLimitBars)
if withinFutureLimit and nearScreen
line.new(c0, high, c0, low, xloc=xloc.bar_index, extend=extend.both, color=color.new(color.white, 70), width=1)
//==================== Fractal Detection ====================//
isPH = not na(ta.pivothigh(high, leftP, rightP))
isPL = not na(ta.pivotlow (low , leftP, rightP))
int pivotCenter = bar_index - rightP
hitPH = isPH and f_in_any_stripe(pivotCenter)
hitPL = isPL and f_in_any_stripe(pivotCenter)
//==================== m² Hit Table (robust) ====================//
var table tbHits = na
var hitsHi = array.new_int()
var hitsLo = array.new_int()
f_sync_len_int(_arr, _n, _fill) =>
while array.size(_arr) < _n
array.push(_arr, _fill)
while array.size(_arr) > _n
array.pop(_arr)
_arr
f_safe_get_int(_arr, _idx) =>
(_idx >= 0 and _idx < array.size(_arr)) ? array.get(_arr, _idx) : 0
// 毎バー長さ同期
f_sync_len_int(hitsHi, maxOrderM, 0)
f_sync_len_int(hitsLo, maxOrderM, 0)
// 集計
if (hitPH or hitPL) and array.size(centers) > 0
int nC = array.size(centers)
int nM = math.min(maxOrderM, nC)
for m = 1 to nM
int c0 = array.get(centers, m - 1)
if pivotCenter >= c0 - halfWindow and pivotCenter <= c0 + halfWindow
if hitPH
array.set(hitsHi, m - 1, f_safe_get_int(hitsHi, m - 1) + 1)
if hitPL
array.set(hitsLo, m - 1, f_safe_get_int(hitsLo, m - 1) + 1)
// 表示
if showHitTable and barstate.islast
if na(tbHits)
tbHits := table.new(f_pos(hitsCorner), 3, maxOrderM + 1, border_width=1)
table.cell(tbHits, 0, 0, "m²", bgcolor=color.new(color.blue, 20), text_color=color.white)
table.cell(tbHits, 1, 0, "PH▲", bgcolor=color.new(color.green,10), text_color=color.white)
table.cell(tbHits, 2, 0, "PL▼", bgcolor=color.new(color.red, 10), text_color=color.white)
int rows = array.size(hitsHi)
int nRow = math.min(maxOrderM, rows)
for m = 1 to nRow
table.cell(tbHits, 0, m, str.tostring(m) + "²")
table.cell(tbHits, 1, m, str.tostring(f_safe_get_int(hitsHi, m - 1)))
table.cell(tbHits, 2, m, str.tostring(f_safe_get_int(hitsLo, m - 1)))
//==================== Bias Components ====================//
// 1) HTF trend
bool htfBull = request.security(syminfo.tickerid, biasTf, ta.ema(close, emaFast) > ta.ema(close, emaSlow), gaps=barmerge.gaps_off)
bool htfBear = request.security(syminfo.tickerid, biasTf, ta.ema(close, emaFast) < ta.ema(close, emaSlow), gaps=barmerge.gaps_off)
int scHTF = htfBull ? 1 : (htfBear ? -1 : 0)
string stHTF = htfBull ? "Bull" : (htfBear ? "Bear" : "—")
// 2) Cone Z
float z = 0.0
if anchorOK
int barsFromAnchor = math.max(1, bar_index - anchorBar)
float dyPerNow = (wickMode == "Wick (High/Low)") ? (mult * baseATR * 0.5) : (mult * baseATR)
float growNow = f_growth(math.min(barsFromAnchor, horizon))
float denom = dyPerNow * growNow
z := denom != 0 ? (close - anchorPrice) / denom : 0.0
int scZ = z > zThresh ? 1 : (z < -zThresh ? -1 : 0)
string stZ = anchorOK ? ("z=" + str.tostring(z, "#.00")) : "no anchor"
// 3) Rail-hug(0.5c〜1.0c帯を High/Low の“タッチ”で判定)
// ← 初期バー安全:参照本数を bar_index にクリップ
int effLookback = math.min(railLookback, bar_index) // bar_index 本目までは 0..bar_index しか参照不可
int upTouch = 0, dnTouch = 0
if anchorOK and effLookback > 0
for i = 0 to effLookback - 1
int barsFA = math.max(1, (bar_index - i) - anchorBar)
float growI = f_growth(math.min(barsFA, horizon))
float dyPerI = (wickMode == "Wick (High/Low)") ? (mult * baseATR * 0.5) : (mult * baseATR)
float up05I = anchorPrice + dyPerI * 0.5 * growI
float up10I = anchorPrice + dyPerI * 1.0 * growI
float dn05I = anchorPrice - dyPerI * 0.5 * growI
float dn10I = anchorPrice - dyPerI * 1.0 * growI
upTouch += (high >= up05I and low <= up10I) ? 1 : 0
dnTouch += (low <= dn05I and high >= dn10I) ? 1 : 0
float upRatio = effLookback > 0 ? (upTouch * 1.0) / effLookback : 0.0
float dnRatio = effLookback > 0 ? (dnTouch * 1.0) / effLookback : 0.0
bool railUp = upRatio > railPct
bool railDn = dnRatio > railPct
int scRail = railUp ? 1 : (railDn ? -1 : 0)
string stRail = anchorOK ? (railUp ? ("Up " + str.tostring(upRatio*100, "#") + "%") : (railDn ? ("Dn " + str.tostring(dnRatio*100, "#") + "%") : "—")) : "no anchor"
// 4) Stripe entry → 最初のフラクタル(帯を出た後確定も拾う)
var bool stripeIn = false
var int stripeIdxActive = na
var int stripeEnterBar = na
var int stripeLastStart = na
var int stripeLastEnd = na
var int stripeLastIdx = na
var string firstFrac = "" // "PL" or "PH" or ""
int nowIdx = f_stripe_index(bar_index)
bool nowInStripe = not na(nowIdx)
if nowInStripe and not stripeIn
stripeIn := true
stripeIdxActive := nowIdx
stripeEnterBar := bar_index
firstFrac := ""
else if not nowInStripe and stripeIn
stripeIn := false
stripeLastStart := stripeEnterBar
stripeLastEnd := bar_index - 1
stripeLastIdx := stripeIdxActive
if (isPH or isPL)
int pc = pivotCenter
int pcIdx = f_stripe_index(pc)
bool inActive = stripeIn and not na(stripeIdxActive) and pcIdx == stripeIdxActive and pc >= nz(stripeEnterBar, pc)
bool inClosed = (not stripeIn) and not na(stripeLastIdx) and pcIdx == stripeLastIdx and pc >= nz(stripeLastStart, pc) and pc <= nz(stripeLastEnd, pc)
if firstFrac == "" and (inActive or inClosed)
firstFrac := isPL ? "PL" : (isPH ? "PH" : "")
int scFrac = firstFrac == "PL" ? 1 : (firstFrac == "PH" ? -1 : 0)
string stFrac = firstFrac == "" ? "—" : ("1st " + firstFrac + (not stripeIn and not na(stripeLastIdx) ? " @m=" + str.tostring(stripeLastIdx) : (not na(stripeIdxActive) ? " @m=" + str.tostring(stripeIdxActive) : "")))
// 5) Structure break(簡易)
var float lastPH = na
var float lastPL = na
float ph = ta.pivothigh(high, 2, 2)
float pl = ta.pivotlow (low , 2, 2)
if not na(ph)
lastPH := ph
if not na(pl)
lastPL := pl
bool bullBreak = not na(lastPH) and close > lastPH
bool bearBreak = not na(lastPL) and close < lastPL
int scStruct = bullBreak ? 1 : (bearBreak ? -1 : 0)
string stStruct = bullBreak ? "Break ↑" : (bearBreak ? "Break ↓" : "—")
// ---- Total ----
int biasScore = scHTF + scZ + scRail + scFrac + scStruct
string biasDir = biasScore >= 3 ? "UP" : (biasScore <= -3 ? "DOWN" : "NEUTRAL")
//==================== Bias Panel (table, corner selectable) ====================//
var table tbBias = na
color colG = color.new(color.green, 10)
color colR = color.new(color.red, 10)
color colN = color.new(color.gray, 70)
f_col(v) =>
v > 0 ? colG : (v < 0 ? colR : colN)
if showBiasPanel and barstate.islast
if na(tbBias)
tbBias := table.new(f_pos(panelCorner), 3, 8, border_width=1)
table.cell(tbBias, 0, 0, "Bias Panel", text_color=color.white, bgcolor=color.new(color.blue, 20), text_halign=text.align_center)
table.merge_cells(tbBias, 0, 0, 2, 0)
table.cell(tbBias, 0, 1, "Card", text_halign=text.align_center)
table.cell(tbBias, 1, 1, "State", text_halign=text.align_center)
table.cell(tbBias, 2, 1, "±1", text_halign=text.align_center)
// rows
table.cell(tbBias, 0, 2, "HTF ("+biasTf+")")
table.cell(tbBias, 1, 2, stHTF)
table.cell(tbBias, 2, 2, str.tostring(scHTF), bgcolor=f_col(scHTF), text_halign=text.align_center)
table.cell(tbBias, 0, 3, "Cone z")
table.cell(tbBias, 1, 3, stZ)
table.cell(tbBias, 2, 3, str.tostring(scZ), bgcolor=f_col(scZ), text_halign=text.align_center)
table.cell(tbBias, 0, 4, "Rail 0.5c")
table.cell(tbBias, 1, 4, stRail)
table.cell(tbBias, 2, 4, str.tostring(scRail), bgcolor=f_col(scRail), text_halign=text.align_center)
table.cell(tbBias, 0, 5, "Fractal")
table.cell(tbBias, 1, 5, stFrac)
table.cell(tbBias, 2, 5, str.tostring(scFrac), bgcolor=f_col(scFrac), text_halign=text.align_center)
table.cell(tbBias, 0, 6, "Structure")
table.cell(tbBias, 1, 6, stStruct)
table.cell(tbBias, 2, 6, str.tostring(scStruct), bgcolor=f_col(scStruct), text_halign=text.align_center)
color totCol = biasScore>=3?colG:(biasScore<=-3?colR:colN)
table.cell(tbBias, 0, 7, "TOTAL", bgcolor=color.new(color.black, 0), text_color=color.white, text_halign=text.align_center)
table.cell(tbBias, 1, 7, biasDir, bgcolor=totCol, text_color=color.white, text_halign=text.align_center)
table.cell(tbBias, 2, 7, str.tostring(biasScore), bgcolor=totCol, text_color=color.white, text_halign=text.align_center)
//==================== Alerts ====================//
alertcondition(biasScore >= 3, "Bias UP", "Bias score >= +3")
alertcondition(biasScore <= -3, "Bias DOWN", "Bias score <= -3")
alertcondition(hitPH, "Fractal High in Convergence", "Pivot High detected inside √n convergence stripe.")
alertcondition(hitPL, "Fractal Low in Convergence", "Pivot Low detected inside √n convergence stripe.")
Information Flow Analysis[b🔄 Information Flow Analysis: Systematic Multi-Component Market Analysis Framework
SYSTEM OVERVIEW AND ANALYTICAL FOUNDATION
The Information Flow Kernel - Hybrid combines established technical analysis methods into a unified analytical framework. This indicator systematically processes three distinct data streams - directional price momentum, volume-weighted pressure dynamics, and intrabar development patterns - integrating them through weighted mathematical fusion to produce statistically normalized market flow measurements.
COMPREHENSIVE MATHEMATICAL FRAMEWORK
Component 1: Directional Flow Analysis
The directional component analyzes price momentum through three mathematical vectors:
Price Vector: p = C - O (intrabar directional bias)
Momentum Vector: m = C_t - C_{t-1} (bar-to-bar velocity)
Acceleration Vector: a = m_t - m_{t-1} (momentum rate of change)
Directional Signal Integration:
S_d = \text{sgn}(p) \cdot |p| + \text{sgn}(m) \cdot |m| \cdot 0.6 + \text{sgn}(a) \cdot |a| \cdot 0.3
The signum function preserves directional information while absolute values provide magnitude weighting. Coefficients create a hierarchy emphasizing intrabar movement (100%), momentum (60%), and acceleration (30%).
Final Directional Output: K_1 = S_d \cdot w_d where w_d is the directional weight parameter.
Component 2: Volume-Weighted Pressure Analysis
Volume Normalization: r_v = \frac{V_t}{\overline{V_n}} where \overline{V_n} represents the n-period simple moving average of volume.
Base Pressure Calculation: P_{base} = \Delta C \cdot r_v \cdot w_v where \Delta C = C_t - C_{t-1} and w_v is the velocity weighting factor.
Volume Confirmation Function:
f(r_v) = \begin{cases}
1.4 & \text{if } r_v > 1.2 \
0.7 & \text{if } r_v < 0.8 \
1.0 & \text{otherwise}
\end{cases}
Final Pressure Output: K_2 = P_{base} \cdot f(r_v)
Component 3: Intrabar Development Analysis
Bar Position Calculation: B = \frac{C - L}{H - L} when H - L > 0 , else B = 0.5
Development Signal Function:
S_{dev} = \begin{cases}
2(B - 0.5) & \text{if } B > 0.6 \text{ or } B < 0.4 \
0 & \text{if } 0.4 \leq B \leq 0.6
\end{cases}
Final Development Output: K_3 = S_{dev} \cdot 0.4
Master Integration and Statistical Normalization
Weighted Component Fusion: F_{raw} = 0.5K_1 + 0.35K_2 + 0.15K_3
Sensitivity Scaling: F_{master} = F_{raw} \cdot s where s is the sensitivity parameter.
Statistical Normalization Process:
Rolling Mean: \mu_F = \frac{1}{n}\sum_{i=0}^{n-1} F_{master,t-i}
Rolling Standard Deviation: \sigma_F = \sqrt{\frac{1}{n}\sum_{i=0}^{n-1} (F_{master,t-i} - \mu_F)^2}
Z-Score Computation: z = \frac{F_{master} - \mu_F}{\sigma_F}
Boundary Enforcement: z_{bounded} = \max(-3, \min(3, z))
Final Normalization: N = \frac{z_{bounded}}{3}
Flow Metrics Calculation:
Intensity: I = |z|
Strength Percentage: S = \min(100, I \times 33.33)
Extreme Detection: \text{Extreme} = I > 2.0
DETAILED INPUT PARAMETER SPECIFICATIONS
Sensitivity (0.1 - 3.0, Default: 1.0)
Global amplification multiplier applied to the master flow calculation. Functions as: F_{master} = F_{raw} \cdot s
Low Settings (0.1 - 0.5): Enhanced precision for subtle market movements. Optimal for low-volatility environments, scalping strategies, and early detection of minor directional shifts. Increases responsiveness but may amplify noise.
Moderate Settings (0.6 - 1.2): Balanced sensitivity for standard market conditions across multiple timeframes.
High Settings (1.3 - 3.0): Reduced sensitivity to minor fluctuations while emphasizing significant flow changes. Ideal for high-volatility assets, trending markets, and longer timeframes.
Directional Weighting (0.1 - 1.0, Default: 0.7)
Controls emphasis on price direction versus volume and positioning factors. Applied as: K_{1,weighted} = K_1 \times w_d
Lower Values (0.1 - 0.4): Reduces directional bias, favoring volume-confirmed moves. Optimal for ranging markets where momentum may generate false signals.
Higher Values (0.7 - 1.0): Amplifies directional signals from price vectors and acceleration. Ideal for trending conditions where directional momentum drives price action.
Velocity Weighting (0.1 - 1.0, Default: 0.6)
Scales volume-confirmed price change impact. Applied in: P_{base} = \Delta C \times r_v \times w_v
Lower Values (0.1 - 0.4): Dampens volume spike influence, focusing on sustained pressure patterns. Suitable for illiquid assets or news-sensitive markets.
Higher Values (0.8 - 1.0): Amplifies high-volume directional moves. Optimal for liquid markets where volume provides reliable confirmation.
Volume Length (3 - 20, Default: 5)
Defines lookback period for volume averaging: \overline{V_n} = \frac{1}{n}\sum_{i=0}^{n-1} V_{t-i}
Short Periods (3 - 7): Responsive to recent volume shifts, excellent for intraday analysis.
Long Periods (13 - 20): Smoother averaging, better for swing trading and higher timeframes.
DASHBOARD SYSTEM
Primary Flow Gauge
Bilaterally symmetric visualization displaying normalized flow direction and intensity:
Segment Calculation: n_{active} = \lfloor |N| \times 15 \rfloor
Left Fill: Bearish flow when N < -0.01
Right Fill: Bullish flow when N > 0.01
Neutral Display: Empty segments when |N| \leq 0.01
Visual Style Options:
Matrix: Digital blocks (▰/▱) for quantitative precision
Wave: Progressive patterns (▁▂▃▄▅▆▇█) showing flow buildup
Dots: LED-style indicators (●/○) with intensity scaling
Blocks: Modern squares (■/□) for professional appearance
Pulse: Progressive markers (⎯ to █) emphasizing intensity buildup
Flow Intensity Visualization
30-segment horizontal bar graph with mathematical fill logic:
Segment Fill: For i \in : filled if \frac{i}{29} \leq \frac{S}{100}
Color Coding System:
Orange (S > 66%): High intensity, strong directional conviction
Cyan (33% ≤ S ≤ 66%): Moderate intensity, developing bias
White (S < 33%): Low intensity, neutral conditions
Extreme Detection Indicators
Circular markers flanking the gauge with state-dependent illumination:
Activation: I > 2.0 \land |N| > 0.3
Bright Yellow: Active extreme conditions
Dim Yellow: Normal conditions
Metrics Display
Balance Value: Raw master flow output ( F_{master} ) showing absolute directional pressure
Z-Score Value: Statistical deviation ( z_{bounded} ) indicating historical context
Dynamic Narrative System
Context-sensitive interpretation based on mathematical thresholds:
Extreme Flow: I > 2.0 \land |N| > 0.6
Moderate Flow: 0.3 < |N| \leq 0.6
High Volatility: S > 50 \land |N| \leq 0.3
Neutral State: S \leq 50 \land |N| \leq 0.3
ALERT SYSTEM SPECIFICATIONS
Mathematical Trigger Conditions:
Extreme Bullish: I > 2.0 \land N > 0.6
Extreme Bearish: I > 2.0 \land N < -0.6
High Intensity: S > 80
Bullish Shift: N_t > 0.3 \land N_{t-1} \leq 0.3
Bearish Shift: N_t < -0.3 \land N_{t-1} \geq -0.3
TECHNICAL IMPLEMENTATION AND PERFORMANCE
Computational Architecture
The system employs efficient calculation methods minimizing processing overhead:
Single-pass mathematical operations for all components
Conditional visual rendering (executed only on final bar)
Optimized array operations using direct calculations
Real-Time Processing
The indicator updates continuously during bar formation, providing immediate feedback on changing market conditions. Statistical normalization ensures consistent interpretation across varying market regimes.
Market Applicability
Optimal performance in liquid markets with consistent volume patterns. May require parameter adjustment for:
Low-volume or after-hours sessions
News-driven market conditions
Highly volatile cryptocurrency markets
Ranging versus trending market environments
PRACTICAL APPLICATION FRAMEWORK
Market State Classification
This indicator functions as a comprehensive market condition assessment tool providing:
Trend Analysis: High intensity readings ( S > 66% ) with sustained directional bias indicate strong trending conditions suitable for momentum strategies.
Reversal Detection: Extreme readings ( I > 2.0 ) at key technical levels may signal potential trend exhaustion or reversal points.
Range Identification: Low intensity with neutral flow ( S < 33%, |N| < 0.3 ) suggests ranging market conditions suitable for mean reversion strategies.
Volatility Assessment: High intensity without clear directional bias indicates elevated volatility with conflicting pressures.
Integration with Trading Systems
The normalized output range facilitates integration with automated trading systems and position sizing algorithms. The statistical basis provides consistent interpretation across different market conditions and asset classes.
LIMITATIONS AND CONSIDERATIONS
This indicator combines established technical analysis methods and processes historical data without predicting future price movements. The system performs optimally in liquid markets with consistent volume patterns and may produce false signals in thin trading conditions or during news-driven market events. This indicator is provided for educational and analytical purposes only and does not constitute financial advice. Users should combine this analysis with proper risk management, position sizing, and additional confirmation methods before making any trading decisions. Past performance does not guarantee future results.
Note: The term "kernel" in this context refers to modular calculation components rather than mathematical kernel functions in the formal computational sense.
As quantitative analyst Ralph Vince noted: "The essence of successful trading lies not in predicting market direction, but in the systematic processing of market information and the disciplined management of probability distributions."
— Dskyz, Trade with insight. Trade with anticipation.
Trend Strength Index Long Strategy📈 Trend Strength Index Long Strategy
This strategy combines the Trend Strength Index (TSI) with a Volume-Weighted Moving Average (VWMA) to identify high-probability long entries based on trend momentum and price confirmation.
📊 TSI Calculation : Measures correlation between price and time (bar index) over a user-defined period. Strong TSI values indicate trend momentum.
📏 VWMA Filter : Confirms bullish bias when price is above the VWMA.
🚀 Entry Condition : Long position is triggered when TSI crosses above -0.65 and price is above VWMA.
🔒 Exit Condition : Position is closed when TSI crosses above 0.65.
🎨 Visuals : Gradient fills highlight bullish and bearish zones. VWMA is plotted for trend context.
🧮 TSI Length: Adjustable (default 14)
📐 VWMA Length: Adjustable (default 55)
💸 Commission: 0.1% per trade
📊 Position Size: 75% of equity
⚙️ Slippage: 10 ticks
✅ Best used in trending markets with steady momentum.
⚠️ Avoid in choppy or range-bound conditions.