RVMM IndicatorRVMM Indicator
RVMM Indicator combines four indicators: RSI, VWAP, MFI, and Momentum to provide comprehensive technical analysis. This indicator helps traders identify potential market conditions based on the interaction of these indicators.
Components of the RVMM Indicator
1. RSI (Relative Strength Index)
RSI is a momentum indicator that measures the speed and change of price movements. RSI oscillates between 0 and 100 and is used to identify overbought and oversold conditions in the market.
Buy Level: Set at 30. When RSI falls below 30, the market is considered oversold, which may suggest a potential upward trend reversal.
Sell Level: Set at 70. When RSI rises above 70, the market is considered overbought, which may suggest a potential downward trend reversal.
2. VWAP (Volume Weighted Average Price)
VWAP is an indicator that combines price and volume to calculate the average price weighted by volume. VWAP is used to identify support and resistance areas and assess the strength of price movements.
Interpretation: If the price is above the VWAP line, the market is likely in an uptrend. If the price is below the VWAP line, the market is in a downtrend.
3. MFI (Money Flow Index)
MFI is a momentum indicator that considers both price and volume. MFI oscillates between 0 and 100 and is used to identify overbought and oversold conditions in the market.
Oversold Level: Set at 20. When MFI falls below 20, the market is considered oversold.
Overbought Level: Set at 80. When MFI rises above 80, the market is considered overbought.
4. Momentum
Momentum is an indicator that measures the speed of price changes. This indicator is used to identify the strength of a trend.
Interpretation: High momentum values indicate a strong uptrend, while low momentum values indicate a strong downtrend.
How to Use the RVMM Indicator
Interpreting Market Conditions:
RSI : Check RSI values below 30 to identify oversold conditions, and above 70 to identify overbought conditions.
VWAP : Observe whether the price is above or below the VWAP line to determine if the market is in an uptrend or downtrend.
MFI : Check if MFI is below 20 to identify oversold conditions, and above 80 to identify overbought conditions.
Momentum : Analyze momentum values to gauge the strength of the current trend.
Confirming Market Conditions:
Use VWAP, MFI, and Momentum to confirm market conditions identified by RSI.
If the price is above the VWAP line, and MFI and Momentum indicate the strength of the uptrend, the market may be in a bullish phase.
If the price is below the VWAP line, and MFI and Momentum indicate the strength of the downtrend, the market may be in a bearish phase.
Risk Management:
Set stop-loss and take-profit levels based on technical analysis and your trading preferences.
Monitor the market and adjust stop-loss and take-profit levels as market conditions change.
Example of Application
Here is an example of how to use the RVMM Indicator in practice:
Bullish Phase: When the price is above the VWAP line, RSI is below 30, and MFI and Momentum indicate the strength of the uptrend, the market is likely in a bullish phase.
Bearish Phase: When the price is below the VWAP line, RSI is above 70, and MFI and Momentum indicate the strength of the downtrend, the market is likely in a bearish phase.
Indicadores e estratégias
Zanger Volume Ratio (ZVR)Zanger Volume Ratio (ZVR)
Credits:
Most of the underlying code and logic in this script have been adapted from the work originally published by The_Peaceful_Lizard
Overview
The Zanger Volume Ratio (ZVR) is a powerful indicator designed to reveal market dynamics by comparing current cumulative volume to an average determined over a historical look-back period. It uses the concept of relative volume to not only highlight unusual volume spikes, but also uses color to illustrate how today's trading compares to typical levels. This unique method of volume analysis was popularized by Dan Zanger - a trader known for turning $10,775 into $18,000,000 in less than two years - by identifying key shifts in market interest and volume behavior.
Key Features
Volume Pacing Analysis:
The script calculates a volume delta by comparing the cumulative volume at any given moment to an average derived over a user-defined lookback period (Default 20-day). The resulting percentage difference offers a clear visualization and insight into unusual volume activity.
Dynamic Visual Representation:
Choose between either “Columns” or “Area” plot styles to display the percent difference. Additionally, you have the option to switch between a standard plot or a background color display, with customizable transparency, ensuring the indicator fits seamlessly with your chart’s aesthetics.
Dashboard Integration:
A simple dashboard table is displayed on the chart, showcasing the current ZVR value in real-time. With user-configurable position, text size, alignment, and color options, this feature ensures that the key metric is always visible and easy to interpret.
Why Use the Zanger Volume Ratio?
The ZVR is more than just a volume indicator. It acts as a window into market sentiment by highlighting days when trading interest intensifies. Many traders believe that an unusually high volume ratio may confirm trend strength or signal a reversal, making the indicator a valuable tool when used in conjunction with other technical analysis methods.
Whether you’re monitoring stocks, commodities, or forex markets, the Zanger Volume Ratio offers an accessible yet sophisticated method to decode volume dynamics. Its practical design and real-time visual feedback provide traders of all experience levels with critical data to spot high-potential setups.
Chart Description
First Pane: normal Volume Indicator on the foreground, ZVR as Background colors
Second Pane: ZVR Indicator with Column Style (default)
First panel: normal volume indicator in foreground, ZVR as background colors
Second panel: ZVR indicator with column style (default)
Note: This indicator is intended for use on intraday charts only!
Liquidity ZonesLiquidity Zones Indicator
The Liquidity Zones indicator is a custom Pine Script™ tool designed to identify significant price levels where high trading volume has occurred. These zones often act as support or resistance levels, providing valuable insights for traders.
Key Features:
Window Size: The number of bars to consider for calculating the moving averages and identifying peaks.
Tolerance: The allowable percentage difference to consider peaks as unique.
Number of Peaks: The maximum number of significant peaks to identify.
Minimum Volume: The minimum volume threshold relative to the average volume to consider a peak.
Minimum Range: The minimum price range to consider a peak.
How It Works:
Input Parameters: The user can customize the window size, tolerance, number of peaks, minimum volume, and minimum range.
Moving Averages: The script calculates the simple moving average (SMA) of the volume and closing prices over the specified window.
Peak Identification:
For each bar, the script identifies the bar with the highest volume within the window.
It checks if the volume exceeds the minimum volume threshold.
It determines the peak price based on whether the bar closed higher or lower than it opened.
It ensures the price range of the bar exceeds the minimum range.
It checks if the peak is above the SMA of the closing prices.
It verifies the peak is unique within the specified tolerance.
Plotting Peaks: The identified peaks are plotted on the chart with lines and labels, color-coded based on whether the bar closed higher (green) or lower (red).
This indicator helps traders visualize key liquidity zones, aiding in making informed trading decisions.
Naive Bayes Candlestick Pattern Classifier v1.1 BETAAn intermezzo on why i made this script publication..
A : Candlestick Pattern took hours to backtest, why not using Machine Learning techniques?
B : Machine Learning, no that's gonna be really heavy bro!
A : Not really, because we use Naive Bayes.
B : The simplest, yet powerful machine learning algorithm to separate (a.k.a classify) multivariate data.
----------------------------------------------------------------------------------------------------------------------
Hello, everyone!
After deep research in extracting meaningful information from the market, I ended up building this powerful machine learning indicator based on the evolution of Bayesian Statistics. This indicator not only leverages the simplicity of Naive Bayes but also extends its application to candlestick pattern analysis, making it an invaluable tool for traders who are looking to enhance their technical analysis without spending countless hours manually backtesting each pattern on each market!.
What most interesting part is actually after learning all of likely useless methods like fibonacci, supply and demand, volume profile, etc. We always ended up back to basic like support and resistance and candlestick patterns, but with a slight twist on strategy algorithm design and statistical approach. Thus, the only reason why i made this, because i exactly know that you guys will ended up in this position as time goes by.
The essence of this indicator lies in its ability to automate the recognition and statistical evaluation of various candlestick patterns. Traditionally, traders have relied on visual inspection and manual backtesting to determine the effectiveness of patterns like Bullish Engulfing, Bearish Engulfing, Harami variations, Hammer formations, and even more complex multi-candle patterns such as Three White Soldiers, Three Black Crows, Dark Cloud Cover, and Piercing Pattern. However, these conventional methods are both time-consuming and prone to subjective bias.
To address these challenges, I employed Naive Bayes—a probabilistic classifier that, despite its simplicity, offers robust performance in various domains. Naive Bayes assumes that each feature is independent of the others given the class label, which, although a strong assumption, works remarkably well in practice, especially when the dataset is large like market data and the feature space is high-dimensional. In our case, each candlestick pattern acts as a feature that can be statistically evaluated based on its historical performance. The indicator calculates a probability that a given pattern will lead to a price reversal, by comparing the pattern’s close price to the highest or lowest price achieved in a lookahead window.
One of the standout features of this script is its flexibility. Each candlestick pattern is not only coded into the system but also comes with individual toggles to enable or disable them based on your trading strategy. This means you can choose to focus on single-candle patterns like Bullish Engulfing or more complex multi-candle formations such as Three White Soldiers, without modifying the core code. The built-in customization options allow you to adjust colors and labels for each pattern, giving you the freedom to tailor the visual output to your preference. This level of customization ensures that the indicator integrates seamlessly into your existing TradingView setup.
Moreover, the indicator isn’t just about pattern recognition—it also incorporates outcome-based learning. Every time a pattern is detected, it looks ahead a predefined number of bars to evaluate if the expected reversal actually materialized. This outcome is then stored in arrays, and over time, the script dynamically calculates the probability of success for each pattern. These probabilities are presented in a real-time updating table on your chart, which shows not only the percentage probability but also the count of historical occurrences. With this information at your fingertips, you can quickly gauge the reliability of each pattern in your chosen market and timeframe.
Another significant advantage of this approach is its speed and efficiency. While more complex machine learning models like neural networks might require heavy computational resources and longer training times, the Naive Bayes classifier in this script is lightweight, instantaneous and can be updated on the fly with each new bar. This real-time capability is essential for modern traders who need to make quick decisions in fast-paced markets.
Furthermore, by automating the process of backtesting, the indicator frees up your time to focus on other aspects of trading strategy development. Instead of manually analyzing hundreds or even thousands of candles, you can rely on the statistical power of Naive Bayes to provide you with insights on which patterns are most likely to result in profitable moves. This not only enhances your efficiency but also helps to eliminate the cognitive biases that often plague manual analysis.
In summary, this indicator represents a fusion of traditional candlestick analysis with modern machine learning techniques. It harnesses the simplicity and effectiveness of Naive Bayes to deliver a dynamic, real-time evaluation of various candlestick patterns. Whether you are a seasoned trader looking to refine your technical analysis or a beginner eager to understand market dynamics, this tool offers a powerful, customizable, and efficient solution. Welcome to a new era where advanced statistical methods meet practical trading insights—happy trading and may your patterns always be in your favor!
Note : On this current released beta version, you must manually adjust reversal percentage move based on each market. Further updates may include automated best range detection and probability.
Optimized Dynamic SupertrendDetailed Explanation of the Optimized Dynamic Supertrend Script
This Supertrend script is designed to dynamically adapt to different market conditions using ATR expansion, volume confirmation, and trend filtering. Below is a step-by-step breakdown of how it works and its functions.
1 ATR-Based Supertrend Calculation
📌 Key Purpose:
The script calculates an adaptive ATR-based Supertrend line, which acts as a dynamic support or resistance level for trend direction.
📌 How it Works:
ATR (Average True Range) is used to measure market volatility.
A dynamic ATR multiplier is applied based on price standard deviation (instead of a fixed value).
The Supertrend is calculated as:
Upper Band: SMA(close, ATR length) + (ATR Multiplier * ATR Value)
Lower Band: SMA(close, ATR length) - (ATR Multiplier * ATR Value)
The Supertrend flips when price crosses and holds beyond the Supertrend line.
🔹 Dynamic Adjustment:
Instead of using a fixed ATR multiplier, the script adjusts it using:
pinescript
Copy
Edit
dynamicFactor = ta.stdev(close, atrLength) / ta.sma(close, atrLength)
atrMultiplier = input(1.5, title="Base ATR Multiplier") * dynamicFactor
High volatility → Wider Supertrend bands (to avoid false signals).
Low volatility → Tighter Supertrend bands (for faster detection).
2 Trend Detection Logic
📌 Key Purpose:
Determines if the market is in a bullish or bearish trend based on price action.
Uses volume sensitivity and ATR expansion to reduce false signals.
📌 How it Works:
pinescript
Copy
Edit
var float supertrend = na
supertrend := close > nz(supertrend , lowerBand) ? lowerBand : upperBand
The Supertrend value updates dynamically.
If price is above the Supertrend line, the trend is bullish (green).
If price is below the Supertrend line, the trend is bearish (red).
3 Volume Sensitivity Confirmation
📌 Key Purpose:
Avoid false trend flips by confirming with volume (approximated using a CVD proxy).
📌 How it Works:
pinescript
Copy
Edit
priceChange = close - close
volumeWeightedTrend = priceChange * volume // Approximate CVD Behavior
trendConfirmed = volumeWeightedTrend > 0 ? close > supertrend : close < supertrend
Positive price change + High volume → Confirms bullish momentum.
Negative price change + High volume → Confirms bearish momentum.
If there’s low volume, the trend change is ignored to avoid false breakouts.
4 Noise Reduction (Final Trend Confirmation)
📌 Key Purpose:
Filter out weak or choppy price movements using ATR expansion.
📌 How it Works:
pinescript
Copy
Edit
trendUp = trendConfirmed and ta.atr(atrLength) > ta.atr(atrLength)
trendDown = not trendUp
Trend only flips when confirmed by volume + ATR expansion.
If ATR is not expanding, the script ignores weak price movements.
This ensures Supertrend signals align with strong market moves.
5 Can This Be Used on All Timeframes?
✅ YES! This Supertrend is adaptive, meaning it adjusts dynamically based on:
Volatility: Uses ATR expansion to adjust for different market conditions.
Timeframe Sensitivity: Works on any timeframe (1M, 5M, 15M, 1H, 4H, 1D, 1W).
Market Structure: Confirms trend flips using volume & price movement strength.
🚀 Best Timeframes for Trading:
For Scalping (1M - 15M) → Quick execution, best with order flow confirmation.
For Swing Trading (1H - 4H - 1D) → Stronger trend signals, reduced noise.
For High Timeframes (3D - 1W) → Identifies major market shifts.
🔥 Advantages & Disadvantages in Your Trading Setup
✅ Advantages:
✔ Fully Dynamic & Adaptive → Adjusts to different timeframes & volatility.
✔ Reduces False Signals → Uses ATR expansion & volume confirmation.
✔ Precise Trend Reversals → Labels LONG & SHORT entries clearly.
✔ Works on Any Market → Crypto, Forex, Stocks, Commodities.
✔ No Extra Indicators → Pure Supertrend-based (fits your setup).
❌ Disadvantages:
⚠ Lagging Indicator → ATR & volume confirmation add slight delay.
⚠ Needs High Volume to Confirm → Weak volume → no trend flip.
⚠ Choppy Market = Late Entries → Sideways movement can cause delays.
🚀 Final Thoughts:
It’s fully dynamic & adaptive (unlike traditional static Supertrends).
No extra indicators → Uses only Supertrend logic
Refines entry points using volume & ATR confirmation (removes noise).
This ensures you get high-probability trend signals while filtering out weak breakouts! 🎯
Live Portfolio P<his script calculates live P&L (Profit & Loss) for up to 40 instruments — stocks, ETFs, options, futures, and Forex pairs supported by TradingView. Instead of juggling numerous inputs, you paste your portfolio in CSV format into a single text field, and the script handles the rest. It parses each position and displays a comprehensive table showing the symbol, current price, position value, total P&L, and today’s P&L—all updated in real time.
Key Features
CSV Portfolio Input – Effortlessly import all your positions at once without filling in multiple fields. You can export the position from your broker, save it in the required format, and paste it into this script.
Supports Various Asset Classes – Works with any instrument that TradingView provides data for, including futures, options, and Forex.
Up to 40 Instruments – Track a broad and diverse set of holdings in one place.
Real-Time Updates – Get immediate feedback on live price changes, total value, and current P&L.
Today’s P&L – Monitor your daily performance to gauge short-term trends.
CSV is consumed in the following format:
Symbol (supported TradingView instruments)
Entry Price
Quantity (negative for short position)
Lot Size (for futures/options, it might not be one)
For example:
AAPL,237,100,1
TSLA,400,-150,1
ESM2025,6000,5,50
Planned Enhancements
Multi-Currency Support – Automatically convert and display your positions’ values in different currencies.
Advanced Metrics – Get deeper insights with calculations for drawdown, Sharpe ratio, and more.
Risk Management Tools – Set stop-loss and take-profit levels and receive alerts when thresholds are hit.
Option Greeks & Margin Calculations – Manage complex option strategies and track margin requirements.
Questions for You
What additional features would you like to see?
Are there any specific metrics or analytics you’d find especially valuable?
How might this script fit into your current trading workflow?
Feel free to share your thoughts and suggestions. Your feedback will help shape future updates and make this tool even more helpful for traders like you!
Disclaimer
Please remember that past performance may not be indicative of future results.
Due to various factors, including changing market conditions, the strategy may no longer perform as well as in historical backtesting.
This post and the script don’t provide any financial advice.
SYMPL Reversal BandsThis is an expansion of the Hybrid moving average. It uses the same hybrid moving code from the hybrid moving average script with an additional layer using the ta.hma function for some slight additional smoothing. Colors of the bands change dynamically based of the long and short hybrid moving averages running in the background. This can be really helpful in identifying periods to short bounces or long dips.
Below is the explanation of the hybrid moving average
Hybrid Moving Average Market Trend System - , designed to visualize market trends using a combination of three moving averages: FRAMA (Fractal Adaptive Moving Average), VIDYA (Variable Index Dynamic Average), and a Hamming windowed Volume-Weighted Moving Average (VWMA).
Key Features:
FRAMA Calculation:
FRAMA adapts to market volatility by dynamically adjusting its smoothing factor based on the fractal dimension of price movement. This allows it to be more responsive during trending periods while filtering out noise in sideways markets. The FRAMA is calculated for both short and long periods
VIDYA with CMO:
The VIDYA (Variable Index Dynamic Average) is based on a Chande Momentum Oscillator (CMO), which adjusts the smoothing factor dynamically depending on the momentum of the market. Higher momentum periods result in more responsive averages, while low momentum periods lead to smoother averages. Like FRAMA, VIDYA is calculated for both short and long periods.
Hamming Windowed VWMA:
This VWMA variation applies a Hamming window to smooth the weighting of volume across the calculation period. This method emphasizes central data points and reduces noise, making the VWMA more adaptive to volume fluctuations. The Hamming VWMA is calculated for short and long periods, offering another layer of adaptability to the hybrid moving average.
Hybrid Moving Averages:
Dynamic Coloring and Filling:
The script uses dynamic color transitions to visually distinguish between bullish and bearish conditions:
Hybrid Moving Average - Market TrendHybrid Moving Average Market Trend System - , designed to visualize market trends using a combination of three moving averages: FRAMA (Fractal Adaptive Moving Average), VIDYA (Variable Index Dynamic Average), and a Hamming windowed Volume-Weighted Moving Average (VWMA).
Key Features:
FRAMA Calculation:
FRAMA adapts to market volatility by dynamically adjusting its smoothing factor based on the fractal dimension of price movement. This allows it to be more responsive during trending periods while filtering out noise in sideways markets. The FRAMA is calculated for both short and long periods
VIDYA with CMO:
The VIDYA (Variable Index Dynamic Average) is based on a Chande Momentum Oscillator (CMO), which adjusts the smoothing factor dynamically depending on the momentum of the market. Higher momentum periods result in more responsive averages, while low momentum periods lead to smoother averages. Like FRAMA, VIDYA is calculated for both short and long periods.
Hamming Windowed VWMA:
This VWMA variation applies a Hamming window to smooth the weighting of volume across the calculation period. This method emphasizes central data points and reduces noise, making the VWMA more adaptive to volume fluctuations. The Hamming VWMA is calculated for short and long periods, offering another layer of adaptability to the hybrid moving average.
Hybrid Moving Averages:
Dynamic Coloring and Filling:
The script uses dynamic color transitions to visually distinguish between bullish and bearish conditions:
[EmreKb] Pinbar AnalysisDescription
The Pinbar Analyzer tool will count how many ltf candles are inside the wick and the total volume inside the wick.
How it works?
Calculate candle count of inside wick and volumes. Than display like below image
T/iW: Total Candle / Total inside Wick
ROiW: Rate of inside wick candle count
TV/WV: Total volume / Wick volume
One Trading Setup for Life ICT [TradingFinder] Sweep Session FVG🔵 Introduction
ICT One Trading Setup for Life is a trading strategy based on liquidity and market structure shifts, utilizing the PM Session Sweep to determine price direction. In this strategy, the market first forms a price range during the PM Session (from 13:30 to 16:00 EST), which includes the highest high (PM Session High) and lowest low (PM Session Low).
In the next session, the price first touches one of these levels to trigger a Liquidity Hunt before confirming its trend by breaking the Change in State of Delivery (CISD) Level. After this confirmation, the price retraces toward a Fair Value Gap (FVG) or Order Block (OB), which serve as the best entry points in alignment with liquidity.
In financial markets, liquidity is the primary driver of price movement, and major market participants such as institutional investors and banks are constantly seeking liquidity at key levels. This process, known as Liquidity Hunt or Liquidity Sweep, occurs when the price reaches an area with a high concentration of orders, absorbs liquidity, and then reverses direction.
In this setup, the PM Session range acts as a trading framework, where its highs and lows function as key liquidity zones that influence the next session’s price movement. After the New York market opens at 9:30 EST, the price initially breaks one of these levels to capture liquidity.
However, for a trend shift to be confirmed, the CISD Level must be broken.
Once the CISD Level is breached, the price retraces toward an FVG or OB, which serve as optimal trade entry points.
Bullish Setup :
Bearish Setup :
🔵 How to Use
In this strategy, the PM Session range is first identified, which includes the highest high (PM Session High) and lowest low (PM Session Low) between 13:30 and 16:00 EST. In the following session, the price touches one of these levels for a Liquidity Hunt, followed by a break of the Change in State of Delivery (CISD) Level. The price then retraces toward a Fair Value Gap (FVG) or Order Block (OB), creating a trading opportunity.
This process can occur in two scenarios : bearish and bullish setups.
🟣 Bullish Setup
In a bullish scenario, the PM Session High and PM Session Low are identified. In the following session, the price first breaks the PM Session Low, absorbing liquidity. This process results in a Fake Breakout to the downside, misleading retail traders into taking short positions.
After the Liquidity Hunt, the CISD Level is broken, confirming a trend reversal. The price then retraces toward an FVG or OB, offering an optimal long entry opportunity.
The initial take-profit target is the PM Session High, but if higher timeframe liquidity levels exist, extended targets can be set.
The stop-loss should be placed below the Fake Breakout low or the first candle of the FVG.
🟣 Bearish Setup
In a bearish scenario, the market first defines its PM Session High and PM Session Low. In the next session, the price initially breaks the PM Session High, triggering a Liquidity Hunt. This movement often causes a Fake Breakout, misleading retail traders into taking incorrect positions.
After absorbing liquidity, the CISD Level breaks, indicating a shift in market structure. The price then retraces toward an FVG or OB, offering the best short entry opportunity.
The initial take-profit target is the PM Session Low, but if additional liquidity exists on higher timeframes, lower targets can be considered.
The stop-loss should be placed above the Fake Breakout high or the first candle of the FVG.
🔵 Setting
CISD Bar Back Check : The Bar Back Check option enables traders to specify the number of past candles checked for identifying the CISD Level, enhancing CISD Level accuracy on the chart.
Order Block Validity : The number of candles that determine the validity of an Order Block.
FVG Validity : The duration for which a Fair Value Gap remains valid.
CISD Level Validity : The duration for which a CISD Level remains valid after being broken.
New York PM Session : Defines the PM Session range from 13:30 to 16:00 EST.
New York AM Session : Defines the AM Session range from 9:30 to 16:00 EST.
Refine Order Block : Enables finer adjustments to Order Block levels for more accurate price responses.
Mitigation Level OB : Allows users to set specific reaction points within an Order Block, including: Proximal: Closest level to the current price. 50% OB: Midpoint of the Order Block. Distal: Farthest level from the current price.
FVG Filter : The Judas Swing indicator includes a filter for Fair Value Gap (FVG), allowing different filtering based on FVG width: FVG Filter Type: Can be set to "Very Aggressive," "Aggressive," "Defensive," or "Very Defensive." Higher defensiveness narrows the FVG width, focusing on narrower gaps.
Mitigation Level FVG : Like the Order Block, you can set price reaction levels for FVG with options such as Proximal, 50% OB, and Distal.
Demand Order Block : Enables or disables bullish Order Block.
Supply Order Block : Enables or disables bearish Order Blocks.
Demand FVG : Enables or disables bullish FVG.
Supply FVG : Enables or disables bearish FVGs.
Show All CISD : Enables or disables the display of all CISD Levels.
Show High CISD : Enables or disables high CISD levels.
Show Low CISD : Enables or disables low CISD levels.
🔵 Conclusion
The ICT One Trading Setup for Life is a liquidity-based strategy that leverages market structure shifts and precise entry points to identify high-probability trade opportunities. By focusing on PM Session High and PM Session Low, this setup first captures liquidity at these levels and then confirms trend shifts with a break of the Change in State of Delivery (CISD) Level.
Entering a trade after a retracement to an FVG or OB allows traders to position themselves at optimal liquidity levels, ensuring high reward-to-risk trades. When used in conjunction with higher timeframe bias, order flow, and liquidity analysis, this strategy can become one of the most effective trading methods within the ICT Concept framework.
Successful execution of this setup requires risk management, patience, and a deep understanding of liquidity dynamics. Traders can enhance their confidence in this strategy by conducting extensive backtesting and analyzing past market data to optimize their approach for different assets.
Even vs Odd Days Performance█ OVERVIEW
The Even vs Odd Days Performance indicator is designed to visualise and compare the performance of even-numbered days versus odd-numbered days. This indicator explores one of the many calendar based anomalies that exist in financial markets.
In the context of financial analysis, a calendar based anomaly refers to patterns or tendencies that are linked to specific time periods, such as days of the week, weeks of the month, or months of the year. This indicator helps explore whether such a calendar based anomaly exists between even and odd days.
By calculating cumulative daily performance and counting the number of days with positive returns, it provides a clear snapshot of whether one set of days tends to outperform the other, potentially highlighting a calendar based anomaly if a significant difference is observed.
█ FEATURES
Customisable time window through input settings.
Tracks cumulative returns for even and odd days separately.
Easily adjust table settings like position and font size via input options.
Clear visual distinction between even and odd day performance using different colours.
Built-in error checks to ensure the indicator is applied to the correct timeframe.
█ HOW TO USE
Add the indicator to a chart with a Daily timeframe.
Choose your start and end dates in the Time Settings.
Enable or disable the performance table in the Table Settings as needed.
View the cumulative performance, with even days in green and odd days in red.
BullDozz MA-CandlesticksBullDozz MA-Candlesticks 🏗️📊
The BullDozz MA-Candlesticks indicator transforms traditional candlesticks by replacing their Open, High, Low, and Close values with various types of Moving Averages (MAs). This helps traders visualize market trends with smoother price action, reducing noise and enhancing decision-making.
🔹 Features:
✅ Choose from multiple MA types: SMA, EMA, WMA, DEMA, TEMA, LSMA
✅ Customizable MA period for flexibility
✅ Candlestick colors based on trend: Green for bullish, Red for bearish
✅ Works on any market and timeframe
This indicator is perfect for traders who want a clearer perspective on price movement using moving average-based candlesticks. 🚀 Try it now and refine your market analysis! 📈🔥
Even vs Odd Weeks Performance█ OVERVIEW
The Even vs Odd Weeks Performance indicator is designed to visualise and compare the performance of even-numbered weeks versus odd-numbered weeks. This indicator explores one of the many calendar based anomalies that exist in financial markets.
In the context of financial analysis, a calendar based anomaly refers to patterns or tendencies that are linked to specific time periods, such as days of the week, weeks of the month, or months of the year. This indicator helps explore whether such a calendar based anomaly exists between even and odd weeks.
By calculating cumulative weekly performance and counting the number of weeks with positive returns, it provides a clear snapshot of whether one set of weeks tends to outperform the other, potentially highlighting a calendar based anomaly if a significant difference is observed.
█ FEATURES
Customisable time window through input settings.
Tracks cumulative returns for even and odd weeks separately.
Easily adjust table settings like position and font size via input options.
Clear visual distinction between even and odd week performance using different colours.
Built-in error checks to ensure the indicator is applied to the correct timeframe.
█ HOW TO USE
Add the indicator to a chart with a Weekly timeframe.
Choose your start and end dates in the Time Settings.
Enable or disable the performance table in the Table Settings as needed.
View the cumulative performance, with even weeks in green and odd weeks in red.
[AcerX] Leverage, TP & Optimal TP CalculatorHow It Works
Inputs:
Portfolio Allocation (%): The percentage of your portfolio you're willing to risk on the trade.
Stop Loss (%): The stop loss distance below the entry price.
Taker Fee (%) and Maker Fee (%): The fees applied on entry and exit.
Calculations:
The script calculates the required "raw" leverage to risk 1% of your portfolio.
It floors the computed leverage to an integer ("effectiveLeverage").
If the computed leverage is less than 1, it shows an error message (and suggests the maximum allocation for at least 1× leverage).
Otherwise, it calculates the TP levels for target profits of 1.2%, 1.5%, and 2%, and an "Optimal TP" that nets a 1% profit after fees.
Display:
A table is drawn on the top right corner of your chart displaying the effective leverage, the TP levels, and an error message if applicable.
Simply add this script as a new indicator in TradingView, and adjust the inputs as needed.
Happy trading!
[EmreKb] MTF FTRDescription
Multi time frame version of "Failed to Return by EmreKb" indicator.
What is FTR?
There is no definitive, fixed perspective on FTR. Some sources may choose the FTR zone differently. I will use the single bearish candle in an uptrend (or the single bullish candle in a downtrend) as the FTR in this indicator.
Settings
Update Last: Number of how many boxes will be updated in the new candle
Timeframes: Presets for timeframe option
Use Custom: For use custom timeframes
Custom Timeframes: Text area for write custom timeframes without space and separate with comma.
Discount/Premium OTE LevelsThis indicator is created to identify discount/premium areas to provide additional confluence to trades taken. The underlying theory is that the trades taken in discounted areas are likely to have less risk due to a smaller stop loss and a higher reward/risk ratio.
The indicator operates by first identifying a zone between the last major swing high and low. These highs and lows are determined as price points that at the extremes within the number of bars to the left, as defined by the "Swing Sensitivity" setting.
Once a price zone is established, the indicator verifies that the zone meets the minimum size in points as configured via the "Minimum size" setting to be considered tradable. Zones that are too small may not provide a sufficient range even for scalping. The default value is 42 points based on Nasdaq, which means that the distance between inner most OTE levels (0.382 and 0.618) is at least 10 points.
When a valid zone is identified, it is then subdivided into areas of interest based on OTE levels, which can be configured/adjusted via the "Levels to Draw" setting. These levels represent the midpoint (50%), which distinguishes between premium and discount, and the three OTE levels 0.79, 0.705, 0.618, above the 50% for discount and below the 50% for premium.
For example, if a zone is formed initially by a swing low followed by a swing high with the assumption that the draw is higher, the indicator can be used to formulate long positions from below the 50% level starting at 0.38 OTE level, or ideally at 0.295 OTE level using 0 as a stop loss. Alternatively, if the 50% level is not yet tapped, short scalp positions can be made from 0.79-0.618 OTE levels with 50% as a partial or TP target.
See for long/short example
Typically, the indicator will show only a single zone. However, there may be cases with two zones: one larger parent zone containing a smaller, valid price zone within itself.
The indicator will automatically invalidate and remove the zone once the high/low of the zone is invalidated.
Configuration:
The indicator provides several visualization options for customization, including:
Color settings for OTE levels, with separate settings for edge/50% color, premium, and discount levels.
Settings for line style for OTE levels.
Settings to determine whether to show prices on level labels.
Settings to decide if lines should be extended to the right.
3x Supertrend (for Vietnamese stock market and vn30f1m)The 4Vietnamese 3x Supertrend Strategy is an advanced trend-following trading system developed in Pine Script™ and designed for publication on TradingView as an open-source strategy under the Mozilla Public License 2.0. This strategy leverages three Supertrend indicators with different ATR lengths and multipliers to identify optimal trade entries and exits while dynamically managing risk.
Key Features:
Option to build and hold long term positions with entry stop order. Try this to avoid market complex movement and retain long term investment style's benefits.
Advanced Entry & Exit Optimization: Includes configurable stop-loss mechanisms, pyramiding, and exit conditions tailored for different market scenarios.
Dynamic Risk Management: Implements features like selective stop-loss activation, trade window settings, and closing conditions based on trend reversals and loss management.
This strategy is particularly suited for traders seeking a systematic and rule-based approach to trend trading. By making it open-source, we aim to provide transparency, encourage community collaboration, and help traders refine and optimize their strategies for better performance.
License:
This script is released under the Mozilla Public License 2.0, allowing modifications and redistribution while maintaining open-source integrity.
Happy trading!
Anti-Martingale Position Sizing 6500$ Trailing DrawdownReady reckoner to let you know how much to risk as a function of your drawdown when trading NQ.
Multi-timeframe Difference Forecast (MTD)Description:
The Multi-timeframe Difference Forecast indicator projects potential future price levels by comparing open prices across multiple timeframe pairs. It uses 12 predefined timeframe pairs where each pair consists of a lower and a higher timeframe. For each pair, the indicator calculates a forecast value by adding the difference between the lower timeframe’s open and the higher timeframe’s open to the current bar’s close. These forecast values are then plotted as points into the future and connected by blue line segments, forming a continuous projection line on your chart.
How It Works:
Timeframe Pairs:
The indicator defines 12 pairs. For example:
Pair 1: Lower timeframe = 15 minutes; Higher timeframe = 150 minutes
Pair 2: Lower timeframe = 30 minutes; Higher timeframe = 165 minutes
⋮
Pair 12: Lower timeframe = 180 minutes; Higher timeframe = 720 minutes
Forecast Calculation:
For each pair, the forecast is computed as:
forecast = close + (lower timeframe open - higher timeframe open)
This produces a series of forecast values that are then plotted on the chart.
Time Offset:
Each forecast point is offset into the future by a number of bars calculated as the ratio between the lower timeframe’s duration (in seconds) and the current chart’s timeframe (in seconds). This adjustment helps align the forecast points correctly on the time axis.
Visualization:
The indicator draws blue lines (width = 2) connecting the current price to each forecast point sequentially, forming a polyline that visually represents the projected price trajectory.
How to Use:
Overlay on Chart:
Apply this indicator to any chart, and it will automatically overlay the forecast line on your current price chart.
Timeframe Flexibility:
The calculations adjust to the chart’s timeframe, so you can use it on various timeframes without needing to change the code.
Interpretation:
The forecast line is intended to provide a visual estimate of potential future price movement based on historical open price differences. It is meant to serve as an additional analytical tool rather than a standalone trading signal.
Disclaimer:
This script is provided for educational and informational purposes only and should not be construed as financial or trading advice. Trading involves significant risk, and past performance is not indicative of future results. You should perform your own analysis and consult with a qualified professional before making any trading decisions. Use this indicator at your own risk.
Aggregation BTC CVDThe script calculates the Cumulative Volume Delta (CVD) for multiple cryptocurrency exchanges, then averages these values and plots them.
Indicator Setup:
The script sets up an indicator called "BTC Cumulative Volume Delta (CVD) for multiple cryptocurrency exchanges", displayed as a separate panel (not overlaid on the price chart) with volume format.
Getting 1-minute data from multiple exchanges:
It retrieves 1-minute data (buy and sell volumes) for Bitcoin (BTC) against USD or USDT from several exchanges: Binance, OKEx, Coinbase (both BTCUSDT and BTCUSD), Bitfinex, Bybit, Huobi, and Kraken.
Calculating total buying and selling volume for each exchange:
For each exchange, it calculates the total buying volume (buy_vol_...), selling volume (sell_vol_...), and the difference between them (delta_vol_...).
It then computes the cumulative delta volume (cum_delta_vol_...), which is a running total of delta_vol_....
Calculating the average CVD:
It calculates the average cumulative delta volume (average_cum_delta_vol) by summing the cumulative delta volumes from all exchanges and dividing by the number of exchanges.
Plotting the average CVD:
Finally, it plots the average CVD with white color, and a line width of 2.
This script essentially provides an averaged Cumulative Volume Delta across multiple exchanges, giving a comprehensive view of buying and selling pressure in the Bitcoin market across these platforms.
Ultimate T3 Fibonacci for BTC Scalping. Look at backtest report!Hey Everyone!
I created another script to add to my growing library of strategies and indicators that I use for automated crypto trading! This strategy is for BITCOIN on the 30 minute chart since I designed it to be a scalping strategy. I calculated for trading fees, and use a small amount of capital in the backtest report. But feel free to modify the capital and how much per order to see how it changes the results:)
It is called the "Ultimate T3 Fibonacci Indicator by NHBprod" that computes and displays two T3-based moving averages derived from price data. The t3_function calculates the Tilson T3 indicator by applying a series of exponential moving averages to a combined price metric and then blending these results with specific coefficients derived from an input factor.
The script accepts several user inputs that toggle the use of the T3 filter, select the buy signal method, and set parameters like lengths and volume factors for two variations of the T3 calculation. Two T3 lines, T3 and T32, are computed with different parameters, and their colors change dynamically (green/red for T3 and blue/purple for T32) based on whether the lines are trending upward or downward. Depending on the selected signal method, the script generates buy signals either when T32 crosses over T3 or when the closing price is above T3, and similarly, sell signals are generated on the respective conditions for crossing under or closing below. Finally, the indicator plots the T3 lines on the chart, adds visual buy/sell markers, and sets alert conditions to notify users when the respective trading signals occur.
The user has the ability to tune the parameters using TP/SL, date timerames for analyses, and the actual parameters of the T3 function including the buy/sell signal! Lastly, the user has the option of trading this long, short, or both!
Let me know your thoughts and check out the backtest report!
UtilityLibraryLibrary "UtilityLibrary"
A collection of custom utility functions used in my scripts.
milliseconds_per_bar()
Gets the number of milliseconds per bar.
Returns: (int) The number of milliseconds per bar.
realtime()
Checks if the current bar is the actual realtime bar.
Returns: (bool) `true` when the current bar is the actual realtime bar, `false` otherwise.
replay()
Checks if the current bar is the last replay bar.
Returns: (bool) `true` when the current bar is the last replay bar, `false` otherwise.
bar_elapsed()
Checks how much of the current bar has elapsed.
Returns: (float) Between 0 and 1.
even(number)
Checks if a number is even.
Parameters:
number (float) : (float) The number to evaluate.
Returns: (bool) `true` when the number is even, `false` when the number is odd.
sign(number)
Gets the sign of a float.
Parameters:
number (float) : (float) The number to evaluate.
Returns: (int) 1 or -1, unlike math.sign() which returns 0 if the number is 0.
atan2(y, x)
Derives an angle in radians from the XY coordinate.
Parameters:
y (float) : (float) Y coordinate.
x (float) : (float) X coordinate.
Returns: (float) Between -π and π.
clamp(number, min, max)
Ensures a value is between the `min` and `max` thresholds.
Parameters:
number (float) : (float) The number to clamp.
min (float) : (float) The minimum threshold (0 by default).
max (float) : (float) The maximum threshold (1 by default).
Returns: (float) Between `min` and `max`.
remove_gamma(value)
Removes gamma from normalized sRGB channel values.
Parameters:
value (float) : (float) The normalized channel value .
Returns: (float) Channel value with gamma removed.
add_gama(value)
Adds gamma into normalized linear RGB channel values.
Parameters:
value (float) : (float) The normalized channel value .
Returns: (float) Channel value with gamma added.
rgb_to_xyz(Color)
Extracts XYZ-D65 channels from sRGB colors.
Parameters:
Color (color) : (color) The sRGB color to process.
Returns: (float tuple)
xyz_to_rgb(x, y, z)
Converts XYZ-D65 channels to sRGB channels.
Parameters:
x (float) : (float) The X channel value.
y (float) : (float) The Y channel value.
z (float) : (float) The Z channel value.
Returns: (int tuple)
rgb_to_oklab(Color)
Extracts OKLAB-D65 channels from sRGB colors.
Parameters:
Color (color) : (color) The sRGB color to process.
Returns: (float tuple)
oklab_to_rgb(l, a, b)
Converts OKLAB-D65 channels to sRGB channels.
Parameters:
l (float) : (float) The L channel value.
a (float) : (float) The A channel value.
b (float) : (float) The B channel value.
Returns: (int tuple)
rgb_to_oklch(Color)
Extracts OKLCH channels from sRGB colors.
Parameters:
Color (color) : (color) The sRGB color to process.
Returns: (float tuple)
oklch_to_rgb(l, c, h)
Converts OKLCH channels to sRGB channels.
Parameters:
l (float) : (float) The L channel value.
c (float) : (float) The C channel value.
h (float) : (float) The H channel value.
Returns: (float tuple)
hues(l1, h1, l2, h2, dist)
Ensures the hue angles are set correctly for linearly interpolating OKLCH.
Parameters:
l1 (float) : (float) The first L channel value.
h1 (float) : (float) The first H channel value.
l2 (float) : (float) The second L channel value.
h2 (float) : (float) The second H channel value.
dist (string) : (string) The preferred angular distance to use. Options: `min` or `max` (`min` by default).
Returns: (float tuple)
lerp(a, b, t)
Linearly interpolates between two values.
Parameters:
a (float) : (float) The starting point (first value).
b (float) : (float) The ending point (second value).
t (float) : (float) The interpolation factor .
Returns: (float) Between `a` and `b`.
smoothstep(t, precise)
A non-linear (smooth) interpolation between 0 and 1.
Parameters:
t (float) : (float) The interpolation factor .
precise (bool) : (bool) Sets if the calc should be precise or efficient (`true` by default).
Returns: (float) Between 0 and 1.
ease(t, n, v, x1, y1, x2, y2)
A customizable non-linear interpolation between 0 and 1.
Parameters:
t (float) : (float) The interpolation factor .
n (float) : (float) The degree of ease (1 by default).
v (string) : (string) The easing variant type: `in-out`, `in`, or `out` (`in-out` by default).
x1 (float) : (float) Optional X coordinate of starting point (0 by default).
y1 (float) : (float) Optional Y coordinate of starting point (0 by default).
x2 (float) : (float) Optional X coordinate of ending point (1 by default).
y2 (float) : (float) Optional Y coordinate of ending point (1 by default).
Returns: (float) Between 0 and 1.
mix(color1, color2, blend, space, dist)
Linearly interpolates between two colors.
Parameters:
color1 (color) : (color) The first color.
color2 (color) : (color) The second color.
blend (float) : (float) The interpolation factor .
space (string) : (string) The color space to use for interpolating. Options: `rgb`, `oklab`, and `oklch` (`rgb` by default).
dist (string) : (string) The anglular distance to use for the hue change when the color space is set to `oklch`. Options: `min` and `max` (`min` by default).
Returns: (color) Blend of `color1` and `color2`.
9-30wma//@version=5
indicator("Custom Indicator", overlay=true)
// 9 Günlük EMA ve 30 Günlük WMA
ema9 = ta.ema(close, 9)
wma30 = ta.wma(close, 30)
// Kapanışların 9 EMA ve 30 WMA seviyelerinin üzerinde olup olmadığını kontrol et
isCloseAboveEma9 = close > ema9
isCloseAboveWma30 = close > wma30
// Mavi sinyal: 9 EMA'nın altında, fakat 30 WMA'nın üstünde kapanış yapan ilk mum
blueSignalCondition = ta.crossover(close, ema9) and close < ema9 and close > wma30
// Yeşil sinyal: Mavi sinyali veren mumun üst seviyesinin üstünde kapanış yapan ilk mum
greenSignalCondition = close > ta.highest(blueSignalCondition ? high : na, 1) and blueSignalCondition
// Mavi ve yeşil sinyal çizimleri
plotshape(series=blueSignalCondition, color=color.blue, style=shape.labelup, location=location.belowbar, size=size.small, title="Blue Signal")
plotshape(series=greenSignalCondition, color=color.green, style=shape.labelup, location=location.belowbar, size=size.small, title="Green Signal")