Killzones & Previous High-Low Liquidity [odnac]This indicator is designed for use in intraday trading to visualize key "Killzones" (specific time windows during different global market sessions) and highlight liquidity levels based on previous highs and lows from the previous day and week.
It helps traders identify potential market entry and exit points based on time-based trading zones and price action levels.
Key Features:
Killzone (Market Session Timeframes):
Asia (2000-0000 UTC): Displays a shaded box over the Asia trading session.
Europe (0200-0500 UTC): Highlights the European trading session.
New York AM (0830-1100 UTC): Represents the morning session of the NY market.
New York PM (1330-1600 UTC): Represents the afternoon session of the NY market.
Each of these timeframes can be customized in terms of session start and end times, and the shaded areas will help identify high liquidity periods when the market tends to be more active.
Previous High-Low Liquidity Zones:
Previous Week's High/Low: Displays lines at the high and low of the previous week.
These are important liquidity levels that can influence price action.
Previous Day's High/Low: Shows the high and low from the previous trading day.
These are also significant levels to watch for potential support and resistance.
Filters and Customization:
Position Filtering: The indicator allows users to filter out previous highs or lows if the current price doesn't align with those levels.
For example, it can filter out previous week highs if the current price is lower than that level.
Vertical Lines: Optional vertical lines to highlight key time points such as the start and end of the previous week and day.
How It Works:
The indicator visually draws "killzones" as shaded regions on the chart, indicating periods of increased market activity.
This can help traders align their strategies with the most liquid periods of the day.
The previous high and low lines (both for the previous week and the previous day) are drawn as solid lines and can be toggled on/off in the settings.
Labels are added to indicate the specific levels and periods.
The indicator provides clear visual cues, helping traders assess if the price is near important liquidity levels and whether the current market conditions align with those levels.
Customizable Settings:
You can control whether each Killzone and liquidity level is shown on the chart.
Color customization for the various zones and lines is also available.
The indicator also lets you decide whether to hide weekend data, set time-frame limits, and choose whether or not to show vertical lines at the beginning and end of each trading session.
This indicator is aimed at traders who want to trade based on high-liquidity periods and understand where key support and resistance levels are likely to emerge based on previous price action.
المؤشرات والاستراتيجيات
Volume Data Customized TimeframeThe "Volume Data Customized Timeframe" (VolData CTF) indicator provides traders with an enhanced volume analysis tool that aggregates buy and sell volume over a user-defined timeframe. It enables a comparative assessment of bullish and bearish volume trends, offering deeper insights into market sentiment. The indicator features a customizable display table with user-selectable themes and positioning, providing essential volume metrics for improved trading decisions.
1. Introduction:
The "Volume Data Customized Timeframe" indicator is designed to help traders analyze volume trends across different timeframes. It allows users to customize the period for volume calculations, view the ratio of selling to buying volume, and present the data in a user-friendly table format.
2. Features:
Selectable timeframe for volume analysis (default: chart timeframe)
Calculation of bullish (buy) and bearish (sell) volume
Customizable table size, theme, and positioning
Displays key volume metrics:
Total Buy Volume
Total Sell Volume
Sell/Buy Volume Ratio
Analysis period in minutes, days, weeks, or months
3. Indicator Inputs:
Average Volume Lookback (n): Number of bars used to calculate volume statistics.
Select Timeframe: Custom timeframe for volume calculations (leave empty to use the chart's timeframe).
Table Size: Choose from Small, Medium, or Big to adjust text size.
Table Theme: Choose between Light and Dark themes.
Table Position: Place the table in any corner of the chart (top-left, top-right, bottom-left, bottom-right).
4. How It Works:
The indicator retrieves volume data for the selected timeframe.
It aggregates bullish and bearish volume based on the lookback period.
The sell-to-buy volume ratio is calculated and color-coded (green for bullish dominance, red for bearish dominance).
The volume statistics are displayed in a customizable table for easy reference.
5. Interpretation:
Δ BUY VOL: Represents the total volume of bullish (up-closing) bars within the lookback period.
Δ SELL VOL: Represents the total volume of bearish (down-closing) bars within the lookback period.
Δ SELL/Δ BUY: The ratio of bearish to bullish volume; values above 1 indicate more selling pressure, while values below 1 indicate buying dominance.
Period (M/D/W/M): Displays the selected timeframe for volume aggregation.
Valorous VolumesIndicator to mark the significant Volumes:
HVE: Checks if the current volume sets a new overall record.
HVY: Checks if the current volume equals the highest volume over the past one year.
HVQ: Checks if the current volume equals the highest volume over the past three months.
CandelaCharts - Fib Retracement (OTE) 📝 Overview
The CandelaCharts Fib Retracement (OTE) indicator is a precision tool designed to help traders identify Optimal Trade Entry (OTE) levels based on Fibonacci retracement principles, as taught in ICT (Inner Circle Trader) methodology.
This indicator automatically plots Fibonacci retracement levels between a selected swing high and swing low, highlighting the key OTE zone between the 61.8% and 78.6% retracement levels—a prime area for potential reversals in trending markets.
📦 Features
Automatic & Custom lookback modes
Customizable fib levels
Dynamic coloring
Reverse & extend
⚙️ Settings
Lookback: Controls the number of bars to look back. You can choose between **Automatic** or **Custom** mode.
Line Style: Sets the line style for the Fibonacci levels.
Levels: 0, 0.236, 0.0.382, 0.500, 0.620, 0.705, 0.790, 0.886, 1.000. Allows you to toggle the visibility of Fibonacci levels.
Dynamic Coloring: Colors Fibonacci levels according to trend direction.
Show Labels: Shows the price value at each Fibonacci level.
Reverse: Flips the Fibonacci levels in the opposite direction.
Extend Left: Extends the Fibonacci levels to the left.
⚡️ Showcase
Dynamic Coloring
Manual Coloring
Fib Retracement
Extended
Custom Length
📒 Usage
Using the CandelaCharts Fib Retracement (OTE) is pretty straightforward—just follow these steps to spot high-probability trade setups and refine your entries.
Identify the Trend – Determine whether the market is in an uptrend or downtrend.
Select Swing Points – The indicator automatically plots from the most recent swing high to swing low (or vice versa).
Wait for Price to Enter OTE Zone – Look for price action confirmation within the optimal entry zone (61.8%-78.6%).
Enter the Trade – Consider longs in an uptrend at the OTE zone, and shorts in a downtrend.
Set Stop & Target – Place stops below/above the swing low/high and target extension levels (127.2%, 161.8%).
🎯 Key takeways
The CandelaCharts Fib Retracement (OTE) is a must-have tool for traders looking to refine their entries and maximize risk-reward potential with precision-based ICT trading strategies. 🚀
🚨 Alerts
The indicator does not provide any alerts!
⚠️ Disclaimer
Trading involves significant risk, and many participants may incur losses. The content on this site is not intended as financial advice and should not be interpreted as such. Decisions to buy, sell, hold, or trade securities, commodities, or other financial instruments carry inherent risks and are best made with guidance from qualified financial professionals. Past performance is not indicative of future results.
RSX Divergence ProRSX Divergence Pro detects regular and hidden divergences using a smoothed Relative Strength Xtra (RSX) oscillator. It helps traders identify trend reversals and trend continuation signals with clear visual labels. Users can enable/disable divergences, adjust RSX length, customize label colors/sizes, and choose different price types. The indicator also includes dynamic RSX coloration and adjustable overbought/oversold levels for better market insights. Perfect for traders seeking precision in divergence detection and smoother signals than traditional RSI. 🚀
Sweep Candle [odnac]
ATR Imbalance Detection
This feature highlights candles that have a significantly larger range compared to the average true range (ATR).
How it works: A candle is considered imbalanced if its range (high - low) exceeds a specified multiple of the ATR (default multiplier is 1.5, with an ATR length of 5).
Visualization: Such candles are highlighted in yellow.
Engulfing Candle Detection
This feature detects bullish and bearish engulfing candles.
Types
Standard: Traditional engulfing pattern where the current candle fully "engulfs" the previous one.
Sweep: A variation where the candle engulfs the previous one and sweeps the previous low (for bullish) or high (for bearish).
Visualization:
Bullish engulfing patterns are marked with a green triangle below the candle.
Bearish engulfing patterns are marked with a red triangle above the candle.
Momentum Candle Detection
This feature identifies candles with strong upward or downward momentum compared to the previous candle.
Types
Standard: A basic momentum pattern where the current candle continues the price direction with strong momentum.
Sweep: A variation where the candle sweeps the previous low (for bullish) or high (for bearish).
Visualization:
Bullish momentum candles are marked with a green circle below the candle.
Bearish momentum candles are marked with a red circle above the candle.
Summary
This indicator helps traders identify significant market conditions such as imbalances, engulfing candles, and momentum patterns, making it a valuable tool for technical analysis and trend-following strategies.
The customizable settings provide flexibility to adapt the tool to different trading styles.
Bollinger Bands cross %The BB strategy (Bollinger Bands strategy) on TradingView utilizes the Bollinger Bands indicator to help traders identify market volatility and potential entry points. The Bollinger Bands indicator consists of three main components:
Middle Band: This is the simple moving average (SMA), usually calculated over a 20-period. It represents the average price over a specific period.
Upper Band and Lower Band: These bands are created by adding and subtracting a multiple of the standard deviation (typically 2) from the middle band. The upper and lower bands help determine the level of price volatility.
How the BB Strategy Works:
Break above the Upper Band: When the price moves above the upper band, it might signal that the market is in an "overbought" condition. This could be a sign to consider selling, but it could also continue if the trend is strong.
Break below the Lower Band: When the price moves below the lower band, it might signal that the market is in an "oversold" condition, which could be a signal to buy if the trend is reversing.
Squeeze (Coiling): When the Bollinger Bands contract, often referred to as a "squeeze," it indicates that the market may be preparing for a strong price move. This is a critical signal in the BB strategy because the narrowing bands signify low volatility and a potential breakout in price.
Specific Strategy:
Buy when price touches the lower band and shows signs of reversal (bullish reversal): If the price touches the lower band, you might wait for a reversal signal, such as a bullish candlestick pattern or confirmation from other indicators like RSI or MACD, indicating oversold conditions.
Sell when price touches the upper band and shows signs of reversal (bearish reversal): Similarly, when the price touches the upper band, you could wait for a bearish reversal signal, such as a bearish candlestick pattern or confirmation from other indicators, and then sell.
Trend-following when bands are expanding: If the Bollinger Bands are expanding and the price continues in the same direction, it could signal a trend-following opportunity.
Midnight and 7:30 AM Open with ResetExtreme Discount and Extreme Premium Indicator
This custom indicator identifies the relationship between the current price and key discount and premium levels on the chart. It helps determine whether the price is in an "extreme discount" or "extreme premium" zone, which can be important for making trading decisions based on market structure.
Extreme Discount Zone: The indicator identifies the "extreme discount" zone when the price is below both its extreme discount levels, indicating that the market is in a potential buying area, which could signal a reversal or a good entry point to buy.
Extreme Premium Zone: The indicator marks the "extreme premium" zone when the price is above both its extreme premium levels, suggesting that the market is in a potential selling area, signaling a possible price reversal or a good entry point to sell.
The indicator dynamically adjusts and highlights these zones based on price movement, allowing traders to visualize when the price is reaching extreme levels relative to historical price action.
Key Features:
Detects when the current price is below both extreme discount levels.
Detects when the current price is above both extreme premium levels.
Highlights these extreme areas visually to help traders make informed decisions on buying or selling.
Volume Spike BoxThis indicator highlights the highest volume candlestick in a specified number of bars. It extends for the same length in the future as the specified number of bars for identifying potential support and resistance
Dynamic Range Finder [The_lurker]هو أداة تهدف إلى تحديد نطاق السعر الديناميكي بناءً على التقلبات ومتوسط الأسعار . حيث يتم التعرف على مناطق التوحيد السعري (Consolidation) ويعطي إشارات شراء وبيع عند اختراق أو كسر هذا النطاق .
// يفضل استخدام المؤشر على اطار 4 ساعات واكثر //
مميزات المؤشر :
1- اكتشاف النطاق السعري الديناميكي
- يقوم المؤشر بحساب متوسط السعر خلال فترة محددة ومقارنة الإغلاقات الحديثة بمدى تقلب الأسعار (ATR) لمعرفة ما إذا كان السعر يتحرك داخل نطاق معين.
2- تحديد الاختراقات Breakout Signals
- عند اختراق السعر الحد العلوي للنطاق، يظهر المؤشر إشارة شراء (BUY).
- عند كسر السعر الحد السفلي للنطاق، يظهر المؤشر إشارة بيع (SELL).
3- دعم أنماط متعددة للمتوسطات المتحركة
- يسمح للمستخدمين باختيار نوع المتوسط المتحرك (SMA، EMA، WMA) المستخدم في حساب متوسط السعر.
4- إعدادات مخصصة للفلترة بحجم التداول (اختياري)
- فلترة حجم التداول هي ميزة اختيارية في المؤشر تسمح بتصفية إشارات الشراء والبيع بناءً على قوة الحجم المتداول مما يعزز دقة الإشارات عن طريق التأكد من أن الاختراقات السعرية مدعومة بحجم تداول قوي
5- تصميم مرن مع تخصيص للألوان والأنماط
- يمكن للمستخدمين تغيير ألوان النطاق وإشارات البيع والشراء حسب رغبتهم.
6- تنبيهات آلية عند حدوث كسر أو اختراق
- يتضمن تنبيهات (Alerts) عند حدوث إشارة بيع أو شراء.
كيف يعمل المؤشر؟
* يتم حساب متوسط السعر خلال الفترة المحددة (rangePeriod).
* يتم حساب التقلب السعري (ATR) ومضاعفته بمعامل النطاق (rangeMultiplier).
* يتم رسم مستطيل يعبر عن النطاق السعري بين (متوسط السعر ± التقلب).
* إذا تجاوز السعر الحد العلوي → إشارة شراء (BUY).
* إذا كسر السعر الحد السفلي → إشارة بيع (SELL).
* يمكن تصفية الإشارات باستخدام حجم التداول (اختياري).
1.0 → الحجم الحالي يجب أن يكون على الأقل مساويًا للمتوسط.
1.2 → الحجم الحالي يجب أن يكون أعلى من المتوسط بنسبة 20%.
1.5 → الحجم الحالي يجب أن يكون أعلى من المتوسط بنسبة 50%.
تنويه:
المؤشر هو أداة مساعدة فقط ويجب استخدامه مع التحليل الفني والأساسي لتحقيق أفضل النتائج.
إخلاء المسؤولية
لا يُقصد بالمعلومات والمنشورات أن تكون، أو تشكل، أي نصيحة مالية أو استثمارية أو تجارية أو أنواع أخرى من النصائح أو التوصيات المقدمة أو المعتمدة من TradingView.
It is a tool that aims to determine the dynamic price range based on fluctuations and average prices. Consolidation areas are identified and buy and sell signals are given when this range is breached or broken.
// It is preferable to use the indicator on a 4-hour frame or more //
Features of the indicator:
1- Detecting the dynamic price range
- The indicator calculates the average price over a specific period and compares recent closings with the price volatility range (ATR) to see if the price is moving within a specific range.
2- Identifying Breakout Signals
- When the price breaks the upper limit of the range, the indicator shows a buy signal (BUY).
- When the price breaks the lower limit of the range, the indicator shows a sell signal (SELL).
3- Support for multiple moving average patterns
- Allows users to choose the type of moving average (SMA, EMA, WMA) used to calculate the average price.
4- Custom settings for filtering by trading volume (optional)
- Trading volume filtering is an optional feature in the indicator that allows filtering buy and sell signals based on the strength of the trading volume, which enhances the accuracy of the signals by ensuring that price breakouts are supported by strong trading volume
5- Flexible design with customization of colors and patterns
- Users can change the colors of the range and buy and sell signals as they wish.
6- Automatic alerts when a breakout or breakout occurs
- Includes alerts when a buy or sell signal occurs.
How does the indicator work?
* The average price is calculated over the specified period (rangePeriod).
* The price volatility (ATR) is calculated and multiplied by the range factor (rangeMultiplier).
* A rectangle is drawn that represents the price range between (average price ± volatility).
* If the price exceeds the upper bound → a buy signal (BUY).
* If the price breaks the lower bound → a sell signal (SELL).
* Signals can be filtered using trading volume (optional).
1.0 → Current volume should be at least equal to the average.
1.2 → Current volume should be 20% above the average.
1.5 → Current volume should be 50% above the average.
Disclaimer:
The indicator is an auxiliary tool only and should be used in conjunction with technical and fundamental analysis to achieve the best results.
Disclaimer
The information and posts are not intended to be, or constitute, any financial, investment, trading or other types of advice or recommendations provided or endorsed by TradingView.
Walk Forward PatternsINTRO
In Euclidean geometry, every mathematical output has a planar projection. 'Walk Forward Patterns' can be considered a practical example of this concept. On the other hand, this indicator might also be viewed as an experiment in 'how playing with Lego as a child contributes to time series analysis' :)
OVERVIEW
This script dynamically generates the necessary optimization and testing ranges for Walk Forward Analysis based on user-defined bar count and length inputs. It performs automatic calculations for each step, offers 8 different window options depending on the inputs, and visualizes the results dynamically. I should also note that most of the window models consist of original patterns I have created.
ADDITIONAL INFO : WHAT IS WALK FORWARD ANALYSIS?
Although it is not the main focus of this indicator, providing a brief definition of Walk Forward Analysis can be helpful in correctly interpreting the results it generates. Walk Forward Analysis (WFA) is a systematic method for optimizing parameters and validating trading strategies. It involves dividing historical data into variable segments, where a strategy is first optimized on an in-sample period and then tested on an out-of-sample period. This process repeats by shifting the windows forward, ensuring that each test evaluates the strategy on unseen data, helping to assess its robustness and adaptability in real market conditions.
ORIGINALITY
There are very few studies on Walk Forward Analysis in TradingView. Even worse, there are no any open-source studies available. Someone has to start somewhere, I suppose. And in my personal opinion, determining the optimization and backtest intervals is the most challenging part of WFA. These intervals serve as a prerequisite for automated parameter optimization. I felt the need to publish this pattern module, which I use in my own WFA models, partly due to this gap on community scripts.
INDICATOR MECHANICS
To use the indicator effectively, you only need to perform four simple tasks:
Specify the total number of bars in your chart in the 'Bar Index' parameter.
Define the optimization (In-Sample Test) length.
Define the testing (Out-Of-Sample Test) length.
Finally, select the window type.
The indicator automatically models everything else (including the number of steps) based on your inputs. And the result; you now have a clear idea of which bars to use for your Walk Forward tests!
A COMMONLY USED WINDOW SELECTION METHOD: ROLLING
A more concrete definition of Walk Forward Analysis, specifically for the widely used Rolling method, can be described as follows:
Parameters that have performed well over a certain period are identified (Optimization: In-Sample).
These parameters are then tested on a shorter, subsequent period (Backtest: Out-of-Sample).
The process is repeated forward in time (At each step, the optimization and backtest periods are shifted by the backtest length).
If the cumulative percentage profit obtained from the backtest results is greater than half of the historical optimization profit, the strategy is considered "successful."
If the strategy is successful, the most recent (untested) optimization values are used for live trading.
OTHER WINDOW OPTIONS
ANCHORED: That's a pattern based on progressively expanding optimization ranges at each step. Backtest ranges move forward in a staircase-like manner.
STATIC: Optimization ranges remain fixed, while backtest ranges are shifted forward.
BLOCKED: Optimization ranges are shifted forward in groups of three blocks. Backtest ranges are also shifted in a staircase manner, even at the cost of creating gaps from the optimization end bars.
TRIANGULAR: Optimization ranges are shifted forward in triangular regions, while backtest ranges move in a staircase pattern.
RATIO: The optimization length increases by 25% of the initial step’s fixed length at each step. In other words, the length grows by 25% of the first step's length incrementally. Backtest ranges always start from the bar where the optimization ends.
FIBONACCI: A variation of the Ratio method, where the optimization shift factor is set to 0.618
RANDOM WALK
Unlike the window models explained above, we can also generate optimization and backtest ranges completely randomly—offering almost unlimited variations! When you select the "Random" option in the "Window" parameter on the indicator interface, random intervals are generated based on various trigonometric calculations. By changing the numerical value in the '🐒' parameter, you can create entirely unique patterns.
WHY THE 🐒 EMOJI?
Two reasons.
First, I think that as humanity, we are a species of tailless primates who become happy when we understand things :). At least evolutionarily. The entire history of civilization is built on the effort to express the universe in a scale we can comprehend. 'Knowledge' is an invention born from this effort, which is why we feel happiness when we 'understand'. Second, I can't think of a better metaphor for randomness than a monkey sitting at a keyboard. See: Monkey Test.
Anyway, I’m rambling :)
NOTES
The indicator generates results for up to 100 steps. As the number of steps increases, the table may extend beyond the screen—don’t forget to zoom out!
FINAL WORDS
I haven’t published a Walk Forward script yet . However, there seem to be examples that can perform parameter optimization in the true sense of the word, producing more realistic results without falling into overfitting in my library. Hopefully, I’ll have the chance to publish one in the coming weeks. Sincerely thanks to Kıvanç Özbilgiç, Robert Pardo, Kevin Davey, Ernest P. Chan for their inspiring publishments.
DISCLAIMER
That's just a script, nothing more. I hope it helps everyone. Do not forget to manage your risk. And trade as safely as possible. Best of luck!
© dg_factor
True Strength Index with Zones & AlertsKey Features:
True Strength Index (TSI) Calculation
Uses double-smoothed exponential moving averages (EMA) to calculate TSI.
A signal line (EMA of TSI) helps confirm trends.
Dynamic Color Coding for TSI Line
Green: TSI is above the signal line (Bullish).
Red: TSI is below the signal line (Bearish).
Crossover & Crossunder Signals
Bullish Crossover (TSI crosses above Signal Line) → Green Circle.
Bearish Crossunder (TSI crosses below Signal Line) → Red Circle.
Alerts for Trading Signals
Buy Alert: TSI crosses above the signal line.
Sell Alert: TSI crosses below the signal line.
Overbought & Oversold Zones
Overbought: Between 40 and 50 (Red Zone).
Oversold: Between -40 and -50 (Green Zone).
Highlighted Background when TSI enters these zones.
Neutral Line at 0
Helps determine trend direction and momentum shifts.
How to Use These Values:
• TSI Crosses Above Signal Line → Bullish entry.
• TSI Crosses Below Signal Line → Bearish entry.
• Overbought (+40 to +50) & Oversold (-40 to -50) zones → Watch for trend reversals.
• Divergence Signals → If price makes a new high/low but TSI doesn’t, momentum is weakening.
PaddingThe Padding library is a comprehensive and flexible toolkit designed to extend time series data within TradingView, making it an indispensable resource for advanced signal processing tasks such as FFT, filtering, convolution, and wavelet analysis. At its core, the library addresses the common challenge of edge effects by "padding" your data—that is, by appending additional data points beyond the natural boundaries of your original dataset. This extension not only mitigates the distortions that can occur at the endpoints but also helps to maintain the integrity of various transformations and calculations performed on the series. The library accomplishes this while preserving the ordering of your data, ensuring that the most recent point always resides at index 0.
Central to the functionality of this library are two key enumerations: Direction and PaddingType. The Direction enum determines where the padding will be applied. You can choose to extend the data in the forward direction (ahead of the current values), in the backward direction (behind the current values), or in both directions simultaneously. The PaddingType enum defines the specific method used for extending the data. The library supports several methods—including symmetric, reflect, periodic, antisymmetric, antireflect, smooth, constant, and zero padding—each of which has been implemented to suit different analytical scenarios. For instance, symmetric padding mirrors the original data across its boundaries, while reflect padding continues the trend by reflecting around endpoint values. Periodic padding repeats the data, and antisymmetric padding mirrors the data with alternating signs to counterbalance it. The antireflect and smooth methods take into account the derivatives of your data, thereby extending the series in a way that preserves or smoothly continues these derivative values. Constant and zero padding simply extend the series using fixed endpoint values or zeros. Together, these enums allow you to fine-tune how your data is extended, ensuring that the padding method aligns with the specific requirements of your analysis.
The library is designed to work with both single variable inputs and array inputs. When using array-based methods—particularly with the antireflect and smooth padding types—please note that the implementation intentionally discards the last data point as a result of the delta computation process. This behavior is an important consideration when integrating the library into your TradingView studies, as it affects the overall data length of the padded series. Despite this, the library’s structure and documentation make it straightforward to incorporate into your existing scripts. You simply provide your data source, define the length of your data window, and select the desired padding type and direction, along with any optional parameters to control the extent of the padding (using both_period, forward_period, or backward_period).
In practical application, the Padding library enables you to extend historical data beyond its original range in a controlled and predictable manner. This is particularly useful when preparing datasets for further signal processing, as it helps to reduce artifacts that can otherwise compromise the results of your analytical routines. Whether you are an experienced Pine Script developer or a trader exploring advanced data analysis techniques, this library offers a robust solution that enhances the reliability and accuracy of your studies by ensuring your algorithms operate on a more complete and well-prepared dataset.
Library "Padding"
A comprehensive library for padding time series data with various methods. Supports both single variable and array inputs, with flexible padding directions and periods. Designed for signal processing applications including FFT, filtering, convolution, and wavelets. All methods maintain data ordering with most recent point at index 0.
symmetric(source, series_length, direction, both_period, forward_period, backward_period)
Applies symmetric padding by mirroring the input data across boundaries
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with symmetric padding applied
method symmetric(source, direction, both_period, forward_period, backward_period)
Applies symmetric padding to an array by mirroring the data across boundaries
Namespace types: array
Parameters:
source (array) : Array of values to pad
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to array length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to array length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with symmetric padding applied
reflect(source, series_length, direction, both_period, forward_period, backward_period)
Applies reflect padding by continuing trends through reflection around endpoint values
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with reflect padding applied
method reflect(source, direction, both_period, forward_period, backward_period)
Applies reflect padding to an array by continuing trends through reflection around endpoint values
Namespace types: array
Parameters:
source (array) : Array of values to pad
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to array length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to array length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with reflect padding applied
periodic(source, series_length, direction, both_period, forward_period, backward_period)
Applies periodic padding by repeating the input data
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with periodic padding applied
method periodic(source, direction, both_period, forward_period, backward_period)
Applies periodic padding to an array by repeating the data
Namespace types: array
Parameters:
source (array) : Array of values to pad
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to array length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to array length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with periodic padding applied
antisymmetric(source, series_length, direction, both_period, forward_period, backward_period)
Applies antisymmetric padding by mirroring data and alternating signs
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with antisymmetric padding applied
method antisymmetric(source, direction, both_period, forward_period, backward_period)
Applies antisymmetric padding to an array by mirroring data and alternating signs
Namespace types: array
Parameters:
source (array) : Array of values to pad
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to array length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to array length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with antisymmetric padding applied
antireflect(source, series_length, direction, both_period, forward_period, backward_period)
Applies antireflect padding by reflecting around endpoints while preserving derivatives
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with antireflect padding applied
method antireflect(source, direction, both_period, forward_period, backward_period)
Applies antireflect padding to an array by reflecting around endpoints while preserving derivatives
Namespace types: array
Parameters:
source (array) : Array of values to pad
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to array length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to array length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with antireflect padding applied. Note: Last data point is lost when using array input
smooth(source, series_length, direction, both_period, forward_period, backward_period)
Applies smooth padding by extending with constant derivatives from endpoints
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with smooth padding applied
method smooth(source, direction, both_period, forward_period, backward_period)
Applies smooth padding to an array by extending with constant derivatives from endpoints
Namespace types: array
Parameters:
source (array) : Array of values to pad
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to array length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to array length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with smooth padding applied. Note: Last data point is lost when using array input
constant(source, series_length, direction, both_period, forward_period, backward_period)
Applies constant padding by extending endpoint values
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with constant padding applied
method constant(source, direction, both_period, forward_period, backward_period)
Applies constant padding to an array by extending endpoint values
Namespace types: array
Parameters:
source (array) : Array of values to pad
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to array length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to array length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with constant padding applied
zero(source, series_length, direction, both_period, forward_period, backward_period)
Applies zero padding by extending with zeros
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with zero padding applied
method zero(source, direction, both_period, forward_period, backward_period)
Applies zero padding to an array by extending with zeros
Namespace types: array
Parameters:
source (array) : Array of values to pad
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to array length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to array length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with zero padding applied
pad_data(source, series_length, padding_type, direction, both_period, forward_period, backward_period)
Generic padding function that applies specified padding type to input data
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
padding_type (series PaddingType) : Type of padding to apply (see PaddingType enum)
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with specified padding applied
method pad_data(source, padding_type, direction, both_period, forward_period, backward_period)
Generic padding function that applies specified padding type to array input
Namespace types: array
Parameters:
source (array) : Array of values to pad
padding_type (series PaddingType) : Type of padding to apply (see PaddingType enum)
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to array length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to array length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with specified padding applied. Note: Last data point is lost when using antireflect or smooth padding types
make_padded_data(source, series_length, padding_type, direction, both_period, forward_period, backward_period)
Creates a window-based padded data series that updates with each new value. WARNING: Function must be called on every bar for consistency. Do not use in scopes where it may not execute on every bar.
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
padding_type (series PaddingType) : Type of padding to apply (see PaddingType enum)
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing windowed data with specified padding applied
Whale Supertrend (V1.2)The script "Whale Supertrend (V1.2)" is an advanced trend indicator that uses multiple Supertrends with different factors to determine entry and exit points in the market. The Supertrend is a popular indicator that combines price and volatility to help identify trend direction. The script displays buy and sell signals based on the confluence of Supertrends.
How the script works
Configuring Supertrends
The script configures six Supertrends with different factors (factor, factor1, factor2, factor3, factor4, factor5) while using the same ATR period (atrPeriod = 10).
Supertrend 1: factor = 3
Supertrend 2: factor1 = 4
Supertrend 3: factor2 = 6
Supertrend 4: factor3 = 9
Supertrend 5: factor4 = 13
Supertrend 6: factor5 = 18
For each Supertrend, the bullish (blue) and bearish (purple) trend conditions are plotted on the chart.
Signal Calculation
The script calculates the number of Supertrends in bullish and bearish trend:
bullishCount: Number of Supertrends indicating a bullish trend.
bearishCount: Number of Supertrends indicating a bearish trend.
Signal Detection
The script triggers a buy or sell signal when at least three of the six Supertrends indicate the same trend:
Buy Signal (buySignal): Triggers when bullishCount is greater than or equal to 3.
Sell Signal (sellSignal): Triggers when bearishCount is greater than or equal to 3.
To avoid repetition, signals are only displayed when the state changes:
triggerBuy: Buy signal only when buySignal becomes true for the first time.
triggerSell: Sell signal only when sellSignal becomes true for the first time.
Candle Coloring:
Candles now change color based on signals:
Green: When a Buy Signal is active.
Red: When a Sell Signal is active.
This provides a clearer visualization of market trends directly on the chart.
Dynamic Settings for Supertrends:
You can customize the ATR Period and Factor for each of the 6 Supertrends via the settings panel.
Each Supertrend has independent parameters:
ATR Period: Controls the ATR calculation period.
Factor: Adjusts the Supertrend sensitivity.
Benefits:
Enhanced Readability: Candle colors help identify buy and sell zones at a glance.
Greater Customization: Tailor Supertrend settings to your trading strategy or market conditions.
Waldo Momentum Cloud Bollinger Bands (WMCBB)
Title: Waldo Momentum Cloud Bollinger Bands (WMCBB)
Description:
Introducing the "Waldo Momentum Cloud Bollinger Bands (WMCBB)," an innovative trading tool crafted for those who aim to deepen their market analysis by merging two dynamic technical indicators: Dynamic RSI Bollinger Bands and the Waldo Cloud.
What is this Indicator?
WMCBB integrates the volatility-based traditional Bollinger Bands with a momentum-sensitive approach through the Relative Strength Index (RSI). Here’s how it works:
Dynamic RSI Bollinger Bands: These bands dynamically adjust according to the RSI, which tracks the momentum of price movements. By scaling the RSI to align with price levels, we generate bands that not only reflect market volatility but also the underlying momentum, offering a refined view of overbought and oversold conditions.
Waldo Cloud: This feature adds a layer of traditional Bollinger Bands, visualized as a 'cloud' on your chart. It employs standard Bollinger Band methodology but enhances it with additional moving average layers to better define market trends.
The cloud's color changes dynamically based on various market conditions, providing visual signals for trend direction and potential trend reversals.
Why Combine These Indicators?
Combining Dynamic RSI Bollinger Bands with the Waldo Cloud in WMCBB aims to:
Enhance Trend Identification: The Waldo Cloud's color-coded system aids in recognizing the overarching market trend, while the Dynamic RSI Bands give insights into momentum changes within that trend, offering a comprehensive view.
Improve Volatility and Momentum Analysis: While traditional Bollinger Bands measure market volatility, integrating RSI adds a layer of momentum analysis, potentially leading to more accurate trading signals.
Visual Clarity: The unified color scheme for both sets of bands, which changes according to RSI levels, moving average crossovers, and price positioning, simplifies the process of gauging market sentiment at a glance.
Customization: Users have the option to toggle the visibility of moving averages (MA) through the settings, allowing for tailored analysis based on individual trading strategies.
Usage:
Utilize WMCBB to identify potential trend shifts by observing price interactions with the dynamic bands or changes in the Waldo Cloud's color.
Watch for divergences between price movements and RSI to forecast potential market reversals or continuations.
This combination shines in sideways markets where traditional indicators might fall short, as it provides additional context through RSI momentum analysis.
Settings:
Customize parameters for both the Dynamic RSI and Waldo Cloud Bollinger Bands, including the calculation source, standard deviation factors, and moving average lengths.
WMCBB is perfect for traders seeking to enhance their market analysis through the synergy of momentum and volatility, all while maintaining visual simplicity. Trade with greater insight using the Waldo Momentum Cloud Bollinger Bands!
Nearest EMA Levels (Multi-Timeframe)This indicator identifies the closest upper and lower EMA levels across multiple timeframes, helping traders spot trend direction and key support/resistance zones.
📌 Key Features:
✔ Multi-Timeframe Support: Works across 1min to 1W timeframes.
✔ Customizable EMAs:
1min & 5min: Only 200 EMA.
Other timeframes: 20, 50, 100, and 200 EMA.
✔ Auto Detection: Highlights the nearest EMA levels above and below price.
✔ Customizable Display: Adjustable line style, thickness, and colors.
✔ Clear Labels: Shows EMA value and timeframe for easy interpretation.
🛠 How to Use:
Enable preferred timeframes and adjust visual settings.
Nearest EMA levels are plotted automatically.
Labels indicate timeframe and EMA value.
⚠ Note:
For technical analysis only, not financial advice.
1M timeframe removed due to TradingView API limits.
Too many EMAs may clutter the chart—enable only needed timeframes.
🚀 Perfect for:
✔ Trend Identification
✔ Support & Resistance Analysis
✔ Short & Long-Term Market Tracking
VMA [Extreme Advanced Custom Table for BTCUSD]This indicator implements a Variable Moving Average (VMA) with a 33-period length—selected in homage to the Tesla 369 concept—to dynamically adjust to market conditions. It not only calculates the adaptive VMA but also displays a custom table of key metrics directly on the chart. Here’s how to use it:
Apply to Your Chart:
Add the indicator to your chart (optimized for BTCUSD, though it can be used on other symbols) and choose your desired source (e.g., close).
Customize Your Visuals:
Trend & Price Lines: Toggle the trend colors, price line, and bar coloring based on the VMA’s direction.
Channels & Slope: Enable the volatility channel and slope line to visualize market volatility and the VMA’s momentum.
Pivot Points & Super VMA: Activate pivot high/low markers for potential reversal points and a Super VMA (SMA of VMA) for an extra smoothing layer.
Table Customization: Adjust the table’s position, colors, and font sizes as needed for your viewing preference.
Monitor Key Metrics:
The dynamic table displays essential information:
VMA Value & Trend: See the current VMA and whether the trend is Bullish, Bearish, or Neutral.
Volatility Index (vI) & Slope: Quickly assess market volatility and the VMA’s slope (both absolute and percentage).
Price-VMA Difference & Correlation: Evaluate how far the price is from the VMA and its correlation.
Higher Timeframe VMA: Compare the current VMA with its higher timeframe counterpart (set via the “Higher Timeframe” input).
Alerts for Key Conditions:
Built-in alert conditions notify you when:
The trend changes (bullish/bearish).
The VMA slope becomes extreme.
The price and VMA correlation falls below a defined threshold.
The VMA crosses its higher timeframe average.
How to Use the Script:
Add to Your Chart:
Open TradingView and apply the indicator to your BTCUSD (or any other) chart.
The indicator will overlay on your chart, plotting the VMA along with optional elements such as the price line, volatility channels, and higher timeframe VMA.
Customize Your Settings:
Inputs:
Choose your data source (e.g., close price).
Adjust the VMA length (default is 33) if desired.
Visual Options:
Toggle trend colors, bar coloring, and additional visuals (price line, volatility channels, slope line, pivot points, and Super VMA) to suit your trading style.
Table Customization:
Set the table position, colors, border width, and font size to ensure key metrics are easily visible.
Higher Timeframe:
You can change the higher timeframe input (default is Daily) to better fit your analysis routine.
Interpret the Indicator:
Trend Analysis:
Watch the color-coded VMA line. A rising (orange) VMA suggests bullish momentum, while a falling (red) one indicates bearish conditions.
What Sets This Script Apart:
Dynamic Adaptation:
Unlike a fixed-period moving average, the VMA adjusts its sensitivity in real time by integrating a volatility measure, making it more adaptive to market swings.
Multi-Layered Analysis:
With integrated volatility channels, pivot points, slope analysis, and a higher timeframe VMA, this tool gives you a fuller picture of market dynamics.
Immediate Data at a Glance:
The real-time table consolidates multiple key metrics into one view, saving time and reducing the need for additional indicators.
Custom Alerts:
Pre-built alert conditions allow for timely notifications, ensuring you don’t miss critical market changes.
Sideways Scalper Peak and BottomUnderstanding the Indicator
This indicator is designed to identify potential peaks (tops) and bottoms (bottoms) within a market, which can be particularly useful in a sideways or range-bound market where price oscillates between support and resistance levels without a clear trend. Here's how it works:
RSI (Relative Strength Index): Measures the speed and change of price movements to identify overbought (above 70) and oversold (below 30) conditions. In a sideways market, RSI can help signal when the price might be due for a reversal within its range.
Moving Averages (MAs): The Fast MA and Slow MA provide a sense of the short-term and longer-term average price movements. In a sideways market, these can help confirm if the price is at the upper or lower extremes of its range.
Volume Spike: Looks for significant increases in trading volume, which might indicate a stronger move or a potential reversal point when combined with other conditions.
Divergence: RSI divergence occurs when the price makes a new high or low, but the RSI does not, suggesting momentum is weakening, which can be a precursor to a reversal.
How to Use in a Sideways Market
Identify the Range: First, visually identify the upper resistance and lower support levels of the sideways market on your chart. This indicator can help you spot these levels more precisely by signaling potential peaks and bottoms.
Peak Signal :
When to Look: When the price approaches the upper part of the range.
Conditions: The indicator will give a 'Peak' signal when:
RSI is over 70, indicating overbought conditions.
There's bearish divergence (price makes a higher high, but RSI doesn't).
Volume spikes, suggesting strong selling interest.
Price is above both Fast MA and Slow MA, indicating it's at a potentially high point in the range.
Action: This signal suggests that the price might be at or near the top of its range and could reverse downwards. A trader might consider selling or shorting here, expecting the price to move towards the lower part of the range.
Bottom Signal:
When to Look: When the price approaches the lower part of the range.
Conditions: The indicator will give a 'Bottom' signal when:
RSI is below 30, indicating oversold conditions.
There's bullish divergence (price makes a lower low, but RSI doesn't).
Volume spikes, suggesting strong buying interest.
Price is below both Fast MA and Slow MA, indicating it's at a potentially low point in the range.
Action: This signal suggests that the price might be at or near the bottom of its range and could reverse upwards. A trader might consider buying here, expecting the price to move towards the upper part of the range.
Confirmation: In a sideways market, false signals can occur due to the lack of a strong trend. Always look for confirmation:
Volume Confirmation: A significant volume spike can add confidence to the signal.
Price Action: Look for price action like candlestick patterns (e.g., doji, engulfing patterns) that confirm the reversal.
Time Frame: Consider using this indicator on multiple time frames. A signal on a shorter time frame (like 15m or 1h) might be confirmed by similar conditions on a longer time frame (4h or daily).
Risk Management: Since this is designed for scalping in a sideways market:
Set Tight Stop-Losses: Due to the quick nature of reversals in range-bound markets, place stop-losses close to your entry to minimize loss.
Take Profit Levels: Set profit targets near the opposite end of the range or use a trailing stop to capture as much of the move as possible before it reverses again.
Practice: Before trading with real money, practice with this indicator on historical data or in a paper trading environment to understand how it behaves in different sideways market scenarios.
Key Points for New Traders
Patience: Wait for all conditions to align before taking a trade. Sideways markets require patience as the price might hover around these levels for a while.
Not All Signals Are Equal: Sometimes, even with all conditions met, the market might not reverse immediately. Look for additional context or confirmation.
Continuous Learning: Understand that this indicator, like any tool, isn't foolproof. Learn from each trade, whether it's a win or a loss, and adjust your strategy accordingly.
By following these guidelines
Bollinger Bounce Reversal Strategy – Visual EditionOverview:
The Bollinger Bounce Reversal Strategy – Visual Edition is designed to capture potential reversal moves at price extremes—often termed “bounce points”—by using a combination of technical indicators. The strategy integrates Bollinger Bands, MACD, and volume analysis, and it provides rich on‑chart visual cues to help traders understand its signals and conditions. Additionally, the strategy enforces a maximum of 5 trades per day and uses fixed risk management parameters. This publication is intended for educational purposes and offers a systematic, transparent approach that you can further adjust to fit your market or risk profile.
How It Works:
Bollinger Bands:
A 20‑period simple moving average (SMA) and a user‑defined standard deviation multiplier (default 2.0) are used to calculate the Bollinger Bands.
When the price reaches or crosses these bands (i.e. falls below the lower band or rises above the upper band), it suggests that the price is in an extreme, potentially oversold or overbought, state.
MACD Filter:
The MACD (calculated with standard lengths, e.g. 12, 26, 9) provides momentum information.
For a bullish (long) signal, the MACD line should be above its signal line; for a bearish (short) signal, the MACD line should be below.
Volume Confirmation:
The strategy uses a 20‑period volume moving average to determine if current volume is strong enough to validate a signal.
A signal is confirmed only if the current volume is at or above a specified multiple (by default, 1.0×) of this moving average, ensuring that the move is supported by increased market participation.
Visual Cues:
Bollinger Bands and Fill: The basis (SMA), upper, and lower Bollinger Bands are plotted, and the area between the upper and lower bands is filled with a semi‑transparent color.
Signal Markers: When a long or short signal is generated, corresponding markers (labels) appear on the chart.
Background Coloring: The chart’s background changes color (green for long signals and red for short signals) on the bars where signals occur.
Information Table: An on‑chart table displays key indicator values (MACD, signal line, volume, average volume) and the number of trades executed that day.
Entry Conditions:
Long Entry:
A long trade is triggered when the previous bar’s close is below the lower Bollinger Band and the current bar’s close crosses above it, combined with a bullish MACD condition and strong volume.
Short Entry:
A short trade is triggered when the previous bar’s close is above the upper Bollinger Band and the current bar’s close crosses below it, with a bearish MACD condition and high volume.
Risk Management:
Daily Trade Limit: The strategy restricts trading to no more than 5 trades per day.
Stop-Loss and Take-Profit:
For each position, a stop loss is set at a fixed percentage away from the entry price (typically 2%), and a take profit is set to target a 1:2 risk-reward ratio (typically 4% from the entry price).
Backtesting Setup:
Initial Capital: $10,000
Commission: 0.1% per trade
Slippage: 1 tick per bar
These realistic parameters help ensure that backtesting results reflect the conditions of an average trader.
Disclaimer:
Past performance is not indicative of future results. This strategy is experimental and provided solely for educational purposes. It is essential to backtest extensively and paper trade before any live deployment. All risk management practices are advisory, and you should adjust parameters to suit your own trading style and risk tolerance.
Conclusion:
By combining Bollinger Bands, MACD, and volume analysis, the Bollinger Bounce Reversal Strategy – Visual Edition provides a clear, systematic method to identify potential reversal opportunities at price extremes. The added visual cues help traders quickly interpret signals and assess market conditions, while strict risk management and a daily trade cap help keep trading disciplined. Adjust and refine the settings as needed to better suit your specific market and risk profile.
Pivot Breakouts with MA FilterPivot Breakouts with MA Filter
This script identifies pivot breakouts (both bullish and bearish) using support and resistance levels and overlays breakout labels, arrows, and customizable Moving Averages. It allows traders to fine-tune their analysis with multiple options to customize the display and behavior of the breakout signals.
Key Features:
Pivot Support and Resistance:
Support is defined by the lowest low in a given range (using the lookback period).
Resistance is defined by the highest high in a given range (using the lookback period).
The script draws support and resistance boxes on the chart when these levels change, providing clear visual markers for potential breakout areas.
Breakout Detection:
Bullish Breakout: A breakout above resistance and the price is above the selected moving average (MA).
Bearish Breakout: A breakdown below support and the price is below the selected MA.
Breakout events trigger labels indicating "Resistance Breakout" (for bullish) and "Support Breakout" (for bearish).
The option to show Breakout Labels (with customizable colors) is available in the settings.
Moving Average Filter:
You can select the type of moving average (SMA or EMA) to use for filtering breakout signals.
MA Filter Length: This input allows you to set the period of the moving average to act as a filter for breakout conditions. This helps ensure the breakout aligns with the broader trend.
Multiple Moving Averages (Optional):
You can add up to four different moving averages (SMA or EMA), each with its own length and color.
You have the option to toggle each moving average on or off and adjust their appearance settings (color and length).
The script supports dynamic plots for each moving average, helping to visualize multiple trends at once.
Breakout Arrows:
The script can display arrows (or other shapes) below the bar for bullish breakouts and above the bar for bearish breakouts.
Arrows are optional and can be turned on/off in the settings.
You can customize the shape of the arrows (e.g., arrow, circle, square, or even a large or small triangle).
Customizable Colors and Labels:
The color of the breakout labels and arrows can be customized in the settings to make them fit your chart's style and personal preferences.
Alerts:
Alerts can be set for new support and resistance levels, as well as when breakouts occur (either bullish or bearish).
The alert system helps to notify traders when significant price action takes place without needing to constantly monitor the chart.
Settings:
Select Moving Average Type (SMA or EMA)
MA Filter Length: Length of the moving average used for filtering breakout conditions.
Lookback Range: Determines the range over which the pivot points (support and resistance) are calculated.
Breakout Labels: Option to turn on/off breakout labels, and customize label colors.
Show Breakout Arrows: Enable or disable breakout arrows with shape options (arrow, circle, square, large triangle, small triangle).
Multiple Moving Averages: Option to show up to 4 MAs with customizable colors and lengths.
Scalping Tool with Dynamic Take Profit & Stop Loss### **Scalping Indicator: Summary and User Guide**
The **Scalping Indicator** is a powerful tool designed for traders who focus on short-term price movements. It combines **Exponential Moving Averages (EMA)** for trend identification and **Average True Range (ATR)** for dynamic stop loss and take profit levels. The indicator is highly customizable, allowing traders to adapt it to their specific trading style and risk tolerance.
---
### **Key Features**
1. **Trend Identification**:
- Uses two EMAs (Fast and Slow) to identify trend direction.
- Generates **Buy Signals** when the Fast EMA crosses above the Slow EMA.
- Generates **Sell Signals** when the Fast EMA crosses below the Slow EMA.
2. **Dynamic Take Profit (TP) and Stop Loss (SL)**:
- **Take Profit (TP)**:
- TP levels are calculated as a percentage above (for long trades) or below (for short trades) the entry price.
- TP levels are **dynamically recalculated** when the price reaches the initial target, allowing for multiple TP levels during a single trade.
- **Stop Loss (SL)**:
- SL levels are calculated using the ATR multiplier, providing a volatility-based buffer to protect against adverse price movements.
3. **Separate Settings for Long and Short Trades**:
- Users can independently enable/disable and configure TP and SL for **Buy** and **Sell** orders.
- This flexibility ensures that the indicator can be tailored to different market conditions and trading strategies.
4. **Visual Signals and Levels**:
- **Buy/Sell Signals**: Clearly marked on the chart with labels ("BUY" or "SELL").
- **TP and SL Levels**: Plotted on the chart for both long and short trades, making it easy to visualize risk and reward.
---
### **How to Use the Scalping Indicator**
#### **1. Setting Up the Indicator**
- Apply the indicator to your chart in TradingView.
- Configure the input parameters based on your trading preferences:
- **Fast Length**: The period for the Fast EMA (default: 5).
- **Slow Length**: The period for the Slow EMA (default: 13).
- **ATR Length**: The period for the ATR calculation (default: 14).
- **Buy/Sell TP and SL**: Enable/disable and set the percentage or ATR multiplier for TP and SL levels.
#### **2. Interpreting the Signals**
- **Buy Signal**:
- When the Fast EMA crosses above the Slow EMA, a "BUY" label appears below the price bar.
- The TP and SL levels for the long trade are plotted on the chart.
- **Sell Signal**:
- When the Fast EMA crosses below the Slow EMA, a "SELL" label appears above the price bar.
- The TP and SL levels for the short trade are plotted on the chart.
#### **3. Managing Trades**
- **Take Profit (TP)**:
- When the price reaches the initial TP level, the indicator automatically recalculates the next TP level based on the new close price.
- This allows traders to capture additional profits as the trend continues.
- **Stop Loss (SL)**:
- The SL level is based on the ATR multiplier, providing a dynamic buffer against market volatility.
- If the price hits the SL level, the trade is considered closed, and the indicator resets.
#### **4. Customization**
- Adjust the **Fast Length** and **Slow Length** to suit your trading timeframe (e.g., shorter lengths for scalping, longer lengths for swing trading).
- Modify the **ATR Multiplier** and **TP Percentage** to align with your risk-reward ratio.
- Enable/disable TP and SL for long and short trades based on your trading strategy.
---
### **Tips for Getting the Best Results**
1. **Combine with Price Action**:
- Use the Scalping Indicator in conjunction with support/resistance levels, candlestick patterns, or other technical analysis tools to confirm signals.
2. **Optimize for Your Timeframe**:
- For **scalping**, use shorter EMA lengths (e.g., Fast: 5, Slow: 13).
- For **swing trading**, use longer EMA lengths (e.g., Fast: 10, Slow: 20).
3. **Adjust Risk Management**:
- Use a smaller **ATR Multiplier** for tighter stop losses in low-volatility markets.
- Increase the **TP Percentage** to allow for larger price movements in high-volatility markets.
4. **Backtest and Practice**:
- Test the indicator on historical data to understand its performance in different market conditions.
- Use a demo account to practice trading with the indicator before applying it to live trading.
---
### **Conclusion**
The **Scalping Indicator** is a versatile and user-friendly tool for traders who want to capitalize on short-term price movements. By combining trend-following EMAs with dynamic TP and SL levels, it provides a clear and systematic approach to trading. Whether you're a scalper or a swing trader, this indicator can help you identify high-probability setups and manage risk effectively. Customize it to fit your strategy, and always remember to combine it with sound risk management principles for the best results.
London Breakout by Edwin KPurpose:
The strategy visualizes breakouts based on price action during the London session. It highlights the candles from 09:59 AM to 01:59 PM UTC+3 with different colors depending on whether the price is above or below the high/low from the 10 AM candle.
Key Parts:
Timestamps:
The code defines specific times for the 09:59 AM candle, 10:00 AM candle, and 01:59 PM UTC+3 times.
The timestamp('UTC+3', ...) function creates the timestamps for those moments.
High and Low of the 10 AM Candle:
The high and low of the 10 AM candle are captured and stored in the ten_am_high and ten_am_low variables.
Bullish and Bearish Conditions:
If the price breaks above (bullish_break) or below (bearish_break) the high or low of the 10 AM candle, respectively.
Bar Coloring:
If the conditions are met (price breaking above or below the 10 AM levels), the script colors the candles during the time frame (09:59 AM to 01:59 PM).
Green color is applied for bullish breakouts.
Red color is applied for bearish breakouts.
SatoshiSteps Swing StrategyCore Components:
The indicator combines three popular technical analysis tools:
Ichimoku Cloud: This helps identify the trend, support, and resistance levels.
RSI (Relative Strength Index): This momentum oscillator identifies overbought and oversold conditions.
MACD (Moving Average Convergence Divergence): This trend-following momentum indicator shows the relationship between two moving averages1 of prices.
Logic:
The strategy aims to identify potential swing trading opportunities by combining signals from these three components. It essentially looks for:
Trend Confirmation (Ichimoku):
Price should be above the Ichimoku cloud for buy signals.
Price should be below the Ichimoku cloud for sell signals.
The Tenkan-sen (conversion line) should cross above the Kijun-sen (base line) for buy signals.
The Tenkan-sen should cross below the Kijun-sen for sell signals.
Overbought/Oversold Conditions (RSI):
RSI should be below the overbought level for buy signals (avoiding buying when the market is potentially overextended).
RSI should be above the oversold level for sell signals (avoiding selling when the market is potentially oversold).
Momentum Confirmation (MACD):
The MACD line should be above the signal line for buy signals (indicating upward momentum).
The MACD line should be below the signal line for sell signals (indicating downward momentum).
Buy Signal:
A buy signal is generated when all the following conditions are met:
The Tenkan-sen crosses above the Kijun-sen.
The price is above both the Senkou Span A and Senkou Span B (the cloud).
The RSI is below the overbought level.
The MACD line is above the signal line.
Sell Signal:
A sell signal is generated when all the following conditions are met:
The Tenkan-sen crosses below the Kijun-sen.
The price is below both the Senkou Span A and Senkou Span B (the cloud).
The RSI is above the oversold level.
The MACD line is below the signal line.
Key Considerations:
Time Frame: The indicator has built-in adjustments for 1-hour and 4-hour timeframes, optimizing the parameters for each.
Customization: You can customize the overbought/oversold RSI levels and the styles of the buy/sell signals (triangle, label, arrow, circle) through the indicator's settings.
Accuracy: While the strategy combines multiple indicators to improve accuracy, remember that no trading indicator is perfect. Market conditions can change rapidly, and false signals can occur.
Risk Management: Always use proper risk management techniques, such as stop-loss orders, and never risk more than you can afford to lose.