Important Levels by Sandun Kolambage
### Pine Script Indicator: Important Levels by Sandun Kolambage
#### Description
Introducing our new pivot point and high/low indicator for TradingView! This indicator is designed to help traders identify key levels of support and resistance across different timeframes, from daily to yearly. By analyzing historical data and market trends, our indicator displays the most important pivot points and high/low levels, giving you a better understanding of market dynamics and potential trading opportunities.
Whether you're a day trader, swing trader, or long-term investor, our indicator can help you optimize your trading strategy and achieve your financial goals. Install our indicator on TradingView today and start taking advantage of these important levels!
#### Key Features
- **Daily, Weekly, Monthly, and Yearly Levels:** Automatically plots the open, high, low, and close prices for different timeframes to help traders identify significant levels.
- **Pivot Points:** Calculates and displays pivot points for weekly, monthly, and yearly timeframes, providing additional support and resistance levels.
- **Customizable Line Styles:** Offers options to customize the appearance of the lines (solid, dashed, or dotted) for better visualization.
- **Conditional Coloring:** Uses color coding to highlight the relationship between different timeframe closes, making it easy to spot important levels.
#### How It Works
1. **Daily, Weekly, Monthly, and Yearly Levels:**
- The indicator uses `request.security` to fetch and display open, high, low, and close prices for daily, weekly, monthly, and yearly timeframes.
- Lines are plotted at these key levels with colors indicating their relationship to closes of other timeframes.
2. **Pivot Points:**
- Pivot points are calculated using the formula \((High + Low + Close) / 3\).
- These pivot points are plotted on the chart and labeled clearly to indicate potential support and resistance areas.
3. **Customizable Line Styles:**
- Users can select from solid, dashed, or dotted lines to represent the key levels and pivot points for better clarity and personal preference.
4. **Conditional Coloring:**
- The indicator applies conditional coloring to the lines based on the comparison of current close prices across different timeframes. Yellow indicates lower closes, and red indicates higher closes, making it easy to identify important price levels quickly.
#### Usage Instructions
1. **Enable Key Levels:**
- Toggle the "Daily Weekly Monthly High/Low" option to display or hide the respective levels.
- Select your preferred line style (solid, dashed, dotted) for better visibility.
2. **Display Pivot Points:**
- Toggle the "Pivot" option to show or hide the weekly, monthly, and yearly pivot points on the chart.
3. **Interpret Color Coding:**
- Yellow lines indicate levels where the close price is lower compared to a specific timeframe close.
- Red lines indicate levels where the close price is higher compared to a specific timeframe close.
- Specific colors for yearly levels and pivots are used to distinguish them clearly on the chart.
By following these guidelines, traders can effectively use this indicator to identify critical price levels and make informed trading decisions.
Cerca negli script per "daily"
Support and resistance levels (Day, Week, Month) + EMAs + SMAs(ENG): This Pine 5 script provides various tools for configuring and displaying different support and resistance levels, as well as moving averages (EMA and SMA) on charts. Using these tools is an essential strategy for determining entry and exit points in trades.
Support and Resistance Levels
Daily, weekly, and monthly support and resistance levels play a key role in analyzing price movements:
Daily levels: Represent prices where a cryptocurrency has tended to bounce within the current trading day.
Weekly levels: Reflect strong prices that hold throughout the week.
Monthly levels: Indicate the most significant levels that can influence price movement over the month.
When trading cryptocurrencies, traders use these levels to make decisions about entering or exiting positions. For example, if a cryptocurrency approaches a weekly resistance level and fails to break through it, this may signal a sell opportunity. If the price reaches a daily support level and starts to bounce up, it may indicate a potential long position.
Market context and trading volumes are also important when analyzing support and resistance levels. High volume near a level can confirm its significance and the likelihood of subsequent price movement. Traders often combine analysis across different time frames to get a more complete picture and improve the accuracy of their trading decisions.
Moving Averages
Moving averages (EMA and SMA) are another important tool in the technical analysis of cryptocurrencies:
EMA (Exponential Moving Average): Gives more weight to recent prices, allowing it to respond more quickly to price changes.
SMA (Simple Moving Average): Equally considers all prices over a given period.
Key types of moving averages used by traders:
EMA 50 and 200: Often used to identify trends. The crossing of the 50-day EMA with the 200-day EMA is called a "golden cross" (buy signal) or a "death cross" (sell signal).
SMA 50, 100, 150, and 200: These periods are often used to determine long-term trends and support/resistance levels. Similar to the EMA, the crossings of these averages can signal potential trend changes.
Settings Groups:
EMA Golden Cross & Death Cross: A setting to display the "golden cross" and "death cross" for the EMA.
EMA 50 & 200: A setting to display the 50-day and 200-day EMA.
Support and Resistance Levels: Includes settings for daily, weekly, and monthly levels.
SMA 50, 100, 150, 200: A setting to display the 50, 100, 150, and 200-day SMA.
SMA Golden Cross & Death Cross: A setting to display the "golden cross" and "death cross" for the SMA.
Components:
Enable/disable the display of support and resistance levels.
Show level labels.
Parameters for adjusting offset, display of EMA and SMA, and their time intervals.
Parameters for configuring EMA and SMA Golden Cross & Death Cross.
EMA Parameters:
Enable/disable the display of 50 and 200-day EMA.
Color and style settings for EMA.
Options to use bar gaps and the "LookAhead" function.
SMA Parameters:
Enable/disable the display of 50, 100, 150, and 200-day SMA.
Color and style settings for SMA.
Options to use bar gaps and the "LookAhead" function.
Effective use of support and resistance levels, as well as moving averages, requires an understanding of technical analysis, discipline, and the ability to adapt the strategy according to changing market conditions.
(RUS) Данный Pine 5 скрипт предоставляет разнообразные инструменты для настройки и отображения различных уровней поддержки и сопротивления, а также скользящих средних (EMA и SMA) на графиках. Использование этих инструментов является важной стратегией для определения точек входа и выхода из сделок.
Уровни поддержки и сопротивления
Дневные, недельные и месячные уровни поддержки и сопротивления играют ключевую роль в анализе движения цен:
Дневные уровни: Представляют собой цены, на которых криптовалюта имела тенденцию отскакивать в течение текущего торгового дня.
Недельные уровни: Отражают сильные цены, которые сохраняются в течение недели.
Месячные уровни: Указывают на наиболее значимые уровни, которые могут влиять на движение цены в течение месяца.
При торговле криптовалютами трейдеры используют эти уровни для принятия решений о входе в позицию или закрытии сделки. Например, если криптовалюта приближается к недельному уровню сопротивления и не удается его преодолеть, это может стать сигналом для продажи. Если цена достигает дневного уровня поддержки и начинает отскакивать вверх, это может указывать на возможность открытия длинной позиции.
Контекст рынка и объемы торговли также важны при анализе уровней поддержки и сопротивления. Высокий объем при приближении к уровню может подтвердить его значимость и вероятность последующего движения цены. Трейдеры часто комбинируют анализ различных временных рамок для получения более полной картины и улучшения точности своих торговых решений.
Скользящие средние
Скользящие средние (EMA и SMA) являются еще одним важным инструментом в техническом анализе криптовалют:
EMA (Exponential Moving Average): Экспоненциальная скользящая средняя, которая придает большее значение последним ценам. Это позволяет более быстро реагировать на изменения в ценах.
SMA (Simple Moving Average): Простая скользящая средняя, которая равномерно учитывает все цены в заданном периоде.
Основные виды скользящих средних, которые используются трейдерами:
EMA 50 и 200: Часто используются для выявления трендов. Пересечение 50-дневной EMA с 200-дневной EMA называется "золотым крестом" (сигнал на покупку) или "крестом смерти" (сигнал на продажу).
SMA 50, 100, 150 и 200: Эти периоды часто используются для определения долгосрочных трендов и уровней поддержки/сопротивления. Аналогично EMA, пересечения этих средних могут сигнализировать о возможных изменениях тренда.
Группы настроек:
EMA Golden Cross & Death Cross: Настройка для отображения "золотого креста" и "креста смерти" для EMA.
EMA 50 & 200: Настройка для отображения 50-дневной и 200-дневной EMA.
Уровни поддержки и сопротивления: Включает настройки для дневных, недельных и месячных уровней.
SMA 50, 100, 150, 200: Настройка для отображения 50, 100, 150 и 200-дневных SMA.
SMA Golden Cross & Death Cross: Настройка для отображения "золотого креста" и "креста смерти" для SMA.
Компоненты:
Включение/отключение отображения уровней поддержки и сопротивления.
Показ ярлыков уровней.
Параметры для настройки смещения, отображения EMA и SMA, а также их временных интервалов.
Параметры для настройки EMA и SMA Golden Cross & Death Cross.
Параметры EMA:
Включение/отключение отображения 50 и 200-дневных EMA.
Настройки цвета и стиля для EMA.
Опции для использования разрыва баров и функции "LookAhead".
Параметры SMA:
Включение/отключение отображения 50, 100, 150 и 200-дневных SMA.
Настройки цвета и стиля для SMA.
Опции для использования разрыва баров и функции "LookAhead".
Эффективное использование уровней поддержки и сопротивления, а также скользящих средних, требует понимания технического анализа, дисциплины и умения адаптировать стратегию в зависимости от изменяющихся условий рынка.
Overlay-ChartOverlay-Chart Indicator
The Overlay-Chart Indicator is an advanced script designed for scalpers and day traders, providing comprehensive insights into daily, weekly, monthly, and previous period price levels. This indicator helps traders visualize critical price levels and make informed decisions based on historical and current data.
Key Features:
Drawing Future Lines with Labels:
The script uses the drawFutureLine function to plot future price levels with customizable labels. This helps traders anticipate and react to key price points.
Daily Levels:
Displays the open, low, high, close, and equilibrium (EQ) prices for the current day. This provides a quick reference for daily trading ranges and significant price points.
Weekly Levels:
Shows the open, low, high, close, and equilibrium prices for the current week, offering a broader view of market trends and key weekly price levels.
Monthly Levels:
Illustrates the open, low, high, close, and equilibrium prices for the current month, enabling traders to understand long-term trends and significant monthly price points.
Previous Day, Week, and Month Levels:
Historical data from previous periods (day, week, month) is displayed, allowing traders to compare past and present price levels to identify patterns and potential support/resistance levels.
Customizable Colors:
Traders can choose colors for daily, weekly, monthly, and previous day levels to enhance chart readability and personalization.
Flexible Display Options:
Users can select which price levels (Open, Low, High, Close, EQ) to display for each period (daily, weekly, monthly, previous day, week, month).
How It Works:
The script fetches historical and current price data using the request.security function. It then uses these data points to draw lines on the chart representing significant price levels. These lines are drawn into the future to help traders visualize where these levels will be in upcoming bars. Labels are added to these lines for easy identification.
How to Use:
Configure Inputs:
Enable or disable the display of daily, weekly, monthly, and previous period levels using the input options.
Customize colors for different levels to match your charting preferences.
Analyze Key Levels:
Observe the plotted lines and labels to understand critical price points for the current and past periods.
Use this information to identify potential entry and exit points, support and resistance levels, and overall market trends.
Future Planned Features:
The script includes several features that are currently commented out but planned for future updates:
Volume Weighted Average Price (VWAP):
Display VWAP for daily, weekly, and monthly periods to provide an average price based on volume.
Point of Control (POC):
Show the price level with the highest trading volume for daily, weekly, and monthly periods.
Value Area High (VAH) and Low (VAL):
Display the upper and lower boundaries of the value area where most trading activity occurs for daily, weekly, and monthly periods.
These enhancements will offer additional insights into volume distribution and market sentiment, further improving the utility of the Overlay-Chart Indicator for traders.
This script is specifically designed to cater to the needs of scalpers and day traders who require precise, visually intuitive data for their trading strategies. The planned features will further enhance its effectiveness, providing a comprehensive tool for market analysis.
Candle Wick Shadows [UkutaLabs]█ OVERVIEW
The Candle Wick Shadows Indicator identifies untested wicks in real time that occur when there is an imbalance in the number of buyers and sellers at a price-level. This imbalance occurs when a market exchange receives too many of one kind of order, and not enough of its counterpoint.
Candle Wick Shadows is a powerful trading indicator that will automatically identify and label strong ranges on traders’ charts that can be incorporated into a wide variety of different trading strategies.
█ USAGE
The script automatically identifies and measures real-time ranges of imbalance between buying and selling pressure in the market using real-time price-action information. These levels indicate potential Supply and Demand zones which serve to help the trader identify areas where price has changed direction in the past due to an imbalance of buyers and sellers.
The script also allows users to mirror higher time frame Candle Wick Shadows onto lower time frame charts to gain a stronger understanding of key levels on another scale.
█ SETTINGS
Configuration
- Show Labels: Determines whether or not identification labels are drawn on the chart.
- Max CWS Display: Determines the number of Candle Wick Shadows that will be drawn on the chart. This is for each higher timeframe option that is toggled, not the total.
Current Time Frame
-Wick Shadow (On/Off): Determines whether or not wick shadows are drawn from the current time frame chart.
- Bullish Color: Determines the color of bullish wick shadows from the current time frame.
- Bearish Color: Determines the color of bearish wick shadows from the current time frame.
5 Minute (Higher Timeframe)
-Wick Shadow (On/Off): Determines whether or not wick shadows are drawn from the 5 minute time frame chart.
- Bullish Color: Determines the color of bullish wick shadows from the 5 minute time frame.
- Bearish Color: Determines the color of bearish wick shadows from the 5 minute time frame.
15 Minute (Higher Timeframe)
-Wick Shadow (On/Off): Determines whether or not wick shadows are drawn from the 15 minute time frame chart.
- Bullish Color: Determines the color of bullish wick shadows from the 15 minute time frame.
- Bearish Color: Determines the color of bearish wick shadows from the 15 minute time frame.
30 Minute (Higher Timeframe)
-Wick Shadow (On/Off): Determines whether or not wick shadows are drawn from the 30 minute time frame chart.
- Bullish Color: Determines the color of bullish wick shadows from the 30 minute time frame.
- Bearish Color: Determines the color of bearish wick shadows from the 30 minute time frame.
60 Minute (Higher Timeframe)
-Wick Shadow (On/Off): Determines whether or not wick shadows are drawn from the 60 minute time frame chart.
- Bullish Color: Determines the color of bullish wick shadows from the 60 minute time frame.
- Bearish Color: Determines the color of bearish wick shadows from the 60 minute time frame.
240 Minute (Higher Timeframe)
-Wick Shadow (On/Off): Determines whether or not wick shadows are drawn from the 240 minute time frame chart.
- Bullish Color: Determines the color of bullish wick shadows from the 240 minute time frame.
- Bearish Color: Determines the color of bearish wick shadows from the 240 minute time frame.
Daily (Higher Timeframe)
-Wick Shadow (On/Off): Determines whether or not wick shadows are drawn from the daily time frame chart.
- Bullish Color: Determines the color of bullish wick shadows from the daily time frame.
- Bearish Color: Determines the color of bearish wick shadows from the daily time frame.
Candle Wick Retest [UkutaLabs]█ OVERVIEW
The Candle Wick Retest Indicator identifies untested wicks in real time that occur when there is an imbalance in the number of buyers and sellers at a price-level. This imbalance occurs when a market exchange receives too many of one kind of order, and not enough of its counterpoint.
Candle Wick Retest is a powerful trading indicator that will automatically identify and label strong ranges on traders’ charts that can be incorporated into a wide variety of different trading strategies.
█ USAGE
The script automatically identifies and measures real-time ranges of imbalance between buying and selling pressure in the market using real-time price-action information. These levels indicate potential Supply and Demand zones which serve to help the trader identify areas where price has changed direction in the past due to an imbalance of buyers and sellers.
The script also allows users to mirror higher time frame Candle Wick Retests onto lower time frame charts to gain a stronger understanding of key levels on another scale.
█ SETTINGS
Configuration
- Show Labels: Determines whether or not identification labels are drawn on the chart.
- Max CW Display: Determines the number of Candle Wick Retests that will be drawn on the chart. This is for each higher timeframe option that is toggled, not the total.
Current Time Frame
- Wick Retest (On/Off): Determines whether wick retests will be drawn from the current time frame chart.
- Wick Retest Bullish Color: Determines the color of bullish wick retests from the current time frame.
- Wick Retest Bearish Color: Determines the color of bearish wick retests from the current time frame.
5 Minute (Higher Timeframe)
- Wick Retest (On/Off): Determines whether wick retests will be drawn from the 5 minute chart.
- Wick Retest Bullish Color: Determines the color of bullish wick retests from the 5 minute time frame.
- Wick Retest Bearish Color: Determines the color of bearish wick retests from the 5 minute time frame.
15 Minute (Higher Timeframe)
- Wick Retest (On/Off): Determines whether wick retests will be drawn from the 15 minute time frame chart.
- Wick Retest Bullish Color: Determines the color of bullish wick retests from the 15 minute time frame.
- Wick Retest Bearish Color: Determines the color of bearish wick retests from the 15 minute time frame.
30 Minute (Higher Timeframe)
- Wick Retest (On/Off): Determines whether wick retests will be drawn from the 30 minute time frame chart.
- Wick Retest Bullish Color: Determines the color of bullish wick retests from the 30 minute time frame.
- Wick Retest Bearish Color: Determines the color of bearish wick retests from the 30 minute time frame.
60 Minute (Higher Timeframe)
- Wick Retest (On/Off): Determines whether wick retests will be drawn from the 60 minute time frame chart.
- Wick Retest Bullish Color: Determines the color of bullish wick retests from the 60 minute time frame.
- Wick Retest Bearish Color: Determines the color of bearish wick retests from the 60 minute time frame.
240 Minute (Higher Timeframe)
- Wick Retest (On/Off): Determines whether wick retests will be drawn from the 240 minute time frame chart.
- Wick Retest Bullish Color: Determines the color of bullish wick retests from the 240 minute time frame.
- Wick Retest Bearish Color: Determines the color of bearish wick retests from the 240 minute time frame.
Daily (Higher Timeframe)
- Wick Retest (On/Off): Determines whether wick retests will be drawn from the daily time frame chart.
- Wick Retest Bullish Color: Determines the color of bullish wick retests from the daily time frame.
- Wick Retest Bearish Color: Determines the color of bearish wick retests from the daily time frame.
Power Trends [UkutaLabs]█ OVERVIEW
The Power Trends Indicator is a versatile trading toolkit that offers unique insight into key price levels in the market. This script uses currently relevant price-action information to automatically detect pivot levels and use them to create powerful trendlines.
The aim of this script is to improve the trading experience of users by offering a versatile toolkit that can be used in a wide variety of trading strategies to help simplify the complexities of the market.
█ USAGE
The Power Trends Indicator will automatically identify pivot points in real-time using recent price-action information to ensure that all points being identified are relevant. Using these pivot points, the script then draws powerful trend lines that can be used as levels of resistance and support.
To ensure that only the most relevant information is being presented, only the most recent trend lines will be displayed on the user’s charts. As new trend lines are being drawn, older trend lines will become thinner so that traders can identify the most relevant lines at a glance.
The price of the most recent high and low pivot points will also be displayed on the chart and can be used as further levels of resistance and support.
When a recent pivot level is broken, it will be identified as a Break of Structure. This signifies that there may have been a change in market strength.
The Power Trends Indicator also supports multiple time frame mapping, allowing you to mirror the trend lines that would be drawn on higher time frame charts onto lower time frame charts. This feature allows traders to be aware of the market structure of multiple charts at a glance from a single chart.
When mirroring some higher time frame trend lines, lines may appear to not align properly with current time frame bars. This is done intentionally to ensure lines are being drawn accurately to their position on the higher time frame charts.
█ SETTINGS
Current Time Frame
• Display (On/Off): Determines whether or not trend lines are drawn from the current time frame.
• High Color: Determines the color of trend lines drawn on high pivots.
• Low Color: Determines the color of trend lines drawn on low pivots.
5 Minute (Higher Time Frame)
• Display (On/Off): Determines whether or not trend lines are drawn from the 5 minute higher time frame.
• High Color: Determines the color of trend lines drawn on high pivots from the 5 minute higher time frame.
• Low Color: Determines the color of trend lines drawn on low pivots from the 5 minute higher time frame.
15 Minute (Higher Time Frame)
• Display (On/Off): Determines whether or not trend lines are drawn from the 15 minute higher time frame.
• High Color: Determines the color of trend lines drawn on high pivots from the 15 minute higher time frame.
• Low Color: Determines the color of trend lines drawn on low pivots from the 15 minute higher time frame.
30 Minute (Higher Time Frame)
• Display (On/Off): Determines whether or not trend lines are drawn from the 30 minute higher time frame.
• High Color: Determines the color of trend lines drawn on high pivots from the 30 minute higher time frame.
• Low Color: Determines the color of trend lines drawn on low pivots from the 30 minute higher time frame.
60 Minute (Higher Time Frame)
• Display (On/Off): Determines whether or not trend lines are drawn from the 60 minute higher time frame.
• High Color: Determines the color of trend lines drawn on high pivots from the 60 minute higher time frame.
• Low Color: Determines the color of trend lines drawn on low pivots from the 60 minute higher time frame.
240 Minute (Higher Time Frame)
• Display (On/Off): Determines whether or not trend lines are drawn from the 240 minute higher time frame.
• High Color: Determines the color of trend lines drawn on high pivots from the 240 minute higher time frame.
• Low Color: Determines the color of trend lines drawn on low pivots from the 240 minute higher time frame.
Daily (Higher Time Frame)
• Display (On/Off): Determines whether or not trend lines are drawn from the daily time frame.
• High Color: Determines the color of trend lines drawn on high pivots from the daily higher time frame.
• Low Color: Determines the color of trend lines drawn on low pivots from the daily higher time frame.
Fair Value Gap [UkutaLabs]█ OVERVIEW
Fair Value Gaps are price jumps caused by the imbalance buying and selling pressures in trading and are most commonly used amongst price action traders. Fair Value Gaps are formed via a three-candle sequence in which a large candle’s neighbouring candles’ upper and lower wicks do not fully overlap the large candle.
The Fair Value Gaps Indicator also supports Multi Time Frame Plotting, allowing you to plot the Fair Value Gaps from higher time frames onto lower time frame charts.
The Fair Value Gaps Indicator is a powerful trading toolkit that provides users with more information than they would typically have available to them by allowing them to configure several charts worth of information onto one single chart.
█ USAGE
The script automatically identifies imbalances between buying and selling pressure in the market in real time, offering traders valuable insight into current market sentiment. These gaps are considered to be levels where the supply and demand of a commodity are imbalanced, and the price tends to return to fill these gaps (But are not guaranteed to).
The Fair Value Gaps Indicator also allows gaps from higher time frames to be drawn on lower time frame charts, providing traders with more information than they would typically have access to to further simplify the decision making process.
█ SETTINGS
Configuration
• Show Labels: Determines whether labels that identify which time frame a FVG is calculated from.
• Max FVG Display: Determines the limit to the number of FVGs that can be drawn from all time frames. Set this value to 0 to remove this limit.
Current Time Frame
• Display: Determines whether or not FVGs from the current time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the current time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the current time frame.
5 Minute (Higher Time Frame)
• Display: Determines whether or not FVGs from the 5 minute time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the 5 minute time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the 5 minute time frame.
15 Minute (Higher Time Frame)
• Display: Determines whether or not FVGs from the 15 minute time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the 15 minute time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the 15 minute time frame.
30 Minute (Higher Time Frame)
• Display: Determines whether or not FVGs from the 30 minute time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the 30 minute time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the 30 minute time frame.
60 Minute (Higher Time Frame)
• Display: Determines whether or not FVGs from the 60 minute time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the 60 minute time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the 60 minute time frame.
240 Minute (Higher Time Frame)
• Display: Determines whether or not FVGs from the 240 minute time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the 240 minute time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the 240 minute time frame.
Daily (Higher Time Frame)
• Display: Determines whether or not FVGs from the daily time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the daily time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the daily time frame.
[Suitable Hope] Crypto Upside Model 3.0The "Crypto Upside Model 3.0" indicator dynamically calculates the potential price of any cryptocurrency based on various percentages of Ethereum or Bitcoin's market capitalization.
By fetching and analyzing marketcap data from TradingView sources, it allows traders to visualize potential price targets if their chosen cryptocurrency reaches specific market dominance levels. This tool is designed for daily timeframe analysis and can be used to set informed price expectations and strategic investment goals, providing valuable insights for long-term investment planning.
Why using the Crypto Upside Model 3.0?
Strategic Planning: Helps traders and investors set realistic price targets and investment goals by visualizing potential market cap scenarios.
Informed Decision-Making: Provides a data-driven approach to understanding how a cryptocurrency might perform relative to major assets like Bitcoin and Ethereum.
Customizable Analysis: Allows users to choose different comparison assets (ETH or BTC) and visualize various market cap dominance percentages, offering tailored insights.
Daily Timeframe Focus: Ideal for swing traders and long-term investors who operate on a daily analysis timeframe, providing relevant and actionable data.
Bull Markets: Identify potential price targets if your cryptocurrency's market cap increases significantly.
Bear Markets: Assess how much value could be retained relative to major cryptocurrencies.
Strategic Entry/Exit Points: Use the visualized targets to plan entry or exit points in your trading strategy.
Comparative Advantage
Dynamic Adaptation: Unlike fixed indicators, this tool adapts to any active chart, making it versatile for multiple cryptocurrencies.
Market Cap Insights: Provides a unique perspective by linking price targets to market cap dominance, a critical factor in the crypto market.
User Instructions
Setup: Add the " Upside Model 3.0" indicator to your TradingView chart.
Configuration: Use the input settings to select the comparison cryptocurrency (ETH or BTC) and enable the desired market cap percentage plots.
Analysis: The indicator will display potential price targets based on the selected market cap percentages, providing a visual guide for setting price expectations.
Limitations
Marketcap Data Availability: The indicator relies on marketcap data from TradingView, which may not be available for all cryptocurrencies. If the data is unavailable, the indicator will not function for that asset. This tool is more likely to work with older, established cryptocurrencies, as marketcap data for newer cryptocurrencies may not yet be available.
Daily Timeframe Restriction: The indicator is designed to work exclusively on the daily timeframe, limiting its applicability for intraday trading.
Assumptions of Market Dynamics: The calculations assume a direct correlation between market dominance and price, which may not account for other market dynamics and external factors influencing prices.
Data Accuracy: The accuracy of the indicator depends on the reliability of the data provided by TradingView, which may sometimes experience delays or inaccuracies.
Currently available cryptocurrencies: Bitcoin, Ethereum, Solana, Binance Coin, Cardano, Ripple, Polkadot, Avalanche, Chainlink, Litecoin, Dogecoin, Terra, Uniswap, VeChain, Stellar, Internet Computer, Hedera, Filecoin, Monero, Aave, TRON, NEAR Protocol, Compound, Maker,... For all compatible cryptocurrencies, please consult CRYPTOCAP's documentation.
Final notes
Although various sources ask a payment or user data for similar kind of private indicators, this one is entirely free and open source. "Uncanny" isn't it? I hope this indicator will provide you value. Feel free to leave a message if you have any questions or constructive feedback.
Examples of how I use this indicator
When using ETH's historical price as a reference compared to Bitcoin's marketcap, we can notice that price generally has been held between the +-30% and 50% lines of BTC's marketcap. If history is repeating again, we can expect major resistances around the 50% looking ahead into the future. This for me would be a great area to potentially reduce my ETH spot position.
When using SOL's historical price action, we can notice that the 15% line of ETH's marketcap has been a top in the previous cycle. Today SOL (July 2024), is back at this level. Could this be a top again or could price break this 15% level and head perhaps towards 30% which currently sits around $260? Time will tell.
These are 2 simple example of how I interpret the data. I'm keen to hear what other findings with other pairs you can find.
ATR Gerchik LightAverage True Range ( ATR ) is a technical analysis indicator that measures volatility in the market. ATR is a moving average of the true range over a period of time.
ATR calculation procedure:
1. Determine the true maximum - this is the highest of the current maximum and yesterday's closing price of the day.
2. Determine the true minimum - this is the smallest of the current minimum and yesterday's closing price.
3. Determine the true range - this is the distance between the true maximum and minimum.
4. We exclude extremely large candles (> x2 ATR) and extremely small ones (< 0.5 ATR) from the obtained true ranges.
5. We calculate the average for the selected period based on the remaining range.
6. We calculate the percentage of the current True Range relative to the average ATR value for the previous period.
Description:
If you analyze it yourself, you will see that 75-80% of the time, the instrument moves only 1 ATR per day. You must understand that if an instrument has, for example, moved 80% of its daily range, it is not advisable to purchase it. This is comparable to a car's fuel tank: if the tank is almost empty, the car won't go far. Most indicators that calculate ATR include anomalous candles, which give unreliable results and lead to incorrect decisions. Because of this, many traders prefer to calculate ATR on their own.
However, the Gerchik ATR indicator accounts for anomalous candles and filters out extremely large candles (> 2x ATR) and extremely small ones (< 0.5x ATR). Additionally, this indicator immediately shows the consumed “fuel” of the instrument as a percentage, so you don't have to calculate the distance traveled yourself. This allows you to make quick, informed decisions. If we see that the tank is almost empty, it is logical not to get into that car today. When building any strategy, you must rely on the average movement.
Key Features:
Anomalous Candle Filtering: Excludes extremely large and small candles to provide more reliable ATR values.
Consumed Fuel Indicator: Shows the percentage of the ATR consumed, helping traders quickly assess the remaining potential movement.
Daily Timeframe Focus: Designed specifically for use on daily charts for accurate long-term analysis.
Practical Applications:
Entry and Exit Points: Use the ATR to determine optimal entry and exit points by assessing market volatility and potential price movement.
Stop-Loss Placement: Calculate stop-loss levels based on ATR to ensure they are placed at appropriate distances, accounting for current market volatility.
Trend Confirmation: Use the percentage of ATR consumed to confirm the strength of a trend and decide whether to enter or exit trades.
Examples of Use:
Trend Following: During strong trends, ATR helps identify periods of increased volatility, signaling potential breakouts or reversals.
Range Trading: In ranging markets, ATR can highlight periods of low volatility, indicating consolidation and potential breakout zones.
Note: The indicator is displayed and works only on the daily timeframe!
The indicator was created according to the instructions, description of the functionality, and strategy of Mr. Gerchik. Thank you so much, Chief!
________________________
Average True Range ( ATR , средний истинный диапазон) – это индикатор технического анализа, который измеряет волатильность на рынке. ATR представляет собой скользящее среднее истинного диапазона за определенный период времени.
Порядок расчета ATR:
1. Определяем истинный максимум – это наивысшее из текущего максимума и вчерашней цены закрытия дня.
2. Определяем истинный минимум – это наименьшее из текущего минимума и вчерашней цены закрытия.
3. Определяем истинный диапазон – это расстояние между истинным максимумом и минимумом.
4. Исключаем из полученных истинных диапазонов экстремально большие свечи (> x2 ATR) и экстремально маленькие (< 0.5 ATR).
5. Рассчитываем среднее за выбранный период исходя из оставшегося диапазона.
6 . Рассчитываем процент текущего истинного диапазона (True Range) относительно среднего значения ATR за предыдущий период.
Описание:
Если вы сами проанализируете, то увидите, что 75-80% времени инструмент ходит только 1 ATR. И вы должны понимать, что если инструмент внутри дня прошел, к примеру, 80% своего движения, то этот инструмент больше нельзя покупать. Это можно сравнить с баком машины: если бак почти пустой, машина далеко не уедет. Большинство индикаторов, которые рассчитывают ATR, производят расчет с паранормальными свечами. Это дает недостоверный результат и приводит к неверным решениям. Многие трейдеры из-за этого не используют готовые индикаторы и предпочитают считать ATR самостоятельно. Но индикатор ATR Gerchik учитывает паранормальные свечи и фильтрует экстремально большие свечи (> x2 ATR) и экстремально маленькие (< 0.5 ATR). Также этот индикатор сразу показывает израсходованный "бензин" инструмента в процентах. И вам не надо самостоятельно высчитывать пройденный путь. Вы можете быстро принимать правильные решения. Если мы видим, что бак почти пустой, логично не садиться в эту машину сегодня. Когда вы строите какую-то стратегию, вы должны обязательно полагаться на среднестатистическое движение.
Существует много стратегий, завязанных на ATR, которые учитывают волатильность инструмента, запас хода, точки разворота, места выставления стоп-лоссов (SL) и тейк-профитов (TP) и другие факторы. Я не буду останавливаться на них, так как каждый может найти описание этих стратегий и использовать их на свой выбор.
Индикатор отображается и работает только на дневном таймфрейме!
Индикатор создан по наставлениям, описанию функционала и стратегии господина Герчика. Огромное спасибо, Шеф!
Ripster MTF CloudsDescription:
MTF EMA Cloud By Ripster
EMA Cloud System is a Trading System Invented by Ripster where areas are shaded between two desired EMAs. The concept implies the EMA cloud area serves as support or resistance for Intraday & Swing Trading. This can be utilized effectively on 10 Min for day trading and 1Hr/Daily for Swings. Ripster himself utilizes various combinations of the 5-12, 34-50, 8-9, 20-21 EMA clouds but the possibilities are endless to find what works best for you.
“Ideally, 5-12 or 5-13 EMA cloud acts as a fluid trendline for day trades. 8-9 EMA Clouds can be used as pullback Levels –(optional). Additionally, a high level price over or under 34-50 EMA clouds confirms either bullish or bearish bias on the price action for any timeframe” – Ripster
This indicator is an extension of the Ripster EMA Clouds. It allows you to visualize Exponential Moving Average (EMA) clouds from any time frame on your current chart, regardless of the chart's own time frame. This functionality is especially useful for traders who want to monitor higher time frame trends and support/resistance levels while trading on lower time frames.
What does this code do?
The Ripster MTF Clouds indicator displays two sets of EMA clouds. Each set consists of a short EMA and a long EMA. By default, the indicator uses Daily 20/21 and 50/55 EMAs, but you can customize these settings to fit your trading strategy. The EMAs are plotted on your chart along with their corresponding clouds, colored for easy differentiation:
EMA 1 (default 50/55): Plotted in blue.
EMA 2 (default 20/21): Plotted in teal.
The indicator uses the security function to fetch EMA values from higher time frames and plots them on your current chart, allowing you to see how these higher time frame EMAs interact with your current time frame's price action.
How to use this indicator:
Adjust Resolution:
Set the "Resolution" input to the time frame from which you want to fetch EMA values. For example, set it to "1H" if you want to see 1-hour EMAs on your current chart.
Customize EMAs:
Modify the "EMA 1 Short Length" and "EMA 1 Long Length" inputs to change the default 50/55 EMAs.
Adjust the "EMA 2 Short Length" and "EMA 2 Long Length" inputs to change the default 20/21 EMAs.
Monitor Clouds:
The indicator fills the area between the short and long EMAs, creating a cloud that helps visualize the trend. A blue cloud indicates the area between the EMA 1 pair, while a teal cloud indicates the area between the EMA 2 pair.
Use Multiple Instances:
You can add multiple instances of this indicator to your chart to monitor multiple higher time frames simultaneously. For instance, one instance can show daily clouds while another shows hourly clouds.
Integration with Trading Strategy:
Use this indicator to identify higher time frame trends and support/resistance levels, which can help improve your trading decisions on lower time frames.
For example, you can go long when the stock is above the 50-55 EMA clouds and 20-21 EMA clouds with daily resolution on a 10-minute chart and short when it is below it.
Similarly, you can short a stock under the 1-hour 34/50 EMA clouds while still trading on a 10-minute chart.
Dynamic Support & Resistance Tracker with MTFDynamic Support & Resistance Tracker with Weekly, Monthly & Daily Levels
The Dynamic Support & Resistance Tracker is designed to help traders identify key support and resistance levels across multiple timeframes, enhancing market analysis and decision-making. This indicator calculates and plots support and resistance levels for daily, weekly, and monthly periods, along with extension lines that provide insights into potential price targets.
Key Features:
Multi-Timeframe Analysis:
Daily Levels: Identifies the high, low, and midpoint for each trading day. These levels help traders recognize important price points for short-term trading strategies.
Weekly Levels: Plots the high, low, and midpoint for each week. This feature is valuable for swing traders who need to understand broader market trends.
Monthly Levels: Displays the high, low, and midpoint for each month, which is essential for long-term investors.
Extension Lines:
Calculates extension lines beyond the standard support and resistance levels to help anticipate potential price targets and reversals. These extensions are based on the distance between the high/low and midpoint levels.
Real-Time Updates:
Automatically updates the levels based on the most recent market data, ensuring traders have the most current information for their analysis.
Clear Visuals:
The indicator provides clearly labeled and color-coded lines for easy identification of key levels, improving the visual clarity of market analysis.
How It Works:
Daily, Weekly, and Monthly Levels: The indicator calculates the high, low, and midpoint levels for daily, weekly, and monthly timeframes and plots them on the chart. These levels serve as potential areas of support and resistance where price action may react.
Extension Lines: The extension lines are calculated based on the distance between the high/low and midpoint levels, projecting potential areas where price may find support or resistance beyond the standard levels.
Automatic Updates: The indicator continuously updates the plotted levels based on the latest market data, providing real-time insights.
Benefits:
Improved Market Analysis: By providing a clear view of support and resistance levels across multiple timeframes, this indicator helps traders understand market trends and price movements more effectively.
Informed Trading Decisions: The detailed plotting of levels and extensions allows traders to make more informed decisions, enhancing their trading strategies.
Versatility: Suitable for various trading styles, including intraday trading, swing trading, and long-term investing.
Instructions for Use:
Analyze the Levels: Observe the plotted high, low, and mid-levels for daily, weekly, and monthly timeframes.
Plan Your Trades: Use the identified support and resistance levels to set your entry and exit points, stop-losses, and profit targets.
Monitor the Market: Stay updated with real-time adjustments of the levels, ensuring you always have the latest market information.
Note: This indicator is designed to enhance your trading analysis by providing clear and reliable support and resistance levels. However, it should be used as part of a comprehensive trading strategy and not as the sole basis for trading decisions.
CE_ZLSMA_5MIN_CANDLECHART-- Overview
The "CE_ZLSMA_5MIN_CANDLECHART" strategy, developed by DailyPanda, is a comprehensive trading strategy designed for analyzing trading on 5-minute candlestick charts.
It aims to use some indicators calculated from a Hekin Ashi chart, while running it on a normal candlestick chart, making sure that no price distortion affects the strategy results .
It also brings a feature to show, on the candlestick chart, where the entries would take place on the HA chart, to also be able to study the effect that the price distortion would make on your backtest.
-- Credit
The code in this script is based on open-source indicators originally written by veryfid and everget, I've made significant changes and additions to the scripts but all credit for the idea goes to them, I just built on top of it:
-- Key Features
It incorporate already built indicators (ZLSMA) and CandelierExit (CE)
-- Zero Lag Least Squares Moving Average (ZLSMA) - by veryfid
The ZLSMA is used to detect trends with minimal lag, improving the accuracy of entry and exit signals.
It incorporates a double-smoothed linear regression to minimize lag and enhance trend-following capabilities.
Buy signals are generated when the price closes above the ZLSMA together with the CE signal.
It is calculated based on the HA candlestick pattern.
-- Chandelier Exit (CE) - by everget
The Chandelier Exit indicator is used to dynamically manage stop-loss levels based on the Average True Range (ATR).
It ensures that stop-loss levels are adaptive to market volatility, protecting profits and limiting losses.
The ATR period and multiplier can be customized to fit different trading styles and risk tolerances.
It is calculated based on the HA candlestick pattern.
-- Heikin Ashi Candles
The strategy leverages Heikin Ashi candlesticks to be able identify trends more clearly and leverage this to stay on winning trades longer.
Traders can choose to display Heikin Ashi candlesticks and order fills on the chart for better visualization.
-- Risk Management
The strategy includes multiple risk management options to protect traders' capital.
Maximum intraday loss limit based on a percentage of equity.
Maximum stop-loss in points to filter out entries with excessive risk.
Daily profit target to stop trading once the goal is achieved.
Options to use fixed contract sizes or dynamically adjust based on a percentage of equity.
These features help traders manage risk and ensure sustainable trading practices.
Moving Averages
Several moving averages (EMA 9, EMA 20, EMA 50, EMA 72, EMA 200, SMA 200, and SMA 500) are plotted to provide additional context and trend confirmation.
A "Zone of Value" is highlighted between the EMA 200 and SMA 200 to identify potential support and resistance areas.
-- Customizable Inputs
The strategy includes various customizable inputs, allowing traders to tailor it to their specific needs.
Start and stop trading times.
Risk management parameters (e.g., maximum stop-loss, daily drawdown limit, and daily profit target).
Display options for Heikin Ashi candles and moving averages.
ZLSMA length and offset.
-- Usage
-- Setting Up the Strategy
Configure the start year for the strategy and the trading hours using the input fields. The first candle of each day will be filled black for easy identification, while candles that are outside the allowed time range will be filled purple.
Customize the risk management parameters to match your risk tolerance and trading style.
Enable or disable the display of Heikin Ashi candlesticks and moving averages as desired.
-- Interpreting Signals
Buy signals are indicated by a "Buy" label when the Heikin Ashi close price is above the ZLSMA and the Chandelier Exit indicates a long position.
The strategy will automatically enter a long position with a stop-loss level determined the swing low.
Positions are closed when the close price falls below the ZLSMA.
-- Risk Management
The strategy monitors the maximum intraday loss and stops trading if the loss limit is reached.
If enabled, also stops trading once the daily profit target is achieved, helping to lock in gains.
You have the option to filter operations based on a maximum accepted stop-loss level, based on your risk tolerance.
You can also operate with a fixed amount of contracts or dynamically adjust it based on your allowed risk per trade, ensuring optimal protection of capital.
-- Visual Aids
The strategy plots various moving averages to provide additional trend context.
The "Zone of Value" between the EMA 200 and SMA 200 highlights potential support and resistance areas.
Heikin Ashi candlesticks and order fills can be displayed to enhance the difference this strategy would take if you were to backtest it on a Heikin Ashi chart.
-- Table of results
This strategy also breaks down the results on a monthly basis for better understanding of your capital development along the way.
-- Conclusion
The "CE_ZLSMA_5MIN_CANDLECHART" strategy is a tool for intraday traders looking to understand and leaverage the Heikin Ashi chart while still using the normal candle chart. Traders can customize the strategy to fit their specific needs, making it a versatile addition to any trading toolkit.
ICT IPDA Liquidity Matrix By AlgoCadosThe ICT IPDA Liquidity Matrix by AlgoCados is a sophisticated trading tool that integrates the principles of the Interbank Price Delivery Algorithm (IPDA), as taught by The Inner Circle Trader (ICT). This indicator is meticulously designed to support traders in identifying key institutional levels and liquidity zones, enhancing their trading strategies with data-driven insights. Suitable for both day traders and swing traders, the tool is optimized for high-frequency and positional trading, providing a robust framework for analyzing market dynamics across multiple time horizons.
# Key Features
Multi-Time Frame Analysis
High Time Frame (HTF) Levels : The indicator tracks critical trading levels over multiple days, specifically at 20, 40, and 60-day intervals. This functionality is essential for identifying long-term trends and significant support and resistance levels that aid in strategic decision-making for swing traders and positional traders.
Low Time Frame (LTF) Levels : It monitors price movements within 20, 40, and 60-hour intervals on lower time frames. This granularity provides a detailed view of intraday price actions, which is crucial for scalping and short-term trading strategies favored by day traders.
Daily Open Integration : The indicator includes the daily opening price, providing a crucial reference point that reflects the market's initial sentiment. This feature helps traders assess the market's direction and volatility, enabling them to make informed decisions based on the day's early movements, which is particularly useful for day trading strategies.
IPDA Reference Points : By leveraging IPDA's 20, 40, and 60-period lookbacks, the tool identifies Key Highs and Lows, which are used by IPDA as Draw On Liquidity. IPDA is an electronic and algorithmic system engineered for achieving price delivery efficiency, as taught by ICT. These reference points serve as benchmarks for understanding institutional trading behavior, allowing traders to align their strategies with the dominant market forces and recognize institutional key levels.
Dynamic Updates and Overlap Management : The indicator is updated daily at the beginning of a new daily candle with the latest market data, ensuring that traders operate with the most current information. It also features intelligent overlap management that prioritizes the most relevant levels based on the timeframe hierarchy, reducing visual clutter and enhancing chart readability.
Comprehensive Customization Options : Traders can tailor the indicator to their specific needs through an extensive input menu. This includes toggles for visibility, line styles, color selections, and label display preferences. These customization options ensure that the tool can adapt to various trading styles and preferences, enhancing user experience and analytical capabilities.
User-Friendly Interface : The tool is designed with a user-friendly interface that includes clear, concise labels for all significant levels. It supports various font families and sizes, making it easier to interpret and act upon the displayed data, ensuring that traders can focus on making informed trading decisions without being overwhelmed by unnecessary information.
# Usage Note
The indicator is segmented into two key functionalities:
LTF Displays : The Low Time Frame (LTF) settings are exclusive to timeframes up to 1 hour, providing detailed analysis for intraday traders. This is crucial for traders who need precise and timely data to make quick decisions within the trading day.
HTF Displays : The High Time Frame (HTF) settings apply to the daily timeframe and any shorter intervals, allowing for comprehensive analysis over extended periods. This is beneficial for swing traders looking to identify broader trends and market directions.
# Inputs and Configurations
BINANCE:BTCUSDT
Offset: Adjustable setting to shift displayed data horizontally for better visibility, allowing traders to view past levels and make informed decisions based on historical data.
Label Styles: Choose between compact or verbose label formats for different levels, offering flexibility in how much detail is displayed on the chart.
Daily Open Line: Customizable line style and color for the daily opening price, providing a clear visual reference for the start of the trading day.
HTF Levels: Configurable high and low lines for HTF with options for style and color customization, allowing traders to highlight significant levels in a way that suits their trading style.
LTF Levels: Similar customization options for LTF levels, ensuring flexibility in how data is presented, making it easier for traders to focus on the most relevant intraday levels.
Text Utils: Settings for font family, size, and text color, allowing for personalized display preferences and ensuring that the chart is both informative and aesthetically pleasing.
# Advanced Features
Overlap Management : The script intelligently handles overlapping levels, particularly where multiple timeframes intersect, by prioritizing the more significant levels and removing redundant ones. This ensures that the charts remain clear and focused on the most critical data points, allowing traders to concentrate on the most relevant market information.
Real-Time Updates : The indicator updates its calculations at the start of each new daily bar, incorporating the latest market data to provide timely and accurate trading signals. This real-time updating is crucial for traders who rely on up-to-date information to execute their strategies effectively and make informed trading decisions.
# Example Use Cases
Scalpers/Day traders: Can utilize the LTF features to make rapid decisions based on hourly market movements, identifying short-term trading opportunities with precision.
Swing Traders: Will benefit from the HTF analysis to identify broader trends and key levels that influence longer-term market movements, enabling them to capture significant market swings.
By providing a clear, detailed view of key market dynamics, the ICT IPDA Liquidity Matrix by AlgoCados empowers traders to make more informed and effective trading decisions, aligning with institutional trading methodologies and enhancing their market understanding.
# Usage Disclaimer
This tool is designed to assist in trading decisions, but it should be used in conjunction with other analysis methods and risk management strategies. Trading involves significant risk, and it is essential to understand the market conditions thoroughly before making trading decisions.
ATR Price Range Prediction V.2### ATR Price Range Prediction V.2
This script calculates the expected high and low prices for the current day based on the Average True Range (ATR) and displays the proportion of days where the daily range (high - low) is greater than or equal to the ATR. Additionally, the script provides an option to adjust the size of the text displayed in the top-right corner of the chart.
#### How It Works
1. **ATR Calculation**: The script calculates the ATR for a specified period (`atrPeriod`). ATR is a measure of volatility that represents the average range between the high and low prices over a specified number of periods.
2. **Expected High and Low Calculation**:
- **Expected High**: Calculated by adding the ATR value to the low price of the current day.
- **Expected Low**: Calculated by subtracting the ATR value from the high price of the current day.
3. **Proportion Calculation**: The script calculates the proportion of days where the daily range (high - low) is greater than or equal to the ATR value. This proportion is updated in real-time as new data comes in.
4. **Table Display**: Instead of displaying labels on each candle, the script shows the expected high, expected low, and the calculated proportion in a table located at the top-right corner of the chart. The size of the text in this table can be adjusted using the `Table Size` input.
5. **Color Coding**: The script changes the color of the bars to yellow if the daily range is greater than or equal to the ATR value, making it easy to identify these bars visually.
#### How to Use
- **ATR Period (`atrPeriod`)**: Adjust the period for the ATR calculation using the input parameter. The default value is 14.
- **Table Size (`tableSizeOption`)**: Choose the size of the text displayed in the table. Options include `tiny`, `small`, `normal`, `large`, and `huge`.
- **Expected High and Low**: Use the green and red lines to identify potential target prices or stop-loss levels for your trades. The green line represents the expected high, and the red line represents the expected low.
- **Proportion**: The table in the top-right corner of the chart shows the proportion of days where the daily range is greater than or equal to the ATR value. This can provide insight into the volatility of the asset.
- **Color Coding**: Yellow bars indicate days where the daily range is greater than or equal to the ATR value.
---
### ภาษาไทย
### ATR คาดการณ์ราคาสูงสุดและต่ำสุด พร้อมสัดส่วน
สคริปต์นี้คำนวณราคาสูงสุดและต่ำสุดที่คาดการณ์สำหรับวันปัจจุบันโดยอิงจากค่าเฉลี่ยช่วงที่แท้จริง (ATR) และแสดงสัดส่วนของวันที่ช่วงราคาต่อวัน (สูง - ต่ำ) มากกว่าหรือเท่ากับค่า ATR นอกจากนี้ยังมีตัวเลือกในการปรับขนาดข้อความที่แสดงในกล่องข้อความมุมขวาบนของกราฟ
#### วิธีการทำงาน
1. **การคำนวณ ATR**: สคริปต์คำนวณค่า ATR สำหรับช่วงเวลาที่กำหนด (`atrPeriod`) ATR เป็นมาตรวัดความผันผวนที่แสดงช่วงเฉลี่ยระหว่างราคาสูงสุดและต่ำสุดในช่วงเวลาที่กำหนด
2. **การคำนวณราคาสูงสุดและต่ำสุดที่คาดการณ์**:
- **ราคาสูงสุดที่คาดการณ์**: คำนวณโดยการบวกค่า ATR กับราคาต่ำสุดของวันปัจจุบัน
- **ราคาต่ำสุดที่คาดการณ์**: คำนวณโดยการลบค่า ATR จากราคาสูงสุดของวันปัจจุบัน
3. **การคำนวณสัดส่วน**: สคริปต์คำนวณสัดส่วนของวันที่ช่วงราคาต่อวัน (สูง - ต่ำ) มากกว่าหรือเท่ากับค่า ATR สัดส่วนนี้จะอัปเดตแบบเรียลไทม์เมื่อมีข้อมูลใหม่เข้ามา
4. **การแสดงผลในตาราง**: แทนที่จะแสดงป้ายกำกับบนแท่งเทียนแต่ละแท่ง สคริปต์จะแสดงราคาสูงสุดที่คาดการณ์ ราคาต่ำสุดที่คาดการณ์ และสัดส่วนที่คำนวณในตารางที่มุมขวาบนของกราฟ โดยสามารถปรับขนาดข้อความในตารางได้
5. **การใช้สี**: สคริปต์จะเปลี่ยนสีของแท่งเทียนเป็นสีเหลืองหากช่วงราคาต่อวันมากกว่าหรือเท่ากับค่า ATR ทำให้สามารถระบุแท่งเทียนเหล่านี้ได้ง่ายขึ้น
#### วิธีการใช้งาน
- **ATR Period (`atrPeriod`)**: ปรับช่วงเวลาสำหรับการคำนวณ ATR โดยใช้พารามิเตอร์การป้อนค่า ค่าเริ่มต้นคือ 14
- **Table Size (`tableSizeOption`)**: เลือกขนาดข้อความที่แสดงในตาราง ตัวเลือกได้แก่ `tiny`, `small`, `normal`, `large`, และ `huge`
- **ราคาสูงสุดและต่ำสุดที่คาดการณ์**: ใช้เส้นสีเขียวและสีแดงเพื่อระบุราคาที่เป็นเป้าหมายหรือระดับการหยุดขาดทุนสำหรับการซื้อขายของคุณ เส้นสีเขียวแสดงถึงราคาสูงสุดที่คาดการณ์และเส้นสีแดงแสดงถึงราคาต่ำสุดที่คาดการณ์
- **สัดส่วน**: ตารางที่มุมขวาบนของกราฟแสดงสัดส่วนของวันที่ช่วงราคาต่อวันมากกว่าหรือเท่ากับค่า ATR ซึ่งสามารถให้ข้อมูลเชิงลึกเกี่ยวกับความผันผวนของสินทรัพย์
- **การใช้สี**: แท่งเทียนสีเหลืองบ่งบอกถึงวันที่ช่วงราคาต่อวันมากกว่าหรือเท่ากับค่า ATR
_____
Cumulative Volume Delta LineThis script is a refined version of TradingView's Cumulative Volume Delta (CVD) indicator. It features a CVD line for lower time frames and automatically switches to a Simple Moving Average (SMA) line on daily time frames and higher. This functionality makes it easier to spot Volume Delta divergences on daily charts while maintaining utility on intraday time frames.
Key Features:
Line Chart and Oscillator Configuration: Unlike TradingView's standard CVD, this script can be configured as a line chart or an oscillator, enhancing flexibility and usability.
Line chart for easier divergence spotting: The line chart format is preferred for spotting divergences, providing a clearer visual representation compared to other formats.
Accurate Calculations: Many older community CVD scripts use approximate calculations that can be inaccurate. This script leverages TradingView's own calculations, which are the most accurate available without tick data feeds.
Intraday and Daily Adaptation: The Traditional CVD script is a per bar volume delta on Daily and higher timeframes and cumulative volume delta for intraday session timeframes which makes it very hard to spot divergences on higher timeframes. This script resolves that by using an SMA on daily time frames and higher.
Auto-Switching Feature: The script intelligently switches between the CVD line and the SMA line based on the active time frame. This feature can be toggled off if you prefer to use the CVD on all time frames or the SMA on all time frames.
Customizable Settings: Building on TradingView's CVD script, this version includes all the same settings in addition to the new auto-switch, SMA length etc.
About Volume Delta and Cumulative Volume Delta:
Volume Delta is the difference between the buying and selling volume within a specified period. It helps traders understand the net buying or selling pressure in the market. A positive volume delta indicates more buying activity, while a negative volume delta indicates more selling activity.
Cumulative Volume Delta (CVD) aggregates the volume delta over time to provide a running total. This cumulative approach helps traders see the overall buying and selling pressure trends, making it easier to identify potential reversals or continuations in the market trend.
Exponential Moving Average with ADR bandIndicator: Exponential Moving Average with ADR Band
This TradingView script calculates and displays an Exponential Moving Average (EMA) along with an Average Daily Range (ADR) band around it. The indicator helps traders identify potential dynamic support and resistance levels adjusted for market volatility. Especially significant moves that originate from the ZONE and reach outside should be taken seriously.
Key Features:
EMA Calculation: The script computes the Exponential Moving Average (EMA) of the closing prices over a user-defined period.
ADR Band: It calculates the Average Daily Range (ADR) using a Simple Moving Average (SMA) of the daily high-low range over the same period.
Adjustable Parameters:
Length: The period for both the EMA and the ADR calculation, which can be set by the user (default is 20).
Multiple: A multiplier for the ADR to adjust the width of the bands around the EMA (default is 1).
Plotting: The EMA is plotted as an orange line. The upper and lower ADR bands are plotted around the EMA, and the area between these bands is filled with a translucent orange color to highlight the channel.
How It Works:
EMA Calculation: The script computes the EMA of the closing prices using the specified length.
ADR Calculation: The daily range (high-low) is averaged over the same length to get the ADR.
Band Creation: The upper band is created by adding the ADR (multiplied by the user-defined multiple) to the EMA. The lower band is created by subtracting the ADR (multiplied by the user-defined multiple) from the EMA.
Visualization: The EMA and ADR bands are plotted, and the area between the bands is filled to create a clear visual representation of the ADR channel.
Usage:
This indicator can be used to gauge market volatility and potential support/resistance zones.
The ADR band provides a dynamic range that adjusts with market conditions, helping traders identify potential breakout and reversal points.
To customize the indicator, adjust the 'Length' and 'ADR multiple' parameters to suit your trading style and the specific characteristics of the asset you are analyzing.
Single Prints - BrightSingle Prints - Bright is a Pine Script indicator designed to identify and visualize significant price levels based on the concept of "single prints." Single prints are price levels where trading activity occurred but with little or no follow-up trading. This indicator plots these levels as lines on the chart, allowing traders to easily identify areas of potential support and resistance.
Features:
Customizable Line Distance: Adjust the distance between single print lines to suit your trading style and time frame.
Maximum Array Size: Set the maximum number of single print lines to be displayed on the chart.
Remove Gaps: Option to remove lines if the price gaps over them.
Multiple Time Frames: Choose to display single prints for daily, weekly, monthly, or yearly sessions.
Color Gradient: Lines are color-coded from red (oldest) to green (newest), providing a visual indication of their relative age.
Thicker, Lime-Colored Lines: Improved visibility with thicker lines and a more lime-like color scheme for easier identification on the chart.
How to Use:
Adding the Indicator:
Open TradingView and navigate to the chart where you want to apply the indicator.
Click on "Indicators" in the top menu.
Select "Pine Editor" and paste the provided Pine Script code into the editor.
Click "Add to Chart" to apply the indicator to your chart.
Configuring the Indicator:
Distance Between Lines (i_line_distance): Set the distance between single print lines. Adjust this value based on the volatility and time frame of the asset you are trading.
Maximum Array Size (i_max_array): Define the maximum number of single print lines to be displayed on the chart. This helps in managing the clutter on the chart.
Remove Gaps (i_remove_gaps): Enable or disable the option to remove lines if the price gaps over them.
Show Daily Single Prints (ShowDailySP): Enable or disable the display of daily single print lines.
Show Daily Extended Single Prints (ShowDailyExtendSP): Enable or disable the display of extended daily single print lines.
Show Weekly Single Prints (ShowWeeklySP): Enable or disable the display of weekly single print lines.
Show Monthly Single Prints (ShowMonthlySP): Enable or disable the display of monthly single print lines.
Show Yearly Single Prints (ShowYearlySP): Enable or disable the display of yearly single print lines.
Interpreting the Lines:
Color Gradient: The lines are color-coded to indicate their relative age. Red lines are the oldest, transitioning through orange and yellow to green, which are the newest. This color gradient helps in identifying how long a particular level has been significant.
Support and Resistance: Use the lines as potential support and resistance levels. Multiple lines close together indicate stronger levels of support or resistance.
Volatility Analysis: The number of lines within a gap can provide insights into market volatility. More lines indicate higher volatility and multiple potential reversal points within that range.
Trading Strategies:
Entry Points: Consider using the single print lines as entry points. For example, if the price approaches a support level with multiple lines, it may be a good buying opportunity.
Stop Loss and Take Profit: Use the single print lines to set stop-loss and take-profit levels. Placing stop-loss orders below multiple support lines can provide additional protection.
Trend Analysis: Analyze the overall trend and momentum in conjunction with the single print lines to make informed trading decisions. If the price is in an uptrend and approaching resistance lines, watch for potential breakouts or reversals.
Noise Area Indicator with Gap AdjustmentsThis version of the Noise Area Pine Script, developed with the assistance of ChatGPT, includes adjustments for opening gaps to better account for overnight price changes that affect the market open. This Pine Script is designed to provide traders with a dynamic visualization of the Noise Area based on the volatility of the last 14 trading days. It calculates the upper and lower boundaries using the daily opening price, representing typical price movements relative to the open. This helps identify significant deviations, potentially indicating the start of a trend.
Features:
Captures and adjusts for gaps between the previous day's close and the current day's open, allowing for more precise trend analysis.
Sets the Noise Area boundaries using both the daily opening price and the previous day's closing price, ensuring that sudden market moves are adequately considered.
Measures deviations in price from the opening, averaged over the last 14 days to calculate absolute movements.
Plots upper and lower boundaries on the chart, providing a visual guide for traders to assess market volatility.
Includes a dynamically plotted daily opening price, serving as a consistent reference point for market open conditions.
Usage:
This indicator is particularly useful for day traders and short-term traders who need to understand intraday volatility and pinpoint potential breakout points, aiding in the strategic planning of entry and exit points based on historical volatility patterns relative to the daily open (with gap adjustments).
Daniels Script v2 EMA 4h y DTitle:
"EMA 200 Dynamic Projection on 4H and Daily Charts"
Description:
"This script is designed to provide traders with a comprehensive view of market trends by displaying the 200-period Exponential Moving Average (EMA) on both 4-hour and daily charts simultaneously. Unlike typical EMA representations, this script enhances user decision-making by projecting the potential future path of these EMAs using a dynamic slope calculation.
The dynamic projection feature calculates the slope based on recent changes in the EMA, allowing traders to visualize potential future trends more accurately. This innovative approach helps in identifying potential areas of support and resistance before they are fully formed, offering traders a strategic advantage in planning their entries and exits.
Key Features:
Dual Time Frame Analysis: View 200-period EMAs for both 4-hour and daily charts on a single graph.
Dynamic EMA Projections: Projected using a calculated slope from recent EMA changes, presented as dotted lines for clear distinction.
Enhanced Trend Visualization: Helps in recognizing trend continuations or reversals early, aiding in risk management and decision-making processes.
Usage:
Simply add the script to your chart, and the EMAs along with their projections will automatically be displayed. The 4-hour EMA is shown in green, while the daily EMA is in red. Projections extend from the last known data point, providing a visual guide to potential future movements.
This script is unique in its approach to combining real-time EMA analysis with predictive modeling, making it a valuable tool for traders looking to enhance their technical analysis capabilities."
## SPANISH
Título del Script:
"Proyección Dinámica de la EMA 200 en Gráficos de 4H y Diarios"
Descripción del Script:
"Este script está diseñado para proporcionar a los traders una visión integral de las tendencias del mercado al mostrar la Media Móvil Exponencial (EMA) de 200 periodos tanto en los gráficos de 4 horas como diarios simultáneamente. A diferencia de las representaciones típicas de la EMA, este script mejora la toma de decisiones del usuario al proyectar el posible camino futuro de estas EMAs utilizando un cálculo de pendiente dinámico.
La función de proyección dinámica calcula la pendiente basada en cambios recientes en la EMA, permitiendo a los traders visualizar tendencias futuras potenciales con mayor precisión. Este enfoque innovador ayuda a identificar áreas potenciales de soporte y resistencia antes de que se formen completamente, ofreciendo a los traders una ventaja estratégica en la planificación de sus entradas y salidas.
Características Clave:
Análisis de Doble Marco Temporal: Visualiza las EMAs de 200 periodos para los gráficos de 4 horas y diarios en un solo gráfico.
Proyecciones Dinámicas de la EMA: Proyectadas utilizando una pendiente calculada a partir de cambios recientes en la EMA, presentadas como líneas punteadas para una clara distinción.
Visualización Mejorada de Tendencias: Ayuda en el reconocimiento temprano de continuaciones o reversos de tendencias, asistiendo en la gestión de riesgos y en los procesos de toma de decisiones.
Uso:
Simplemente añade el script a tu gráfico, y las EMAs junto con sus proyecciones se mostrarán automáticamente. La EMA de 4 horas se muestra en verde, mientras que la EMA diaria está en rojo. Las proyecciones se extienden desde el último punto de datos conocido, proporcionando una guía visual hacia movimientos futuros potenciales.
Este script es único en su enfoque de combinar análisis de EMA en tiempo real con modelado predictivo, convirtiéndolo en una herramienta valiosa para traders que buscan mejorar sus capacidades de análisis técnico."
chrono_utilsLibrary "chrono_utils"
Collection of objects and common functions that are related to datetime windows session days and time
ranges. The main purpose of this library is to handle time-related functionality and make it easy to reason about a
future bar checking if it will be part of a predefined session and/or inside a datetime window. All existing session
functionality I found in the documentation e.g. "not na(time(timeframe, session, timezone))" are not suitable for
strategy scripts, since the execution of the orders is delayed by one bar, due to the script execution happening at
the bar close. Moreover, a history operator with a negative value that looks forward is not allowed in any pinescript
expression. So, a prediction for the next bar using the bars_back argument of "time()"" and "time_close()" was
necessary. Thus, I created this library to overcome this small but very important limitation. In the meantime, I
added useful functionality to handle session-based behavior. An interesting utility that emerged from this
development is the data anomaly detection where a comparison between the prediction and the actual value is happening.
If those two values are different then a data inconsistency happened between the prediction bar and the actual bar
(probably due to a holiday, half session day, a timezone change etc..)
exTimezone(timezone)
exTimezone - Convert extended timezone to timezone string
Parameters:
timezone (simple string) : - The timezone or a special string
Returns: string representing the timezone
nameOfDay(day)
nameOfDay - Convert the day id into a short nameOfDay
Parameters:
day (int) : - The day id to convert
Returns: - The short name of the day
today()
today - Get the day id of this day
Returns: - The day id
nthDayAfter(day, n)
nthDayAfter - Get the day id of n days after the given day
Parameters:
day (int) : - The day id of the reference day
n (int) : - The number of days to go forward
Returns: - The day id of the day that is n days after the reference day
nextDayAfter(day)
nextDayAfter - Get the day id of next day after the given day
Parameters:
day (int) : - The day id of the reference day
Returns: - The day id of the next day after the reference day
nthDayBefore(day, n)
nthDayBefore - Get the day id of n days before the given day
Parameters:
day (int) : - The day id of the reference day
n (int) : - The number of days to go forward
Returns: - The day id of the day that is n days before the reference day
prevDayBefore(day)
prevDayBefore - Get the day id of previous day before the given day
Parameters:
day (int) : - The day id of the reference day
Returns: - The day id of the previous day before the reference day
tomorrow()
tomorrow - Get the day id of the next day
Returns: - The next day day id
normalize(num, min, max)
normalizeHour - Check if number is inthe range of
Parameters:
num (int)
min (int)
max (int)
Returns: - The normalized number
normalizeHour(hourInDay)
normalizeHour - Check if hour is valid and return a noralized hour range from
Parameters:
hourInDay (int)
Returns: - The normalized hour
normalizeMinute(minuteInHour)
normalizeMinute - Check if minute is valid and return a noralized minute from
Parameters:
minuteInHour (int)
Returns: - The normalized minute
monthInMilliseconds(mon)
monthInMilliseconds - Calculate the miliseconds in one bar of the timeframe
Parameters:
mon (int) : - The month of reference to get the miliseconds
Returns: - The number of milliseconds of the month
barInMilliseconds()
barInMilliseconds - Calculate the miliseconds in one bar of the timeframe
Returns: - The number of milliseconds in one bar
method to_string(this)
to_string - Formats the time window into a human-readable string
Namespace types: DateTimeWindow
Parameters:
this (DateTimeWindow) : - The time window object with the from and to datetimes
Returns: - The string of the time window
method to_string(this)
to_string - Formats the session days into a human-readable string with short day names
Namespace types: SessionDays
Parameters:
this (SessionDays) : - The session days object with the day selection
Returns: - The string of the session day short names
method to_string(this)
to_string - Formats the session time into a human-readable string
Namespace types: SessionTime
Parameters:
this (SessionTime) : - The session time object with the hour and minute of the time of the day
Returns: - The string of the session time
method to_string(this)
to_string - Formats the session time into a human-readable string
Namespace types: SessionTimeRange
Parameters:
this (SessionTimeRange) : - The session time range object with the start and end time of the daily session
Returns: - The string of the session time
method to_string(this)
to_string - Formats the session into a human-readable string
Namespace types: Session
Parameters:
this (Session) : - The session object with the day and the time range selection
Returns: - The string of the session
method init(this, fromDateTime, toDateTime)
init - Initialize the time window object from boolean values of each session day
Namespace types: DateTimeWindow
Parameters:
this (DateTimeWindow) : - The time window object that will hold the from and to datetimes
fromDateTime (int) : - The starting datetime of the time window
toDateTime (int) : - The ending datetime of the time window
Returns: - The time window object
method init(this, refTimezone, chTimezone, fromDateTime, toDateTime)
init - Initialize the time window object from boolean values of each session day
Namespace types: DateTimeWindow
Parameters:
this (DateTimeWindow) : - The time window object that will hold the from and to datetimes
refTimezone (simple string) : - The timezone of reference of the 'from' and 'to' dates
chTimezone (simple string) : - The target timezone to convert the 'from' and 'to' dates
fromDateTime (int) : - The starting datetime of the time window
toDateTime (int) : - The ending datetime of the time window
Returns: - The time window object
method init(this, sun, mon, tue, wed, thu, fri, sat)
init - Initialize the session days object from boolean values of each session day
Namespace types: SessionDays
Parameters:
this (SessionDays) : - The session days object that will hold the day selection
sun (bool) : - Is Sunday a trading day?
mon (bool) : - Is Monday a trading day?
tue (bool) : - Is Tuesday a trading day?
wed (bool) : - Is Wednesday a trading day?
thu (bool) : - Is Thursday a trading day?
fri (bool) : - Is Friday a trading day?
sat (bool) : - Is Saturday a trading day?
Returns: - The session days object
method init(this, unixTime)
init - Initialize the object from the hour and minute of the session time in exchange timezone (syminfo.timezone)
Namespace types: SessionTime
Parameters:
this (SessionTime) : - The session time object with the hour and minute of the time of the day
unixTime (int) : - The unix time
Returns: - The session time object
method init(this, hourInDay, minuteInHour)
init - Initialize the object from the hour and minute of the session time in exchange timezone (syminfo.timezone)
Namespace types: SessionTime
Parameters:
this (SessionTime) : - The session time object with the hour and minute of the time of the day
hourInDay (int) : - The hour of the time
minuteInHour (int) : - The minute of the time
Returns: - The session time object
method init(this, hourInDay, minuteInHour, refTimezone)
init - Initialize the object from the hour and minute of the session time
Namespace types: SessionTime
Parameters:
this (SessionTime) : - The session time object with the hour and minute of the time of the day
hourInDay (int) : - The hour of the time
minuteInHour (int) : - The minute of the time
refTimezone (string) : - The timezone of reference of the 'hour' and 'minute'
Returns: - The session time object
method init(this, startTime, endTime)
init - Initialize the object from the start and end session time in exchange timezone (syminfo.timezone)
Namespace types: SessionTimeRange
Parameters:
this (SessionTimeRange) : - The session time range object that will hold the start and end time of the daily session
startTime (SessionTime) : - The time the session begins
endTime (SessionTime) : - The time the session ends
Returns: - The session time range object
method init(this, startTimeHour, startTimeMinute, endTimeHour, endTimeMinute, refTimezone)
init - Initialize the object from the start and end session time
Namespace types: SessionTimeRange
Parameters:
this (SessionTimeRange) : - The session time range object that will hold the start and end time of the daily session
startTimeHour (int) : - The time hour the session begins
startTimeMinute (int) : - The time minute the session begins
endTimeHour (int) : - The time hour the session ends
endTimeMinute (int) : - The time minute the session ends
refTimezone (string)
Returns: - The session time range object
method init(this, days, timeRanges)
init - Initialize the session object from session days and time range
Namespace types: Session
Parameters:
this (Session) : - The session object that will hold the day and the time range selection
days (SessionDays) : - The session days object that defines the days the session is happening
timeRanges (array) : - The array of all the session time ranges during a session day
Returns: - The session object
method init(this, days, timeRanges, names, colors)
init - Initialize the session object from session days and time range
Namespace types: SessionView
Parameters:
this (SessionView) : - The session view object that will hold the session, the names and the color selections
days (SessionDays) : - The session days object that defines the days the session is happening
timeRanges (array) : - The array of all the session time ranges during a session day
names (array) : - The array of the names of the sessions
colors (array) : - The array of the colors of the sessions
Returns: - The session object
method get_size_in_secs(this)
get_size_in_secs - Count the seconds from start to end in the given timeframe
Namespace types: DateTimeWindow
Parameters:
this (DateTimeWindow) : - The time window object with the from and to datetimes
Returns: - The number of seconds inside the time widow for the given timeframe
method get_size_in_secs(this)
get_size_in_secs - Calculate the seconds inside the session
Namespace types: SessionTimeRange
Parameters:
this (SessionTimeRange) : - The session time range object with the start and end time of the daily session
Returns: - The number of seconds inside the session
method get_size_in_bars(this)
get_size_in_bars - Count the bars from start to end in the given timeframe
Namespace types: DateTimeWindow
Parameters:
this (DateTimeWindow) : - The time window object with the from and to datetimes
Returns: - The number of bars inside the time widow for the given timeframe
method get_size_in_bars(this)
get_size_in_bars - Calculate the bars inside the session
Namespace types: SessionTimeRange
Parameters:
this (SessionTimeRange) : - The session time range object with the start and end time of the daily session
Returns: - The number of bars inside the session for the given timeframe
method is_bar_included(this, offset_forward)
is_bar_included - Check if the given bar is between the start and end dates of the window
Namespace types: DateTimeWindow
Parameters:
this (DateTimeWindow) : - The time window object with the from and to datetimes
offset_forward (simple int) : - The number of bars forward. Default is 1
Returns: - Whether the current bar is inside the datetime window
method is_bar_included(this, offset_forward)
is_bar_included - Check if the given bar is inside the session as defined by the input params (what "not na(time(timeframe.period, this.to_sess_string()) )" should return if you could write it
Namespace types: Session
Parameters:
this (Session) : - The session with the day and the time range selection
offset_forward (simple int) : - The bar forward to check if it is between the from and to datetimes. Default is 1
Returns: - Whether the current time is inside the session
method to_sess_string(this)
to_sess_string - Formats the session days into a session string with day ids
Namespace types: SessionDays
Parameters:
this (SessionDays) : - The session days object
Returns: - The string of the session day ids
method to_sess_string(this)
to_sess_string - Formats the session time into a session string
Namespace types: SessionTime
Parameters:
this (SessionTime) : - The session time object with the hour and minute of the time of the day
Returns: - The string of the session time
method to_sess_string(this)
to_sess_string - Formats the session time into a session string
Namespace types: SessionTimeRange
Parameters:
this (SessionTimeRange) : - The session time range object with the start and end time of the daily session
Returns: - The string of the session time
method to_sess_string(this)
to_sess_string - Formats the session into a session string
Namespace types: Session
Parameters:
this (Session) : - The session object with the day and the time range selection
Returns: - The string of the session
method from_sess_string(this, sess)
from_sess_string - Initialize the session days object from the session string
Namespace types: SessionDays
Parameters:
this (SessionDays) : - The session days object that will hold the day selection
sess (string) : - The session string part that represents the days
Returns: - The session days object
method from_sess_string(this, sess)
from_sess_string - Initialize the session time object from the session string in exchange timezone (syminfo.timezone)
Namespace types: SessionTime
Parameters:
this (SessionTime) : - The session time object that will hold the hour and minute of the time
sess (string) : - The session string part that represents the time HHmm
Returns: - The session time object
method from_sess_string(this, sess, refTimezone)
from_sess_string - Initialize the session time object from the session string
Namespace types: SessionTime
Parameters:
this (SessionTime) : - The session time object that will hold the hour and minute of the time
sess (string) : - The session string part that represents the time HHmm
refTimezone (simple string) : - The timezone of reference of the 'hour' and 'minute'
Returns: - The session time object
method from_sess_string(this, sess)
from_sess_string - Initialize the session time range object from the session string in exchange timezone (syminfo.timezone)
Namespace types: SessionTimeRange
Parameters:
this (SessionTimeRange) : - The session time range object that will hold the start and end time of the daily session
sess (string) : - The session string part that represents the time range HHmm-HHmm
Returns: - The session time range object
method from_sess_string(this, sess, refTimezone)
from_sess_string - Initialize the session time range object from the session string
Namespace types: SessionTimeRange
Parameters:
this (SessionTimeRange) : - The session time range object that will hold the start and end time of the daily session
sess (string) : - The session string part that represents the time range HHmm-HHmm
refTimezone (simple string) : - The timezone of reference of the time ranges
Returns: - The session time range object
method from_sess_string(this, sess)
from_sess_string - Initialize the session object from the session string in exchange timezone (syminfo.timezone)
Namespace types: Session
Parameters:
this (Session) : - The session object that will hold the day and the time range selection
sess (string) : - The session string that represents the session HHmm-HHmm,HHmm-HHmm:ddddddd
Returns: - The session time range object
method from_sess_string(this, sess, refTimezone)
from_sess_string - Initialize the session object from the session string
Namespace types: Session
Parameters:
this (Session) : - The session object that will hold the day and the time range selection
sess (string) : - The session string that represents the session HHmm-HHmm,HHmm-HHmm:ddddddd
refTimezone (simple string) : - The timezone of reference of the time ranges
Returns: - The session time range object
method nth_day_after(this, day, n)
nth_day_after - The nth day after the given day that is a session day (true) in the object
Namespace types: SessionDays
Parameters:
this (SessionDays) : - The session days object with the day selection
day (int) : - The day id of the reference day
n (int) : - The number of days after
Returns: - The day id of the nth session day of the week after the given day
method nth_day_before(this, day, n)
nth_day_before - The nth day before the given day that is a session day (true) in the object
Namespace types: SessionDays
Parameters:
this (SessionDays) : - The session days object with the day selection
day (int) : - The day id of the reference day
n (int) : - The number of days after
Returns: - The day id of the nth session day of the week before the given day
method next_day(this)
next_day - The next day that is a session day (true) in the object
Namespace types: SessionDays
Parameters:
this (SessionDays) : - The session days object with the day selection
Returns: - The day id of the next session day of the week
method previous_day(this)
previous_day - The previous day that is session day (true) in the object
Namespace types: SessionDays
Parameters:
this (SessionDays) : - The session days object with the day selection
Returns: - The day id of the previous session day of the week
method get_sec_in_day(this)
get_sec_in_day - Count the seconds since the start of the day this session time represents
Namespace types: SessionTime
Parameters:
this (SessionTime) : - The session time object with the hour and minute of the time of the day
Returns: - The number of seconds passed from the start of the day until that session time
method get_ms_in_day(this)
get_ms_in_day - Count the milliseconds since the start of the day this session time represents
Namespace types: SessionTime
Parameters:
this (SessionTime) : - The session time object with the hour and minute of the time of the day
Returns: - The number of milliseconds passed from the start of the day until that session time
method is_day_included(this, day)
is_day_included - Check if the given day is inside the session days
Namespace types: SessionDays
Parameters:
this (SessionDays) : - The session days object with the day selection
day (int) : - The day to check if it is a trading day
Returns: - Whether the current day is included in the session days
DateTimeWindow
DateTimeWindow - Object that represents a datetime window with a beginning and an end
Fields:
fromDateTime (series int) : - The beginning of the datetime window
toDateTime (series int) : - The end of the datetime window
SessionDays
SessionDays - Object that represent the trading days of the week
Fields:
days (map) : - The map that contains all days of the week and their session flag
SessionTime
SessionTime - Object that represents the time (hour and minutes)
Fields:
hourInDay (series int) : - The hour of the day that ranges from 0 to 24
minuteInHour (series int) : - The minute of the hour that ranges from 0 to 59
minuteInDay (series int) : - The minute of the day that ranges from 0 to 1440. They will be calculated based on hourInDay and minuteInHour when method is called
SessionTimeRange
SessionTimeRange - Object that represents a range that extends from the start to the end time
Fields:
startTime (SessionTime) : - The beginning of the time range
endTime (SessionTime) : - The end of the time range
isOvernight (series bool) : - Whether or not this is an overnight time range
Session
Session - Object that represents a session
Fields:
days (SessionDays) : - The map of the trading days
timeRanges (array) : - The array with all time ranges of the session during the trading days
SessionView
SessionView - Object that visualize a session
Fields:
sess (Session) : - The Session object to be visualized
names (array) : - The names of the session time ranges
colors (array) : - The colors of the session time ranges
time_and_sessionA library that provides utilities for working with trading sessions and time-based conditions. Functions include session checks, date range checks, day-of-week matching, and session high/low calculations for daily, weekly, monthly, and yearly timeframes. This library streamlines time-related calculations and enhances time-based strategies and indicators.
Library "time_and_session"
Provides functions for checking time and session-based conditions and retrieving session-specific high and low values.
is_session(session, timeframe, timezone)
Checks if the current time is within the specified trading session
Parameters:
session (string) : The trading session, defined using input.session()
timeframe (string) : The timeframe to use, defaults to the current chart's timeframe
timezone (string) : The timezone to use, defaults to the symbol's timezone
Returns: A boolean indicating whether the current time is within the specified trading session
is_date_range(start_time, end_time)
Checks if the current time is within a specified date range
Parameters:
start_time (int) : The start time, defined using input.time()
end_time (int) : The end time, defined using input.time()
Returns: A boolean indicating whether the current time is within the specified date range
is_day_of_week(sunday, monday, tuesday, wednesday, thursday, friday, saturday)
Checks if the current day of the week matches any of the specified days
Parameters:
sunday (bool) : A boolean indicating whether to check for Sunday
monday (bool) : A boolean indicating whether to check for Monday
tuesday (bool) : A boolean indicating whether to check for Tuesday
wednesday (bool) : A boolean indicating whether to check for Wednesday
thursday (bool) : A boolean indicating whether to check for Thursday
friday (bool) : A boolean indicating whether to check for Friday
saturday (bool) : A boolean indicating whether to check for Saturday
Returns: A boolean indicating whether the current day of the week matches any of the specified days
daily_high(source)
Returns the highest value of the specified source during the current daily session
Parameters:
source (float) : The data series to evaluate, defaults to high
Returns: The highest value during the current daily session, or na if the timeframe is not suitable
daily_low(source)
Returns the lowest value of the specified source during the current daily session
Parameters:
source (float) : The data series to evaluate, defaults to low
Returns: The lowest value during the current daily session, or na if the timeframe is not suitable
regular_session_high(source, persist)
Returns the highest value of the specified source during the current regular trading session
Parameters:
source (float) : The data series to evaluate, defaults to high
persist (bool) : A boolean indicating whether to retain the last value outside of regular market hours, defaults to true
Returns: The highest value during the current regular trading session, or na if the timeframe is not suitable
regular_session_low(source, persist)
Returns the lowest value of the specified source during the current regular trading session
Parameters:
source (float) : The data series to evaluate, defaults to low
persist (bool) : A boolean indicating whether to retain the last value outside of regular market hours, defaults to true
Returns: The lowest value during the current regular trading session, or na if the timeframe is not suitable
premarket_session_high(source, persist)
Returns the highest value of the specified source during the current premarket trading session
Parameters:
source (float) : The data series to evaluate, defaults to high
persist (bool) : A boolean indicating whether to retain the last value outside of premarket hours, defaults to true
Returns: The highest value during the current premarket trading session, or na if the timeframe is not suitable
premarket_session_low(source, persist)
Returns the lowest value of the specified source during the current premarket trading session
Parameters:
source (float) : The data series to evaluate, defaults to low
persist (bool) : A boolean indicating whether to retain the last value outside of premarket hours, defaults to true
Returns: The lowest value during the current premarket trading session, or na if the timeframe is not suitable
postmarket_session_high(source, persist)
Returns the highest value of the specified source during the current postmarket trading session
Parameters:
source (float) : The data series to evaluate, defaults to high
persist (bool) : A boolean indicating whether to retain the last value outside of postmarket hours, defaults to true
Returns: The highest value during the current postmarket trading session, or na if the timeframe is not suitable
postmarket_session_low(source, persist)
Returns the lowest value of the specified source during the current postmarket trading session
Parameters:
source (float) : The data series to evaluate, defaults to low
persist (bool) : A boolean indicating whether to retain the last value outside of postmarket hours, defaults to true
Returns: The lowest value during the current postmarket trading session, or na if the timeframe is not suitable
weekly_high(source)
Returns the highest value of the specified source during the current weekly session. Can fail on lower timeframes.
Parameters:
source (float) : The data series to evaluate, defaults to high
Returns: The highest value during the current weekly session, or na if the timeframe is not suitable
weekly_low(source)
Returns the lowest value of the specified source during the current weekly session. Can fail on lower timeframes.
Parameters:
source (float) : The data series to evaluate, defaults to low
Returns: The lowest value during the current weekly session, or na if the timeframe is not suitable
monthly_high(source)
Returns the highest value of the specified source during the current monthly session. Can fail on lower timeframes.
Parameters:
source (float) : The data series to evaluate, defaults to high
Returns: The highest value during the current monthly session, or na if the timeframe is not suitable
monthly_low(source)
Returns the lowest value of the specified source during the current monthly session. Can fail on lower timeframes.
Parameters:
source (float) : The data series to evaluate, defaults to low
Returns: The lowest value during the current monthly session, or na if the timeframe is not suitable
yearly_high(source)
Returns the highest value of the specified source during the current yearly session. Can fail on lower timeframes.
Parameters:
source (float) : The data series to evaluate, defaults to high
Returns: The highest value during the current yearly session, or na if the timeframe is not suitable
yearly_low(source)
Returns the lowest value of the specified source during the current yearly session. Can fail on lower timeframes.
Parameters:
source (float) : The data series to evaluate, defaults to low
Returns: The lowest value during the current yearly session, or na if the timeframe is not suitable
Optimal Leverage IndicatorThe goal of this indicator is to calculate and visualize the optimal leverage and average leverage for a given security based on its historical price data. The optimal leverage is determined by analyzing the relationship between the annualized return and annualized volatility of the security over a specified lookback period.
The methodology can be broken down into the following steps:
Data Input:
The script takes two user inputs: the lookback period and the number of annual trading days.
The lookback period determines the number of historical data points used in the calculations.
The number of annual trading days is used to annualize the return and volatility metrics.
Daily Returns Calculation:
The script retrieves the closing prices of the security on a daily timeframe.
It calculates the daily returns by comparing the current close price with the previous close price.
Mean Return and Volatility Calculation:
The script calculates the mean daily return by taking the simple moving average (SMA) of the daily returns over the specified lookback period.
It also calculates the volatility by taking the standard deviation of the daily returns over the same lookback period.
Annualized Return and Volatility Calculation:
The mean daily return is annualized by compounding it over the number of annual trading days.
The daily volatility is annualized by multiplying it by the square root of the number of annual trading days.
Optimal Leverage Calculation:
The optimal leverage is calculated using the formula: Optimal Leverage = Annualized Return / (Annualized Volatility)^2
This formula assumes that the optimal leverage is proportional to the ratio of the annualized return to the square of the annualized volatility. This is based in this paper: papers.ssrn.com
Average Leverage Calculation:
The script calculates the average leverage by taking the simple moving average (SMA) of the optimal leverage over the specified lookback period.
This provides a smoothed representation of the optimal leverage over time.
The script plots two lines on the chart:
The optimal leverage line (blue) represents the calculated optimal leverage values over time.
The average leverage line (green) represents the average of the optimal leverage values over the specified lookback period.
The main idea behind this methodology is to determine the optimal leverage based on the historical risk-return characteristics of the security. By analyzing the relationship between the annualized return and volatility, the script aims to identify the leverage level that maximizes the return relative to the risk.
The average leverage line provides a smoothed representation of the optimal leverage over time.
Danger Signals from The Trading MindwheelThe " Danger Signals " indicator, a collaborative creation from the minds at Amphibian Trading and MARA Wealth, serves as your vigilant lookout in the volatile world of stock trading. Drawing from the wisdom encapsulated in "The Trading Mindwheel" and the successful methodologies of legends like William O'Neil and Mark Minervini, this tool is engineered to safeguard your trading journey.
Core Features:
Real-Time Alerts: Identify critical danger signals as they emerge in the market. Whether it's a single day of heightened risk or a pattern forming, stay informed with specific danger signals and a tally of signals for comprehensive decision-making support. The indicator looks for over 30 different signals ranging from simple closing ranges to more complex signals like blow off action.
Tailored Insights with Portfolio Heat Integration: Pair with the "Portfolio Heat" indicator to customize danger signals based on your current positions, entry points, and stops. This personalized approach ensures that the insights are directly relevant to your trading strategy. Certain signals can have different meanings based on where your trade is at in its lifecycle. Blow off action at the beginning of a trend can be viewed as strength, while after an extended run could signal an opportunity to lock in profits.
Forward-Looking Analysis: Leverage the 'Potential Danger Signals' feature to assess future risks. Enter hypothetical price levels to understand potential market reactions before they unfold, enabling proactive trade management.
The indicator offers two different modes of 'Potential Danger Signals', Worst Case or Immediate. Worst Case allows the user to input any price and see what signals would fire based on price reaching that level, while the Immediate mode looks for potential Danger Signals that could happen on the next bar.
This is achieved by adding and subtracting the average daily range to the current bars close while also forecasting the next values of moving averages, vwaps, risk multiples and the relative strength line to see if a Danger Signal would trigger.
User Customization: Flexibility is at your fingertips with toggle options for each danger signal. Tailor the indicator to match your unique trading style and risk tolerance. No two traders are the same, that is why each signal is able to be turned on or off to match your trading personality.
Versatile Application: Ideal for growth stock traders, momentum swing traders, and adherents of the CANSLIM methodology. Whether you're a novice or a seasoned investor, this tool aligns with strategies influenced by trading giants.
Validation and Utility:
Inspired by the trade management principles of Michael Lamothe, the " Danger Signals " indicator is more than just a tool; it's a reflection of tested strategies that highlight the importance of risk management. Through rigorous validation, including the insights from "The Trading Mindwheel," this indicator helps traders navigate the complexities of the market with an informed, strategic approach.
Whether you're contemplating a new position or evaluating an existing one, the " Danger Signals " indicator is designed to provide the clarity needed to avoid potential pitfalls and capitalize on opportunities with confidence. Embrace a smarter way to trade, where awareness and preparation open the door to success.
Let's dive into each of the components of this indicator.
Volume: Volume refers to the number of shares or contracts traded in a security or an entire market during a given period. It is a measure of the total trading activity and liquidity, indicating the overall interest in a stock or market.
Price Action: the analysis of historical prices to inform trading decisions, without the use of technical indicators. It focuses on the movement of prices to identify patterns, trends, and potential reversal points in the market.
Relative Strength Line: The RS line is a popular tool used to compare the performance of a stock, typically calculated as the ratio of the stock's price to a benchmark index's price. It helps identify outperformers and underperformers relative to the market or a specific sector. The RS value is calculated by dividing the close price of the chosen stock by the close price of the comparative symbol (SPX by default).
Average True Range (ATR): ATR is a market volatility indicator used to show the average range prices swing over a specified period. It is calculated by taking the moving average of the true ranges of a stock for a specific period. The true range for a period is the greatest of the following three values:
The difference between the current high and the current low.
The absolute value of the current high minus the previous close.
The absolute value of the current low minus the previous close.
Average Daily Range (ADR): ADR is a measure used in trading to capture the average range between the high and low prices of an asset over a specified number of past trading days. Unlike the Average True Range (ATR), which accounts for gaps in the price from one day to the next, the Average Daily Range focuses solely on the trading range within each day and averages it out.
Anchored VWAP: AVWAP gives the average price of an asset, weighted by volume, starting from a specific anchor point. This provides traders with a dynamic average price considering both price and volume from a specific start point, offering insights into the market's direction and potential support or resistance levels.
Moving Averages: Moving Averages smooth out price data by creating a constantly updated average price over a specific period of time. It helps traders identify trends by flattening out the fluctuations in price data.
Stochastic: A stochastic oscillator is a momentum indicator used in technical analysis that compares a particular closing price of an asset to a range of its prices over a certain period of time. The theory behind the stochastic oscillator is that in a market trending upwards, prices will tend to close near their high, and in a market trending downwards, prices close near their low.
While each of these components offer unique insights into market behavior, providing sell signals under specific conditions, the power of combining these different signals lies in their ability to confirm each other's signals. This in turn reduces false positives and provides a more reliable basis for trading decisions
These signals can be recognized at any time, however the indicators power is in it's ability to take into account where a trade is in terms of your entry price and stop.
If a trade just started, it hasn’t earned much leeway. Kind of like a new employee that shows up late on the first day of work. It’s less forgivable than say the person who has been there for a while, has done well, is on time, and then one day comes in late.
Contextual Sensitivity:
For instance, a high volume sell-off coupled with a bearish price action pattern significantly strengthens the sell signal. When the price closes below an Anchored VWAP or a critical moving average in this context, it reaffirms the bearish sentiment, suggesting that the momentum is likely to continue downwards.
By considering the relative strength line (RS) alongside volume and price action, the indicator can differentiate between a normal retracement in a strong uptrend and a when a stock starts to become a laggard.
The integration of ATR and ADR provides a dynamic framework that adjusts to the market's volatility. A sudden increase in ATR or a character change detected through comparing short-term and long-term ADR can alert traders to emerging trends or reversals.
The "Danger Signals" indicator exemplifies the power of integrating diverse technical indicators to create a more sophisticated, responsive, and adaptable trading tool. This approach not only amplifies the individual strengths of each indicator but also mitigates their weaknesses.
Portfolio Heat Indicator can be found by clicking on the image below
Danger Signals Included
Price Closes Near Low - Daily Closing Range of 30% or Less
Price Closes Near Weekly Low - Weekly Closing Range of 30% or Less
Price Closes Near Daily Low on Heavy Volume - Daily Closing Range of 30% or Less on Heaviest Volume of the Last 5 Days
Price Closes Near Weekly Low on Heavy Volume - Weekly Closing Range of 30% or Less on Heaviest Volume of the Last 5 Weeks
Price Closes Below Moving Average - Price Closes Below One of 5 Selected Moving Averages
Price Closes Below Swing Low - Price Closes Below Most Recent Swing Low
Price Closes Below 1.5 ATR - Price Closes Below Trailing ATR Stop Based on Highest High of Last 10 Days
Price Closes Below AVWAP - Price Closes Below Selected Anchored VWAP (Anchors include: High of base, Low of base, Highest volume of base, Custom date)
Price Shows Aggressive Selling - Current Bars High is Greater Than Previous Day's High and Closes Near the Lows on Heaviest Volume of the Last 5 Days
Outside Reversal Bar - Price Makes a New High and Closes Near the Lows, Lower Than the Previous Bar's Low
Price Shows Signs of Stalling - Heavy Volume with a Close of Less than 1%
3 Consecutive Days of Lower Lows - 3 Days of Lower Lows
Close Lower than 3 Previous Lows - Close is Less than 3 Previous Lows
Character Change - ADR of Last Shorter Length is Larger than ADR of Longer Length
Fast Stochastic Crosses Below Slow Stochastic - Fast Stochastic Crosses Below Slow Stochastic
Fast & Slow Stochastic Curved Down - Both Stochastic Lines Close Lower than Previous Day for 2 Consecutive Days
Lower Lows & Lower Highs Intraday - Lower High and Lower Low on 30 Minute Timeframe
Moving Average Crossunder - Selected MA Crosses Below Other Selected MA
RS Starts Curving Down - Relative Strength Line Closes Lower than Previous Day for 2 Consecutive Days
RS Turns Negative Short Term - RS Closes Below RS of 7 Days Ago
RS Underperforms Price - Relative Strength Line Not at Highs, While Price Is
Moving Average Begins to Flatten Out - First Day MA Doesn't Close Higher
Price Moves Higher on Lighter Volume - Price Makes a New High on Light Volume and 15 Day Average Volume is Less than 50 Day Average
Price Hits % Target - Price Moves Set % Higher from Entry Price
Price Hits R Multiple - Price hits (Entry - Stop Multiplied by Setting) and Added to Entry
Price Hits Overhead Resistance - Price Crosses a Swing High from a Monthly Timeframe Chart from at Least 1 Year Ago
Price Hits Fib Level - Price Crosses a Fib Extension Drawn From Base High to Low
Price Hits a Psychological Level - Price Crosses a Multiple of 0 or 5
Heavy Volume After Significant Move - Above Average and Heaviest Volume of the Last 5 Days 35 Bars or More from Breakout
Moving Averages Begin to Slope Downward - Moving Averages Fall for 2 Consecutive Days
Blow Off Action - Highest Volume, Largest Spread, Multiple Gaps in a Row 35 Bars or More Post Breakout
Late Buying Frenzy - ANTS 35 Bars or More Post Breakout
Exhaustion Gap - Gap Up 5% or Higher with Price 125% or More Above 200sma