Masterpiece AnggaProjectMasterpiece AnggaProject – Precision Trading for XAU/USD
Discover Masterpiece AnggaProject, the ultimate precision trading strategy for XAU/USD scalpers and day traders! Built with meticulous attention to detail, this strategy leverages a custom blend of zero-lag moving averages and exponential moving averages to help you capture trend reversals and trade confidently, even in volatile gold markets. With powerful visual signals, easy-to-follow labels, and customizable inputs, AnggaProject brings clarity and control to your trading journey.
📈 Key Features
Accurate Buy and Sell Signals
AnggaProject uses crossover points between a Zero-Lag Moving Average (ZLMA) and Exponential Moving Average (EMA) to signal optimal entry points. When these two moving averages cross over or under each other, it generates clear buy ("Buy AnggaProject") or sell ("Sell AnggaProject") signals right on your chart.
Candle Coloring for Visual Confirmation
Every candle adapts its color based on the latest signal for easy tracking:
Green Candles – Indicate a Buy trend.
Red Candles – Indicate a Sell trend.
Gray Candles – Show areas of uncertainty when prices are within the "cloud" (between ZLMA and EMA), helping you stay cautious during potential consolidation.
Take Profit (TP) & Stop Loss (SL) Labels
Say goodbye to guessing where to exit! With automated "TP" and "SL" labels based on price movement, AnggaProject gives you quick insights into when it's time to secure profits or limit potential losses, ensuring effective risk management on every trade.
Adjustable Label Size for Clarity
Customize your experience with a built-in option to change the size of your "Buy AnggaProject" and "Sell AnggaProject" labels, so you can keep important information at the forefront and perfectly tailored to your chart’s layout.
Strategy Testing for Optimized Results
Run backtests with the Strategy Tester to see how AnggaProject performs in real market conditions. Adjust the trade size, initial capital, and other inputs to fine-tune the strategy to your preferences and maximize its effectiveness on XAU/USD.
⚙️ How It Works
The AnggaProject strategy combines the ZLMA and EMA to find precise trading signals:
Buy Signal: When ZLMA crosses above EMA, it signals a new bullish trend.
Sell Signal: When ZLMA crosses below EMA, it signals a bearish reversal. This crossover approach, paired with candle coloring and cloud zones, helps you visualize trends and potential reversals in real-time, making it ideal for high-paced trading environments.
💼 Perfect for Scalpers and Day Traders
If you’re looking to trade XAU/USD with speed and precision, AnggaProject is designed for you. Whether you're a scalper capturing quick moves or a day trader riding intraday trends, this strategy provides the tools and clarity you need for success. Join the AnggaProject community, and take your XAU/USD trading to the next level!
Ready to unlock the potential of AnggaProject? Add it to your chart, customize to fit your style, and experience smarter trading today!
Индикаторы и стратегии
ICT Setup 02 [TradingFinder] Breaker Blocks + Reversal Candles🔵 Introduction
The "Breaker Block" concept, widely utilized in ICT (Inner Circle Trader) technical analysis, is a crucial tool for identifying reversal points and significant market shifts. Originating from the "Order Block" concept, Breaker Blocks help traders pinpoint support and resistance levels. These blocks are essential for understanding market trends and recognizing optimal entry and exit points.
A Breaker Block is essentially a failed Order Block that changes its role when price action breaks through it. When an Order Block fails to hold as a support or resistance level, it reverses its function, becoming a Breaker Block.
There are two primary types : Bullish Breaker Blocks and Bearish Breaker Blocks. These Breaker Blocks align with the prevailing market trend and indicate potential entry points after a liquidity sweep or a shift in market structure.
Understanding and applying the Breaker Block strategy enables traders to capitalize on the behavior of institutional investors, enhancing their trading outcomes.
Bullish Setup :
Bearish Setup :
🔵 How to Use
The ICT Setup 02 indicator designed to automate the identification of Bullish and Bearish Breaker Blocks. This tool enables traders to easily spot these blocks on a chart and utilize them for entering or exiting trades. Below is a breakdown of how to use this indicator in both bullish and bearish setups.
🟣 Bullish Breaker Block Setup
A Bullish Breaker Block setup is identified in an uptrend, where it serves as a potential entry point. This setup occurs when a Bearish Order Block fails and the price moves above the high of that Order Block. In this scenario, the previously bearish Order Block turns into a Bullish Breaker Block, which now acts as a support level for the price.
To trade a Bullish Breaker Block, wait for the price to retest this newly formed support level. Confirmation of the uptrend can be achieved by analyzing lower time frames for further market structure shifts or other bullish indicators.
A successful retest of the Bullish Breaker Block provides a high-probability entry point for a long trade, as it signals institutional support. Traders often place their stop-loss below the low of the Breaker Block zone to minimize risk.
🟣 Bearish Breaker Block Setup
A Bearish Breaker Block setup, conversely, is used in a downtrend to identify potential sell opportunities. This setup forms when a Bullish Order Block fails, and the price moves below the low of that Order Block.
Once this Order Block is broken, it reverses its role and becomes a Bearish Breaker Block, providing resistance to the price as it pushes downward. For a Bearish Breaker Block trade, wait for the price to retest this resistance level.
A confirmation of the downtrend, such as a market structure shift on a lower time frame or additional bearish signals, strengthens the setup. The Bearish Breaker Block retest provides an opportunity to enter a short position, with a stop-loss placed just above the high of the Breaker Block zone.
🔵 Settings
Pivot Period : This setting controls the look-back period used to identify pivot points that contribute to the detection of Order Blocks. A higher period captures longer-term pivots, while a lower period focuses on more recent price action. Adjusting this parameter allows traders to fine-tune the indicator to match their trading time frame.
Breaker Block Validity Period : This setting defines how long a Breaker Block remains valid based on the number of bars elapsed since its formation. Increasing the validity period keeps Breaker Blocks active for a longer duration, which can be useful for higher time frame analysis.
Mitigation Level BB : This option lets traders choose the level of the Order Block at which the price is expected to react. Options like "Proximal," "50% OB," and "Distal" adjust the zone where a reaction may occur, offering flexibility in setting up the entry and stop-loss levels.
Breaker Block Refinement : The refinement option refines the Breaker Block zone to display a more precise range for aggressive or defensive trading approaches. The "Aggressive" mode provides a tighter range for risk-tolerant traders, while the "Defensive" mode expands the zone for those with a more conservative approach.
🔵 Conclusion
The Breaker Block indicator provides traders with a sophisticated tool for identifying key reversal zones in the market. By leveraging Breaker Blocks, traders can gain insights into institutional order flow and predict critical support and resistance levels.
Using Breaker Blocks in conjunction with other ICT concepts, like Fair Value Gaps or liquidity sweeps, enhances the reliability of trading signals. This indicator empowers traders to make informed decisions, aligning their trades with institutional moves in the market.
As with any trading strategy, it is crucial to incorporate proper risk management, using stop-losses and position sizing to minimize potential losses. The Breaker Block strategy, when applied with discipline and thorough analysis, serves as a powerful addition to any trader’s toolkit.
High/Low Location Frequency [LuxAlgo]The High/Low Location Frequency tool provides users with probabilities of tops and bottoms at user-defined periods, along with advanced filters that offer deep and objective market information about the likelihood of a top or bottom in the market.
🔶 USAGE
There are four different time periods that traders can select for analysis of probabilities:
HOUR OF DAY: Probability of occurrence of top and bottom prices for each hour of the day
DAY OF WEEK: Probability of occurrence of top and bottom prices for each day of the week
DAY OF MONTH: Probability of occurrence of top and bottom prices for each day of the month
MONTH OF YEAR: Probability of occurrence of top and bottom prices for each month
The data is displayed as a dashboard, which users can position according to their preferences. The dashboard includes useful information in the header, such as the number of periods and the date from which the data is gathered. Additionally, users can enable active filters to customize their view. The probabilities are displayed in one, two, or three columns, depending on the number of elements.
🔹 Advanced Filters
Advanced Filters allow traders to exclude specific data from the results. They can choose to use none or all filters simultaneously, inputting a list of numbers separated by spaces or commas. However, it is not possible to use both separators on the same filter.
The tool is equipped with five advanced filters:
HOURS OF DAY: The permitted range is from 0 to 23.
DAYS OF WEEK: The permitted range is from 1 to 7.
DAYS OF MONTH: The permitted range is from 1 to 31.
MONTHS: The permitted range is from 1 to 12.
YEARS: The permitted range is from 1000 to 2999.
It should be noted that the DAYS OF WEEK advanced filter has been designed for use with tickers that trade every day, such as those trading in the crypto market. In such cases, the numbers displayed will range from 1 (Sunday) to 7 (Saturday). Conversely, for tickers that do not trade over the weekend, the numbers will range from 1 (Monday) to 5 (Friday).
To illustrate the application of this filter, we will exclude results for Mondays and Tuesdays, the first five days of each month, January and February, and the years 2020, 2021, and 2022. Let us review the results:
DAYS OF WEEK: `2,3` or `2 3` (for crypto) or `1,2` or `1 2` (for the rest)
DAYS OF MONTH: `1,2,3,4,5` or `1 2 3 4 5`
MONTHS: `1,2` or `1 2`
YEARS: `2020,2021,2022` or `2020 2021 2022`
🔹 High Probability Lines
The tool enables traders to identify the next period with the highest probability of a top (red) and/or bottom (green) on the chart, marked with two horizontal lines indicating the location of these periods.
🔹 Top/Bottom Labels and Periods Highlight
The tool is capable of indicating on the chart the upper and lower limits of each selected period, as well as the commencement of each new period, thus providing traders with a convenient reference point.
🔶 SETTINGS
Period: Select how many bars (hours, days, or months) will be used to gather data from, max value as default.
Execution Window: Select how many bars (hours, days, or months) will be used to gather data from
🔹 Advanced Filters
Hours of day: Filter which hours of the day are excluded from the data, it accepts a list of hours from 0 to 23 separated by commas or spaces, users can not mix commas or spaces as a separator, must choose one
Days of week: Filter which days of the week are excluded from the data, it accepts a list of days from 1 to 5 for tickers not trading weekends, or from 1 to 7 for tickers trading all week, users can choose between commas or spaces as a separator, but can not mix them on the same filter.
Days of month: Filter which days of the month are excluded from the data, it accepts a list of days from 1 to 31, users can choose between commas or spaces as separator, but can not mix them on the same filter.
Months: Filter months to exclude from data. Accepts months from 1 to 12. Choose one separator: comma or space.
Years: Filter years to exclude from data. Accepts years from 1000 to 2999. Choose one separator: comma or space.
🔹 Dashboard
Dashboard Location: Select both the vertical and horizontal parameters for the desired location of the dashboard.
Dashboard Size: Select size for dashboard.
🔹 Style
High Probability Top Line: Enable/disable `High Probability Top` vertical line and choose color
High Probability Bottom Line: Enable/disable `High Probability Bottom` vertical line and choose color
Top Label: Enable/disable period top labels, choose color and size.
Bottom Label: Enable/disable period bottom labels, choose color and size.
Highlight Period Changes: Enable/disable vertical highlight at start of period
Enhanced Keltner Trend • ObiQuantEnhanced Keltner Trend
Overview:
The Keltner Trend is a Technical Indicator inspired by Keltner Channels, a common banded volatility indicator. Constituted of user-defined Upper and Lower channels, which they range away from the Middle Line. This can be a multiple of the daily high/low range, or Average True Range.
The Enhanced Keltner Trend is a Trend-Following indicator that offers more control over the Keltner Channels, ATR and the smoothing MA's to help investors and traders navigate the market with more accuracy.
Notes:
If you don't want to use the ATR, the indicator will use a high-low calculation over a user-defined period for a smoothed signals.
Credits to www.tradingview.com for the script, it’s an improved version of his.
Thank you!
SplashAlgo - ATR indicator(KillerTrader's Concept)This Indicator is based on @KillerTrader_'s concept to avoid false breakouts
When breakout happens and you see short period ATR moving above long period ATR, the stock will give big moves on the upside.
You can avoid false breakouts through this method.
Indicator Setting:-
14/50 for 1-2 weeks momentum, 14/100 for 1-3 months holding works well.
Trend Lines Sukru DngznTrend tracking, ema tracking, dashboard, support and resistance are working for you.
Moving Average Simple Tool [OmegaTools]This TradingView script is a versatile Moving Average Tool that offers users multiple moving average types and a customizable overbought and oversold (OB/OS) sensitivity feature. It is designed to assist in identifying potential price trends, reversals, and momentum by using different average calculations and providing visual indicators for deviation levels. Below is a detailed breakdown of the settings, functionality, and visual elements within the Moving Average Simple Tool.
Indicator Overview
Indicator Name: Moving Average Simple Tool
Short Title: MA Tool
Purpose: Provides a choice of six moving average types with configurable sensitivity, which helps traders identify trend direction, potential reversal zones, and overbought or oversold conditions.
Input Parameters
Source (src): This option allows the user to select the data source for the moving average calculation. By default, it is set to close, but users can choose other options like open, high, low, or any custom price data.
Length (lnt): Defines the period length for the moving average. By default, it is set to 21 periods, allowing users to adjust the moving average sensitivity to either shorter or longer periods.
Average Type (mode): This input defines the moving average calculation type. Six types of averages are available:
SMA (Simple Moving Average)
EMA (Exponential Moving Average)
WMA (Weighted Moving Average)
VWMA (Volume-Weighted Moving Average)
RMA (Rolling Moving Average)
Middle Line: Calculates the average between the highest and lowest price over the period specified in Length. This is useful for a mid-range line rather than a traditional moving average.
Sensitivity (sens): This parameter controls the sensitivity of the overbought and oversold levels. The sensitivity value can range from 1 to 40, where a lower value represents a higher sensitivity and a higher value allows for smoother OB/OS zones.
Color Settings:
OS (Oversold Color, upc): The color applied to deviation areas that fall below the oversold threshold.
OB (Overbought Color, dnc): The color applied to deviation areas that exceed the overbought threshold.
Middle Line Color (midc): A gradient color that visually blends between overbought and oversold colors for smoother visual transitions.
Calculation Components
Moving Average Calculation (mu): Based on the chosen Average Type, this calculation derives the moving average or middle line value for the selected source and length.
Deviation (dev): The deviation of the source value from the moving average is calculated. This is useful to determine whether the current price is significantly above or below the average, signaling potential buying or selling opportunities.
Overbought (ob) and Oversold (os) Levels: These levels are calculated using a linear percentile interpolation based on the deviation, length, and sensitivity inputs. The higher the sensitivity, the narrower the overbought and oversold zones, allowing users to capture more frequent signals.
Visual Elements
Moving Average Line (mu): This line represents the moving average based on the selected calculation method and is plotted with a dynamic color based on deviation thresholds. When the deviation crosses into overbought or oversold zones, it shifts to the corresponding OB/OS colors, providing a visual indication of potential trend reversals.
Deviation Plot (dev): This plot visualizes the deviation values as a column plot, with colors matching the overbought, oversold, or neutral states. This helps users to quickly assess whether the price is trending or reverting back to its mean.
Overbought (ob) and Oversold (os) Levels: These levels are plotted as fixed lines, helping users identify when the deviation crosses into overbought or oversold zones.
Rule No#1Gunakan Candle Heikin Ashi pada pada timeframe 4 jam, strategi ini cocok untuk swing trading, dan anda harus bisa menghindari sinyal ketika sideway anda bisa menggunakan ADX untuk mengidentifikasi sinyal sidewaynya. beli ketika muncul sinyal beli dan jual ketik ada sinyal OB atau ketika muncul sinyal jual.
Market Structure Algo V2 [OmegaTools]The Market Structure Algo V2 (MS Algo V2) is an advanced TradingView indicator developed by OmegaTools to provide traders with a comprehensive analysis of market structure. This tool refines the insights provided by its predecessor, combining enhanced pivot point analysis, dynamic market structure scoring, and zone visualization to deliver an intuitive view of potential market movements. Through custom settings, the MS Algo V2 allows users to tailor the indicator to fit their trading strategies more closely, offering enhanced adaptability to both short-term and long-term trends.
Core Functionality
The MS Algo V2 differentiates between internal and external market structures by analyzing pivot highs and lows over user-defined periods. The internal market structure focuses on shorter timeframes, providing insights into recent price action, while the external structure considers broader trends. This dual-layered approach helps traders distinguish between immediate and overarching market trends.
The indicator introduces improved visualization for areas of interest or zones around pivot points, adjustable through zone distance settings. These zones serve as potential support and resistance areas, helping traders anticipate price reactions at key levels. In addition to the zones, the indicator now provides gradient-based color coding on bars, reflecting the market structure’s bullish or bearish intensity. This visual enhancement aids in quickly interpreting the current trend's strength.
Dynamic signal generation has been refined in MS Algo V2. The indicator now offers both classic signals and breakout signals based on the market structure, including entries, exits, and change-of-character (CHoCH) alerts. Signals are generated based on price interactions with pivot levels, indicating potential long and short opportunities.
Operational Mechanism
The MS Algo V2 calculates pivot highs and lows over specified periods to define internal and external market structures. A market structure score is derived from these pivot points, classifying the market into bullish or bearish extremes. Signals are generated as the closing price interacts with these levels, marking entry and exit points based on the calculated structure.
A new feature in this version is zone visualization, where zones are plotted around a dynamic moving average derived from the exponential and simple moving averages (EMA and SMA). The zones are adjusted based on ATR (Average True Range) and the specified zone distance percentile, providing a clear visual representation of potential support and resistance regions. The external and internal zones are represented with different levels of transparency for quick reference.
Usage Guidelines
To apply the MS Algo V2 to your TradingView charts, adjust the internal and external market structure settings to match your preferred analysis timeframes. The line style and width of each structure can also be customized for a tailored view. The Zone Distance setting allows users to define the percentile range of the zones around the moving average, providing further flexibility in identifying potential areas of support and resistance.
For a color-coded overview of market sentiment, the bar gradient feature can be enabled. This option uses a gradient that reflects the bullish or bearish intensity of the market structure, giving traders a visual cue on the market’s overall trend. Color-coded signals and zone fill areas further assist in interpreting the current market structure and identifying potential trade areas.
The indicator includes customizable alerts for long and short signals, as well as specific breakout alerts (BOS) and change-of-character (CHoCH) signals. These alerts can help traders stay informed about significant market structure changes, supporting timely trading decisions.
Understanding the Indicator’s Originality
The MS Algo V2 stands out due to its robust integration of pivot analysis, zone visualization, and market structure scoring, offering a unique perspective on market dynamics. With features like color-coded signals, bar gradients, and configurable alerts, MS Algo V2 provides an edge in understanding both the current market environment and potential turning points. This indicator’s ability to represent the market’s structure visually makes it a powerful addition to any trader’s toolkit, especially for those seeking a deeper, multi-layered approach to market analysis.
TechnoCharts Supertrend The Supertrend Strategy with Daily Exit at 3:20 PM is a trend-following trading strategy that uses the Supertrend indicator to generate buy and sell signals based on the direction of the trend. Here’s a quick summary of its key elements:
1. Supertrend Indicator
The Supertrend is calculated using the Average True Range (ATR), which is a volatility indicator.
A multiplier (typically set to 3) is applied to the ATR to determine the threshold for trend shifts.
When the price crosses above or below the calculated thresholds (up and down), the trend direction changes.
ATR Period (default: 10) and ATR Multiplier (default: 3.0) are adjustable inputs.
2. Trend and Signal Logic
Buy Signal: Generated when the trend shifts from down to up.
Sell Signal: Generated when the trend shifts from up to down.
These signals are displayed on the chart along with optional labels to highlight buy and sell points.
3. Daily Exit Condition
The strategy includes a time-based exit, which closes any open positions at 3:20 PM each day.
This daily exit helps avoid holding positions overnight and mitigates risk from market gaps.
4. Position Sizing
The strategy uses 100% of equity for each trade by default, which is configurable.
5. Alerts
Alerts are set up for buy, sell, and trend change signals, allowing traders to receive notifications when these events occur.
This strategy is best suited for traders who want to follow trends during the day and avoid holding positions overnight, combining trend-following with a daily closing mechanism to manage risk.
Breakout MasterA range breakout occurs when the price moves outside a defined range or consolidation zone, either above resistance or below support. This breakout often signals a potential new trend direction, as it indicates increased momentum and interest in the asset beyond the previous range boundaries. Traders may use range breakouts as entry signals for trending moves.
EMA 50 Cross with Bullish/Bearish SignalThis Indicator will generate you a buy and sell signal based on ema
ali_he96This is a customized version of the HALFTREND indicator.
Trading Method:
Timeframe: 1-hour or higher.
Buy Signal: When a buy signal is generated, open a long position and set the stop loss just below the lowest level.
Sell Signal: When a sell signal is generated, open a short position and set the stop loss just above the highest level.
Risk Management:
Make sure to learn risk management principles before trading. Always maintain a minimum risk-to-reward ratio of 2
You can set alerts to receive notifications for buy and sell signals.
Smoothed Heiken Ashi Trend FilterThis indicator applies the Heiken Ashi technique with added smoothing and trend filtering to help reduce noise and improve trend detection.
Components of the Indicator:
Heiken Ashi Calculations:
Heiken Ashi Close (ha_close): This is the smoothed average of the current bar’s open, high, low, and close prices, calculated with a simple moving average (SMA) to filter out noise.
Heiken Ashi Open (ha_open): This is the average of the previous Heiken Ashi Open and the current Heiken Ashi Close. It’s also initialized to smooth the transition on the first bar.
Heiken Ashi High (ha_high) and Low (ha_low): These values are calculated as the highest and lowest values among the high, Heiken Ashi Open, and Heiken Ashi Close for each bar.
Smoothing and Noise Reduction:
Smoothing Length: The indicator applies a smoothing length to the Heiken Ashi Close, calculated with an SMA. This reduces minor fluctuations, giving a clearer view of the price action.
Minimum Body Size Filter: This filter calculates the body size of each Heiken Ashi candle and compares it to a percentage of the Average True Range (ATR). Only significant candles (those with larger bodies) are plotted, reducing weak or indecisive signals.
Trend Filtering with Moving Average:
The indicator uses a simple moving average (SMA) as a trend filter. By comparing the Heiken Ashi Close to the moving average:
Bullish Trend: The Heiken Ashi candle is green when it’s above the moving average.
Bearish Trend: The Heiken Ashi candle is red when it’s below the moving average.
How to Use This Indicator:
Trend Identification:
Green candles signify a bullish trend, while red candles signify a bearish trend.
The smoothing and trend filtering make it easier to identify sustained trends and avoid reacting to short-term fluctuations.
Filtering Out Noise:
Minor price fluctuations and small-bodied candles (often resulting in indecisive signals) are filtered out, leaving only significant signals.
Adjustable Parameters:
Smoothing Length: Controls the degree of smoothing applied to the Heiken Ashi Close value. Increasing this value will make the Heiken Ashi candles smoother.
Minimum Body Size: This is a percentage of the ATR, used to filter out small or indecisive candles.
Trend Moving Average Length: Controls the period of the moving average used as a trend filter.
This Smoothed Heiken Ashi Trend Filter indicator is useful for identifying trends and filtering out noisy signals. By smoothing and filtering, it helps traders focus on the overall trend rather than minor price movements.
Let me know if there’s anything more you’d like to add or adjust!
Sequence Waves [OmegaTools]the sequence waves indicator, developed by omegatools, is a multi-functional tool designed to detect trends, sequences, and potential reversal signals based on price movements and volume. this indicator has two main modes, "trend" and "sequence," which determine how the indicator calculates directional changes. additional enhancements in this version include reversal signals, allowing users to identify potential long and short opportunities with specific entry cues.
input parameters
mode (mode): chooses the calculation basis for directional movement.
- "trend": uses a midline calculated from the highest high and lowest low over the "trend mode length" period to assess if the price is in an upward or downward trend.
- "sequence": compares the current price to the closing price of the previous "sequence mode length" period to detect shifts in direction.
counter mode (modec): sets whether the counter increments by a fixed amount (1 or -1) or the volume of the bar, impacting the indicator’s sensitivity.
- "fixed": increments or decrements the counter by 1.
- "volume": increments or decrements based on the period’s volume, making the indicator more responsive to high-volume periods.
percentile length (lntp): defines the lookback period for calculating overbought and oversold thresholds using a percentile method. shorter lengths make ob/os levels more reactive.
sensitivity (sens): controls the percentile-based ob/os thresholds, ranging from 10 to 100. higher values narrow ob/os zones, while lower values widen them, impacting signal frequency.
trend mode length (lnt1): sets the period length for midline calculation in trend mode, defaulting to 21. longer periods smooth the midline for detecting major trends.
sequence mode length (lnt2): sets the lookback period in sequence mode, with a default of 4. shorter lengths capture more frequent directional changes, while longer lengths smooth signals.
visual colors:
- up color (upc): sets the color for upward movements.
- down color (dnc): sets the color for downward movements.
calculation logic
midline calculation: in trend mode, a midline is derived from the average of the highest high and lowest low over the "trend mode length" period, acting as a reference to detect upward or downward movements.
counter calculation:
- in trend mode, if the close price is above the midline, the counter increases (or volume if volume mode is selected). it decreases when the price is below.
- in sequence mode, the counter increases if the close is above the closing price from "sequence mode length" periods ago and decreases if below.
the counter resets to zero on direction changes, creating clear directional transitions.
overbought/oversold percentiles: separate arrays track the counter’s values each time the direction changes, creating historical up and down values. ob and os thresholds are dynamically determined based on these arrays, with sizes limited by the percentile length and sensitivity inputs.
reversal signals: two new variables, "long" and "short," detect potential reversal points when the counter crosses specific thresholds:
- long: a long signal is generated when the counter switches to positive and exceeds the down percentile.
- short: a short signal is triggered when the counter switches to negative and exceeds the up percentile.
visual and display elements
counter plot: plots the counter value on the chart with color-coded columns, making it easy to spot directional momentum.
up and down percentiles: displays overbought (up percentile) and oversold (down percentile) thresholds to identify potential reversal zones.
regime background: the background color changes based on market regime:
- bullish (up percentile > down percentile): greenish background.
- bearish (down percentile > up percentile): reddish background.
- neutral (both percentiles equal): grayish background.
reversal signals: plotted as small triangles on the chart for visual confirmation of potential long (triangle up) and short (triangle down) reversal signals.
obs background: changes color when the counter exceeds ob or os thresholds, creating a visual cue for extreme market conditions:
- overbought: background changes to a faint down color.
- oversold: background changes to a faint up color.
status table: displayed on the right side of the chart, providing real-time status information:
- status: shows "overbought," "oversold," "long," "short," or "none" based on the current counter position.
- regime: indicates whether the market is in a "bullish," "bearish," or "neutral" state based on the percentile comparison.
- percentile up/down: displays the current up and down percentiles for quick reference.
how to use the indicator
trend following: in trend mode, use the midline-based counter to gauge if the market is in an uptrend (positive counter) or downtrend (negative counter).
reversal detection: the ob/os thresholds assist in identifying potential reversal points. when the counter exceeds the up percentile, it may indicate an overbought state, suggesting a bearish reversal. similarly, dropping below the down percentile may indicate an oversold state, suggesting a bullish reversal.
entry signals: use the long and short reversal signals for potential entry points, particularly in trending or range-bound markets. these signals are indicated by up and down triangles.
sequence trading: in sequence mode, the indicator tracks shorter-term directional shifts, making it suitable for detecting smaller momentum patterns based on recent price comparisons.
volume sensitivity: selecting volume mode enhances sensitivity to high-volume moves, allowing it to detect stronger market activity in both trend and sequence modes.
the sequence waves indicator is suited to both short-term and long-term traders. it allows for detailed trend analysis, reversal detection, and dynamic ob/os signals. the inclusion of visual reversal cues makes it a flexible tool adaptable to a variety of trading strategies.
Stock Boosters//@version=5
const bool DEBUG = false
const int maxDistanceToLastBar = 5000
const int labelCooldown = 8
const int KDELimit = 300
indicator("Stock Booster", overlay = true, max_labels_count = 500)
rsiLengthInput = input.int(14, minval = 1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
highPivotLen = input.int(21, "High Pivot Length", minval = 1, group = "Pivots", display = display.none)
lowPivotLen = input.int(21, "Low Pivot Length", minval = 1, group = "Pivots", display = display.none)
realPivotLabels = DEBUG ? input.bool(false, " Real Pivot Labels", group = "Pivots") : false
kdePivotLabels = DEBUG ? input.bool(false, " KDE Pivot Labels", group = "Pivots") : false
activationThresholdStr = input.string("Medium", "Activation Threshold", options = , group = "KDE", tooltip = "Determines the amount of arrows shown. Higher options will result in more arrows being rendered.")
string KDEKernel = input.string("Gaussian", "Kernel", options= , group = "KDE", tooltip = "The kernel function for KDE calculation. Gaussian is a commonly used kernel and is based on normal distribution.")
float KDEBandwidth = input.float(2.71828, "Bandwidth", group = "KDE", tooltip = "This setting sets the smoothness of the KDE function output.")
int KDEStep = input.int(100, "Nº Bins", minval = 1, group = "KDE", tooltip = "The number of elements the KDE Probability array will have. Higher settings will result in greater precision.")
activationThreshold = DEBUG ? input.float(0.25, " Activation Threshold", group = "KDE") : 0.25
if not DEBUG
activationThreshold := (activationThresholdStr == "High" ? 0.4 : activationThresholdStr == "Medium" ? 0.25 : 0.15)
probMode = DEBUG ? input.string("Sum", ' Probability Mode', options = , group = "KDE") : "Sum"
minPadding = DEBUG ? input.bool(false, ' KDE Min Padding', group = "KDE") : false
tableEnabled = input.bool(true, "Dashboard", group = "Dashboard", display = display.none)
tableLocation = input.string("Top Right", "Position", options = , group = "Dashboard", display = display.none)
screenerColor = input.color(#1B1F2B, 'Background', group = 'Dashboard', display = display.none)
frameColor = input.color(color.rgb(255, 255, 255), 'Frame', group = 'Dashboard', display = display.none)
borderColor = input.color(color.rgb(255, 255, 255), 'Border', group = 'Dashboard', display = display.none)
textColorDB = input.color(color.white, 'Text', group = 'Dashboard', display = display.none)
fillBackgrounds = input.bool(true, "Fill Backgrounds", group = "Dashboard", display = display.none)
bearishColor = input.color(#f23646, "High Pivots", group = "Style", inline = "col", display = display.none)
neutralColor = input.color(color.gray, "Neutral", group = "Style", inline = "col", display = display.none)
bullishColor = input.color(#089981, "Low Pivots", group = "Style", inline = "col", display = display.none)
textColor = input.color(color.white, 'Text', group = 'Style', inline = "col", display = display.none)
RSILabelsEnabled = input.bool(true, "RSI Labels", group = "Style")
KDELabelsEnabled = input.bool(true, "KDE Labels", group = "Style")
rsi = ta.rsi(rsiSourceInput, rsiLengthInput)
getPosition (positionText) =>
if positionText == "Top Right"
position.top_right
else if positionText == "Top Center"
position.top_center
else if positionText == "Right Center"
position.middle_right
else if positionText == "Left Center"
position.middle_left
else if positionText == "Bottom Center"
position.bottom_center
else if positionText == "Middle Center"
position.middle_center
//#region KDE
gaussian (float distance, float bandwidth = 1.0) => 1.0 / math.sqrt(2.0 * math.pi) * math.pow(math.e, -0.5 * math.pow(distance / bandwidth, 2.0))
uniform (float distance, float bandwidth = 1.0) => (math.abs(distance) > bandwidth) ? 0.0 : 0.5
sigmoid (float distance, float bandwidth = 1.0) => 2.0 / math.pi * (1.0 / (math.pow(math.e, (distance / bandwidth)) + math.pow(math.e, -(distance / bandwidth))))
kde (array arr, string kernel, float bandwidth, int steps) =>
arrSize = arr.size()
arrRange = arr.range()
arrMin = arr.min() - (minPadding ? (arrRange / 2.0) : 0)
stepCount = arrRange / steps
densityRange = array.new(steps * 2)
for i = 0 to (steps * 2) - 1
densityRange.set(i, arrMin + i * stepCount)
xArr = array.new()
yArr = array.new()
for i = 0 to densityRange.size() - 1
float temp = 0
for j = 0 to arr.size() - 1
switch KDEKernel
"Gaussian" => temp += gaussian(densityRange.get(i) - arr.get(j), 1.0 / bandwidth)
"Uniform" => temp += uniform(densityRange.get(i) - arr.get(j), 1.0 / bandwidth)
"Sigmoid" => temp += sigmoid(densityRange.get(i) - arr.get(j), 1.0 / bandwidth)
xArr.push(densityRange.get(i))
yArr.push(1.0 / arrSize * temp)
//#endregion
//#region Pivots
prefixSum (array arr, int l, int r) =>
arr.get(r) - (l == 0 ? 0 : arr.get(l - 1))
float MidKDEHigh = na
float MidKDELow = na
var array KDEHighX = na
var array KDEHighY = na
var array KDEHighYSum = array.new()
var array KDELowX = na
var array KDELowY = na
var array KDELowYSum = array.new()
highPivot = ta.pivothigh(highPivotLen, highPivotLen)
lowPivot = ta.pivotlow(lowPivotLen, lowPivotLen)
var highPivotRSIs = array.new()
var lowPivotRSIs = array.new()
if not na(highPivot)
if highPivotRSIs.size() > KDELimit
highPivotRSIs.remove(0)
highPivotRSIs.push(rsi )
= kde(highPivotRSIs, KDEKernel, KDEBandwidth, KDEStep)
KDEHighX := KDEHighX1
KDEHighY := KDEHighY1
KDEHighYSum.clear()
temp = 0.0
for i = 0 to KDEHighY.size() - 1
temp += KDEHighY.get(i)
KDEHighYSum.push(temp)
MidKDEHigh := array.get(KDEHighX, array.indexof(KDEHighY, array.max(KDEHighY)))
if not na(lowPivot)
if lowPivotRSIs.size() > KDELimit
lowPivotRSIs.remove(0)
lowPivotRSIs.push(rsi )
= kde(lowPivotRSIs, KDEKernel, KDEBandwidth, KDEStep)
KDELowX := KDELowX1
KDELowY := KDELowY1
KDELowYSum.clear()
temp = 0.0
for i = 0 to KDELowY.size() - 1
temp += KDELowY.get(i)
KDELowYSum.push(temp)
MidKDELow := array.get(KDELowX, array.indexof(KDELowY, array.max(KDELowY)))
//#endregion
//#region KDE Optimization
f_lin_interpolate(float x0, float x1, float y0, float y1, float x) =>
y0 + (x - x0) * (y1 - y0) / (x1 - x0)
float lowProb = na
float maxLowProb = na
float highProb = na
float maxHighProb = na
if last_bar_index - maxDistanceToLastBar < bar_index
if highPivotRSIs.size() > 0
highXIndexL = array.binary_search_leftmost(KDEHighX, rsi)
highXIndexR = math.min(array.binary_search_rightmost(KDEHighX, rsi), KDEHighX.size() - 1)
nearestIndex = (math.abs(rsi - KDEHighX.get(highXIndexL)) < math.abs(rsi - KDEHighX.get(highXIndexR))) ? highXIndexL : highXIndexR
if probMode == "Nearest"
highProb := KDEHighY.get(nearestIndex)
maxHighProb := array.max(KDEHighY)
else if probMode == "Sum"
highProb := prefixSum(KDEHighYSum, 0, nearestIndex)
if lowPivotRSIs.size() > 0
lowXIndexL = array.binary_search_leftmost(KDELowX, rsi)
lowXIndexR = math.min(array.binary_search_rightmost(KDELowX, rsi), KDELowX.size() - 1)
nearestIndex = (math.abs(rsi - KDELowX.get(lowXIndexL)) < math.abs(rsi - KDELowX.get(lowXIndexR))) ? lowXIndexL : lowXIndexR
if probMode == "Nearest"
lowProb := KDELowY.get(nearestIndex)
maxLowProb := array.max(KDELowY)
else if probMode == "Sum"
lowProb := prefixSum(KDELowYSum, nearestIndex, KDELowYSum.size() - 1)
if DEBUG and barstate.islastconfirmedhistory
for i = 0 to KDELowX.size() - 1
curX = KDELowX.get(i)
curY = KDELowY.get(i)
log.info(str.tostring(curX) + " = " + str.tostring(curY))
log.info("High Y Sum " + str.tostring(KDEHighY.sum()))
diffToHighKDE = math.abs(rsi - MidKDEHigh)
diffToLowKDE = math.abs(rsi - MidKDELow)
//#endregion
//#region Draw Pivots
color curColor = na
if (not na(KDELowY)) and (not na(KDEHighY))
if probMode == "Nearest"
if math.abs(lowProb - maxLowProb) < activationThreshold / 50.0
curColor := bullishColor
if math.abs(highProb - maxHighProb) < activationThreshold / 50.0
curColor := bearishColor
else if probMode == "Sum"
if lowProb > KDELowY.sum() * (1.0 - activationThreshold)
curColor := bullishColor
else if highProb > KDEHighY.sum() * (1.0 - activationThreshold)
curColor := bearishColor
//barcolor(curColor)
atr = ta.atr(50)
plotarrow(curColor == bullishColor and barstate.isconfirmed ? 1 : na, "Bullish Arrows", color.new(bullishColor, 70), color.new(bullishColor, 70), minheight = 20, maxheight = 20)
plotarrow(curColor == bearishColor and barstate.isconfirmed ? -1 : na, "Bearish Arrows", color.new(bearishColor, 70), color.new(bearishColor, 70), minheight = 20, maxheight = 20)
plotarrow((na(curColor) and curColor == bullishColor and barstate.isconfirmed) ? 1 : na, "Possible Bullish Pivot", bullishColor, bullishColor, minheight = 20, maxheight = 20)
plotarrow((na(curColor) and curColor == bearishColor and barstate.isconfirmed) ? -1 : na, "Possible Bearish Pivot", bearishColor, bearishColor, minheight = 20, maxheight = 20)
alertcondition(na(curColor) and curColor == bullishColor and barstate.isconfirmed, "Possible Bullish Pivot")
alertcondition(na(curColor) and curColor == bearishColor and barstate.isconfirmed, "Possible Bearish Pivot")
if KDELabelsEnabled or RSILabelsEnabled
var lastBullishLabel = 0
if (na(curColor) and curColor == bullishColor and barstate.isconfirmed) and (bar_index - lastBullishLabel) > labelCooldown
lastBullishLabel := bar_index
txt = ""
if RSILabelsEnabled and KDELabelsEnabled
txt := "RSI | " + str.tostring(rsi, "#") + " | " + str.tostring(lowProb * 100, "#.##") + "%"
else if RSILabelsEnabled
txt := "RSI | " + str.tostring(rsi, "#")
else
txt := str.tostring(rsi, "#") + "%"
label.new(bar_index, low, txt, yloc = yloc.belowbar, color = na, style = label.style_label_up, textcolor = textColor, force_overlay = true)
var lastBearishLabel = 0
if (na(curColor) and curColor == bearishColor and barstate.isconfirmed) and (bar_index - lastBearishLabel) > labelCooldown
lastBearishLabel := bar_index
txt = ""
if RSILabelsEnabled and KDELabelsEnabled
txt := "RSI | " + str.tostring(rsi, "#") + " | " + str.tostring(highProb * 100, "#.##") + "%"
else if RSILabelsEnabled
txt := "RSI | " + str.tostring(rsi, "#")
else
txt := str.tostring(rsi, "#") + "%"
label.new(bar_index, low, txt, yloc = yloc.abovebar, color = na, style = label.style_label_down, textcolor = textColor, force_overlay = true)
if kdePivotLabels
txt = str.tostring(rsi, "#.##") + " HP -> " + str.tostring(highProb, "#.##") + " LP -> " + str.tostring(lowProb, "#.##") + " MHP -> " + str.tostring(maxHighProb, "#.##") + " MLP -> " + str.tostring(maxLowProb, "#.##")
if math.abs(lowProb - maxLowProb) < activationThreshold
label.new(bar_index, high, txt, yloc = yloc.belowbar, color = textColor, style = label.style_label_up, textcolor = color.black, force_overlay = true)
if math.abs(highProb - maxHighProb) < activationThreshold
label.new(bar_index, high, txt, yloc = yloc.abovebar, color = textColor, style = label.style_label_down, textcolor = color.black, force_overlay = true)
if realPivotLabels
if not na(highPivot)
txt = str.tostring(rsi , "#.##") + " HP -> " + str.tostring(highProb , "#.##") + " LP -> " + str.tostring(lowProb , "#.##") + " MHP -> " + str.tostring(maxHighProb , "#.##") + " MLP -> " + str.tostring(maxLowProb , "#.##")
label.new(bar_index - highPivotLen, high, txt, yloc = yloc.abovebar, color = textColor, style = label.style_label_down, textcolor = color.black, force_overlay = true)
if not na(lowPivot)
txt = str.tostring(rsi , "#.##") + " HP -> " + str.tostring(highProb , "#.##") + " LP -> " + str.tostring(lowProb , "#.##") + " MHP -> " + str.tostring(maxHighProb , "#.##") + " MLP -> " + str.tostring(maxLowProb , "#.##")
label.new(bar_index - lowPivotLen, high, txt, yloc = yloc.belowbar, color = textColor, style = label.style_label_up, textcolor = color.black, force_overlay = true)
//#endregion
if tableEnabled
var table realtimeTable = table.new(getPosition(tableLocation), 2, 10, bgcolor = screenerColor, frame_width = 2, frame_color = frameColor, border_width = 1, border_color = borderColor)
// Header
table.merge_cells(realtimeTable, 0, 0, 1, 0)
table.cell(realtimeTable, 0, 0, "KDE Optimized RSI", text_color = textColorDB, bgcolor = screenerColor)
// RSI
table.cell(realtimeTable, 0, 1, "RSI", text_color = textColorDB, bgcolor = screenerColor)
table.cell(realtimeTable, 1, 1, str.tostring(rsi, "#"), text_color = textColorDB, bgcolor = screenerColor)
// KDE
table.cell(realtimeTable, 0, 2, (lowProb > highProb) ? "Bullish KDE" : "Bearish KDE", text_color = (lowProb > highProb) ? bullishColor : bearishColor, bgcolor = screenerColor)
table.cell(realtimeTable, 1, 2, str.tostring(nz(math.max(highProb, lowProb), 0) * 100, "#.##") + "%", text_color = textColorDB, bgcolor = screenerColor)
SMC with Inducement and DWM HL and Asian sessionSMC with Inducement and previous DWM HL and Asian session
Supply and Demand by BrekelThis is a supply and demand indicactor that uses an ema 8 and 20 overlaid with supply and demand zones based on different time frames. POI is points of interest which act as a high demand area and BOS is break of structure that indicates the breakout up/down is in effect and the supply demand zones will no longer be in effect. This works very well on higher time frames but can be very useful for intra-day trading as well.
buy and sell by siddharthbuy and sell signal for gold at 5min timeframe
it gives buy and sell signal with 98% accuracy
MathsTrade Nifty Option StrikeOption Type and Strike Price Selection:
1.Calls:
In-the-money (ITM): If the strike price is below the current market price. Provides intrinsic value and is less risky.
Out-of-the-money (OTM): If the strike price is above the current market price. Provides a leverage play with lower premiums.
At-the-money (ATM): Strike price is equal to the underlying asset’s market price, offering a balance of cost and potential reward.
Puts:
In-the-money (ITM): The strike price is above the current market price. Higher premiums but higher chances of profitability.
Out-of-the-money (OTM): The strike price is below the current market price, cheaper with greater risk but also higher reward potential if the market moves significantly.
2. Consider the Bid-Ask Spread:
Narrower bid-ask spreads are generally a sign of better liquidity, making it easier to enter and exit trades at favorable prices. Avoid options with wide bid-ask spreads as they can lead to higher transaction costs and slippage.
3. Liquidity and Open Interest:
Look for Liquidity: Higher open interest and volume generally mean that the option has better liquidity, ensuring you can enter or exit trades more efficiently.
Strike Selection: Ensure there is adequate open interest at the selected strike price. Too little open interest can make it harder to exit a trade.
Conclusion:
Selecting the right strike price depends on your market outlook, time frame, risk tolerance, and the volatility of the underlying asset. A careful evaluation of these factors will help you choose an optimal strike price and increase the probability of success in your options trades. Always make sure to balance the risk/reward profile of the chosen strike with the capital you're willing to invest.