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
インジケーターとストラテジー
FTMO Rules MonitorFTMO Rules Monitor: Stay on Track with Your FTMO Challenge Goals
TLDR; You can test with this template whether your strategy for one asset would pass the FTMO challenges step 1 then step 2, then with real money conditions.
Passing a prop firm challenge is ... challenging.
I believe a toolkit allowing to test in minutes whether a strategy would have passed a prop firm challenge in the past could be very powerful.
The FTMO Rules Monitor is designed to help you stay within FTMO’s strict risk management guidelines directly on your chart. Whether you’re aiming for the $10,000 or the $200,000 account challenge, this tool provides real-time tracking of your performance against FTMO’s rules to ensure you don’t accidentally breach any limits.
NOTES
The connected indicator for this post doesn't matter.
It's just a dummy double supertrends (see below)
The strategy results for this script post does not matter as I'm posting a FTMO rules template on which you can connect any indicator/strategy.
//@version=5
indicator("Supertrends", overlay=true)
// Supertrend 1 Parameters
var string ST1 = "Supertrend 1 Settings"
st1_atrPeriod = input.int(10, "ATR Period", minval=1, maxval=50, group=ST1)
st1_factor = input.float(2, "Factor", minval=0.5, maxval=10, step=0.5, group=ST1)
// Supertrend 2 Parameters
var string ST2 = "Supertrend 2 Settings"
st2_atrPeriod = input.int(14, "ATR Period", minval=1, maxval=50, group=ST2)
st2_factor = input.float(3, "Factor", minval=0.5, maxval=10, step=0.5, group=ST2)
// Calculate Supertrends
= ta.supertrend(st1_factor, st1_atrPeriod)
= ta.supertrend(st2_factor, st2_atrPeriod)
// Entry conditions
longCondition = direction1 == -1 and direction2 == -1 and direction1 == 1
shortCondition = direction1 == 1 and direction2 == 1 and direction1 == -1
// Optional: Plot Supertrends
plot(supertrend1, "Supertrend 1", color = direction1 == -1 ? color.green : color.red, linewidth=3)
plot(supertrend2, "Supertrend 2", color = direction2 == -1 ? color.lime : color.maroon, linewidth=3)
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Long")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.triangledown, title="Short")
signal = longCondition ? 1 : shortCondition ? -1 : na
plot(signal, "Signal", display = display.data_window)
To connect your indicator to this FTMO rules monitor template, please update it as follow
Create a signal variable to store 1 for the long/buy signal or -1 for the short/sell signal
Plot it in the display.data_window panel so that it doesn't clutter your chart
signal = longCondition ? 1 : shortCondition ? -1 : na
plot(signal, "Signal", display = display.data_window)
In the FTMO Rules Monitor template, I'm capturing this external signal with this input.source variable
entry_connector = input.source(close, "Entry Connector", group="Entry Connector")
longCondition = entry_connector == 1
shortCondition = entry_connector == -1
🔶 USAGE
This indicator displays essential FTMO Challenge rules and tracks your progress toward meeting each one. Here’s what’s monitored:
Max Daily Loss
• 10k Account: $500
• 25k Account: $1,250
• 50k Account: $2,500
• 100k Account: $5,000
• 200k Account: $10,000
Max Total Loss
• 10k Account: $1,000
• 25k Account: $2,500
• 50k Account: $5,000
• 100k Account: $10,000
• 200k Account: $20,000
Profit Target
• 10k Account: $1,000
• 25k Account: $2,500
• 50k Account: $5,000
• 100k Account: $10,000
• 200k Account: $20,000
Minimum Trading Days: 4 consecutive days for all account sizes
🔹 Key Features
1. Real-Time Compliance Check
The FTMO Rules Monitor keeps track of your daily and total losses, profit targets, and trading days. Each metric updates in real-time, giving you peace of mind that you’re within FTMO’s rules.
2. Color-Coded Visual Feedback
Each rule’s status is shown clearly with a ✓ for compliance or ✗ if the limit is breached. When a rule is broken, the indicator highlights it in red, so there’s no confusion.
3. Completion Notification
Once all FTMO requirements are met, the indicator closes all open positions and displays a celebratory message on your chart, letting you know you’ve successfully completed the challenge.
4. Easy-to-Read Table
A table on your chart provides an overview of each rule, your target, current performance, and whether you’re meeting each goal. The table adjusts its color scheme based on your chart settings for optimal visibility.
5. Dynamic Position Sizing
Integrated ATR-based position sizing helps you manage risk and avoid large drawdowns, ensuring each trade aligns with FTMO’s risk management principles.
Daveatt
Dynamic Period Candle Multi time frame (Accurate Highs and Lows)This indicator gives a dynamic history of the current price as a candle with optional lines on the chart, so that you can assess the current trend. I found lots of indicators that looked at the previous xx time period candle, but they then immediately switched to the new xx time candle when it started to be formed. this indicator looks back at the rolling previous time period. By putting a few of these on the chart, you can clearly see how price has been behaving over time.
I initially published an earlier version of this as 'Dynamic 4-Hour Candle (Accurate Highs and Lows)', but this new and improved version has superseded that.
Vexly_ML_levelsProvide a number into each box (start), (middle), (end)
this is for a buy zone, mid zone, sell zone.
This is mainly geared towards futures and is just a box drawing script.
There is no inherent alpha in this.
We use this to draw our own levels.
RV - RSI & MACD Dynamic Tracker Importance:
The RV - RSI & MACD Dynamic Tracker indicator combines the power of the Relative Strength Index (RSI) and the Moving Average Convergence Divergence (MACD) to give traders a comprehensive view of momentum and trend direction. By visualizing overbought and oversold levels, trend momentum, and customizable moving averages, this indicator serves as a robust tool for making informed trading decisions across various timeframes.
Benefits:
RSI Component:
Dynamic RSI Display: RSI values are visually color-coded to quickly indicate market conditions, such as overbought, oversold, bullish, or bearish trends.
Configurable Parameters: Allows users to adjust RSI length and the source of the RSI, offering flexibility to adapt to different market environments.
Customizable Moving Average (MA) Overlay: Users can select from five types of moving averages (SMA, EMA, SMMA, WMA, and VWMA) to smooth RSI values for a clearer trend signal. This helps in reducing noise and aligning with the user’s trading strategy.
Clear Zones for Market Conditions: Highlights overbought (above 80) and oversold (below 20) areas with different color bands, aiding traders in identifying high-probability reversal zones and confirming trade setups based on RSI levels.
MACD Component:
Flexible Moving Averages: Users can set the MACD’s Fast and Slow moving averages as either SMA or EMA, allowing for a customized view of momentum shifts.
Histogram Scaling: The MACD histogram is dynamically scaled to fit a 0-100 range, enabling easy comparison across different timeframes. This ensures the indicator remains informative without requiring parameter adjustments.
Visual Breakout Cues: The histogram color changes based on whether the MACD value is above or below the midline, signaling potential buy or sell momentum. This feature helps traders spot potential breakout or breakdown points with ease.
Configurable Signal Line: With options to adjust the smoothing length of the MACD’s signal line, traders can fine-tune the sensitivity of crossover points, helping them stay on top of emerging trends.
Enhanced Visual Representation:
Background Fill: The RSI background dynamically changes between the overbought and oversold zones, while the MACD histogram is filled with green for bullish momentum and red for bearish momentum. This color-coding offers a quick glance at trend direction and strength.
Mid-Line Reference: A central line (50) in the MACD histogram provides a clear point of reference for determining bullish or bearish momentum.
This indicator is ideal for traders seeking an effective combination of momentum (RSI) and trend (MACD) signals. By leveraging adjustable settings, traders can tailor the indicator to fit their unique trading styles, making it a valuable tool for intraday and swing trading setups on TradingView.
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.
Enhanced AI Regression with EMA 200 [Enver Trader]yeni nesil trade indikatörü içinde market krılımları sucr mevcut ema 200 ve banttan oluşmaktadır indikatör en verimli kısa zaman dilimlerinde çalışmaktadır 5 dakikalık ve bir dakikalık zaman dilimlerinde etkili sonuçlar verecek bir çalışma içinde 1 dakika 5 dakika 15 daaki ka 30 daki ka gibi grafiklerde hizmetin long yada short pozisyonunda olduğunu göstermektedir trade ederken size yardımcı olacağına inanıyorum
SVMKR Multi Pro Indicators : UT, HMA, ORB, EMA, VIX and VWAPThis custom Pine Script™ indicator is a powerful composite of several popular trading tools, designed to provide valuable insights and signal generation for traders. It combines multiple indicators including UT Bot, Hull Moving Average, Open Range Breakout, EMA (50 & 21), VIX-based support/resistance levels, and different timeframe VWAP to guide traders in making informed trading decisions.
Key Features:
UT Bot: Delivers buy and sell signals, ideal for confirmation when used with other tools or Price Action strategies.
Hull Moving Average (HMA): Helps identify trend changes with its fast and smooth moving average.
Open Range Breakout (ORB): Highlights market stability around 10:10 AM IST, providing buy/sell signals based on price action.
EMA (50 & 21): Guides trade direction with moving average crossovers, helping traders make better entry/exit decisions.
VIX-based Levels: Calculates key support/resistance levels using previous day’s close and the VIX, giving further context for trade decisions.
VWAP for Multiple Timeframes: Includes VWAP levels for daily, weekly, and monthly timeframes to assist in gauging market sentiment.
Important Usage Notes:
This indicator is ideal for those looking for a consolidated view of various strategies in one tool.
It is recommended to combine the indicator with your own research, as no tool guarantees success.
Beginners may want to disable some of the features like the UT Buy/Sell signals or Hull MA to avoid confusion and better focus on understanding market behavior.
By using this indicator, you gain access to multiple strategies in one place, simplifying your trading decisions and enhancing your chart analysis experience.
BPR_FVG [CDZV]The BPR_FVG indicator identifies and visualizes Breaker Pattern Retest (BPR) zones based on the interaction of bearish and bullish Fair Value Gaps (FVG). The indicator draws colored boxes representing valid BPR zones and maintains their visibility until invalidation.
Key Features:
- Automatically detects both bullish and bearish BPR patterns
- Customizable BPR threshold for minimum range validation
- Option to show only "clean" BPR zones (without price interference)
- Adjustable lookback period for FVG sequence detection
- Visual representation with color-coded boxes (green for bullish, red for bearish)
- Persistent display of last valid BPR levels in Data Window
- Built-in alert conditions for new BPR formations
The indicator helps traders identify potential reversal or continuation zones based on Smart Money Concepts, particularly useful for tracking institutional order blocks and market structure.
This is an indicator from the CDZV.COM - Code Zero Visual Trading toolkit.
Stochastic Oscillator Buy/Sell Labels - ZeeAsylumThis custom indicator utilizes the Stochastic Oscillator to generate buy and sell signals based on specific level crossovers. The script identifies when the oscillator's value crosses certain thresholds:
Buy Signal: Occurs when the Stochastic Oscillator's %K value crosses above a lower threshold, indicating potential upward momentum.
Sell Signal: Triggered when the %K value crosses below an upper threshold, suggesting a potential reversal or overbought condition.
The BUY and SELL signals are visually represented on the chart as labels, with BUY appearing below the price bar and SELL above it. Additionally, the Stochastic Oscillator's %K is optionally plotted for visual reference, and key level lines (overbought and oversold) are displayed for clarity.
Pulse DPO: Major Cycle Tops and Bottoms█ OVERVIEW
Pulse DPO is an oscillator designed to highlight Major Cycle Tops and Bottoms .
It works on any market driven by cycles. It operates by removing the short-term noise from the price action and focuses on the market's cyclical nature.
This indicator uses a Normalized version of the Detrended Price Oscillator (DPO) on a 0-100 scale, making it easier to identify major tops and bottoms.
Credit: The DPO was first developed by William Blau in 1991.
█ HOW TO READ IT
Pulse DPO oscillates in the range between 0 and 100. A value in the upper section signals an OverBought (OB) condition, while a value in the lower section signals an OverSold (OS) condition.
Generally, the triggering of OB and OS conditions don't necessarily translate into swing tops and bottoms, but rather suggest caution on approaching a market that might be overextended.
Nevertheless, this indicator has been customized to trigger the signal only during remarkable top and bottom events.
I suggest using it on the Daily Time Frame , but you're free to experiment with this indicator on other time frames.
The indicator has Built-in Alerts to signal the crossing of the Thresholds. Please don't act on an isolated signal, but rather integrate it to work in conjunction with the indicators present in your Trading Plan.
█ OB SIGNAL ON: ENTERING OVERBOUGHT CONDITION
When Pulse DPO crosses Above the Top Threshold it Triggers ON the OB signal. At this point the oscillator line shifts to OB color.
When Pulse DPO enters the OB Zone, please beware! In this Area the Major Players usually become Active Sellers to the Public. While the OB signal is On, it might be wise to Consider Selling a portion or the whole Long Position.
Please note that even though this indicator aims to focus on major tops and bottoms, a strong trending market might trigger the OB signal and stay with it for a long time. That's especially true on young markets and on bubble-mode markets.
█ OB SIGNAL OFF: EXITING OVERBOUGHT CONDITION
When Pulse DPO crosses Below the Top Threshold it Triggers OFF the OB signal. At this point the oscillator line shifts to its normal color.
When Pulse DPO exits the OB Zone, please beware because a Major Top might just have occurred. In this Area the Major Players usually become Aggressive Sellers. They might wind up any remaining Long Positions and Open new Short Positions.
This might be a good area to Open Shorts or to Close/Reverse any remaining Long Position. Whatever you choose to do, it's usually best to act quickly because the market is prone to enter into panic mode.
█ OS SIGNAL ON: ENTERING OVERSOLD CONDITION
When Pulse DPO crosses Below the Bottom Threshold it Triggers ON the OS signal. At this point the oscillator line shifts to OS color.
When Pulse DPO enters the OS Zone, please beware because in this Area the Major Players usually become Active Buyers accumulating Long Positions from the desperate Public.
While the OS signal is On, it might be wise to Consider becoming a Buyer or to implement a Dollar-Cost Averaging (DCA) Strategy to build a Long Position towards the next Cycle. In contrast to the tops, the OS state usually takes longer to resolve a major bottom.
█ OS SIGNAL OFF: EXITING OVERSOLD CONDITION
When Pulse DPO crosses Above the Bottom Threshold it Triggers OFF the OS signal. At this point the oscillator line shifts to its normal color.
When Pulse DPO exits the OS Zone, please beware because a Major Bottom might already be in place. In this Area the Major Players become Aggresive Buyers. They might wind up any remaining Short Positions and Open new Long Positions.
This might be a good area to Open Longs or to Close/Reverse any remaining Short Positions.
█ WHY WOULD YOU BE INTERESTED IN THIS INDICATOR?
This indicator is built over a solid foundation capable of signaling Major Cycle Tops and Bottoms across many markets. Let's see some examples:
Early Bitcoin Years: From 0 to 1242
This chart is in logarithmic mode in order to properly display various exponential cycles. Pulse DPO is properly signaling the major early highs from 9-Jun-2011 at 31.50, to the next one on 9-Apr-2013 at 240 and the epic top from 29-Nov-2013 at 1242.
Due to the massive price movements, the OB condition stays pinned during most of the exponential price action. But as you can see, the OB condition quickly vanishes once the Cycle Top has been reached. As the market matures, the OB condition becomes more exceptional and triggers much closer from the Cycle Top.
With regards to Cycle Bottoms, the early bottom of 2 after having peaked at 31.50 doesn’t get captured by the indicator. That is the only cycle bottom that escapes the Pulse DPO when the bottom threshold is set at a value of 5. In that event, the oscillator low reached 6.95.
Bitcoin Adoption Spreading: From 257 to 73k
This chart is in logarithmic mode in order to properly display various exponential cycles. Pulse DPO is properly signaling all the major highs from 17-Dec-2017 at 19k, to the next one on 14-Apr-2021 at 64k and the most recent top from 9-Nov-2021 at 68k.
During the massive run of 2017, the OB condition still stayed triggered for a few weeks on each swing top. But on the next cycles it started to signal only for a few days before each swing top actually happened. The OB condition during the last cycle top triggered only for 3 days. Therefore the signal grows in focus as the market matures.
At the time of publishing this indicator, Bitcoin printed a new All Time High (ATH) on 13-Mar-2024 at 73k. That run didn’t trigger the OB condition. Therefore, if the indicator is correct the Bitcoin market still has some way to grow during the next months.
With regards to Cycle Bottoms, the bottom of 3k after having peaked at19k got captured within the wide OS zone. The bottom of 15k after having peaked at 68k got captured too within the OS accumulation area.
Gold
Pulse DPO behaves surprisingly well on a long standing market such as Gold. Moving back to the 197x years it’s been signaling most Cycle Tops and Bottoms with precision. During the last cycle, it shows topping at 2k and bottoming at 1.6k.
The current price action is signaling OB condition in the range of 2.5k to 2.7k. Looking at past cycles, it tends to trigger on and off at multiple swing tops until reaching the final cycle top. Therefore this might indicate the first wave within a potential gold run.
Oil
On the Oil market, we can see that most of the cycle tops and bottoms since the 80s got signaled. The only exception being the low from 2020 which didn’t trigger.
EURUSD
On Forex markets the Pulse DPO also behaves as expected. Looking back at EURUSD we can see the marketing triggering OB and OS conditions during major cycle tops and bottoms from recent times until the 80s.
S&P 500
On the S&P 500 the Pulse DPO catched the lows from 2016 and 2020. Looking at present price action, the recent ATH didn’t trigger the OB condition. Therefore, the indicator is allowing room for another leg up during the next months.
Amazon
On the Amazon chart the Pulse DPO is mirroring pretty accurately the major swings. Scrolling back to the early 2000s, this chart resembles early exponential swings in the crypto space.
Tesla
Moving onto a younger tech stock, Pulse DPO captures pretty accurately the major tops and bottoms. The chart is shown in logarithmic scale to better display the magnitude of the moves.
█ SETTINGS
This indicator is ideal for identifying major market turning points while filtering out short-term noise. You are free to adjust the parameters to align with your preferred trading style.
Parameters : This section allows you to customize any of the Parameters that shape the Oscillator.
Oscillator Length: Defines the period for calculating the Oscillator.
Offset: Shifts the oscillator calculation by a certain number of periods, which is typically half the Oscillator Length.
Lookback Period: Specifies how many bars to look back to find tops and bottoms for normalization.
Smoothing Length: Determines the length of the moving average used to smooth the oscillator.
Thresholds : This section allows you to customize the Thresholds that trigger the OB and OS conditions.
Top: Defines the value of the Top Threshold.
Bottom: Defines the value of the Bottom Threshold.
Precision Scalper: 1-Minute Trading StrategyThe Precision Scalper: 1-Minute Trading Strategy is designed for active traders looking to capitalize on short-term market movements in highly liquid markets. Utilizing a combination of Exponential Moving Averages (EMA), Relative Strength Index (RSI), and Average True Range (ATR), this strategy aims to identify high-probability entry and exit points with minimal lag.
Key Features:
Quick Entries and Exits: Tailored for 1-minute chart scalping, this strategy focuses on rapid trade execution, making it ideal for day traders.
Risk Management: Employs a robust risk-reward ratio of 1:2 to enhance profitability while managing potential losses effectively.
Dynamic Signals: Generates clear buy and sell signals directly on the chart, allowing traders to react quickly to market changes.
Visual Aids: The strategy includes visual representations of entry points, stop-loss, and take-profit levels, enhancing decision-making processes.
This scalping strategy is perfect for those who thrive in fast-paced trading environments and seek to improve their win rate by combining technical indicators with sound risk management practices. Whether trading futures, stocks, or forex, the Precision Scalper adapts to various instruments for optimal performance.
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!
Enhanced Smart Money Concepts ProEnhanced Smart Money Concepts Pro (SMC Pro) is an advanced technical analysis indicator that combines traditional Smart Money Concepts with institutional trading methodologies, volume analysis, and volatility metrics. This indicator is designed to identify high-probability trading setups by analyzing market structure, order blocks, fair value gaps (FVG), and institutional trading patterns.
Triad Force📈 Triad Force Indicator:
A Combinação Perfeita para Identificar Tendências e Padrões de Preço
🔧 Descrição: O Triad Force Indicator é uma ferramenta de análise técnica avançada que combina três indicadores poderosos para oferecer insights profundos sobre o mercado. Ele foi projetado para traders que buscam uma abordagem mais estratégica e robusta, utilizando:
MACD: Para identificar a direção e a força das tendências de curto e longo prazo.
TTM Squeeze: Para capturar momentos de compressão de volatilidade, ajudando a antecipar movimentos explosivos no mercado.
ADX (Average Directional Index): Para confirmar se o mercado está em forte tendência ou em uma fase de consolidção.
Com essa combinação, o Triad Force Indicator permite que você tome decisões mais precisas e bem-informadas sobre quando entrar e sair do mercado, focando em pontos de inflexão e rompimentos importantes.
💡 Como Funciona:
MACD (Moving Average Convergence Divergence):
O MACD é utilizado para mostrar a diferença entre duas médias móveis (curta e longa), com seu histograma ajudando a identificar mudanças na dinâmica do mercado. Ele é essencial para medir a força da tendência.
TTM Squeeze:
O TTM Squeeze detecta momentos de baixa volatilidade no mercado, conhecidos como "squeezes", onde o preço está comprimido antes de um grande movimento. Quando um squeeze é identificado, é um sinal de que o preço pode se mover fortemente em breve.
ADX (Average Directional Index):
O ADX mede a força da tendência no mercado, fornecendo uma leitura clara de quando o mercado está em uma tendência forte (acima do valor configurado, geralmente 25) ou em fase de consolidação (abaixo de 25). Ele é crucial para confirmar a dinâmica de preço e garantir que a tendência seja consistente.
📊 Características:
Parâmetros Customizáveis:
Todos os parâmetros são totalmente customizáveis para que você possa ajustar o indicador às suas necessidades e preferências pessoais. Isso inclui configurações do MACD, TTM Squeeze e ADX, com controle total sobre o comprimento e os limiares de cada indicador.
Alertas:
O indicador oferece condições de alerta para quando o TTM Squeeze é ativado, indicando compressão no mercado, e para quando o ADX ultrapassa o limite configurado, sinalizando uma tendência forte.
Visualização Clara:
Através de gráficos com histograma do MACD e plotagens do ADX, você obterá uma visão clara do estado atual do mercado, incluindo regiões de squeeze e a força da tendência.
🚀 Benefícios:
Combinação Poderosa: A união do MACD, TTM Squeeze e ADX oferece uma abordagem única, com diferentes camadas de análise para prever movimentos no mercado.
Precisão e Eficiência: Ajuda a identificar os melhores pontos de entrada e saída, focando em momentos de tendência forte e padrões de price action.
Configuração Simples: Customizável, você pode ajustar os parâmetros do indicador para que ele se adapte perfeitamente à sua estratégia de trading.
Se você está buscando uma ferramenta mais eficiente para prever as tendências e identificar momentos de volatilidade no mercado, o Triad Force Indicator é a solução ideal. Experimente agora e leve seu trading para o próximo nível!
🚨 Aviso: Lembre-se de usar este indicador em conjunto com uma análise abrangente do mercado e sempre com uma boa gestão de risco. Não há indicadores infalíveis, e os resultados podem variar conforme o mercado.
RSI/Stoch/MFI/Momentum - AlphractalThis metric combines multiple momentum and cash flow indicators to create a comprehensive market view, enabling more complete and actionable analyses. It calculates a normalized average of the values from four technical indicators:
RSI (Relative Strength Index): Indicates recent price action strength or weakness, oscillating between overbought (70) and oversold (30) areas.
Stochastic: Helps identify price movement extremes, useful for assessing reversal points.
MFI (Money Flow Index): Considers cash flow to signal overbought or oversold conditions by analyzing volume alongside price.
Momentum: Normalized to indicate the strength of short-term trends, helping to detect changes in momentum.
The generated line represents the weighted average of the selected indicators, offering an overall index ranging from 0 to 100, where values above 70 indicate possible overbought conditions, and below 30 indicate oversold conditions. This metric simplifies market momentum analysis, making it easier to identify potential entry or exit points.
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)
BB Trend Magic with EMA 20//@version=5
indicator("BB Trend Magic with EMA 20", overlay=true)
// BB Trend Magic Indicator (EmreKB)
// Define the settings for the BB Trend Magic (commonly using Bollinger Bands)
bbLength = input.int(20, "BB Length")
bbMultiplier = input.float(2.0, "BB Multiplier")
atrLength = input.int(14, "ATR Length")
// Bollinger Bands Calculation
basis = ta.sma(close, bbLength)
dev = bbMultiplier * ta.stdev(close, bbLength)
upperBB = basis + dev
lowerBB = basis - dev
// ATR Calculation
atr = ta.atr(atrLength)
// Define BB Trend Magic Condition
trendUp = close > upperBB and ta.crossover(close, basis)
trendDown = close < lowerBB and ta.crossunder(close, basis)
trendMagic = trendUp ? basis + atr : trendDown ? basis - atr : na
// EMA 20 Calculation
ema20 = ta.ema(close, 20)
// Plot the BB Trend Magic and EMA 20
plot(trendMagic, title="BB Trend Magic", color=color.blue, linewidth=2, style=plot.style_stepline)
plot(ema20, title="EMA 20", color=color.red, linewidth=1)
// Highlight signals where BB Trend Magic crosses EMA 20
bullSignal = ta.crossover(trendMagic, ema20)
bearSignal = ta.crossunder(trendMagic, ema20)
// Plot signal markers
plotshape(series=bullSignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Bullish Signal", text="BUY")
plotshape(series=bearSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Bearish Signal", text="SELL")
Three EMA with CPR Strategy ( Trade Moments )Explanation of the Strategy Components
Three EMAs:
Fast, medium, and slow EMAs are set to 9, 21, and 50 by default.
A bullish trend is identified when the fast EMA is above the medium EMA, which is above the slow EMA.
A bearish trend is identified when the fast EMA is below the medium EMA, which is below the slow EMA.
Central Pivot Range (CPR):
The CPR is calculated using the previous day’s high, low, and close.
pivot is the central pivot point, bc is the bottom central pivot, and tc is the top central pivot.
The CPR acts as a support/resistance zone:
Price above the top central pivot (tc) in a bullish trend is considered a strong long entry.
Price below the bottom central pivot (bc) in a bearish trend is considered a strong short entry.
Trade Entry Conditions:
For a long position, both a bullish trend and a price breakout above the top central pivot (tc) are required.
For a short position, both a bearish trend and a price breakdown below the bottom central pivot (bc) are required.
Exit Condition:
Optional exits occur if the price crosses the central pivot (pivot), signaling a potential weakening of the trade.
This script combines trend direction with the EMA alignment and uses the CPR to refine entry and exit points based on support and resistance zones. Adjust the EMA lengths and CPR levels based on your asset’s behavior for better tuning.
FVG Scr [CDZV]# Fair Value Gap (FVG) Screener Indicator
This indicator helps traders identify and monitor Fair Value Gaps across multiple timeframes simultaneously. It combines visual representation with precise numerical data.
## Key Features:
- Monitors up to 5 different timeframes (default: 15m, 30m, 1h, 4h, 1d)
- Detects both bullish and bearish FVGs
- Displays active FVGs in an on-chart table using color coding (green for bullish, red for bearish)
- Shows FVG boundaries and signals in the data window
- Customizable FVG filling type (Close or High/Low prices)
- Configurable lookback period for finding FVGs
## Data Window Output:
- Bullish FVG Signal: 1 when price is inside a bullish FVG, 0 otherwise
- Bullish FVG Top: Upper boundary of active bullish FVG
- Bullish FVG Bottom: Lower boundary of active bullish FVG
- Bearish FVG Signal: 1 when price is inside a bearish FVG, 0 otherwise
- Bearish FVG Top: Upper boundary of active bearish FVG
- Bearish FVG Bottom: Lower boundary of active bearish FVG
## Settings:
- Adjustable timeframes and their visibility
- Theme options (Dark/Light)
- Table position customization
- Maximum bars back for FVG detection
- FVG fill type selection
Perfect for traders who want to incorporate Fair Value Gaps into their trading strategy and need precise entry/exit levels across multiple timeframes.
This is an indicator from the CDZV.COM - Code Zero Visual Trading toolkit.