TimeframeUtilsLibrary "TimeframeUtils"
Timeframe Utilities Library – Provides functions to convert timeframe resolutions to minutes and generate human‐readable timeframe text.
tfResInMinutes(_res)
tfResInMinutes
Parameters:
_res (string)
Returns: float - The specified timeframe's resolution in minutes.
getTimeFrameText(_tf)
getTimeFrameText
Parameters:
_tf (string)
Returns: string - A human-readable representation of the specified timeframe.
ابحث في النصوص البرمجية عن "text"
Quarterly Theory ICT 01 [TradingFinder] XAMD + Q1-Q4 Sessions🔵 Introduction
The Quarterly Theory ICT indicator is an advanced analytical system based on the concepts of ICT (Inner Circle Trader) and fractal time. It divides time into quarterly periods and accurately determines entry and exit points for trades by using the True Open as the starting point of each cycle. This system is applicable across various time frames including annual, monthly, weekly, daily, and even 90-minute sessions.
Time is divided into four quarters: in the first quarter (Q1), which is dedicated to the Accumulation phase, the market is in a consolidation state, laying the groundwork for a new trend; in the second quarter (Q2), allocated to the Manipulation phase (also known as Judas Swing), sudden price changes and false moves occur, marking the true starting point of a trend change; the third quarter (Q3) is dedicated to the Distribution phase, during which prices are broadly distributed and price volatility peaks; and the fourth quarter (Q4), corresponding to the Continuation/Reversal phase, either continues or reverses the previous trend.
By leveraging smart algorithms and technical analysis, this system identifies optimal price patterns and trading positions through the precise detection of stop-run and liquidity zones.
With the division of time into Q1 through Q4 and by incorporating key terms such as Quarterly Theory ICT, True Open, Accumulation, Manipulation (Judas Swing), Distribution, Continuation/Reversal, ICT, fractal time, smart algorithms, technical analysis, price patterns, trading positions, stop-run, and liquidity, this system enables traders to identify market trends and make informed trading decisions using real data and precise analysis.
♦ Important Note :
This indicator and the "Quarterly Theory ICT" concept have been developed based on material published in primary sources, notably the articles on Daye( traderdaye ) and Joshuuu . All copyright rights are reserved.
🔵 How to Use
The Quarterly Theory ICT strategy is built on dividing time into four distinct periods across various time frames such as annual, monthly, weekly, daily, and even 90-minute sessions. In this approach, time is segmented into four quarters, during which the phases of Accumulation, Manipulation (Judas Swing), Distribution, and Continuation/Reversal appear in a systematic and recurring manner.
The first segment (Q1) functions as the Accumulation phase, where the market consolidates and lays the foundation for future movement; the second segment (Q2) represents the Manipulation phase, during which prices experience sudden initial changes, and with the aid of the True Open concept, the real starting point of the market’s movement is determined; in the third segment (Q3), the Distribution phase takes place, where prices are widely dispersed and price volatility reaches its peak; and finally, the fourth segment (Q4) is recognized as the Continuation/Reversal phase, in which the previous trend either continues or reverses.
This strategy, by harnessing the concepts of fractal time and smart algorithms, enables precise analysis of price patterns across multiple time frames and, through the identification of key points such as stop-run and liquidity zones, assists traders in optimizing their trading positions. Utilizing real market data and dividing time into Q1 through Q4 allows for a comprehensive and multi-level technical analysis in which optimal entry and exit points are identified by comparing prices to the True Open.
Thus, by focusing on keywords like Quarterly Theory ICT, True Open, Accumulation, Manipulation, Distribution, Continuation/Reversal, ICT, fractal time, smart algorithms, technical analysis, price patterns, trading positions, stop-run, and liquidity, the Quarterly Theory ICT strategy acts as a coherent framework for predicting market trends and developing trading strategies.
🔵b]Settings
Cycle Display Mode: Determines whether the cycle is displayed on the chart or on the indicator panel.
Show Cycle: Enables or disables the display of the ranges corresponding to each quarter within the micro cycles (e.g., Q1/1, Q1/2, Q1/3, Q1/4, etc.).
Show Cycle Label: Toggles the display of textual labels for identifying the micro cycle phases (for example, Q1/1 or Q2/2).
Table Display Mode: Enables or disables the ability to display cycle information in a tabular format.
Show Table: Determines whether the table—which summarizes the phases (Q1 to Q4)—is displayed.
Show More Info: Adds additional details to the table, such as the name of the phase (Accumulation, Manipulation, Distribution, or Continuation/Reversal) or further specifics about each cycle.
🔵 Conclusion
Quarterly Theory ICT provides a fractal and recurring approach to analyzing price behavior by dividing time into four quarters (Q1, Q2, Q3, and Q4) and defining the True Open at the beginning of the second phase.
The Accumulation, Manipulation (Judas Swing), Distribution, and Continuation/Reversal phases repeat in each cycle, allowing traders to identify price patterns with greater precision across annual, monthly, weekly, daily, and even micro-level time frames.
Focusing on the True Open as the primary reference point enables faster recognition of potential trend changes and facilitates optimal management of trading positions. In summary, this strategy, based on ICT principles and fractal time concepts, offers a powerful framework for predicting future market movements, identifying optimal entry and exit points, and managing risk in various trading conditions.
Enhanced KLSE Banker Flow Oscillator# Enhanced KLSE Banker Flow Oscillator
## Description
The Enhanced KLSE Banker Flow Oscillator is a sophisticated technical analysis tool designed specifically for the Malaysian stock market (KLSE). This indicator analyzes price and volume relationships to identify potential smart money movements, providing early signals for market reversals and continuation patterns.
The oscillator measures the buying and selling pressure in the market with a focus on detecting institutional activity. By combining money flow calculations with volume filters and price action analysis, it helps traders identify high-probability trading opportunities with reduced noise.
## Key Features
- Dual-Timeframe Analysis: Combines long-term money flow trends with short-term momentum shifts for more accurate signals
- Adaptive Volume Filtering: Automatically adjusts volume thresholds based on recent market conditions
- Advanced Divergence Detection: Identifies potential trend reversals through price-flow divergences
- Early Signal Detection: Provides anticipatory signals before major price movements occur
- Multiple Signal Types: Offers both early alerts and strong confirmation signals with clear visual markers
- Volatility Adjustment: Adapts sensitivity based on current market volatility for more reliable signals
- Comprehensive Visual Feedback: Color-coded oscillator, signal markers, and optional text labels
- Customizable Display Options: Toggle momentum histogram, early signals, and zone fills
- Organized Settings Interface: Logically grouped parameters for easier configuration
## Indicator Components
1. Main Oscillator Line: The primary banker flow line that fluctuates above and below zero
2. Early Signal Line: Secondary indicator showing potential emerging signals
3. Momentum Histogram: Visual representation of flow momentum changes
4. Zone Fills: Color-coded background highlighting positive and negative zones
5. Signal Markers: Visual indicators for entry and exit points
6. Reference Lines: Key levels for strong and early signals
7. Signal Labels: Optional text annotations for significant signals
## Signal Types
1. Strong Buy Signal (Green Arrow): Major bullish signal with high probability of success
2. Strong Sell Signal (Red Arrow): Major bearish signal with high probability of success
3. Early Buy Signal (Blue Circle): First indication of potential bullish trend
4. Early Sell Signal (Red Circle): First indication of potential bearish trend
5. Bullish Divergence (Yellow Triangle Up): Price making lower lows while flow makes higher lows
6. Bearish Divergence (Yellow Triangle Down): Price making higher highs while flow makes lower highs
## Parameters Explained
### Core Settings
- MFI Base Length (14): Primary calculation period for money flow index
- Short-term Flow Length (5): Calculation period for early signals
- KLSE Sensitivity (1.8): Multiplier for flow calculations, higher = more sensitive
- Smoothing Length (5): Smoothing period for the main oscillator line
### Volume Filter Settings
- Volume Filter % (65): Minimum volume threshold as percentage of average
- Use Adaptive Volume Filter (true): Dynamically adjusts volume thresholds
### Signal Levels
- Strong Signal Level (15): Threshold for strong buy/sell signals
- Early Signal Level (10): Threshold for early buy/sell signals
- Early Signal Threshold (0.75): Sensitivity factor for early signals
### Advanced Settings
- Divergence Lookback (34): Period for checking price-flow divergences
- Show Signal Labels (true): Toggle text labels for signals
### Visual Settings
- Show Momentum Histogram (true): Toggle the momentum histogram display
- Show Early Signal (true): Toggle the early signal line display
- Show Zone Fills (true): Toggle background color fills
## How to Use This Indicator
### Installation
1. Add the indicator to your TradingView chart
2. Default settings are optimized for KLSE stocks
3. Customize parameters if needed for specific stocks
### Basic Interpretation
- Oscillator Above Zero: Bullish bias, buying pressure dominates
- Oscillator Below Zero: Bearish bias, selling pressure dominates
- Crossing Zero Line: Potential shift in market sentiment
- Extreme Readings: Possible overbought/oversold conditions
### Advanced Interpretation
- Divergences: Early warning of trend exhaustion
- Signal Confluences: Multiple signal types appearing together increase reliability
- Volume Confirmation: Signals with higher volume are more significant
- Momentum Alignment: Histogram should confirm direction of main oscillator
### Trading Strategies
#### Trend Following Strategy
1. Identify market trend direction
2. Wait for pullbacks shown by oscillator moving against trend
3. Enter when oscillator reverses back in trend direction with a Strong signal
4. Place stop loss below/above recent swing low/high
5. Take profit at previous resistance/support levels
#### Counter-Trend Strategy
1. Look for oscillator reaching extreme levels
2. Identify divergence between price and oscillator
3. Wait for oscillator to cross Early signal threshold
4. Enter position against prevailing trend
5. Use tight stop loss (1 ATR from entry)
6. Take profit at first resistance/support level
#### Breakout Confirmation Strategy
1. Identify stock consolidating in a range
2. Wait for price to break out of range
3. Confirm breakout with oscillator crossing zero line in breakout direction
4. Enter position in breakout direction
5. Place stop loss below/above the breakout level
6. Trail stop as price advances
### Signal Hierarchy and Reliability
From highest to lowest reliability:
1. Strong Buy/Sell signals with divergence and high volume
2. Strong Buy/Sell signals with high volume
3. Divergence signals followed by Early signals
4. Strong Buy/Sell signals with normal volume
5. Early Buy/Sell signals with high volume
6. Early Buy/Sell signals with normal volume
## Complete Trading Plan Example
### KLSE Market Trading System
#### Pre-Trading Preparation
1. Review overall market sentiment (bullish, bearish, or neutral)
2. Scan for stocks showing significant banker flow signals
3. Note key support/resistance levels for watchlist stocks
4. Prioritize trade candidates based on signal strength and volume
#### Entry Rules for Long Positions
1. Banker Flow Oscillator above zero line (positive flow environment)
2. One or more of the following signals present:
- Strong Buy signal (green arrow)
- Bullish Divergence signal (yellow triangle up)
- Early Buy signal (blue circle) with confirming price action
3. Entry confirmation requirements:
- Volume above 65% of 20-day average
- Price above short-term moving average (e.g., 20 EMA)
- No immediate resistance within 3% of entry price
4. Entry on the next candle open after signal confirmation
#### Entry Rules for Short Positions
1. Banker Flow Oscillator below zero line (negative flow environment)
2. One or more of the following signals present:
- Strong Sell signal (red arrow)
- Bearish Divergence signal (yellow triangle down)
- Early Sell signal (red circle) with confirming price action
3. Entry confirmation requirements:
- Volume above 65% of 20-day average
- Price below short-term moving average (e.g., 20 EMA)
- No immediate support within 3% of entry price
4. Entry on the next candle open after signal confirmation
#### Position Sizing Rules
1. Base risk per trade: 1% of trading capital
2. Position size calculation: Capital × Risk% ÷ Stop Loss Distance
3. Position size adjustments:
- Increase by 20% for Strong signals with above-average volume
- Decrease by 20% for Early signals without confirming price action
- Standard size for all other valid signals
#### Stop Loss Placement
1. For Long Positions:
- Place stop below the most recent swing low
- Minimum distance: 1.5 × ATR(14)
- Maximum risk: 1% of trading capital
2. For Short Positions:
- Place stop above the most recent swing high
- Minimum distance: 1.5 × ATR(14)
- Maximum risk: 1% of trading capital
#### Take Profit Strategy
1. First Target (33% of position):
- 1.5:1 reward-to-risk ratio
- Move stop to breakeven after reaching first target
2. Second Target (33% of position):
- 2.5:1 reward-to-risk ratio
- Trail stop at previous day's low/high
3. Final Target (34% of position):
- 4:1 reward-to-risk ratio or
- Exit when opposing signal appears (e.g., Strong Sell for long positions)
#### Trade Management Rules
1. After reaching first target:
- Move stop to breakeven
- Consider adding to position if new confirming signal appears
2. After reaching second target:
- Trail stop using banker flow signals
- Exit remaining position when:
- Oscillator crosses zero line in opposite direction
- Opposing signal appears
- Price closes below/above trailing stop level
3. Maximum holding period:
- 20 trading days for trend-following trades
- 10 trading days for counter-trend trades
- Re-evaluate if targets not reached within timeframe
#### Risk Management Safeguards
1. Maximum open positions: 5 trades
2. Maximum sector exposure: 40% of trading capital
3. Maximum daily drawdown limit: 3% of trading capital
4. Mandatory stop trading rules:
- After three consecutive losing trades
- After reaching 5% account drawdown
- Resume after two-day cooling period and strategy review
#### Performance Tracking
1. Track for each trade:
- Signal type that triggered entry
- Oscillator reading at entry and exit
- Volume relative to average
- Price action confirmation patterns
- Holding period
- Reward-to-risk achieved
2. Review performance metrics weekly:
- Win rate by signal type
- Average reward-to-risk ratio
- Profit factor
- Maximum drawdown
3. Adjust strategy parameters based on performance:
- Increase position size for highest performing signals
- Decrease or eliminate trades based on underperforming signals
## Advanced Usage Tips
1. Combine with Support/Resistance:
- Signals are more reliable when they occur at key support/resistance levels
- Look for banker flow divergence at major price levels
2. Multiple Timeframe Analysis:
- Use the oscillator on both daily and weekly timeframes
- Stronger signals when both timeframes align
- Enter on shorter timeframe when confirmed by longer timeframe
3. Sector Rotation Strategy:
- Compare banker flow across different sectors
- Rotate capital to sectors showing strongest positive flow
- Avoid sectors with persistent negative flow
4. Volatility Adjustments:
- During high volatility periods, wait for Strong signals only
- During low volatility periods, Early signals can be more actionable
5. Optimizing Parameters:
- For more volatile stocks: Increase Smoothing Length (6-8)
- For less volatile stocks: Decrease KLSE Sensitivity (1.2-1.5)
- For intraday trading: Reduce all length parameters by 30-50%
## Fine-Tuning for Different Markets
While optimized for KLSE, the indicator can be adapted for other markets:
1. For US Stocks:
- Reduce KLSE Sensitivity to 1.5
- Increase Volume Filter to 75%
- Adjust Strong Signal Level to 18
2. For Forex:
- Increase Smoothing Length to 8
- Reduce Early Signal Threshold to 0.6
- Focus more on divergence signals than crossovers
3. For Cryptocurrencies:
- Increase KLSE Sensitivity to 2.2
- Reduce Signal Levels (Strong: 12, Early: 8)
- Use higher Volume Filter (80%)
By thoroughly understanding and properly implementing the Enhanced KLSE Banker Flow Oscillator, traders can gain a significant edge in identifying institutional money flow and making more informed trading decisions, particularly in the Malaysian stock market.
Ragi's 24h volumeThis script is a TradingView Pine Script indicator that displays the 24-hour trading volume for a given asset. It provides both the native volume of the asset and, if the asset is not already listed on Binance, also displays the 24-hour volume from Binance (if applicable). Here's a breakdown of the key components:
Volume Calculation:
It sums the volume data over different time frames: 1-minute, 5-minute (for daily charts), or 60-minute intervals.
The volume is calculated based on the asset's volume type (either "quote" volume or a calculated value of close * volume).
For crypto assets, if the volume data is unavailable, it raises an error.
Binance Volume:
If the asset is not from Binance, the script fetches 24-hour volume data from Binance for that symbol, ensuring it is using the correct currency rate.
Display:
The indicator displays a table with the 24-hour volume in the chosen position on the chart (top, middle, or bottom).
The table displays the current exchange's volume, and if applicable, the Binance volume.
The volume is color-coded based on predefined thresholds:
Attention: Displays a warning color for volumes exceeding the attention level.
Warning: Shows an alert color for volumes above the warning threshold.
Normal: Displays in standard color when the volume is lower than the warning level.
The text and background color are customizable, and users can adjust the text size and position of the table.
User Inputs:
The script allows customization of table text size, position, background color, and volume thresholds for attention and warning.
In summary, this indicator is designed to track and display 24-hour volume on a chart, with additional volume information from Binance if necessary, and provides visual cues based on volume levels to help traders quickly assess trading activity.
Smart Volume S/R Pro [The_lurker]مؤشر "Smart Volume S/R Pro " هو أداة تحليل فني متقدمة مصممة لمساعدة المتداولين في تحديد مستويات الدعم والمقاومة القوية بناءً على حجم التداول، مع إضافة ميزات تحليلية متطورة مثل تصفية الاتجاه ، مناطق الثقة ، تقييم القوة ، حساب احتمالية الاختراق ، قياس السيولة ، تحديد الأهداف السعرية ، ومستويات فيبوناتشي . وايضا تقديم تسميات (Labels) بجانب كل مستوى دعم ومقاومة، تحتوي على أرقام ومعلومات دقيقة تعكس حالة السوق. هذه التسميات ليست مجرد زينة، بل أدوات تحليلية تساعد المتداولين على اتخاذ قرارات مستنيرة بناءً على بيانات السوقيهدف هذا المؤشر إلى توفير رؤية شاملة للسوق .
الوظائف الرئيسية للمؤشر
1- تحديد مستويات الدعم والمقاومة بناءً على حجم التداول العالي
يقوم المؤشر بتحليل الأشرطة (Bars) السابقة (حتى 300 شريط افتراضيًا) لتحديد النقاط التي شهدت أعلى مستويات حجم التداول.
يرسم خطوط أفقية تمثل مستويات المقاومة (عند أعلى سعر في تلك الأشرطة) والدعم (عند أدنى سعر)، ويمكن للمستخدم اختيار عدد الخطوط المعروضة (من 1 إلى 6).
2- تصفية الاتجاه باستخدام مؤشر ADX
يستخدم المؤشر مؤشر الاتجاه المتوسط (ADX) لتقييم قوة الاتجاه في السوق.
عندما تكون قوة الاتجاه عالية (تتجاوز عتبة محددة، 25 افتراضيًا)، يقلل المؤشر عدد مستويات الدعم والمقاومة المعروضة للتركيز فقط على المستويات الأكثر أهمية.
3- مناطق الثقة الديناميكية
يضيف المؤشر مناطق حول مستويات الدعم والمقاومة بناءً على متوسط المدى الحقيقي (ATR)، مما يساعد المتداولين على تصور النطاقات التي قد يتفاعل فيها السعر مع هذه المستويات.
يمكن تعديل عرض هذه المناطق باستخدام مضاعف ATR.
4- تقييم قوة المستويات
يحسب المؤشر قوة كل مستوى بناءً على حجم التداول، عدد المرات التي تم اختبار المستوى فيها (Touch Count)، وقرب السعر الحالي من المستوى.
يتم عرض درجة القوة (من 0 إلى 100) بجانب كل مستوى إذا تم تفعيل هذه الخاصية.
5- احتمالية الاختراق
يقدّر المؤشر احتمالية اختراق كل مستوى بناءً على الزخم (ROC)، قوة المستوى، والمسافة بين السعر الحالي والمستوى.
يظهر الاحتمال كنسبة مئوية إذا تم تفعيل الخيار، مما يساعد المتداولين على توقع الحركات المحتملة.
6- تحليل السيولة التاريخية
يقيس المؤشر السيولة حول كل مستوى بناءً على حجم التداول في النطاقات القريبة منه.
يمكن عرض قيم السيولة في التسميات أو استخدامها لتعديل عرض الخطوط (الخطوط الأكثر سيولة تظهر أعرض).
7- الأهداف السعرية
عند تفعيل هذه الخاصية، يحسب المؤشر أهداف سعرية للاختراق (Breakout) والارتداد (Reversal) بناءً على الزخم وقوة المستوى وATR.
يمكن عرض هذه الأهداف كنصوص في التسميات أو كخطوط أفقية على الرسم البياني.
8- مستويات فيبوناتشي
يرسم المؤشر مستويات فيبوناتشي (0.0، 0.236، 0.382، 0.5، 0.618، 0.786، 1.0) بناءً على أعلى وأدنى سعر في فترة النظرة الخلفية.
يمكن للمستخدم اختيار أي من هذه المستويات لعرضها أو إخفائها.
9- تنبيه شامل للاختراق
يوفر المؤشر تنبيهًا واحدًا يشمل جميع المستويات، حيث يُطلق التنبيه عندما يخترق السعر أي مستوى دعم أو مقاومة مع رسالة توضح نوع الاختراق والمستوى المخترق.
كيفية عمل المؤشر
الخطوة الأولى: يحدد المؤشر الأشرطة ذات الحجم العالي خلال فترة النظرة الخلفية المحددة (Lookback Period).
الخطوة الثانية: يرسم مستويات الدعم والمقاومة بناءً على أعلى وأدنى الأسعار في تلك الأشرطة، مع مراعاة عدد الخطوط المختارة من المستخدم.
الخطوة الثالثة: يطبق مرشح الاتجاه (إذا كان مفعلاً) لتقليل عدد المستويات في حالة الاتجاه القوي.
الخطوة الرابعة: يضيف التحليلات الإضافية مثل القوة، السيولة، احتمالية الاختراق، والأهداف السعرية، ويرسم مناطق الثقة ومستويات فيبوناتشي حسب الإعدادات.
الخطوة الخامسة: يراقب السعر ويطلق تنبيهًا عند الاختراق.
الإعدادات القابلة للتخصيص
1- فترة النظرة الخلفية (Lookback Period): عدد الأشرطة التي يتم تحليلها (افتراضيًا 300).
2- عدد الخطوط (Number of Lines): من 1 إلى 6 مستويات دعم ومقاومة.
3- الألوان والأنماط: يمكن تغيير ألوان الخطوط وأنماطها (ممتلئة، متقطعة، منقطة).
4- التسميات: تفعيل/تعطيل التسميات، وحجمها، وموقعها، ولون النص.
5- مرشح الاتجاه: تفعيل/تعطيل ADX، وتعديل طوله وعتبته.
6- مناطق الثقة: تفعيل/تعطيل، وتعديل طول ATR ومضاعفه.
7- القوة واحتمالية الاختراق: تفعيل/تعطيل العرض، وتعديل طول ROC.
8- السيولة: تفعيل/تعطيل تأثير السيولة على عرض الخطوط وقيمها في التسميات.
9- الأهداف السعرية: تفعيل/تعطيل الأهداف وعرضها كخطوط.
10- فيبوناتشي: اختيار المستويات المعروضة ولون الخطوط.
فوائد المؤشر
دقة عالية: يعتمد على حجم التداول لتحديد المستويات، مما يجعله أكثر موثوقية من المستويات العشوائية.
مرونة: يوفر خيارات تخصيص واسعة تتيح للمتداولين تكييفه حسب استراتيجياتهم.
تحليل شامل: يجمع بين الدعم والمقاومة، الاتجاه، السيولة، والأهداف في أداة واحدة.
سهولة الاستخدام: التسميات والتنبيهات تجعل من السهل متابعة السوق دون تعقيد.
==================================================================================تسميات (Labels) بجانب كل مستوى دعم ومقاومة، تحتوي على أرقام ومعلومات دقيقة تعكس حالة السوق. هذه التسميات ليست مجرد زينة، بل أدوات تحليلية تساعد المتداولين على اتخاذ قرارات مستنيرة بناءً على بيانات السوق. في هذا الشرح، سنستعرض كل رقم أو قيمة تظهر في التسميات ومعناها العملي.
مكونات التسميات
التسميات تظهر بجانب كل مستوى دعم (Support) ومقاومة (Resistance) وتبدأ بحرف "S" للدعم أو "R" للمقاومة، تليها مجموعة من الأرقام والقيم التي يمكن تفعيلها أو تعطيلها حسب إعدادات المستخدم. إليك تفصيل كل عنصر:
1- عدد اللمسات (Touch Count)
الرمز: يظهر مباشرة بعد "S" أو "R" (مثال: "R: 5" أو "S: 3").
المعنى: يشير إلى عدد المرات التي اختبر فيها السعر هذا المستوى دون اختراقه.
الفائدة: كلما زاد عدد اللمسات، كلما كان المستوى أقوى وأكثر أهمية. على سبيل المثال، إذا كان "R: 5"، فهذا يعني أن السعر ارتد من هذا المستوى 5 مرات، مما يجعله مقاومة قوية محتملة.
2- قوة المستوى (Strength Rating)
الرمز: يظهر بين قوسين مربعين (مثال: " ").
المعنى: قيمة من 0 إلى 100 تعكس قوة المستوى بناءً على عوامل مثل حجم التداول، عدد اللمسات، وقرب السعر الحالي من المستوى.
الفائدة: القيم العالية (مثل 75 أو أكثر) تشير إلى مستوى قوي يصعب اختراقه، بينما القيم المنخفضة (مثل 30 أو أقل) تدل على ضعف المستوى وسهولة اختراقه. يمكن للمتداول استخدام هذا لتحديد المستويات الأكثر موثوقية.
3- احتمالية الاختراق (Breakout Probability)
الرمز: يبدأ بحرف "B" متبوعًا بنسبة مئوية (مثال: "B: 60%").
المعنى: نسبة من 0% إلى 100% تُظهر احتمالية اختراق السعر للمستوى بناءً على الزخم الحالي، قوة المستوى، والمسافة بين السعر والمستوى.
الفائدة: نسبة مرتفعة (مثل 60% أو أكثر) تعني أن السعر قد يخترق المستوى قريبًا، بينما النسب المنخفضة (مثل 20%) تشير إلى احتمال ارتداد السعر. هذا مفيد لتوقع الحركة التالية.
4- قيمة السيولة (Liquidity Value)
الرمز: يبدأ بحرف "L" متبوعًا برقم (مثال: "L: 1200").
المعنى: يمثل متوسط حجم التداول في النطاق القريب من المستوى، مما يعكس السيولة التاريخية حوله.
الفائدة: القيم العالية تدل على وجود سيولة كبيرة، مما يعني أن السعر قد يتفاعل بقوة مع هذا المستوى (إما بالارتداد أو الاختراق). القيم المنخفضة تشير إلى سيولة ضعيفة، مما قد يجعل المستوى أقل تأثيرًا.
5- الأهداف السعرية (Price Targets)
الرمز: يبدأ بـ "BT" (هدف الاختراق) و"RT" (هدف الارتداد) متبوعين بأرقام (مثال: "BT: 150.50 RT: 148.20").
المعنى:
BT (Breakout Target): السعر المحتمل الذي قد يصل إليه السعر بعد اختراق المستوى.
RT (Reversal Target): السعر المحتمل الذي قد يصل إليه السعر إذا ارتد من المستوى.
الفائدة: تساعد المتداولين في تحديد نقاط الخروج المحتملة بعد الاختراق أو الارتداد، مما يسهل وضع خطة تداول دقيقة.
أمثلة عملية
تسمية مقاومة: "R: 4 B: 25% L: 1500 BT: 155.00 RT: 152.00"
المستوى اختُبر 4 مرات، قوته 80 (قوي جدًا)، احتمالية الاختراق 25% (منخفضة، أي احتمال ارتداد أعلى)، السيولة 1500 (مرتفعة)، هدف الاختراق 155.00، هدف الارتداد 152.00.
الاستنتاج: المستوى قوي ومن المرجح أن يرتد السعر منه، لكن إذا اخترق، فقد يصل إلى 155.00.
تسمية دعم: "S: 2 B: 70% L: 800 BT: 145.00 RT: 147.50"
المستوى اختُبر مرتين، قوته 40 (متوسطة إلى ضعيفة)، احتمالية الاختراق 70% (مرتفعة)، السيولة 800 (متوسطة)، هدف الاختراق 145.00، هدف الارتداد 147.50.
الاستنتاج: المستوى ضعيف ومن المحتمل أن يخترقه السعر ليهبط إلى 145.00.
كيفية الاستفادة من التسميات
تحديد القوة والضعف: استخدم قوة المستوى (Strength) لمعرفة ما إذا كان المستوى موثوقًا للارتداد أو عرضة للاختراق.
توقع الحركة: انظر إلى احتمالية الاختراق (Breakout Probability) لتحديد ما إذا كنت ستنتظر اختراقًا أو ترتدًا.
إدارة المخاطر: استخدم الأهداف السعرية (BT وRT) لتحديد نقاط جني الأرباح أو وقف الخسارة.
تقييم السيولة: ركز على المستويات ذات السيولة العالية لأنها غالبًا تكون نقاط تحول رئيسية في السوق.
تأكيد التحليل: ادمج عدد اللمسات مع القوة والسيولة للحصول على صورة كاملة عن أهمية المستوى.
تخصيص التسميات
يمكن للمستخدم تفعيل أو تعطيل أي من هذه القيم (القوة، الاحتمالية، السيولة، الأهداف) من إعدادات المؤشر.
يمكن أيضًا تغيير حجم التسميات (صغير، عادي، كبير)، موقعها (يمين، يسار، أعلى، أسفل)، ولون النص لتناسب احتياجاتك.
التسميات في هذا المؤشر هي بمثابة لوحة تحكم صغيرة بجانب كل مستوى دعم ومقاومة، تقدم لك معلومات فورية عن قوته، احتمالية اختراقه، سيولته، وأهدافه السعرية. بفهم هذه الأرقام، يمكنك تحسين قراراتك في التداول، سواء كنت تبحث عن نقاط دخول، خروج، أو إدارة مخاطر. إذا كنت تريد أداة تجمع بين البساطة والعمق التحليلي .
تنويه:
المؤشر هو أداة مساعدة فقط ويجب استخدامه مع التحليل الفني والأساسي لتحقيق أفضل النتائج.
إخلاء المسؤولية
لا يُقصد بالمعلومات والمنشورات أن تكون، أو تشكل، أي نصيحة مالية أو استثمارية أو تجارية أو أنواع أخرى من النصائح أو التوصيات المقدمة أو المعتمدة من TradingView.
The Smart Volume S/R Pro indicator is an advanced technical analysis tool designed to help traders identify strong support and resistance levels based on trading volume, with the addition of advanced analytical features such as trend filtering, confidence zones, strength assessment, breakout probability calculation, liquidity measurement, price target identification, and Fibonacci levels. It also provides labels next to each support and resistance level, containing accurate numbers and information that reflect the market condition. These labels are not just decorations, but analytical tools that help traders make informed decisions based on market data. This indicator aims to provide a comprehensive view of the market.
Main functions of the indicator
1- Identifying support and resistance levels based on high trading volume
The indicator analyzes previous bars (up to 300 bars by default) to identify the points that witnessed the highest levels of trading volume.
It draws horizontal lines representing resistance levels (at the highest price in those bars) and support (at the lowest price), and the user can choose the number of lines displayed (from 1 to 6).
2- Filtering the trend using the ADX indicator
The indicator uses the Average Directional Index (ADX) to assess the strength of a trend in the market.
When the strength of the trend is high (exceeding a specified threshold, 25 by default), the indicator reduces the number of support and resistance levels displayed to focus only on the most important levels.
3- Dynamic Confidence Zones
The indicator adds zones around support and resistance levels based on the Average True Range (ATR), helping traders visualize the ranges in which the price may interact with these levels.
The width of these zones can be adjusted using the ATR multiplier.
4- Assessing the Strength of Levels
The indicator calculates the strength of each level based on trading volume, the number of times the level has been tested (Touch Count), and the proximity of the current price to the level.
A strength score (from 0 to 100) is displayed next to each level if this feature is enabled.
5- Breakout Probability
The indicator estimates the probability of breaking each level based on momentum (ROC), the strength of the level, and the distance between the current price and the level.
The probability is displayed as a percentage if the option is enabled, helping traders anticipate potential moves.
6- Historical Liquidity Analysis
The indicator measures liquidity around each level based on the trading volume in the ranges near it.
The liquidity values can be displayed in the labels or used to adjust the width of the lines (the most liquid lines appear wider).
7- Price Targets
When this feature is enabled, the indicator calculates price targets for breakout and reversal based on momentum, level strength and ATR.
These targets can be displayed as text in the labels or as horizontal lines on the chart.
8- Fibonacci Levels
The indicator plots Fibonacci levels (0.0, 0.236, 0.382, 0.5, 0.618, 0.786, 1.0) based on the highest and lowest price in the lookback period.
The user can choose which of these levels to display or hide.
9- Comprehensive Breakout Alert
The indicator provides a single alert that includes all levels, where the alert is triggered when the price breaks any support or resistance level with a message explaining the type of breakout and the level broken.
How the indicator works
Step 1: The indicator identifies the bars with high volume during the specified Lookback Period.
Step 2: Draws support and resistance levels based on the highest and lowest prices in those bars, taking into account the number of lines selected by the user.
Step 3: Apply the trend filter (if enabled) to reduce the number of levels in case of a strong trend.
Step 4: Adds additional analyses such as strength, liquidity, breakout probability, and price targets, and draws confidence zones and Fibonacci levels according to the settings.
Step 5: Monitors the price and triggers an alert when the breakout occurs.
Customizable Settings
1- Lookback Period: Number of bars to analyze (default 300).
2- Number of Lines: From 1 to 6 support and resistance levels.
3- Colors and Styles: Line colors and styles can be changed (filled, dashed, dotted).
4- Labels: Enable/disable labels, their size, location, and text color.
5- Trend Filter: Enable/disable ADX, and modify its length and threshold.
6- Confidence Zones: Enable/disable, and modify the ATR length and multiplier.
7- Strength and Breakout Probability: Enable/disable the display, and modify the ROC length.
8- Liquidity: Enable/disable the effect of liquidity on the display of the lines and their values in the labels.
9- Price Targets: Enable/disable the targets and display them as lines.
10- Fibonacci: Choose the displayed levels and the color of the lines.
Indicator Benefits
High Accuracy: It relies on trading volume to determine the levels, which makes it more reliable than random levels.
Flexibility: It provides extensive customization options that allow traders to adapt it to their strategies.
Comprehensive Analysis: Combines support and resistance, trend, liquidity, and targets in one tool. Ease of Use: Labels and alerts make it easy to follow the market without complexity.
Labels next to each support and resistance level contain accurate numbers and information that reflect the market situation. These labels are not just decorations, but analytical tools that help traders make informed decisions based on market data. In this explanation, we will review each number or value that appears in the labels and their practical meaning.
Label Components
Labels appear next to each support and resistance level and begin with the letter "S" for support or "R" for resistance, followed by a set of numbers and values that can be enabled or disabled according to the user's settings. Here is a breakdown of each element:
1- Touch Count
Symbol: Appears immediately after "S" or "R" (example: "R: 5" or "S: 3").
Meaning: Indicates the number of times the price has tested this level without breaking it.
Benefit: The more touches, the stronger and more important the level. For example, if it is "R: 5", it means that the price has bounced off this level 5 times, making it a potentially strong resistance.
2- Strength Rating
Symbol: Appears between square brackets (example: " ").
Meaning: A value from 0 to 100 that reflects the strength of the level based on factors such as trading volume, number of touches, and proximity of the current price to the level.
Benefit: High values (such as 75 or more) indicate a strong level that is difficult to break, while low values (such as 30 or less) indicate a weak level that is easy to break. A trader can use this to determine the most reliable levels.
3- Breakout Probability
Symbol: Starts with the letter "B" followed by a percentage (example: "B: 60%").
Meaning: A percentage from 0% to 100% that shows the probability of the price breaking the level based on the current momentum, the strength of the level, and the distance between the price and the level.
Interest: A high percentage (such as 60% or more) means that the price may soon break through the level, while low percentages (such as 20%) indicate that the price may bounce. This is useful for anticipating the next move.
4- Liquidity Value
Symbol: Starts with the letter "L" followed by a number (example: "L: 1200").
Meaning: Represents the average trading volume in the range near the level, reflecting historical liquidity around it.
Interest: High values indicate high liquidity, meaning that the price may react strongly to this level (either by bouncing or breaking through). Low values indicate low liquidity, which may make the level less influential.
5- Price Targets
Symbol: Starts with "BT" (breakout target) and "RT" (rebound target) followed by numbers (example: "BT: 150.50 RT: 148.20").
Meaning:
BT (Breakout Target): The potential price that the price may reach after breaking the level.
RT (Reversal Target): The potential price that the price may reach if it rebounds from the level.
Utility: Helps traders identify potential exit points after a breakout or rebound, making it easier to develop an accurate trading plan.
Working examples
Resistance label: "R: 4 B: 25% L: 1500 BT: 155.00 RT: 152.00"
Level tested 4 times, strength 80 (very strong), probability of breakout 25% (low, i.e. higher probability of rebound), liquidity 1500 (high), breakout target 155.00, rebound target 152.00.
Conclusion: The level is strong and the price is likely to rebound from it, but if it breaks, it may reach 155.00.
Support Label: "S: 2 B: 70% L: 800 BT: 145.00 RT: 147.50"
Level tested twice, Strength 40 (medium to weak), Breakout Probability 70% (high), Liquidity 800 (medium), Breakout Target 145.00, Rebound Target 147.50.
Conclusion: The level is weak and the price is likely to break it to drop to 145.00.
How to use labels
Determine strength and weakness: Use the level's strength to see if the level is reliable for a bounce or vulnerable to a breakout.
Predict the move: Look at the Breakout Probability to determine whether to wait for a breakout or a bounce.
Risk Management: Use price targets (BT and RT) to set take profit or stop loss points.
Liquidity Evaluation: Focus on levels with high liquidity as they are often key turning points in the market.
Analysis Confirmation: Combine the number of touches with strength and liquidity to get a complete picture of the level’s importance.
Customize Labels
The user can enable or disable any of these values (strength, probability, liquidity, targets) from the indicator settings.
The size of the labels (small, normal, large), their position (right, left, top, bottom), and the color of the text can also be changed to suit your needs.
The labels in this indicator act as a small dashboard next to each support and resistance level, providing you with instant information about its strength, probability of breakout, liquidity, and price targets. By understanding these numbers, you can improve your trading decisions, whether you are looking for entry points, exit points, or risk management. If you want a tool that combines simplicity with analytical depth.
Disclaimer:
The indicator is an auxiliary tool only and should be used in conjunction with technical and fundamental analysis for best results.
Disclaimer
The information and posts are not intended to be, or constitute, any financial, investment, trading or other types of advice or recommendations provided or endorsed by TradingView.
UM-Optimized Linear Regression ChannelDESCRIPTION
This indicator was inspired by Dr. Stoxx at drstoxx.com. Shout out to him and his services for introducing me to this idea. This indicator is a slightly different take on the standard linear regression indicator.
It uses two standard deviations to draw bands and dynamically attempts to best-fit the data lookback period using an R-squared statistical measure. The R-squared value ranges between zero and one with zero being no fit to the data at all and 1 being a 100% match of the data to linear regression line. The R-squared calculation is weighted exponentially to give more weight to the most recent data.
The label provides the number of periods identified as the optimal best-fit period, the type of loopback period determination (Manual or Auto) and the R-squared value (0-100, 100% being a perfect fit). >=90% is a great fit of the data to the regression line. <50% is a difficult fit and more or less considered random data.
The lookback mode can also be set manually and defaults to a value of 100 periods.
DEFAULTS
The defaults are 1.5 and 2.0 for standard deviation. This creates 2 bands above and below the regression line. The default mode for best-fit determination with "Auto" selected in the dropdown. When manual mode is selected, the default is 100. The modes, manual lookback periods, colors, and standard deviations are user-configurable.
HOW TO USE
Overlay this indicator on any chart of any timeframe. Look for turning points at extremes in the upper and lower bands. Look for crossovers of the centerline. Look at the Auto-determination for best fit. Compare this to your favorite Manual mode setting (Manual Mode is set to 100 by default lookback periods.)
When price is at an extreme, look for turnarounds or reversals. Use your favorite indicators, in addition to this indicator, to determine reversals. Try this indicator against your favorite securities and timeframes.
CHART EXAMPLE
The chart I used for an example is the daily chart of IWM. I illustrated the extremes with white text. This is where I consider proactively exiting an existing position and/or begin looking for a reversal.
Micha Stocks Custom WatermarkThis Pine Script v5 indicator adds a customizable watermark to TradingView charts, displaying key stock information while allowing for flexible positioning and formatting.
📌 Features & Functionality:
✅ Custom Positioning:
• Fixed to the top-left corner.
• Adjustable spacing ensures the text is properly aligned.
✅ Displayed Information (Configurable):
• Company Name & Market Cap (Optional: Shows dynamically calculated market cap)
• Stock Ticker & Timeframe
• Industry & Sector
✅ Customization Options:
• Font Size: Huge, Large, Normal, Small
• Text Color & Transparency: Adjustable
• Proper Left Alignment for a clean, structured display
• Vertical Offset Tweaks to move text down for better visibility
✅ Optimized Table Layout:
• Uses table.new() for persistent placement.
• Added an empty row to fine-tune positioning, ensuring the watermark doesn’t overlap key chart areas.
🔧 Use Case:
Designed for traders who want a clear, customizable stock watermark to enhance their charting experience without obstructing price action.
World Digital Clock Original code developed by br.tradingview.com
In this update I added the Frankfurt stock exchange, left the times according to Western Europe, and added another light signal to identify whether the stock exchange is open or closed.
This indicator provides a digital clock and real-time status for major financial markets, including Tokyo, London, New York, and Frankfurt. It displays whether each market is currently OPEN or CLOSED, along with the time remaining until the market opens or closes. The indicator is designed to keep traders informed about market activity at a glance.
Key Features:
Digital Clock:
Displays the current time based on a user-defined UTC offset.
Customizable text color, size, and background color.
Market Status:
Shows whether each major market is OPEN or CLOSED.
Displays a countdown timer indicating the time remaining until the market opens or closes.
Includes markets for Tokyo, London, New York, and Frankfurt.
Color Indicators:
A green dot indicates the market is open.
A red dot indicates the market is closed.
Text colors for open and closed markets can be customized.
Customizable Layout:
Choose the table position on the chart (e.g., top right, bottom left).
Adjust text sizes for both the clock and market status.
Daylight Saving Time:
Automatically adjusts market opening and closing times based on daylight saving rules (e.g., summer and winter time).
Alerts:
Optionally triggers alerts when a market opens, keeping you updated in real-time.
Use Cases:
Perfect for day traders or swing traders who need to monitor global market activity.
Useful for keeping track of trading hours and planning strategies based on market availability.
Helps avoid trading outside active market hours, reducing slippage and volatility risks.
This versatile and customizable tool ensures you're always aware of market status and time zones, enhancing your trading efficiency and decision-making.
MA Trend DashboardMA Trend Dashboard - Features
The MA Trend Dashboard is a versatile and user-friendly indicator designed to provide a comprehensive overview of market trends across multiple timeframes using moving averages (MAs). Here's what this script offers:
1. Dashboard Display
A compact and visually appealing dashboard is overlaid on the chart.
The dashboard displays the trend direction and deviation percentages for 30-minute, 1-hour, and 4-hour timeframes.
Users can position the dashboard in different locations (Top Right, Middle Right, or Bottom Right) and customize the text size (Tiny, Small, Normal).
2. Multi-Timeframe Trend Analysis
The script uses the concept of Multi-Timeframe (MTF) analysis to assess trends across:
30-minute (30m)
1-hour (1h)
4-hour (4h)
Each timeframe's trend is evaluated using the selected moving average method.
3. Customizable Moving Average Methods
Users can choose from various moving average calculation methods:
SMA (Simple Moving Average)
EMA (Exponential Moving Average)
SMMA (Smoothed Moving Average or RMA)
WMA (Weighted Moving Average)
VWMA (Volume-Weighted Moving Average)
This flexibility allows for tailored trend analysis based on the user's preferred methodology.
4. Visual Trend Indicators
Clear visual cues indicate the trend direction for each timeframe:
↑ (Up): Bullish trend.
↓ (Down): Bearish trend.
↘ (Weak Up): Mild bullishness.
↗ (Weak Down): Mild bearishness.
The background color of each cell dynamically changes based on the trend:
Green: Uptrend.
Red: Downtrend.
5. Deviation Percentage
The dashboard includes the percentage difference between the current price and the moving average for each timeframe.
Positive percentages are highlighted in green, and negative percentages in red.
6. Customization Options
Text Color: Allows users to adjust the color of the text displayed in the dashboard.
MA Length: Users can set the period for the moving averages (default is 50).
7. Dynamic Requests
Utilizes TradingView's dynamic_requests feature to ensure accurate real-time data across different timeframes without cluttering the chart.
Usage
This indicator is ideal for traders who want a quick and reliable snapshot of market trends across multiple timeframes. It is particularly suited for intraday and swing trading strategies, offering insights into price momentum and potential reversals.
BKLevelsThis displays levels from a text input, levels from certain times on the previous day, and high/low/close from previous day. The levels are drawn for the date in the first line of the text input. Newlines are required between each level
Example text input:
2024-12-17
SPY,606,5,1,Lower Hvol Range,FIRM
SPY,611,1,1,Last 20K CBlock,FIRM
SPY,600,2,1,Last 20K PBlock,FIRM
SPX,6085,1,1,HvolC,FIRM
SPX,6080,2,1,HvolP,FIRM
SPX,6095,3,1,Upper PDVR,FIRM
SPX,6060,3,1,Lower PDVR,FIRM
For each line, the format is ,,,,,
For color, there are 9 possible user- configurable colors- so you can input numbers 1 through 9
For line style, the possible inputs are:
"FIRM" -> solid line
"SHORT_DASH" -> dotted line
"MEDIUM_DASH" -> dashed line
"LONG_DASH" -> dashed line
Historical High/Lows Statistical Analysis(More Timeframe interval options coming in the future)
Indicator Description
The Hourly and Weekly High/Low (H/L) Analysis indicator provides a powerful tool for tracking the most frequent high and low points during different periods, specifically on an hourly basis and a weekly basis, broken down by the days of the week (DOTW). This indicator is particularly useful for traders seeking to understand historical behavior and patterns of high/low occurrences across both hourly intervals and weekly days, helping them make more informed decisions based on historical data.
With its customizable options, this indicator is versatile and applicable to a variety of trading strategies, ranging from intraday to swing trading. It is designed to meet the needs of both novice and experienced traders.
Key Features
Hourly High/Low Analysis:
Tracks and displays the frequency of hourly high and low occurrences across a user-defined date range.
Enables traders to identify which hours of the day are historically more likely to set highs or lows, offering valuable insights into intraday price action.
Customizable options for:
Hourly session start and end times.
22-hour session support for futures traders.
Hourly label formatting (e.g., 12-hour or 24-hour format).
Table position, size, and design flexibility.
Weekly High/Low Analysis by Day of the Week (DOTW):
Captures weekly high and low occurrences for each day of the week.
Allows traders to evaluate which days are most likely to produce highs or lows during the week, providing insights into weekly price movement tendencies.
Displays the aggregated counts of highs and lows for each day in a clean, customizable table format.
Options for hiding specific days (e.g., weekends) and customizing table appearance.
User-Friendly Table Display:
Both hourly and weekly data are displayed in separate tables, ensuring clarity and non-interference.
Tables can be positioned on the chart according to user preferences and are designed to be visually appealing yet highly informative.
Customizable Date Range:
Users can specify a start and end date for the analysis, allowing them to focus on specific periods of interest.
Possible Uses
Intraday Traders (Hourly Analysis):
Analyze hourly price action to determine which hours are more likely to produce highs or lows.
Identify intraday trading opportunities during statistically significant time intervals.
Use hourly insights to time entries and exits more effectively.
Swing Traders (Weekly DOTW Analysis):
Evaluate weekly price patterns by identifying which days of the week are more likely to set highs or lows.
Plan trades around days that historically exhibit strong movements or price reversals.
Futures and Forex Traders:
Use the 22-hour session feature to exclude the CME break or other session-specific gaps from analysis.
Combine hourly and DOTW insights to optimize strategies for continuous markets.
Data-Driven Trading Strategies:
Use historical high/low data to test and refine trading strategies.
Quantify market tendencies and evaluate whether observed patterns align with your strategy's assumptions.
How the Indicator Works
Hourly H/L Analysis:
The indicator calculates the highest and lowest prices for each hour in the specified date range.
Each hourly high and low occurrence is recorded and aggregated into a table, with counts displayed for all 24 hours.
Users can toggle the visibility of empty cells (hours with no high/low occurrences) and adjust the table's design to suit their preferences.
Supports both 12-hour (AM/PM) and 24-hour formats.
Weekly H/L DOTW Analysis:
The indicator tracks the highest and lowest prices for each day of the week during the user-specified date range.
Highs and lows are identified for the entire week, and the specific days when they occur are recorded.
Counts for each day are aggregated and displayed in a table, with a "Totals" column summarizing the overall occurrences.
The analysis resets weekly, ensuring accurate tracking of high/low days.
Code Breakdown:
Data Aggregation:
The script uses arrays to store counts of high/low occurrences for both hourly and weekly intervals.
Daily data is fetched using the request.security() function, ensuring consistent results regardless of the chart's timeframe.
Weekly Reset Mechanism:
Weekly high/low values are reset at the start of a new week (Monday) to ensure accurate weekly tracking.
A processing flag ensures that weekly data is counted only once at the end of the week (Sunday).
Table Visualization:
Tables are created using the table.new() function, with customizable styles and positions.
Header rows, data rows, and totals are dynamically populated based on the aggregated data.
User Inputs:
Customization options include text colors, background colors, table positioning, label formatting, and date ranges.
Code Explanation
The script is structured into two main sections:
Hourly H/L Analysis:
This section captures and aggregates high/low occurrences for each hour of the day.
The logic is session-aware, allowing users to define custom session times (e.g., 22-hour futures sessions).
Data is displayed in a clean table format with hourly labels.
Weekly H/L DOTW Analysis:
This section tracks weekly highs and lows by day of the week.
Highs and lows are identified for each week, and counts are updated only once per week to prevent duplication.
A user-friendly table displays the counts for each day of the week, along with totals.
Both sections are completely independent of each other to avoid interference. This ensures that enabling or disabling one section does not impact the functionality of the other.
Customization Options
For Hourly Analysis:
Toggle hourly table visibility.
Choose session start and end times.
Select hourly label format (12-hour or 24-hour).
Customize table appearance (colors, position, text size).
For Weekly DOTW Analysis:
Toggle DOTW table visibility.
Choose which days to include (e.g., hide weekends).
Customize table appearance (colors, position, text size).
Select values format (percentages or occurrences).
Conclusion
The Hourly and Weekly H/L Analysis indicator is a versatile tool designed to empower traders with data-driven insights into intraday and weekly market tendencies. Its highly customizable design ensures compatibility with various trading styles and instruments, making it an essential addition to any trader's toolkit.
With its focus on accuracy, clarity, and customization, this indicator adheres to TradingView's guidelines, ensuring a robust and valuable user experience.
WhalenatorThis custom TradingView indicator combines multiple analytic techniques to help identify potential market trends, areas of support and resistance, and zones of heightened trading activity. It incorporates a SuperTrend-like line based on ATR, Keltner Channels for volatility-based price envelopes, and dynamic order blocks derived from significant volume and pivot points. Additionally, it highlights “whale” activities—periods of exceptionally large volume—along with an estimated volume profile level and approximate bid/ask volume distribution. Together, these features aim to offer traders a more comprehensive view of price structure, volatility, and institutional participation.
This custom TradingView indicator integrates multiple trading concepts into a single, visually descriptive tool. Its primary goal is to help traders identify directional bias, volatility levels, significant volume events, and potential support/resistance zones on a price chart. Below are the main components and their functionalities:
SuperTrend-Like Line (Trend Bias):
At the core of the indicator is a trend-following line inspired by the SuperTrend concept, which uses Average True Range (ATR) to adaptively set trailing stop levels. By comparing price to these levels, the line attempts to indicate when the market is in an uptrend (price above the line) or a downtrend (price below the line). The shifting levels can provide a dynamic sense of direction and help traders stay with the predominant trend until it shifts.
Keltner Channels (Volatility and Range):
Keltner Channels, based on an exponential moving average and Average True Range, form volatility-based envelopes around price. They help traders visualize whether price is extended (touching or moving outside the upper/lower band) or trading within a stable range. This can be useful in identifying low-volatility consolidations and high-volatility breakouts.
Dynamic Order Blocks (Approximations of Supply/Demand Zones):
By detecting pivot highs and lows under conditions of significant volume, the indicator approximates "order blocks." Order blocks are areas where institutional buying or selling may have occurred, potentially acting as future support or resistance zones. Although these approximations are not perfect, they offer a visual cue to areas on the chart where price might react strongly if revisited.
Volume Profile Proxy and Whale Detection:
The indicator highlights price levels associated with recent maximum volume activity, providing a rough "volume profile" reference. Such levels often become key points of price interaction.
"Whale" detection logic attempts to identify bars where exceptionally large volume occurs (beyond a defined threshold). By tracking these "whale bars," traders can infer where heavy participation—often from large traders or institutions—may influence market direction or create zones of interest.
Approximate Bid/Ask Volume and Dollar Volume Tracking:
The script estimates whether volume within each bar leans more towards the bid or the ask side, aiming to understand which participant (buyers or sellers) might have been more aggressive. Additionally, it calculates dollar volume (close price multiplied by volume) and provides an average to gauge the relative participation strength over time.
Labeling and Visual Aids:
Dynamic labels display Whale Frequency (the ratio of bars with exceptionally large volume), average dollar volume, and approximate ask/bid volume metrics. This gives traders at-a-glance insights into current market conditions, participation, and sentiment.
Strengths:
Multifaceted Analysis:
By combining trend, volatility, volume, and order block logic in one place, the indicator saves chart space and simplifies the analytical process. Traders gain a holistic view without flipping between multiple separate tools.
Adaptable to Market Conditions:
The use of ATR and Keltner Channels adapts to changing volatility conditions. The SuperTrend-like line helps keep traders aligned with the prevailing trend, avoiding constant whipsaws in choppy markets.
Volume-Based Insights:
Integrating whale detection and a crude volume profile proxy helps traders understand where large players might be interacting. This perspective can highlight critical levels that might not be evident from price action alone.
Convenient Visual Cues and Labels:
The indicator provides quick reference points and textual information about the underlying volume dynamics, making decision-making potentially faster and more informed.
Weaknesses:
Heuristic and Approximate Nature:
Many of the indicator’s features, like the "order blocks," "whale detection," and the approximate bid/ask volume, rely on heuristics and assumptions that may not always be accurate. Without actual Level II data or true volume profiles, the insights are best considered as supplementary, not definitive signals.
Lagging Components:
Indicators that rely on past data, like ATR-based trends or moving averages for Keltner Channels, inherently lag behind price. This can cause delayed signals, particularly in fast-moving markets, potentially missing some early opportunities or late in confirming market reversals.
No Guaranteed Predictive Power:
As with any technical tool, it does not forecast the future with certainty. Strong volume at a certain level or a bullish SuperTrend reading does not guarantee price will continue in that direction. Market conditions can change unexpectedly, and false signals will occur.
Complexity and Overreliance Risk:
With multiple signals combined, there’s a risk of information overload. Traders might feel compelled to rely too heavily on this one tool. Without complementary analysis (fundamentals, news, or additional technical confirmation), overreliance on the indicator could lead to misguided trades.
Conclusion:
This integrated indicator offers a comprehensive visual guide to market structure, volatility, and activity. Its strength lies in providing a multi-dimensional viewpoint in a single tool. However, traders should remain aware of its approximations, inherent lags, and the potential for conflicting signals. Sound risk management, position sizing, and the use of complementary analysis methods remain essential for trading success.
Risks Associated with Trading:
No indicator can guarantee profitable trades or accurately predict future price movements. Market conditions are inherently unpredictable, and reliance on any single tool or combination of tools carries the risk of financial loss. Traders should practice sound risk management, including the use of stop losses and position sizing, and should not trade with funds they cannot afford to lose. Ultimately, decisions should be guided by a thorough trading plan and possibly supplemented with other forms of market analysis or professional advice.
Risks and Important Considerations:
• Not a Standalone Tool:
• This indicator should not be used in isolation. It is essential to incorporate additional technical analysis tools, fundamental analysis, and market context when making trading decisions.
• Relying solely on this indicator may lead to incomplete assessments of market conditions.
• Market Volatility and False Signals:
• Financial markets can be highly volatile, and indicators based on historical data may not accurately predict future movements.
• The indicator may produce false signals due to sudden market changes, low liquidity, or atypical trading activity.
• Risk Management:
• Always employ robust risk management strategies, including setting stop-loss orders, diversifying your portfolio, and not over-leveraging positions.
• Understand that no indicator guarantees success, and losses are a natural part of trading.
• Emotional Discipline:
• Avoid making impulsive decisions based on indicator signals alone.
• Emotional trading can lead to significant financial losses; maintain discipline and adhere to a well-thought-out trading plan.
• Continuous Learning and Adaptation:
• Stay informed about market news, economic indicators, and global events that may impact trading conditions.
• Continuously evaluate and adjust your trading strategies as market dynamics evolve.
• Consultation with Professionals:
• Consider seeking advice from financial advisors or professional traders to understand better how this indicator can fit into your overall trading strategy.
• Professional guidance can provide personalized insights based on your financial goals and risk tolerance.
Disclaimer:
Trading financial instruments involves substantial risk and may not be suitable for all investors. Past performance is not indicative of future results. This indicator is provided for informational and educational purposes only and should not be considered investment advice. Always conduct your own research and consult with a licensed financial professional before making any trading decisions.
Note: The effectiveness of any technical indicator can vary based on market conditions and individual trading styles. It's crucial to test indicators thoroughly using historical data and possibly paper trading before applying them in live trading scenarios.
Bullish and Bearish Harami DetectorHere’s a description of the script I built for you, designed for a **TradingView public indicator**:
### **Custom Bullish and Bearish Harami Detector with Timeframe Selection**
This custom Pine Script detects **Bullish Harami** and **Bearish Harami** candlestick patterns on the selected timeframe, with configurable settings for how many prior candles to consider for pattern detection.
---
### **Features:**
1. **Timeframe Selection:**
- **Input Field for Timeframe**: The script allows users to choose the timeframe for detecting patterns. For instance, you can set it to 1 hour, 4 hours, or even daily candles, ensuring the detection works as per your chosen market view.
- This is controlled by the `input.timeframe` function, and the user is prompted to select the desired timeframe (e.g., "1h", "4h", "1d").
2. **Enable/Disable Pattern Detection:**
- The user has the flexibility to enable or disable the detection of **Bullish Harami** and **Bearish Harami** patterns.
- The two toggles `detectBullishHarami` and `detectBearishHarami` allow users to turn on/off the detection for each pattern type.
3. **Customizable Bearish Candle Count for Bullish Harami:**
- The user can define how many prior **bearish candles** should be present before a **Bullish Harami** can be detected.
- The input variable `bearishCandleCountBullish` lets you choose how many previous bearish candles to consider for detecting a **Bullish Harami** (for example, the last 3, 5, or 6 bearish candles).
4. **Customizable Bullish Candle Count for Bearish Harami:**
- Similar to the Bullish Harami, the script allows the user to define how many prior **bullish candles** should be present before a **Bearish Harami** pattern is detected.
- The input variable `bearishCandleCountBearish` lets you select how many previous bullish candles to check for **Bearish Harami**.
5. **Pattern Detection Logic:**
- **Bullish Harami**: Detected when a bearish candle (open > close) is followed by a smaller bullish candle (open < close) where the entire body of the second candle is contained within the body of the first candle.
- **Bearish Harami**: Detected when a bullish candle (open < close) is followed by a smaller bearish candle (open > close) where the entire body of the second candle is contained within the body of the first candle.
- Both patterns are subject to the user-defined conditions (number of previous bearish or bullish candles).
6. **Visual Indicators:**
- **Bullish Harami**: A green label is plotted **below the bar** to indicate a **Bullish Harami** pattern.
- **Bearish Harami**: A red label is plotted **above the bar** to indicate a **Bearish Harami** pattern.
- The labels are displayed using the `plotshape` function with custom colors and text.
7. **Additional Settings**:
- The script includes tooltips and descriptions for each input to make the settings clear for users, allowing even those unfamiliar with candlestick patterns to understand and use the indicator effectively.
---
### **How It Works:**
- The script first checks the specified timeframe and identifies the current and previous candlesticks.
- It then applies the user-defined conditions for detecting the **Bullish Harami** and **Bearish Harami** patterns by checking the relative positions and sizes of the candlesticks over the selected number of previous candles.
- Once a pattern is detected, it plots a label on the chart (green for **Bullish Harami** and red for **Bearish Harami**) at the appropriate location (below or above the candle).
- The script updates dynamically as the price action unfolds.
---
### **Use Cases:**
- **Traders**: This script is useful for traders who want to identify reversal patterns like **Bullish Harami** and **Bearish Harami** on their chosen timeframes and adjust the sensitivity by changing the number of prior candles for pattern detection.
- **Customization**: Users can fine-tune the script’s settings based on their specific trading strategy, adjusting both the timeframe and the number of candles for pattern detection.
---
### **Conclusion:**
This indicator is an effective tool for detecting candlestick patterns, specifically **Bullish Harami** and **Bearish Harami**, on **TradingView**. By allowing customization in terms of timeframe and the number of prior candles to consider, users can tailor the script to fit their trading strategy and market conditions.
Session High/Low Average & Range [1CG]The Session High/Low Average & Range indicator independently measures the average price movement from the opening price in each direction. It also displays the maximum high and low distance, called Range. Separating the averages and range into highs and lows helps analyze the volatility of the market as well as the direction.
USE EXAMPLES
Session Open
Session Close
Customization
Minimal - 1x and 2x Averages are replaced with custom lines, in order to show distance to3x.
Calculations
Average High: (high price of session - session opening price) / (session period)
Average Low: (session opening price - low price of session) / (session period)
Range High: The highest price of the last (session period)
Range Low: The lowest price of the last (session period)
INPUTS
Session
Here you can choose the hours for your session and time zone. The default is London session in New York time. Next, the session period determines how many sessions to sample from for the average and range lines, the default is 20. Lastly, you can choose the number of sessions to appear on the chart not including the current session if you are in one, 5 by default.
Lines
All of the lines allow you to change the color, width, and style. They also have a label option to choose to display the price. The bottom of the section allows you to change the location and size of the label text.
**Open Line** -Displays the opening price for the length of the session.
**Average Lines** - Displays the 1x, 2x, and 3x the average distance from open in each direction. Additionally, you can toggle a background color to highlight the area.
**Custom Lines** - Displays a customizable multiple of either the average or range. By default the first custom line displays the Range at a 1x multiplier and the second line displays an Average at a 1.5x multiplier
Display Distance
Here you can choose to display the distance from the lines to the open. This data is marked with a “Δ”. For the three Average lines this will display in the area between the line and the open in the position and size of your choice. The custom lines will have the distance information displayed on the line itself. This helps keep the data organized.
Top-Down Analysis previous day Top-Down Analysis 2nd Candle with Enhanced Features
This powerful TradingView script is designed for traders looking for a comprehensive and customizable top-down analysis tool. The indicator plots horizontal lines based on significant price levels from multiple timeframes (Daily, 4-Hour, 1-Hour, and Weekly), offering clear reference points for technical analysis. Each timeframe is associated with high and low levels from the previous candle, and these levels are represented with customizable line styles, colors, and widths.
Key Features:
Multi-Timeframe Support: Displays high and low levels from the previous candle for the Daily, 4-Hour, 1-Hour, and Weekly timeframes. Customize which timeframes to show.
Customizable Line Appearance: Choose the line color, style (solid, dotted, dashed), and width for each timeframe. This allows for a personalized chart appearance to suit your trading strategy.
Text Labels: Add custom text labels to each line, and move them dynamically to the right, keeping them visible as the candles progress. The labels can be customized with user-defined text for each timeframe’s high and low levels.
Toggle Line Visibility: Easily control the visibility of the horizontal lines and their labels for each timeframe, allowing you to focus on the levels that matter most.
Price Alerts: Set price alerts when the price crosses any of the plotted levels, including the Daily, 4-Hour, 1-Hour, and Weekly levels. Receive notifications when significant price interactions occur.
User Control: With inputs for changing timeframes, colors, labels, and more, this indicator is fully customizable to fit your trading style.
This indicator is ideal for day traders, swing traders, and anyone utilizing multi-timeframe analysis for more informed decision-making.
War IndexIntroduction
Welcome to the War Index! This project aims to provide traders, investors, and analysts with a specialized financial indicator that tracks the performance of key defense and aerospace companies. By aggregating the percentage changes of selected stocks, the War Index offers insights into the defense sector's dynamics and its relationship with the broader market.
What is the War Index?
The War Index is a custom financial indicator designed to approximate the collective performance of major defense and aerospace companies. It aggregates the daily percentage changes of selected stocks within the defense sector to provide a singular metric that reflects the overall health and trends of this industry. Additionally, the index is compared against the S&P 500 (SPX) to contextualize its performance relative to the broader market.
Index Components
The War Index comprises the following 16 stocks, each representing a significant player in the defense and aerospace industries:
Lockheed Martin Corporation ( NYSE:LMT )
Northrop Grumman Corporation ( NYSE:NOC )
Boeing Company ( NYSE:BA )
Raytheon Technologies Corporation ( NYSE:RTX )
General Dynamics Corporation ( NYSE:GD )
BAE Systems plc ( OTC:BAESY )
L3Harris Technologies, Inc. ( NYSE:LHX )
Textron Inc. ( NYSE:TXT )
Huntington Ingalls Industries, Inc. ( NYSE:HII )
Oshkosh Corporation ( NYSE:OSK )
Leidos Holdings, Inc. ( NYSE:LDOS )
Kratos Defense & Security Solutions, Inc. ( NASDAQ:KTOS )
Spirit AeroSystems Holdings, Inc. ( NYSE:SPR )
Parsons Corporation ( NYSE:PSN )
CACI International Inc ( NYSE:CACI )
ViaSat, Inc. ( NASDAQ:VSAT )
Purpose of the War Index
The War Index serves several key purposes:
Sector Performance Tracking : By aggregating the performance of major defense and aerospace companies, the index provides a clear picture of the sector's overall health.
Investment Analysis : Investors can use the index to identify trends, evaluate sector strength, and make informed decisions regarding their portfolios.
Comparative Benchmarking : Comparing the War Index with broader market indices like the S&P 500 helps in understanding how the defense sector performs relative to the general market.
Disclaimer: This War Index is an approximated indicator intended for informational purposes only. It should not be construed as investment advice. Always conduct your own research or consult with a financial advisor before making investment decisions.
ToStringMx█ OVERVIEW
Contains methods for conversion of matrices to string.
Supports matrices of int/float/bool/string/color/line/label/box/.
- toStringMx(matrix) - converts matrix to a string matrix converting each of its elements to string
- toS(matrix) - converts matrix to a string matrix (using toStringMx()) and outputs as string using str.tostring(matrix)
Conversion of each item to string is made using toS() function from moebius1977/ToS/1 library.
█ GENERAL DESCRIPTION OF FUNCTIONS
All toStringMx(matrix) and toS(matrix) methods have same parameters. The only difference will be in format parameter as explained below.
Parameters:
this (matrix) Matrix to be converted to a string matrix.
format (string) Format string.
nz (string) Placeholder for na items.
format parameter depends on the type:
For matrix format parameter works in the same way as `str.format()` (i.e. you can use same format strings as with `str.format()` with `{0}` as a placeholder for the value) with some shorthand "format" options available:
--- number ---
- "" => "{0}"
- "number" => "{0}"
- "0" => "{0, number, 0 }"
- "0.0" => "{0, number, 0.0 }"
- "0.00" => "{0, number, 0.00 }"
- "0.000" => "{0, number, 0.000 }"
- "0.0000" => "{0, number, 0.0000 }"
- "0.00000" => "{0, number, 0.00000 }"
- "0.000000" => "{0, number, 0.000000 }"
- "0.0000000" => "{0, number, 0.0000000}"
--- date ---
- "date" => "{0, date, dd.MM.YY}"
- "date : time" => "{0, date, dd.MM.YY} : {0, time, HH.mm.ss}"
- "dd.MM" => "{0, date, dd:MM}"
- "dd" => "{0, date, dd}"
- "... ... " in any place is substituted with "{0, date, dd.MM.YY}"
--- time ---
- "time" => "{0, time, HH:mm:ss}"
- "HH:mm" => "{0, time, HH:mm}"
- "mm:ss" => "{0, time, mm:ss}"
- "date time" => "{0, date, dd.MM.YY\} {0, time, HH.mm.ss}"
- "date, time" => "{0, date, dd.MM.YY\}, {0, time, HH.mm.ss}"
- "date,time" => "{0, date, dd.MM.YY\},{0, time, HH.mm.ss}"
- "date\ntime" => "{0, date, dd.MM.YY\}\n{0, time, HH.mm.ss}"
- "... ... " in any place is substituted with "{0, time, HH.mm.ss}"
For matrix :
format (string) : (string) (Optional) Use `x1` as placeholder for `x1` and so on. E.g. default format is `"(x1, y1) - (x2, y2)"`.
For matrix :
format (string) : (string) (Optional) Use `x1` as placeholder for `x`, `y1 - for `y` and `txt` for label's text. E.g. default format is `(x1, y1): "txt"` if ptint_text is true and `(x1, y1)` if false.
For matrix :
format (string) : (string) (Optional) Use `x1` as placeholder for `x`, `y1 - for `y` etc. E.g. default format is "(x1, y1) - (x2, y2)".
For matrix :
format (string) : (string) (Optional) Options are "HEX" (e.g. "#FFFFFF33") or "RGB" (e.g. "rgb(122,122,122,23)"). Default is "HEX".
█ FULL LIST OF FUNCTIONS AND PARAMETERS
method toStringMx(mx, format, nz)
Returns a string matrix made of original matrix items converted to string with toS().
Namespace types: matrix
Parameters:
mx (matrix)
format (string) : (string) Like in str.format()
nz (string) : (string) If val is na and nz is not na the value of nz param is returned instead.
method toStringMx(mx, format, nz)
Returns a string matrix made of original matrix items converted to string with toS().
Namespace types: matrix
Parameters:
mx (matrix)
format (string) : (string) Like in str.format() with some shorthand options:
```
--- number ---
- "" => "{0}"
- "number" => "{0}"
- "0" => "{0, number, 0 }"
- "0.0" => "{0, number, 0.0 }"
- "0.00" => "{0, number, 0.00 }"
- "0.000" => "{0, number, 0.000 }"
- "0.0000" => "{0, number, 0.0000 }"
- "0.00000" => "{0, number, 0.00000 }"
- "0.000000" => "{0, number, 0.000000 }"
- "0.0000000" => "{0, number, 0.0000000}"
--- date ---
- "date" => "{0, date, dd.MM.YY}"
- "date : time" => "{0, date, dd.MM.YY} : {0, time, HH.mm.ss}"
- "dd.MM" => "{0, date, dd:MM}"
- "dd" => "{0, date, dd}"
- "... ... " in any place is substituted with "{0, date, dd.MM.YY}"
--- time ---
- "time" => "{0, time, HH:mm:ss}"
- "HH:mm" => "{0, time, HH:mm}"
- "mm:ss" => "{0, time, mm:ss}"
- "date time" => "{0, date, dd.MM.YY\} {0, time, HH.mm.ss}"
- "date, time" => "{0, date, dd.MM.YY\}, {0, time, HH.mm.ss}"
- "date,time" => "{0, date, dd.MM.YY\},{0, time, HH.mm.ss}"
- "date\ntime" => "{0, date, dd.MM.YY\}\n{0, time, HH.mm.ss}"
- "... ... " in any place is substituted with "{0, time, HH.mm.ss}"
nz (string) : (string) If val is na and nz is not na the value of nz param is returned instead.
method toStringMx(mx, format, nz)
Returns a string matrix made of original matrix items converted to string with toS().
Namespace types: matrix
Parameters:
mx (matrix)
format (string) : (string) Like in str.format() with some shorthand options:
```
--- number ---
- "" => "{0}"
- "number" => "{0}"
- "0" => "{0, number, 0 }"
- "0.0" => "{0, number, 0.0 }"
- "0.00" => "{0, number, 0.00 }"
- "0.000" => "{0, number, 0.000 }"
- "0.0000" => "{0, number, 0.0000 }"
- "0.00000" => "{0, number, 0.00000 }"
- "0.000000" => "{0, number, 0.000000 }"
- "0.0000000" => "{0, number, 0.0000000}"
--- date ---
- "date" => "{0, date, dd.MM.YY}"
- "date : time" => "{0, date, dd.MM.YY} : {0, time, HH.mm.ss}"
- "dd.MM" => "{0, date, dd:MM}"
- "dd" => "{0, date, dd}"
- "... ... " in any place is substituted with "{0, date, dd.MM.YY}"
--- time ---
- "time" => "{0, time, HH:mm:ss}"
- "HH:mm" => "{0, time, HH:mm}"
- "mm:ss" => "{0, time, mm:ss}"
- "date time" => "{0, date, dd.MM.YY\} {0, time, HH.mm.ss}"
- "date, time" => "{0, date, dd.MM.YY\}, {0, time, HH.mm.ss}"
- "date,time" => "{0, date, dd.MM.YY\},{0, time, HH.mm.ss}"
- "date\ntime" => "{0, date, dd.MM.YY\}\n{0, time, HH.mm.ss}"
- "... ... " in any place is substituted with "{0, time, HH.mm.ss}"
nz (string) : (string) If val is na and nz is not na the value of nz param is returned instead.
method toStringMx(mx, format, nz)
Returns a string matrix made of original matrix items converted to string with toS().
Namespace types: matrix
Parameters:
mx (matrix)
format (string) : (string) Like in str.format()
nz (string) : (string) If val is na and nz is not na the value of nz param is returned instead.
method toStringMx(mx, format, nz)
Returns a string matrix made of original matrix items converted to string with toS().
Namespace types: matrix
Parameters:
mx (matrix)
format (string) : (string) "HEX" (default) or "RGB"
nz (string) : (string) If val is na and nz is not na the value of nz param is returned instead.
method toStringMx(mx, format, nz)
Returns a string matrix made of original matrix items converted to string with toS().
Namespace types: matrix
Parameters:
mx (matrix)
format (string) : (string) (Optional) Format string. By default "{0}: {1}" if showIDs = true or "{1}" otherwise. (use "{0}" as a placeholder for id and "{1}" for item value)
nz (string) : (string) If val is na and nz is not na the value of nz param is returned instead.
method toStringMx(mx, format, nz)
Returns a string matrix made of original matrix items converted to string with toS().
Namespace types: matrix
Parameters:
mx (matrix)
format (string) : (string) (Optional) Format string. By default "{0}: {1}" if showIDs = true or "{1}" otherwise. (use "{0}" as a placeholder for id and "{1}" for item value)
nz (string) : (string) If val is na and nz is not na the value of nz param is returned instead.
method toStringMx(mx, format, nz)
Returns a string matrix made of original matrix items converted to string with toS().
Namespace types: matrix
Parameters:
mx (matrix)
format (string) : (string) (Optional) Format string. By default "{0}: {1}" if showIDs = true or "{1}" otherwise. (use "{0}" as a placeholder for id and "{1}" for item value)
nz (string) : (string) If val is na and nz is not na the value of nz param is returned instead.
method toS(this, format, nz)
Converts each element of the matrix to string outputs using str.tostring(matrix)
Namespace types: matrix
Parameters:
this (matrix) : (matrix) Matrix to be converted to string
format (string) : (string) Format string as in str.format()
nz (string) : (string) If val is na and nz is not na the value of nz param is returned instead.export method toS(matrix this, string format = "", string nz = na) => str.tostring(this.toStringMx(format, nz))
method toS(this, format, nz)
Converts each element of the matrix to string outputs using str.tostring(matrix)
Namespace types: matrix
Parameters:
this (matrix) : (matrix) Matrix to be converted to string
format (string) : (string) Like in str.format() with some shorthand options:
```
--- number ---
- "" => "{0}"
- "number" => "{0}"
- "0" => "{0, number, 0 }"
- "0.0" => "{0, number, 0.0 }"
- "0.00" => "{0, number, 0.00 }"
- "0.000" => "{0, number, 0.000 }"
- "0.0000" => "{0, number, 0.0000 }"
- "0.00000" => "{0, number, 0.00000 }"
- "0.000000" => "{0, number, 0.000000 }"
- "0.0000000" => "{0, number, 0.0000000}"
--- date ---
- "date" => "{0, date, dd.MM.YY}"
- "date : time" => "{0, date, dd.MM.YY} : {0, time, HH.mm.ss}"
- "dd.MM" => "{0, date, dd:MM}"
- "dd" => "{0, date, dd}"
- "... ... " in any place is substituted with "{0, date, dd.MM.YY}"
--- time ---
- "time" => "{0, time, HH:mm:ss}"
- "HH:mm" => "{0, time, HH:mm}"
- "mm:ss" => "{0, time, mm:ss}"
- "date time" => "{0, date, dd.MM.YY\} {0, time, HH.mm.ss}"
- "date, time" => "{0, date, dd.MM.YY\}, {0, time, HH.mm.ss}"
- "date,time" => "{0, date, dd.MM.YY\},{0, time, HH.mm.ss}"
- "date\ntime" => "{0, date, dd.MM.YY\}\n{0, time, HH.mm.ss}"
- "... ... " in any place is substituted with "{0, time, HH.mm.ss}"
nz (string) : (string) If val is na and nz is not na the value of nz param is returned instead.export method toS(matrix this, string format = "", string nz = na) => str.tostring(this.toStringMx(format, nz))
method toS(this, format, nz)
Converts each element of the matrix to string outputs using str.tostring(matrix)
Namespace types: matrix
Parameters:
this (matrix) : (matrix) Matrix to be converted to string
format (string) : (string) Format string as in str.format()
nz (string) : (string) If val is na and nz is not na the value of nz param is returned instead.export method toS(matrix this, string format = "", string nz = na) => str.tostring(this.toStringMx(format, nz))
method toS(this, format, nz)
Converts each element of the matrix to string outputs using str.tostring(matrix)
Namespace types: matrix
Parameters:
this (matrix) : (matrix) Matrix to be converted to string
format (string) : (string) "HEX" (default) or "RGB"
nz (string) : (string) If val is na and nz is not na the value of nz param is returned instead.export method toS(matrix this, string format = "", string nz = na) => str.tostring(this.toStringMx(format, nz))
method toS(this, format, nz)
Converts each element of the matrix to string outputs using str.tostring(matrix)
Namespace types: matrix
Parameters:
this (matrix) : (matrix) Matrix to be converted to string
format (string) : (string) (Optional) Format string. By default "{0}: {1}" if showIDs = true or "{1}" otherwise. (use "{0}" as a placeholder for id and "{1}" for item value)
nz (string) : (string) If val is na and nz is not na the value of nz param is returned instead.export method toS(matrix this, string format = "", string nz = na) => str.tostring(this.toStringMx(format, nz))
method toS(this, format, nz)
Converts each element of the matrix to string outputs using str.tostring(matrix)
Namespace types: matrix
Parameters:
this (matrix) : (matrix) Matrix to be converted to string
format (string) : (string) (Optional) Format string. By default "{0}: {1}" if showIDs = true or "{1}" otherwise. (use "{0}" as a placeholder for id and "{1}" for item value)
nz (string) : (string) If val is na and nz is not na the value of nz param is returned instead.export method toS(matrix this, string format = "", string nz = na) => str.tostring(this.toStringMx(format, nz))
method toS(this, format, nz)
Converts each element of the matrix to string outputs using str.tostring(matrix)
Namespace types: matrix
Parameters:
this (matrix) : (matrix) Matrix to be converted to string
format (string) : (string) (Optional) Format string. By default "{0}: {1}" if showIDs = true or "{1}" otherwise. (use "{0}" as a placeholder for id and "{1}" for item value)
nz (string) : (string) If val is na and nz is not na the value of nz param is returned instead.export method toS(matrix this, string format = "", string nz = na) => str.tostring(this.toStringMx(format, nz))
ToStringAr█ OVERVIEW
Contains to string conversion methods arrays of int/float/bool/string/line/label/box types
- toS() - method works like array.join() with more flexibility and
- toStringAr() - converts array to string on a per item basis and returns the resulting string array
Conversion of each item to string is made using toS() function from moebius1977/ToS/1 library.
█ GENERAL DESCRIPTION OF LIBRARY FUNCTIONS
All toS(array) methods have same parameters. The only difference will be in format parameter as explained below.
method toS(this, index_from, index_to, separator, showIDs, format, truncate_left, size_limit, nz)
Like array.join() but with string length limit. Joins elements into readable string (length capped at 4000, truncating the end or beg)
Parameters:
this (array) : array to be converted to string
index_from (int) : index_from (int) (Optional) Start from this id (starting from 0, in insertion order). If omitted - start from the first item.
index_to (int) : index_to (int) (Optional) End with this pair (inclusive, in insertion order). If omitted - to last item.
separator (string) : separator (string) (Optional) String to be inserted between pairs. Default: `", "`
showIDs (bool) : showIDs (bool) (Optional) If true item's id is added in the form `id: value`.
format (string) : format (string) (Optional) Format string fo toS(). If omitted default format is used depending in the type.
truncate_left (bool) : truncate_left (bool) (Optional) Truncate from left or right. Default: false.
size_limit (int) : size_limit (int) (Optional) Max output string length. Default: 4000.
nz (string) : nz (string) (Optional) A string used to represent na (na values are substituted with this string).
format parameter depends on the type:
For toS(bool/int/float ...) format parameter works in the same way as `str.format()` (i.e. you can use same format strings as with `str.format()` with `{0}` as a placeholder for the value) with some shorthand "format" options available:
--- number ---
- "" => "{0}"
- "number" => "{0}"
- "0" => "{0, number, 0 }"
- "0.0" => "{0, number, 0.0 }"
- "0.00" => "{0, number, 0.00 }"
- "0.000" => "{0, number, 0.000 }"
- "0.0000" => "{0, number, 0.0000 }"
- "0.00000" => "{0, number, 0.00000 }"
- "0.000000" => "{0, number, 0.000000 }"
- "0.0000000" => "{0, number, 0.0000000}"
--- date ---
- "... ... " in any place is substituted with "{0, date, dd.MM.YY}" (e.g. " " results in "{0, date, dd.MM.YY\} {0, time, HH.mm.ss}")
- "date" => "{0, date, dd.MM.YY}"
- "date : time" => "{0, date, dd.MM.YY} : {0, time, HH.mm.ss}"
- "dd.MM" => "{0, date, dd:MM}"
- "dd" => "{0, date, dd}"
--- time ---
- "... ... " in any place is substituted with "{0, time, HH.mm.ss}" (e.g. " " results in "{0, date, dd.MM.YY\} {0, time, HH.mm.ss}")
- "time" => "{0, time, HH:mm:ss}"
- "HH:mm" => "{0, time, HH:mm}"
- "mm:ss" => "{0, time, mm:ss}"
- "date time" => "{0, date, dd.MM.YY\} {0, time, HH.mm.ss}"
- "date, time" => "{0, date, dd.MM.YY\}, {0, time, HH.mm.ss}"
- "date,time" => "{0, date, dd.MM.YY\},{0, time, HH.mm.ss}"
- "date\ntime" => "{0, date, dd.MM.YY\}\n{0, time, HH.mm.ss}"
For toS(line ...):
format (string) : (string) (Optional) Use `x1` as placeholder for `x1` and so on. E.g. default format is `"(x1, y1) - (x2, y2)"`.
For toS(label ...) :
format (string) : (string) (Optional) Use `x1` as placeholder for `x`, `y1 - for `y` and `txt` for label's text. E.g. default format is `(x1, y1): "txt"` if ptint_text is true and `(x1, y1)` if false.
For toS(box ... ) :
format (string) : (string) (Optional) Use `x1` as placeholder for `x`, `y1 - for `y` etc. E.g. default format is "(x1, y1) - (x2, y2)".
For toS(color] ... ) :
format (string) : (string) (Optional) Options are "HEX" (e.g. "#FFFFFF33") or "RGB" (e.g. "rgb(122,122,122,23)"). Default is "HEX".
All toStringAr() methods just convert each item to string using toS with same format options as described above.
Parameters:
arr (array) : Array to be converted to a string array.
format (string) : Format string.
nz (string) : Placeholder for na items.
█ FULL OF FUNCTIONS AND PARAMETERS
Library "ToStringAr"
Contains toString/toS conversion methods for int/float/bool/string/line/label/box and arrays and matrices thereof. Also contains a string wraping function.
method toS(this, index_from, index_to, separator, showIDs, format, truncate_left, size_limit, nz)
Namespace types: array
Parameters:
this (array)
index_from (int)
index_to (int)
separator (string)
showIDs (bool)
format (string)
truncate_left (bool)
size_limit (int)
nz (string)
method toS(this, index_from, index_to, separator, showIDs, format, truncate_left, size_limit, nz)
Namespace types: array
Parameters:
this (array)
index_from (int)
index_to (int)
separator (string)
showIDs (bool)
format (string)
truncate_left (bool)
size_limit (int)
nz (string)
method toS(this, index_from, index_to, separator, showIDs, format, truncate_left, size_limit, nz)
Namespace types: array
Parameters:
this (array)
index_from (int)
index_to (int)
separator (string)
showIDs (bool)
format (string)
truncate_left (bool)
size_limit (int)
nz (string)
method toS(this, index_from, index_to, separator, showIDs, format, truncate_left, size_limit, nz)
Namespace types: array
Parameters:
this (array)
index_from (int)
index_to (int)
separator (string)
showIDs (bool)
format (string)
truncate_left (bool)
size_limit (int)
nz (string)
method toS(this, index_from, index_to, separator, showIDs, format, truncate_left, size_limit, nz)
Namespace types: array
Parameters:
this (array)
index_from (int)
index_to (int)
separator (string)
showIDs (bool)
format (string)
truncate_left (bool)
size_limit (int)
nz (string)
method toS(this, index_from, index_to, separator, showIDs, format, truncate_left, size_limit, nz)
Namespace types: array
Parameters:
this (array)
index_from (int)
index_to (int)
separator (string)
showIDs (bool)
format (string)
truncate_left (bool)
size_limit (int)
nz (string)
method toS(this, index_from, index_to, separator, showIDs, format, truncate_left, size_limit, nz)
Namespace types: array
Parameters:
this (array)
index_from (int)
index_to (int)
separator (string)
showIDs (bool)
format (string)
truncate_left (bool)
size_limit (int)
nz (string)
method toS(this, index_from, index_to, separator, showIDs, format, truncate_left, size_limit, nz)
Namespace types: array
Parameters:
this (array)
index_from (int)
index_to (int)
separator (string)
showIDs (bool)
format (string)
truncate_left (bool)
size_limit (int)
nz (string)
method toStringAr(arr, format, nz)
Namespace types: array
Parameters:
arr (array)
format (string)
nz (string)
method toStringAr(arr, format, nz)
Namespace types: array
Parameters:
arr (array)
format (string)
nz (string)
method toStringAr(arr, format, nz)
Namespace types: array
Parameters:
arr (array)
format (string)
nz (string)
method toStringAr(arr, format, nz)
Namespace types: array
Parameters:
arr (array)
format (string)
nz (string)
method toStringAr(arr, format, nz)
Namespace types: array
Parameters:
arr (array)
format (string)
nz (string)
method toStringAr(arr, format, nz)
Namespace types: array
Parameters:
arr (array)
format (string)
nz (string)
method toStringAr(arr, format, nz)
Namespace types: array
Parameters:
arr (array)
format (string)
nz (string)
method toStringAr(arr, format, nz)
Namespace types: array
Parameters:
arr (array)
format (string)
nz (string)
M & W Checklistindicator to Validate & Grade M & W Patterns.
Indicator Inputs
Table Color Palette
• Position Valid : Positions the Valid Trade table on the chart.
• Position Grade : Positions the Grade table on the chart, hover over the Column 1 Row 1 for a description of the bands.
• Size: Text size for all tables.
• Text Color : Sets text color.
• Border Color : Sets the table border color for all tables.
• Background Color : Sets table backgroud color for all tables.
Valid Trade Table
Checkboxes to indicate if the trade is valid. Fail is displayed if unchecked, Pass if checked.
Grade Table
• S/R Level 1: distance between neckline and 1st resistance area in % of the total distance between neckline and take profit. This is not for road blocks but pivot points etc before the initial run up/down in price. I have this set to 30% , this means that if there is a pivot point between the neckline and 30% of the TP level I weight it negatively.
• S/R Level 2: distance between neckline and 1st resistance area in % of the total distance between neckline and take profit. This is not for road blocks but pivot points etc before the initial run up/down in price. I have this set to 50% , this means that if there is a pivot point between the neckline and 50% of the TP level 2 weight it negatively but less so than level 1.
• S/R Level 3: distance between neckline and 1st resistance area in % of the total distance between neckline and take profit. This is not for road blocks but pivot points etc before the initial run up/down in price. I have this set to 70% , this means that if there is a pivot point between the neckline and 70% of the TP level 3 weight it negatively but less so than level 1 & level 2.
• Checkboxes are self explanatory, they are binary options, all are weighted negatively if checked and are weighted positively if unchecked. Divergence values for weighting are neutral if unckecked & weighted positively if checked.
• The select options are neutral weighting if set to neutral , if set to For its weighted positive and set to Against weighted negatively.
Technical Specification of the Scoring and Band System
Overview
The scoring system is designed to evaluate a set of technical trade conditions, assigning weights to various criteria that influence the quality of the trade. The system calculates a total score based on both positive and negative conditions. Based on the final score, the system assigns a grade or band (A, B, or C) for positive scores, and a "Negative" label for negative scores.
Scoring System
The system calculates the score by evaluating a set of 12 conditions (gradeCondition1 to gradeCondition12). These conditions are manually input by the user via checkboxes or dropdowns in a technical indicator (written in Pine Script for TradingView). The score weights vary according to the relative importance of each condition.
Condition Breakdown and Weighting:
1. Divergences (GradeCondition1 & GradeCondition2):
◦ 1H Divergence: +5 points if condition is true.
◦ 4H Divergence: +10 points if condition is true (stronger weight than 1H).
2. Support/Resistance at Neckline (GradeCondition3):
◦ Negative if present: -15 points if true (carries significant negative weight).
3. RB near Entry (GradeCondition4):
◦ Very Negative: -20 points if true (this is a critical negative condition).
4. RB can Manage (GradeCondition5):
◦ Slightly Negative: -5 points if true.
5. Institutional Value Zones (GradeCondition6 to GradeCondition8):
◦ For the trade: +5 points.
◦ Against the trade: -5 points.
◦ Neutral: 0 points.
6. S/R between Neckline & Targets (GradeCondition9 to GradeCondition11):
◦ Level 1: -10 points if true, +7 points if false.
◦ Level 2: -7 points if true, +7 points if false.
◦ Level 3: -5 points if true, +7 points if false.
◦ Use fib tool or Gann Box to measure any S/R levels setup according to your preferences.
7. News Timing (GradeCondition12):
◦ News within 3 hours: -20 points if true (strong negative factor).
◦ No upcoming news: +10 points if false.
Scoring Calculation Formula:
totalScore = score1 + score2 + score3 + score4 + score5 + score6 + score7 + score8 + score9 + score10 + score11 + score12
Where:
• score1 to score12 represent the points derived from the conditions described above.
Coloring and Visual Feedback:
• Positive Scores: Displayed in green.
• Negative Scores: Displayed in red.
Band System
The Band System classifies the total score into different grades, depending on the final value of totalScore. This classification provides an intuitive ranking for trades, helping users quickly assess trade quality.
Band Classification:
• Band A: If the totalScore is 41 or more.
◦ Represents a highly favorable trade setup.
• Band B: If the totalScore is between 21 and 40.
◦ Represents a favorable trade setup with good potential.
• Band C: If the totalScore is between 1 and 20.
◦ Represents a trade setup that is acceptable but may have risks.
• Negative: If the totalScore is 0 or less.
◦ Represents a poor trade setup with significant risks or unfavorable conditions.
Band Calculation Logic (in Pine Script):
var string grade = ""
if (totalScore >= 41)
grade := "Band A"
else if (totalScore >= 21)
grade := "Band B"
else if (totalScore >= 1)
grade := "Band C"
else
grade := "Negative"
Technical Key Points:
• Highly Negative Conditions:
◦ The system penalizes certain conditions more heavily, especially those that suggest significant risks (e.g., News in less than 3 hours, RB near Entry).
• Positive Trade Conditions:
◦ Divergences, Institutional Value Zones in favor of the trade, and lack of significant nearby resistance all contribute positively to the score.
• Flexible System:
◦ The system can be adapted or fine-tuned by adjusting the weights of individual conditions according to trading preferences.
Use Case Example:
• If a trade has 1H and 4H Divergence, RB near Entry (negative), and no upcoming news:
◦ 1H Divergence: +5 points.
◦ 4H Divergence: +10 points.
◦ RB near Entry: -20 points.
◦ No news: +10 points.
◦ Total Score: 5 + 10 - 20 + 10 = 5 → Band C.
This modular and flexible scoring system allows traders to systematically evaluate trades and quickly gauge the trade's potential based on technical indicators
Summary:
Maximum Score: 61
Minimum Score: -97
These are the bounds of the score range based on the current logic of the script.
MTF Squeeze Analyzer - [tradeviZion]MTF Squeeze Analyzer
Multi-Timeframe Squeeze Pro Analyzer Tool
Overview:
The MTF Squeeze Analyzer is a comprehensive tool designed to help traders monitor the TTM Squeeze indicator across multiple timeframes in a streamlined and efficient manner. Built with Pine Script™ version 5, this indicator enhances your market analysis by providing detailed insights into squeeze conditions and momentum shifts, enabling you to make more informed trading decisions.
Key Features:
1. Multi-Timeframe Monitoring:
Comprehensive Coverage: Track squeeze conditions across multiple timeframes, including 1-minute, 5-minute, 15-minute, 30-minute, 1-hour, 2-hour, 4-hour, and daily charts.
Squeeze Counts: Keep count of the number of consecutive bars the price has been within each squeeze level (low, mid, high), helping you assess the strength and duration of consolidation periods.
2. Dynamic Table Display:
Customizable Appearance: Adjust table position, text size, and colors to suit your preferences.
Color-Coded Indicators: Easily identify squeeze levels and momentum shifts with intuitive color schemes.
Message Integration: Features rotating messages to keep you engaged and informed.
3. Alerts for Key Market Events:
Squeeze Start and Fire Alerts: Receive notifications when a squeeze starts or fires on your selected timeframes.
Custom Squeeze Count Alerts: Set thresholds for squeeze counts and get alerted when these levels are reached, allowing you to anticipate potential breakouts.
Fully Customizable: Choose which alerts you want to receive and tailor them to your trading strategy.
4. Momentum Analysis:
Momentum Oscillator: Visualize momentum using a histogram that changes color based on momentum shifts.
Detailed Insights: Determine whether momentum is increasing or decreasing to make more strategic trading decisions.
How It Works:
The indicator is based on the TTM Squeeze concept, which identifies periods of low volatility where the market is "squeezing" before a potential breakout. It analyzes the relationship between Bollinger Bands and Keltner Channels to determine squeeze conditions and uses linear regression to calculate momentum.
1. Squeeze Levels:
No Squeeze (Green): Market is not in a squeeze.
Low Compression Squeeze (Gray): Mild consolidation, potential for a breakout.
Mid Compression Squeeze (Red): Moderate consolidation, higher breakout potential.
High Compression Squeeze (Orange): Strong consolidation, significant breakout potential.
2. Squeeze Counts:
Tracks the number of consecutive bars in each squeeze condition.
Helps identify how long the market has been consolidating, providing clues about potential breakout timing.
3. Momentum Histogram:
Upward Momentum: Shown in aqua or blue, indicating increasing or decreasing upward momentum.
Downward Momentum: Displayed in red or yellow, representing increasing or decreasing downward momentum.
Using Alerts:
Stay ahead of market movements with customizable alerts:
1. Enable Alerts in Settings:
Squeeze Start Alert: Get notified when a new squeeze begins.
Squeeze Fire Alert: Be alerted when a squeeze ends, signaling a potential breakout.
Squeeze Count Alert: Set a specific number of bars for a squeeze condition, and receive an alert when this count is reached.
2. Set Up Alerts on Your Chart:
Click on the indicator name and select " Add Alert on MTF Squeeze Analyzer ".
Choose your desired alert conditions and customize the notification settings.
Click " Create " to activate the alerts.
How to Set It Up:
1. Add the Indicator to Your Chart:
Search for " MTF Squeeze Analyzer " in the TradingView Indicators library.
Add it to your chart.
2. Customize Your Settings:
Table Display:
Choose whether to show the table and select its position on the chart.
Adjust text size and colors to enhance readability.
Timeframe Selection:
Select the timeframes you want to monitor.
Enable or disable specific timeframes based on your trading strategy.
Colors & Styles:
Customize colors for different squeeze levels and momentum shifts.
Adjust header and text colors to match your chart theme.
Alert Settings:
Enable alerts for squeeze start, squeeze fire, and squeeze counts.
Set your preferred squeeze type and count threshold for alerts.
3. Interpret the Data:
Table Information:
The table displays the squeeze status and counts for each selected timeframe.
Colors indicate the type of squeeze, making it easy to assess market conditions at a glance.
Momentum Histogram:
Use the histogram to gauge the strength and direction of market momentum.
Observe color changes to identify shifts in momentum.
Why Use MTF Squeeze Analyzer ?
Enhanced Market Insight:
Gain a deeper understanding of market dynamics by monitoring multiple timeframes simultaneously.
Identify potential breakout opportunities by analyzing squeeze durations and momentum shifts.
Customizable and User-Friendly:
Tailor the indicator to fit your trading style and preferences.
Easily adjust settings without needing to delve into the code.
Time-Efficient:
Save time by viewing all relevant squeeze information in one place.
Reduce the need to switch between different charts and timeframes.
Stay Informed with Alerts:
Never miss a critical market movement with fully customizable alerts.
Focus on other tasks while the indicator monitors the market for you.
Acknowledgment:
This tool builds upon the foundational work of John Carter , who developed the TTM Squeeze concept. It also incorporates enhancements from LazyBear and Makit0 , providing a more versatile and powerful indicator. MTF Squeeze Analyzer extends these concepts by adding multi-timeframe analysis, squeeze counting, and advanced alerting features, offering traders a comprehensive solution for market analysis.
Note: Always practice proper risk management and test the indicator thoroughly to ensure it aligns with your trading strategy. Past performance is not indicative of future results.
Trade smarter with TradeVizion—unlock your trading potential today!
Password Generator by Chervolino [CHE]Enhancing Password Security with Pine Script: A Deep Dive into Brute-Force Attack Prevention
1. Introduction: The Importance of Password Security
Why Password Security Matters:
In today’s digital age, protecting sensitive information through strong passwords is vital. Weak passwords are vulnerable to brute-force attacks, where attackers try every possible character combination until they guess the correct one.
What is Pine Script?
Pine Script is a scripting language developed by TradingView. While mainly used for financial analysis and strategy creation, its versatility allows us to explore other domains, such as password generation and security analysis.
2. Understanding Brute-Force Attacks
What is a Brute-Force Attack?
A brute-force attack systematically tries every possible combination of characters until the correct password is found. The longer and more complex the password, the more secure it is.
Types of Characters in Passwords:
Lowercase Letters (26 characters): Examples include 'a' to 'z'.
Uppercase Letters (26 characters): Examples include 'A' to 'Z'.
Digits (10 characters): Examples include '0' to '9'.
Special Characters: Characters such as '!@#$%^&*' add further complexity to a password.
3. The Role of Password Length in Security
Why Does Password Length Matter?
The number of possible combinations grows exponentially as the length of the password increases.
For example, a password made of only lowercase letters has 26 possible characters. A 7-character password in this case has 26 raised to the power of 7 possible combinations, which equals about 8 billion possibilities.
In comparison, if uppercase letters are included, the possible combinations jump to 52 raised to the power of 7, resulting in over 1 trillion combinations.
Time to Crack a Password:
Assuming a computer can test 2.15 billion passwords per second:
A 7-character password with only lowercase letters can be cracked in about 3.74 seconds.
If uppercase letters are added, it takes approximately 8 minutes.
Adding numbers and special characters makes the cracking time increase further to hours or even days.
4. Password Strength Analysis Using Pine Script
How Pine Script Helps in Password Analysis:
Pine Script can simulate password strength by generating random passwords and calculating how long it would take for a brute-force attack to crack them based on different character combinations and lengths.
We can experiment with using different types of characters (uppercase, lowercase, digits, special characters) and varying the length of the password to estimate the security.
For example:
A password consisting only of lowercase letters would take just a few seconds to crack.
By adding uppercase letters, the time increases to several minutes.
Including digits and special characters can make a password secure for many hours, or even days, depending on the length.
5. Results: Time to Crack Passwords
Here’s a textual summary of how different passwords can be cracked based on their composition and length:
Password with Lowercase Letters Only:
Length: 8 characters
Time to Crack: Less than 1 second.
Password with Uppercase and Lowercase Letters:
Length: 8 characters
Time to Crack: Approximately 24 hours.
Password with Uppercase, Lowercase, and Digits:
Length: 8 characters
Time to Crack: Around 27 minutes.
Password with Uppercase, Lowercase, Digits, and Special Characters:
Length: 12 characters
Time to Crack: Several hundred years.
From these examples, you can see that adding complexity to a password by using a variety of character types and increasing its length exponentially increases the time required to crack it.
6. Best Practices for Password Security
Use a mix of character types: Include lowercase and uppercase letters, digits, and special characters to increase complexity.
Increase the password length: The longer the password, the more difficult it is to crack.
Avoid predictable patterns: Refrain from using common words, dates, or sequential characters like "123456" or "password123".
Use a password manager: Tools like 1Password or LastPass can help store and manage complex passwords securely, so you only need to remember one master password.
7. Conclusion
Password length and complexity are the two most important factors in protecting against brute-force attacks.
Pine Script offers a powerful way to simulate password generation and security analysis, giving you insights into how secure your password is and how long it would take to crack it.
By applying these techniques, you can ensure that your passwords are strong and secure, making brute-force attacks infeasible.
Uptrick: TimeFrame Trends: Performance & Sentiment Indicator### **Uptrick: TimeFrame Trends: Performance & Sentiment Indicator (TFT) - In-Depth Explanation**
#### **Overview**
The **Uptrick: TimeFrame Trends: Performance & Sentiment Indicator (TFT)** is a sophisticated trading tool designed to provide traders with a comprehensive view of market trends across multiple timeframes, combined with a sentiment gauge through the Relative Strength Index (RSI). This indicator offers a unique blend of performance analysis, sentiment evaluation, and visual signal generation, making it an invaluable resource for traders who seek to understand both the macro and micro trends within a financial instrument.
#### **Purpose**
The primary purpose of the TFT indicator is to empower traders with the ability to assess the performance of an asset over various timeframes while simultaneously gauging market sentiment through the RSI. By analyzing price changes over periods ranging from one week to one year, and complementing this with sentiment signals, TFT enables traders to make informed decisions based on a well-rounded analysis of historical price performance and current market conditions.
#### **Key Components and Features**
1. **Multi-Timeframe Performance Analysis:**
- **Performance Lookback Periods:**
- The TFT indicator calculates the percentage price change over several predefined timeframes: 7 days (1 week), 14 days (2 weeks), 30 days (1 month), 180 days (6 months), and 365 days (1 year). These timeframes provide a layered view of how an asset has performed over short, medium, and long-term periods.
- **Percentage Change Calculation:**
- The indicator computes the percentage change for each timeframe by comparing the current closing price to the closing price at the start of each period. This gives traders insight into the strength and direction of the trend over different periods, helping them identify consistent trends or potential reversals.
2. **Sentiment Analysis Using RSI:**
- **Relative Strength Index (RSI):**
- RSI is a widely-used momentum oscillator that measures the speed and change of price movements. It oscillates between 0 and 100 and is typically used to identify overbought or oversold conditions. In TFT, the RSI is calculated using a 14-period lookback, which is standard for most RSI implementations.
- **RSI Smoothing with EMA:**
- To refine the RSI signal and reduce noise, TFT applies a 10-period Exponential Moving Average (EMA) to the RSI values. This smoothed RSI is then used to generate buy, sell, and neutral signals based on its position relative to the 50 level:
- **Buy Signal:** Triggered when the smoothed RSI crosses above 50, indicating bullish sentiment.
- **Sell Signal:** Triggered when the smoothed RSI crosses below 50, indicating bearish sentiment.
- **Neutral Signal:** Triggered when the smoothed RSI equals 50, suggesting indecision or a balanced market.
3. **Visual Signal Generation:**
- **Signal Plots:**
- TFT provides clear visual cues directly on the price chart by plotting shapes at the points where buy, sell, or neutral signals are generated. These shapes are color-coded (green for buy, red for sell, yellow for neutral) and are positioned below or above the price bars for easy identification.
- **First Occurrence Trigger:**
- To avoid clutter and focus on significant market shifts, TFT only triggers the first occurrence of each signal type. This feature helps traders concentrate on the most relevant signals without being overwhelmed by repeated alerts.
4. **Customizable Performance & Sentiment Table:**
- **Table Display:**
- The TFT indicator includes a customizable table that displays the calculated percentage changes for each timeframe. This table is positioned on the chart according to user preference (top-left, top-right, bottom-left, bottom-right) and provides a quick reference to the asset’s performance across multiple periods.
- **Dynamic Text Color:**
- To enhance readability and provide immediate visual feedback, the text color in the table changes based on the direction of the percentage change: green for positive (upward movement) and red for negative (downward movement). This color-coding helps traders quickly assess whether the asset is in an uptrend or downtrend for each period.
- **Customizable Font Size:**
- Traders can adjust the font size of the table to fit their chart layout and personal preferences, ensuring that the information is accessible without being intrusive.
5. **Flexibility and Customization:**
- **Lookback Period Customization:**
- While the default lookback periods are set for common trading intervals (7 days, 14 days, etc.), these can be adjusted to match different trading strategies or market conditions. This flexibility allows traders to tailor the indicator to focus on the timeframes most relevant to their analysis.
- **RSI and EMA Settings:**
- The length of the RSI calculation and the smoothing EMA can also be customized. This is particularly useful for traders who prefer shorter or longer periods for their momentum analysis, allowing them to fine-tune the sensitivity of the indicator.
- **Table Position and Appearance:**
- The table’s position on the chart, along with its font size and colors, is fully customizable. This ensures that the indicator can be integrated seamlessly into any chart setup without obstructing key price data.
#### **Use Cases and Applications**
1. **Trend Identification and Confirmation:**
- **Short-Term Traders:**
- Traders focused on short-term movements can use the 7-day and 14-day performance metrics to identify recent trends and momentum shifts. The RSI signals provide additional confirmation, helping traders enter or exit positions based on the latest market sentiment.
- **Swing Traders:**
- For those holding positions over days to weeks, the 30-day and 180-day performance data are particularly useful. These metrics highlight medium-term trends, and when combined with RSI signals, they provide a robust framework for swing trading strategies.
- **Long-Term Investors:**
- Long-term investors can benefit from the 1-year performance data to gauge the overall health and direction of an asset. The indicator’s ability to track performance across different periods helps in identifying long-term trends and potential reversal points.
2. **Sentiment Analysis and Market Timing:**
- **Market Sentiment Tracking:**
- By using RSI in conjunction with performance metrics, TFT provides a clear picture of market sentiment. Traders can use this information to time their entries and exits more effectively, aligning their trades with periods of strong bullish or bearish sentiment.
- **Avoiding False Signals:**
- The smoothing of RSI helps reduce noise and avoid false signals that are common in volatile markets. This makes the TFT indicator a reliable tool for identifying true market trends and avoiding whipsaws that can lead to losses.
3. **Comprehensive Market Analysis:**
- **Multi-Timeframe Analysis:**
- TFT’s ability to analyze multiple timeframes simultaneously makes it an excellent tool for comprehensive market analysis. Traders can compare short-term and long-term performance to understand the broader market context, making it easier to align their trading strategies with the overall trend.
- **Performance Benchmarking:**
- The percentage change metrics provide a clear benchmark for an asset’s performance over time. This information can be used to compare the asset against broader market indices or other assets, helping traders make more informed decisions about where to allocate their capital.
4. **Custom Strategy Development:**
- **Tailoring to Specific Markets:**
- TFT can be customized to suit different markets, whether it’s stocks, forex, commodities, or cryptocurrencies. For instance, traders in volatile markets may opt for shorter lookback periods and more sensitive RSI settings, while those in stable markets may prefer longer periods for a smoother analysis.
- **Integrating with Other Indicators:**
- TFT can be used alongside other technical indicators to create a more comprehensive trading strategy. For example, combining TFT with moving averages, Bollinger Bands, or MACD can provide additional layers of confirmation and reduce the likelihood of false signals.
#### **Best Practices for Using TFT**
- **Regularly Adjust Lookback Periods:**
- Depending on the market conditions and the asset being traded, it’s important to regularly review and adjust the lookback periods for the performance metrics. This ensures that the indicator remains relevant and responsive to current market trends.
- **Combine with Volume Analysis:**
- While TFT provides a solid foundation for trend and sentiment analysis, combining it with volume indicators can further enhance its effectiveness. Volume can confirm the strength of a trend or signal potential reversals when divergences occur.
- **Use RSI with Other Momentum Indicators:**
- Although RSI is a powerful tool on its own, using it alongside other momentum indicators like Stochastic Oscillator or MACD can provide additional confirmation and help refine entry and exit points.
- **Customize Table Settings for Clarity:**
- Ensure that the performance table is positioned and sized appropriately on the chart. It should be easily readable without obstructing important price data. Adjust the text size and colors as needed to maintain clarity.
- **Monitor Multiple Timeframes:**
- Utilize the multi-timeframe analysis feature of TFT to monitor trends across different periods. This helps in identifying the dominant trend and avoiding trades that go against the broader market direction.
#### **Conclusion**
The **Uptrick: TimeFrame Trends: Performance & Sentiment Indicator (TFT)** is a comprehensive and versatile tool that combines the power of multi-timeframe performance analysis with sentiment gauging through RSI. Its ability to customize and adapt to various trading strategies and markets makes it a valuable asset for traders at all levels. By offering a clear visual representation of trends and market sentiment, TFT empowers traders to make more informed and confident trading decisions, whether they are focusing on short-term price movements or long-term investment opportunities. With its deep integration of performance metrics and sentiment analysis, TFT stands out as a must-have indicator for any trader looking to gain a holistic understanding of market dynamics.
Smoothed SuperTrend with VWAP Confirmation [CHE] Smoothed SuperTrend with Automated Optimization and VWAP Confirmation
Overview
The "Smoothed SuperTrend with VWAP Confirmation" is an advanced technical analysis indicator designed for precise trend identification and trading signal generation. This script integrates a smoothed version of the popular SuperTrend indicator with an additional layer of confirmation using the Volume-Weighted Average Price (VWAP). The combination of these two elements offers traders a powerful tool for identifying optimal entry and exit points in the market.
Key Features
1. Smoothed SuperTrend
- Super Smoother Algorithm: The SuperTrend in this script is not just a regular one; it is enhanced by the Super Smoother filter, which reduces market noise and provides more reliable trend signals.
- Customizable Parameters: Traders can adjust three different sets of SuperTrend parameters (factor and ATR length), allowing them to tailor the indicator to their specific trading strategies.
- Automatic Optimization: The script automatically evaluates the performance of each SuperTrend parameter set and selects the one with the best cumulative performance. This selection process can be set to pick either the best or the worst performing parameter set, depending on the trader's preference.
2. VWAP Confirmation
- Precise Trend Confirmation: Once the best-performing SuperTrend is identified, the script further refines the signals by using VWAP as a confirmation tool. VWAP is a highly respected indicator in the trading community, often used to assess the true average price of an asset.
- Long and Short Signal Generation: The script generates Long and Short signals only when the price action is confirmed by both the SuperTrend and VWAP. For a Long signal, the price must be above the VWAP, and for a Short signal, it must be below the VWAP. This dual confirmation ensures higher accuracy and reduces the likelihood of false signals.
3. Visual and Informative Labels
- Signal Labels: Upon confirmation of a trend reversal by both the SuperTrend and VWAP, the script plots clear labels on the chart, indicating confirmed Long or Short signals. These labels are customizable in terms of color, text, and size, ensuring they fit seamlessly into any chart setup.
- Best Parameters Display: At the close of the most recent bar, the script displays a label that provides detailed information about the best-performing SuperTrend parameters and their cumulative performance. This feature keeps traders informed about which settings are currently most effective.
Input Customization Options
1. Super Smoother Length
- Traders can define the length of the Super Smoother filter, which is used to smooth both price data and ATR (Average True Range) values. This input allows traders to control the sensitivity of the indicator, with shorter lengths providing faster responses and longer lengths offering smoother trends.
2. SuperTrend Parameters
- Factor: For each of the three SuperTrends, traders can set a unique factor that determines the distance of the SuperTrend bands from the average price. A higher factor results in wider bands and fewer signals, while a lower factor results in narrower bands and more signals.
- ATR Length: Traders can also specify the length of the ATR used in each SuperTrend calculation. A longer ATR period captures broader market volatility, while a shorter period focuses on more immediate price movements.
3. Label Settings
- Label Colors: The script allows full customization of label colors for Long and Short signals, ensuring that they match the trader’s chart aesthetics.
- Label Text Colors and Sizes: Traders can adjust the text color and size of the labels for Long, Short, and information labels, allowing them to prioritize visibility and readability on their charts.
4. Performance Selection Mode
- Best or Worst Performer: This input allows traders to select whether the script should optimize for the best or worst performing SuperTrend parameter set. This flexibility is useful in different market conditions, where a trader might want to analyze either the strongest trend or focus on a contrarian strategy.
5. VWAP Calculation
- The script automatically recalculates the VWAP based on trend changes, ensuring that the confirmation signals are as accurate and relevant as possible to the current market context.
Important Note
This script is designed to provide more accurate trend signals and confirmations, but like all technical indicators, it should not be used in isolation. It is recommended to use this tool as part of a broader trading strategy, including proper risk management and consideration of fundamental market conditions.
Conclusion
The "Smoothed SuperTrend with VWAP Confirmation" script is an innovative trading tool that combines the strengths of the SuperTrend and VWAP indicators. By integrating smoothing techniques and automatic parameter optimization, this indicator provides traders with more accurate and reliable trend signals. The added confirmation by VWAP further enhances the precision of the entry and exit points, making it an excellent choice for traders looking to improve their technical analysis and trading outcomes. This tool is especially valuable for those who prefer customizable inputs and a systematic approach to trading, ensuring that the indicator adapts to various market conditions and individual trading styles.
Best regards
Chervolino






















