[e2] EDS Key & AvwapThis indicator shows a Key Level Support & Resistance level and VWAP that resets on your choice of the stock's Earnings , Dividends or Splits release date.
A maximum of 8 bands calculated using a factor of the anchored VWAP's standard deviation can be displayed.
Note
The script is designed for stock-trading only.
Credits
Inspired by timwest , LazyBear 's Earnings S/R Levels and MichelT 's Earnings, Splits, Dividends scripts.
Cerca negli script per "THE SCRIPT"
Smooth Moving Average Ribbon [STUDY] @PuppyTherapyThe Smooth moving average ribbon script is an enhancement of the script I posted yesterday. But will help you also create a very simple trend-following strategy or a simple trend-following filter.
You are able to select from a large variety of moving averages add Heikin Ashi Candles as a source and also add additional smoothing to every single of the moving averages.
The Study script is equipped with alerts.
It is a showcase that a simple strategy like buy when we going up and sell when we going down actually works especially on a bigger timeframe.
Thanks to all supporters and everget for some of the moving average scripts.
Help with SMA Crossover Demo scriptHi I'm currently in the process of learning to write a script. Here's a very basic SMA 34/4 crossover script. Is somebody able to help me with adding the following functions to the script.
1. Add an alert and indicator to close a short or long trade whenever any candle touches the SMA 34 line?
2. When a SMA 34/4 Crossover has been executed (a Short Trade condition) add an alert/indicator (Titled “Add”) every time a Green bullish candle has closed.
3. When a SMA 34/4 Crossunder has been executed (a Long Trade condition) add an alert/indicator (Titled “Add) every time a Red bearish candle has closed.
4. To used on 15m/30m/1hr/2hr/4hr/1D/1W timeframe charts?
Relative Volume Change: BTC | Retail v. Non-Retail [Sim]This script was inspired by Cryptorae's BTC Volume Share, Retail script:
The script plots the relative monthly change of BTC volume, retail vs. non-retail. A move above 1 means the volume of retail or non-retail, respectively, is greater than last month's cumulative volume.
Ehlers FilterThis is the Adaptive Ehlers Filter.
I had to unroll the for loops and array because TV is missing crucial data structures and data conversions (Arrays and series to integer conversion for values).
I'm in the process of releasing some scripts. This is a very old script I had. This contains volatility ranges and can be used as trading signals. You can also see how the EF moves up or down, the direction, when price is sideways, and use price breaks up and down as signals from the line.
Have fun, because I didn't making this script hahaha
NOTE : There is an issue with the script where at certain time frames it positions itself below or above. I think its due to calculations. If anyone knows the fix before I get the chance to take a look at it, please let me know.
books.google.com
Securities day session - Opening-Range- Jayy Opening Range (OR) for regular daytime session eg NYSE 0 930hrs to 1600 hrs.
This is not for Forex sessions which is addressed in a separate script.
This script fixes two issues:
syntax error when code compiles
flaky plotting of the opening range and targets that required page reloading
Additions:
In this code there are more more opening range time period choices at the bottom of the format dialogue box
Opening Range Targets:
Opening Range Targets as per Leaf_West
Targets are set at 127% , 162%, 200 %, 262 %, 362%, 423%, 685%, 1109% and 1794% and this can be traded intraday using methods described at charts-by-leaf.com I also have some Leaf West PDFs that describe how the targets are set and how they are traded. There are others that use opening range.
See the notes in the script for more detail.
My first opening range script originated from work done by Chris Moody. This script has changed significantly but there are small remnants of Chris Moody's script lurking within.
This script is available to all.
Cheers Jayy
BARTRADINGPREDV4Please note, that all of the indicators on the chart are working together. I am showing all of the indicators so that you might see the benefits of these indicators working as one. Do your own research. Trade smart. I code tools not advice. So please make decisions based on your trading style and knowledge. Use my scripts freely but please note they are protected by Mozilla.
Script Summary: BARTRADINGPREDV4
This Pine Script indicator is a comprehensive trading tool that overlays on your TradingView chart. It combines moving averages, regression channels, volume analysis, RSI filtering, and pattern recognition to assist in making trading decisions. It also provides a forward-looking projection to help anticipate future price movement.
Key Features & Logic
1. Moving Averages
HMA (High Moving Average): Simple moving average of the high price over a user-defined lookback period.
LMA (Low Moving Average): Simple moving average of the low price over the same period.
HLMA (High-Low Moving Average): The average of HMA and LMA, providing a midline reference.
2. RSI Filtering
Optionally enables a Relative Strength Index (RSI) filter to help avoid trades when the market is not trending strongly.
Only allows buy signals if RSI is above 50, and sell signals if RSI is below 50 (if enabled).
3. Signal Generation
BUY Signal: Triggered when HL2 (average of OHLC) crosses over LMA and (optionally) RSI > 50.
SELL Signal: Triggered when HL2 crosses under HMA and (optionally) RSI < 50.
XSB (Extra Strong Buy): HL2 crosses over HMA, is above HLMA, up volume is greater than down volume, and (optionally) RSI > 50.
XBS (Extra Strong Sell): HL2 crosses under LMA, is below HLMA, down volume is greater than up volume, and (optionally) RSI < 50.
Enable/Disable XSB/XBS: You can turn these signals on or off via script inputs.
4. Take Profit (TP) and Stop Loss (SL) Levels
TP and SL are dynamically calculated based on the difference between HMA and LMA, providing contextually relevant exit levels.
5. Regression Channel and Prediction
Linear Regression Line: Plots a regression line over the lookback period to show the underlying trend.
ATR Channel: Adds an upper and lower channel around the regression line using ATR (Average True Range) for a realistic prediction envelope.
Forward Projection: Projects the regression line forward by a user-defined number of bars, visually showing where the trend could extend if current momentum persists.
6. Pattern Recognition
Higher Highs/Lows and Lower Highs/Lows: Marks bars where new higher highs/lows or lower highs/lows are set, helping you spot trend continuation or reversal points.
7. Status Table
A table shows the current price’s relationship to HMA, HLMA, and LMA, color-coded for quick visual interpretation.
User Instructions
Inputs
Number of Lookback Bars: Sets the period for all moving averages and regression calculations.
Prediction Length: (Legacy; not used in current logic.)
TURN ON OR OFF XSB/XBS Signal: Toggle extra strong buy/sell signals.
Enable RSI Filter: Only allow signals when RSI is in the correct zone.
RSI Period: Sets the sensitivity of the RSI filter.
Table Position: Choose where the status table appears on your chart.
ATR Length & Multiplier: Control the width of the regression prediction channel.
Bars Forward (Projection): Number of bars to project the regression line into the future.
How to Use
Add the script to your TradingView chart.
Adjust inputs to suit your asset and timeframe.
Interpret signals:
BUY (B) and SELL (S): Appear as green/red labels below/above bars.
XSB (blue) and XBS (orange): Indicate extra strong buy/sell conditions.
HH/HL (green triangles): New higher highs/lows.
LH/LL (red triangles): New lower highs/lows.
Watch the regression channel: The yellow regression line shows the trend; the shaded band indicates expected volatility.
Check the projection: The dashed magenta line projects the regression trend forward, giving a visual target for price continuation.
Use the table: Quickly see if price is above or below each moving average.
Interpreting the Prediction Aspects
Regression Line & Channel
Regression Line (Yellow): Represents the best-fit line of price over the lookback period, showing overall trend direction.
ATR Channel: The upper and lower bands (yellow, semi-transparent) account for typical volatility, suggesting a range where price is likely to stay if the trend continues.
Forward Projection
Dashed Magenta Line: Projects the regression line forward by the specified number of bars, using the current slope. This is a trend continuation forecast—not a guarantee, but a statistically reasonable path if current conditions persist.
How to use: If price is respecting the regression trend and within the channel, the projection provides a visual target for where price might go in the near future.
TP/SL Levels
TP (Take Profit): Suggests a price target above the current HL2, based on recent volatility.
SL (Stop Loss): Suggests a protective stop below HL2.
Best Practices & Warnings
No indicator is perfect! Always combine signals with your own analysis and risk management.
Regression projection is not a crystal ball: It simply extends the current trend, which can and will change, especially after big news or at support/resistance.
Use on liquid, trending assets for best results.
Adjust lookback and ATR settings for your market and timeframe.
Summary Table Example
Price vs HMA vs HLMA vs LMA
43000 +100 +50 -20
Green: Price is above average (bullish).
Red: Price is below average (bearish).
Yellow: Price is very close to the average (neutral).
Final Notes
This script is designed to be a multi-tool for trend trading and prediction, combining classic and modern techniques. The forward projection helps visualize possible future price action, while signals and overlays keep you informed of trend shifts and trade opportunities.
7 EMA CloudThe "7 EMA Cloud" script was likely flagged because it reuses the core concept of EMA clouds (shading areas between multiple EMAs to visualize trends, support/resistance, and momentum) without crediting the original inventor, Ripster (author ripster47 on TradingView). This concept is prominently associated with Ripster's "EMA Clouds" indicator, which popularized filling spaces between EMA pairs for trading signals. TradingView's house rules require crediting authors when reusing open-source ideas or code, even if not a direct copy-paste, and mandate significant improvements where the original forms a small proportion of the script. Your version adds features like multiple color modes (Classic rainbow, Monochrome, Heatmap), customizable signal sizes, and crossover alerts between the first and last EMA, which are enhancements, but the foundational EMA ribbon/cloud idea needs explicit attribution in the description and ideally code comments to comply.
Additionally, the description might be seen as not fully self-contained (e.g., it uses promotional language like "Advanced" and "Adaptive Trend & Signal Suite" without deeply explaining calculations or use cases), potentially violating rules against relying on code or external references for clarity.
To fix this, republish a new version with proper credits, ensure the description is detailed and standalone, and emphasize your improvements (e.g., the 7 Fibonacci-based EMAs, color modes, and signals). Do not reuse the flagged script—create a fresh one. Here's a compliant description you can use:
7 EMA Cloud Indicator
Overview
The 7 EMA Cloud overlays seven exponential moving averages (EMAs) with Fibonacci-inspired periods and fills the spaces between them with customizable "clouds" to visually represent trend strength, direction, and convergence/divergence. It includes crossover signals between the shortest and longest EMAs for potential entry/exit points, with adjustable visual modes for different trading styles. This helps traders identify bullish/bearish momentum, support/resistance zones, and overextensions in trending or ranging markets.
This script builds on the EMA cloud concept popularized by Ripster (ripster47) in their "EMA Clouds" indicatortradingview.com, where areas between EMA pairs are shaded for trend analysis. Improvements include a fixed set of 7 Fibonacci EMAs, multiple color schemes (Classic rainbow, Monochrome grayscale, Heatmap for intensity), user-selectable signal sizes, and transparency controls. Released under the Mozilla Public License 2.0.
Key Features
7 EMAs with Clouds: EMAs at periods 8, 13, 21, 34, 55, 89, and 144; clouds filled between consecutive pairs to show alignment (tight clouds for consolidation, wide for trends).
Color Modes:
Classic: Rainbow gradients (blue to purple) for vibrant distinction.
Monochrome: Grayscale shades for minimalistic charts.
Heatmap: Red-to-blue spectrum to highlight "hot" (volatile) vs. "cool" (stable) areas.
Crossover Signals: Triangle markers (up for bullish, down for bearish) when the shortest EMA crosses the longest; sizes from Tiny to Huge.
Display Options: Toggle EMA lines on/off, adjust cloud transparency (0-100%), and enable alerts for crossovers.
Alerts: Notifications for "Bullish EMA Crossover" (EMA1 > EMA7) and "Bearish EMA Crossover" (EMA1 < EMA7).
How It Works
EMA Calculations: Each EMA is computed using ta.ema(close, period), with periods based on Fibonacci sequences for natural market rhythm alignment.
Clouds: Filled via fill() between plot pairs, with colors derived from the selected mode and transparency applied.
Signals: Detected with ta.crossover(ema1, ema7) and ta.crossunder(ema1, ema7), plotted as shapes with mode-specific colors (e.g., green/lime for bull, red for bear).
Customization: Inputs grouped into EMA Settings (periods), Display Settings (visibility, colors, transparency), and Signal Settings (size).
Customization Options
EMA Periods: Individually adjustable (defaults: 8, 13, 21, 34, 55, 89, 144).
Show EMAs: Toggle to hide lines and focus on clouds.
Cloud Transparency: 0% for solid fills, 100% for invisible (default 80%).
Color Mode: Switch between Classic, Monochrome, or Heatmap.
Signal Size: Tiny, Small, Normal, Large, or Huge for crossover markers.
Ideal Use Case
Suited for swing or trend-following on any timeframe (e.g., 15m-1h for intraday, daily for swings) and assets (stocks, forex, crypto, futures). Enter long on bullish crossovers above aligned clouds; exit on bearish signals or cloud widenings. Use Monochrome for clean charts or Heatmap for volatility emphasis. Combine with volume or RSI for confirmation.
Why It's Valuable
By expanding Ripster's EMA cloud idea with multi-mode visuals and integrated signals, this indicator provides a versatile, at-a-glance tool for trend assessment—reducing noise while highlighting key shifts. It's more adaptive than basic MA ribbons, with Fibonacci periods adding a layer of harmonic analysis.
Note: Test on historical data or demo accounts. Not financial advice—incorporate risk management. Optimized for Pine Script v5; some features may vary on non-overlay charts.
Bitcoin Power LawThis is the main body version of the script. The Oscillator version can be found here.
Understanding the Bitcoin Power Law Model
Also called the Long-Term Bitcoin Power Law Model. The Bitcoin Power Law model tries to capture and predict Bitcoin's price growth over time. It assumes that Bitcoin's price follows an exponential growth pattern, where the price increases over time according to a mathematical relationship.
By fitting a power law to historical data, the model creates a trend line that represents this growth. It then generates additional parallel lines (support and resistance lines) to show potential price boundaries, helping to visualize where Bitcoin’s price could move within certain ranges.
In simple terms, the model helps us understand Bitcoin's general growth trajectory and provides a framework to visualize how its price could behave over the long term.
The Bitcoin Power Law has the following function:
Power Law = 10^(a + b * log10(d))
Consisting of the following parameters:
a: Power Law Intercept (default: -17.668).
b: Power Law Slope (default: 5.926).
d: Number of days since a reference point(calculated by counting bars from the reference point with an offset).
Explanation of the a and b parameters:
Roughly explained, the optimal values for the a and b parameters are determined through a process of linear regression on a log-log scale (after applying a logarithmic transformation to both the x and y axes). On this log-log scale, the power law relationship becomes linear, making it possible to apply linear regression. The best fit for the regression is then evaluated using metrics like the R-squared value, residual error analysis, and visual inspection. This process can be quite complex and is beyond the scope of this post.
Applying vertical shifts to generate the other lines:
Once the initial power-law is created, additional lines are generated by applying a vertical shift. This shift is achieved by adding a specific number of days (or years in case of this script) to the d-parameter. This creates new lines perfectly parallel to the initial power law with an added vertical shift, maintaining the same slope and intercept.
In the case of this script, shifts are made by adding +365 days, +2 * 365 days, +3 * 365 days, +4 * 365 days, and +5 * 365 days, effectively introducing one to five years of shifts. This results in a total of six Power Law lines, as outlined below (From lowest to highest):
Base Power Law Line (no shift)
1-year shifted line
2-year shifted line
3-year shifted line
4-year shifted line
5-year shifted line
The six power law lines:
Bitcoin Power Law Oscillator
This publication also includes the oscillator version of the Bitcoin Power Law. This version applies a logarithmic transformation to the price, Base Power Law Line, and 5-year shifted line using the formula: log10(x) .
The log-transformed price is then normalized using min-max normalization relative to the log-transformed Base Power Law Line and 5-year shifted line with the formula:
normalized price = log(close) - log(Base Power Law Line) / log(5-year shifted line) - log(Base Power Law Line)
Finally, the normalized price was multiplied by 5 to map its value between 0 and 5, aligning with the shifted lines.
Interpretation of the Bitcoin Power Law Model:
The shifted Power Law lines provide a framework for predicting Bitcoin's future price movements based on historical trends. These lines are created by applying a vertical shift to the initial Power Law line, with each shifted line representing a future time frame (e.g., 1 year, 2 years, 3 years, etc.).
By analyzing these shifted lines, users can make predictions about minimum price levels at specific future dates. For example, the 5-year shifted line will act as the main support level for Bitcoin’s price in 5 years, meaning that Bitcoin’s price should not fall below this line, ensuring that Bitcoin will be valued at least at this level by that time. Similarly, the 2-year shifted line will serve as the support line for Bitcoin's price in 2 years, establishing that the price should not drop below this line within that time frame.
On the other hand, the 5-year shifted line also functions as an absolute resistance , meaning Bitcoin's price will not exceed this line prior to the 5-year mark. This provides a prediction that Bitcoin cannot reach certain price levels before a specific date. For example, the price of Bitcoin is unlikely to reach $100,000 before 2021, and it will not exceed this price before the 5-year shifted line becomes relevant. After 2028, however, the price is predicted to never fall below $100,000, thanks to the support established by the shifted lines.
In essence, the shifted Power Law lines offer a way to predict both the minimum price levels that Bitcoin will hit by certain dates and the earliest dates by which certain price points will be reached. These lines help frame Bitcoin's potential future price range, offering insight into long-term price behavior and providing a guide for investors and analysts. Lets examine some examples:
Example 1:
In Example 1 it can be seen that point A on the 5-year shifted line acts as major resistance . Also it can be seen that 5 years later this price level now corresponds to the Base Power Law Line and acts as a major support at point B (Note: Vertical yearly grid lines have been added for this purpose👍).
Example 2:
In Example 2, the price level at point C on the 3-year shifted line becomes a major support three years later at point D, now aligning with the Base Power Law Line.
Finally, let's explore some future price predictions, as this script provides projections on the weekly timeframe :
Example 3:
In Example 3, the Bitcoin Power Law indicates that Bitcoin's price cannot surpass approximately $808K before 2030 as can be seen at point E, while also ensuring it will be at least $224K by then (point F).
ICT Swiftedge# ICT SwiftEdge: Advanced Market Structure Trading System
**Overview**
ICT SwiftEdge is a powerful trading system built upon the foundation of ICTProTools' ICT Breakers, licensed under the Mozilla Public License 2.0 (mozilla.org). This script has been significantly enhanced by to combine market structure analysis with modern technical indicators and a sleek, AI-inspired statistics dashboard. The goal is to provide traders with a comprehensive tool for identifying high-probability trade setups, managing exits, and tracking performance in a visually intuitive way.
**Credits**
This script is a derivative work based on the original "ICT Breakers" by ICTProTools, used with permission under the Mozilla Public License 2.0. Significant enhancements, including RSI-MA signals, trend filtering, dynamic timeframe adjustments, dual exit strategies, and an AI-style statistics dashboard, were developed by . We express our gratitude to ICTProTools for their foundational work in market structure analysis.
**What It Does**
ICT SwiftEdge integrates multiple trading concepts to help traders identify and manage trades based on market structure and momentum:
- **Market Structure Analysis**: Identifies Break of Structure (BOS) and Market Structure Shift (MSS) patterns, which signal potential trend continuations or reversals. BOS indicates a continuation of the current trend, while MSS highlights a shift in market direction, providing key entry points.
- **RSI-MA Signals**: Generates "BUY" and "SELL" signals when BOS or MSS patterns align with the Relative Strength Index (RSI) smoothed by a Moving Average (RSI-MA). Signals are filtered to occur only when RSI-MA is above 50 (for buys) or below 50 (for sells), ensuring momentum supports the trade direction.
- **Trend Filtering**: Prevents multiple signals in the same trend, ensuring only one buy or sell signal per trend direction, reducing noise and improving trade clarity.
- **Dynamic Timeframe Adjustment**: Automatically adjusts pivot points, RSI, and MA parameters based on the selected chart timeframe (1M to 1D), optimizing performance across different market conditions.
- **Flexible Exit Strategies**: Offers two user-selectable exit methods:
- **Trailing Stop-Loss (TSL)**: Exits trades when price moves against the position by a user-defined distance (in points), locking in profits or limiting losses.
- **RSI-MA Exit**: Exits trades when RSI-MA crosses the 50 level, signaling a potential loss of momentum.
- Users can enable either or both strategies, providing flexibility to adapt to different trading styles.
- **AI-Style Statistics Dashboard**: Displays real-time trade performance metrics in a futuristic, neon-colored interface, including total trades, wins, losses, win/loss ratio, and win percentage. This helps traders evaluate the system's effectiveness without external tools.
**Why This Combination?**
The integration of these components creates a synergistic trading system:
- **BOS/MSS and RSI-MA**: Combining market structure breaks with RSI-MA ensures entries are based on both price action (structure) and momentum (RSI-MA), increasing the likelihood of high-probability trades.
- **Trend Filtering**: By limiting signals to one per trend, the system avoids overtrading and focuses on significant market moves.
- **Dynamic Adjustments**: Timeframe-specific parameters make the system versatile, suitable for scalping (1M, 5M) or swing trading (4H, 1D).
- **Dual Exit Strategies**: TSL protects profits during trending markets, while RSI-MA exits are ideal for range-bound or reversing markets, catering to diverse market conditions.
- **Statistics Dashboard**: Provides immediate feedback on trade performance, enabling data-driven decision-making without manual tracking.
This combination balances technical precision with user-friendly visuals, making it accessible to both novice and experienced traders.
**How to Use**
1. **Add to Chart**: Apply the script to any TradingView chart.
2. **Configure Settings**:
- **Chart Timeframe**: Select your chart's timeframe (1M to 1D) to optimize parameters.
- **Structure Timeframe**: Choose a timeframe for market structure analysis (leave blank for chart timeframe).
- **Exit Strategy**: Enable Trailing Stop-Loss (`useTslExit`), RSI-MA Exit (`useRsiMaExit`), or both. Adjust `tslPoints` for TSL distance.
- **Show Signals/Labels**: Toggle `showSignals` and `showExit` to display "BUY", "SELL", and "EXIT" labels.
- **Dashboard**: Enable `showDashboard` to view trade statistics. Customize colors with `dashboardBgColor` and `dashboardTextColor`.
3. **Trading**:
- Look for "BUY" or "SELL" labels to enter trades when BOS/MSS aligns with RSI-MA.
- Exit trades at "EXIT" labels based on your chosen strategy.
- Monitor the statistics dashboard to track performance (total trades, win/loss ratio, win percentage).
4. **Alerts**: Set up alerts for BOS, MSS, buy, sell, or exit signals using the provided alert conditions.
**License**
This script is licensed under the Mozilla Public License 2.0 (mozilla.org). The source code is available for review and modification under the terms of this license.
**Compliance with TradingView House Rules**
This publication adheres to TradingView's House Rules and Scripts Publication Rules. It provides a clear, self-contained description of the script's functionality, credits the original author (ICTProTools), and explains the rationale for combining indicators. The script contains no promotional content, offensive language, or proprietary restrictions beyond MPL 2.0.
**Note**
Trading involves risk, and past performance is not indicative of future results. Always backtest and validate the system on your preferred markets and timeframes before live trading.
Enjoy trading with ICT SwiftEdge, and let data-driven insights guide your decisions!
Leavitt Convolution ProbabilityTechnical Analysis of Markets with Leavitt Market Projections and Associated Convolution Probability
The aim of this study is to present an innovative approach to market analysis based on the research "Leavitt Market Projections." This technical tool combines one indicator and a probability function to enhance the accuracy and speed of market forecasts.
Key Features
Advanced Indicators : the script includes the Convolution line and a probability oscillator, designed to anticipate market changes. These indicators provide timely signals and offer a clear view of price dynamics.
Convolution Probability Function : The Convolution Probability (CP) is a key element of the script. A significant increase in this probability often precedes a market decline, while a decrease in probability can signal a bullish move. The Convolution Probability Function:
At each bar, i, the linear regression routine finds the two parameters for the straight line: y=mix+bi.
Standard deviations can be calculated from the sequence of slopes, {mi}, and intercepts, {bi}.
Each standard deviation has a corresponding probability.
Their adjusted product is the Convolution Probability, CP. The construction of the Convolution Probability is straightforward. The adjusted product is the probability of one times 1− the probability of the other.
Customizable Settings : Users can define oversold and overbought levels, as well as set an offset for the linear regression calculation. These options allow for tailoring the script to individual trading strategies and market conditions.
Statistical Analysis : Each analyzed bar generates regression parameters that allow for the calculation of standard deviations and associated probabilities, providing an in-depth view of market dynamics.
The results from applying this technical tool show increased accuracy and speed in market forecasts. The combination of Convolution indicator and the probability function enables the identification of turning points and the anticipation of market changes.
Additional information:
Leavitt, in his study, considers the SPY chart.
When the Convolution Probability (CP) is high, it indicates that the probability P1 (related to the slope) is high, and conversely, when CP is low, P1 is low and P2 is high.
For the calculation of probability, an approximate formula of the Cumulative Distribution Function (CDF) has been used, which is given by: CDF(x)=21(1+erf(σ2x−μ)) where μ is the mean and σ is the standard deviation.
For the calculation of probability, the formula used in this script is: 0.5 * (1 + (math.sign(zSlope) * math.sqrt(1 - math.exp(-0.5 * zSlope * zSlope))))
Conclusions
This study presents the approach to market analysis based on the research "Leavitt Market Projections." The script combines Convolution indicator and a Probability function to provide more precise trading signals. The results demonstrate greater accuracy and speed in market forecasts, making this technical tool a valuable asset for market participants.
The Ultimate Lot Size Calculator Backstory
I created this Pine Script tool to calculate lot sizes with precision. While there are many lot size calculators available on TradingView, I found that most had significant flaws. I started teaching myself Pine Script over three and a half years ago with the sole purpose of building this tool. My first version was messy and lacked accuracy, so I never published it. I wanted it to be better than any other available tool, but my limited knowledge back then held me back.
Recently, I received a request to create a similar tool, as the current options still fail to deliver the precision and reliability traders need. This inspired me to revisit my original idea. With improved skills and a better understanding of Pine Script, I redesigned the tool from scratch, making it as precise, reliable, and efficient as possible.
This tool features built-in error detection to minimize mistakes and ensure accuracy in lot size calculations. I've spent more time on this project than on any other, focusing on delivering a solution that stands out on TradingView. While I plan to add more features based on user feedback, the current version is already a powerful, dependable, and easy-to-use tool for traders who value precision and efficiency in their lot size calculations.
How to use the tool ?
At first it might seem complicated, but it is quite easy to use the tool. There are two modes: auto and manual. By default, the tool is set on manual mode. When you apply the tool on the chart, it will ask you to choose the entry price, then the stop-loss price, and at last the take-profit price. Select all of them one by one. These values can be changed later.
Settings
There are various setting given for making the tool as flexible as possible. Here is the explanation for some of most important settings. Play with them and make yourself comfortable.
General settings
Auto mode : Use this mode if you want the the risk reward to be fixed and stop loss to be based on ATR. However the stop loss can be changed to be based on user input.
Manual mode : Use this mode if you want full control over entry, stop loss and take profit.
Contract Size : The tool works perfectly for all forex pairs including gold and silver but as the contract size is different for different assets it is difficult to add every single asset into the script manually so i have provided this option. In case you want to calculate lot size for a asset other then forex, gold or silver make sure to change this. Contract size = Quantity of the asset in 1 standerd lot.
Account settings
Automatic mode settings and ATR stop settings
Manual mode settings
Table and risk-reward box settings are pretty much self-explanatory i guess.
Error handling
A lot size calculator is a complex program. There are numerous points where it may fail and produce incorrect results. To make it robust and accurate, these issues must be addressed and managed properly, which practically all existing lot size calculator scripts fail to do.
Golden tip
When the symbol is changed it will display a symbol change warning as the entry, stop loss and take profit price won't change.
There are 2 ways to get fix this. Either manually enter all three values which i hate the most or remove the script from the chart and re-apply the script on chart again.
So to re-apply the indicator in most easy way follow the following instructions:
Note : If you encounter any other error then read the instruction to fix it and if it is an unknow error pleas report it to me in comments or DM.
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.
MEMEQUANTMEMEQUANT
This script is a comprehensive and specialized tool designed for tracking trends and money flow within meme coins and DEX tokens. By combining various features such as trend lines, Fibonacci levels, and category-based indices, it helps traders make informed decisions in highly volatile markets.
Key Features:
1. Category-Based Indices:
• Tracks the performance of token categories like:
• AI Agent Tokens
• AI Tokens
• Animal Tokens
• Murad Picks
• Each category consists of leader tokens, which are selected based on their higher market cap and trading volume. These tokens act as benchmarks for their respective categories.
• Visualizes category indices in a line chart to identify trends and compare money flow between categories.
2. Fibonacci Correction Zones:
• Highlights key retracement levels (e.g., 60%, 70%, 80%).
• These levels are crucial for identifying potential reversal zones, commonly observed in meme coin trading patterns.
• Fully customizable to match individual trading strategies.
3. Trend Lines:
• Automatically detects major support and resistance levels.
• Separates long-term and short-term trend lines, allowing traders to focus on significant price movements.
4. Enhanced Info Table:
• Provides real-time insights, including:
• % Distance from All-Time High (ATH)
• Current Trading Volume
• 50-bar Average Volume
• Volume Change Percentage
• Displays information in an easy-to-read table on the chart.
5. Customizable Settings:
• Users can adjust transparency, colors, and ranges for Fibonacci zones, trend lines, and the table.
• Enables or disables individual features (e.g., Fibonacci, trend lines, table) based on preferences.
How It Works:
1. Tracking Money Flow Across Categories:
• The script calculates the market cap to volume ratio for each category of tokens to help identify the dominant trend.
• A higher ratio indicates greater liquidity and stability, while a lower ratio suggests higher volatility or price manipulation.
2. Identifying Retracement Patterns:
• Leverages common retracement behaviors (e.g., 70% correction levels) observed in meme coins to detect potential reversal zones.
• Combines this with trend line analysis for additional confirmation.
3. Leader Tokens as Indicators:
• Each category is represented by its leader tokens, which have historically higher liquidity and market cap. This allows the script to accurately reflect the overall trend in each category.
When to Use:
• Trend Analysis: To identify which category (e.g., AI Tokens or Animal Tokens) is leading the market.
• Reversal Zones: To spot potential support or resistance levels using Fibonacci zones.
• Money Flow: To understand how capital is moving across different token categories in real time.
Who Is This For?
This script is tailored for:
• Traders specializing in meme coins and DEX tokens.
• Those looking for an edge in trend-based trading by analyzing market cap, volume, and retracement levels.
• Anyone aiming to track money flow dynamics between different token categories.
Future Updates:
This is the initial version of the script. Future updates may include:
• Support for additional token categories and DEX data.
• More advanced pattern recognition and alerts for volume and price anomalies.
• Enhanced visualization for historical data trends.
With this tool, traders can combine money flow analysis with the 60-70% retracement strategy, turning it into a powerful assistant for navigating the fast-paced world of meme coins and DEX tokens.
This script is designed to provide meaningful insights and practical utility for traders, adhering to TradingView’s standards for originality, clarity, and user value.
[blackcat] L3 Counter Peacock Spread█ OVERVIEW
The script titled " L3 Counter Peacock Spread" is an indicator designed for use in TradingView. It calculates and plots various moving averages, K lines derived from these moving averages, additional simple moving averages (SMAs), weighted moving averages (WMAs), and other technical indicators like slope calculations. The primary function of the script is to provide a comprehensive set of visual tools that traders can use to identify trends, potential support/resistance levels, and crossover signals.
█ LOGICAL FRAMEWORK
Input Parameters:
There are no explicit input parameters defined; all variables are hardcoded or calculated within the script.
Calculations:
• Moving Averages: Calculates Simple Moving Averages (SMA) using ta.sma.
• Slope Calculation: Computes the slope of a given series over a specified period using linear regression (ta.linreg).
• K Lines: Defines multiple exponentially adjusted SMAs based on a 30-period MA and a 1-period MA.
• Weighted Moving Average (WMA): Custom function to compute WMAs by iterating through price data points.
• Other Indicators: Includes Exponential Moving Average (EMA) for momentum calculation.
Plotting:
Various elements such as MAs, K lines, conditional bands, additional SMAs, and WMAs are plotted on the chart overlaying the main price action.
No loops control the behavior beyond those used in custom functions for calculating WMAs. Conditional statements determine the coloring of certain plot lines based on specific criteria.
█ CUSTOM FUNCTIONS
calculate_slope(src, length) :
• Purpose: To calculate the slope of a time-series data point over a specified number of periods.
• Functionality: Uses linear regression to find the current and previous slopes and computes their difference scaled by the timeframe multiplier.
• Parameters:
– src: Source of the input data (e.g., closing prices).
– length: Periodicity of the linreg calculation.
• Return Value: Computed slope value.
calculate_ma(source, length) :
• Purpose: To calculate the Simple Moving Average (SMA) of a given source over a specified period.
• Functionality: Utilizes TradingView’s built-in ta.sma function.
• Parameters:
– source: Input data series (e.g., closing prices).
– length: Number of bars considered for the SMA calculation.
• Return Value: Calculated SMA value.
calculate_k_lines(ma30, ma1) :
• Purpose: Generates multiple exponentially adjusted versions of a 30-period MA relative to a 1-period MA.
• Functionality: Multiplies the 30-period MA by coefficients ranging from 1.1 to 3 and subtracts multiples of the 1-period MA accordingly.
• Parameters:
– ma30: 30-period Simple Moving Average.
– ma1: 1-period Simple Moving Average.
• Return Value: Returns an array containing ten different \u2003\u2022 "K line" values.
calculate_wma(source, length) :
• Purpose: Computes the Weighted Moving Average (WMA) of a provided series over a defined period.
• Functionality: Iterates backward through the last 'n' bars, weights each bar according to its position, sums them up, and divides by the total weight.
• Parameters:
– source: Price series to average.
– length: Length of the lookback window.
• Return Value: Calculated WMA value.
█ KEY POINTS AND TECHNIQUES
• Advanced Pine Script Features: Utilization of custom functions for encapsulating complex logic, leveraging TradingView’s library functions (ta.sma, ta.linreg, ta.ema) for efficient computations.
• Optimization Techniques: Efficient computation of K lines via pre-calculated components (multiples of MA30 and MA1). Use of arrays to store intermediate results which simplifies plotting.
• Best Practices: Clear separation between calculation and visualization sections enhances readability and maintainability. Usage of color.new() allows dynamic adjustments without hardcoding colors directly into plot commands.
• Unique Approaches: Introduction of K lines provides an alternative representation of trend strength compared to traditional MAs. Implementation of conditional band coloring adds real-time context to existing visual cues.
█ EXTENDED KNOWLEDGE AND APPLICATIONS
Potential Modifications/Extensions:
• Adding more user-defined inputs for lengths of MAs, K lines, etc., would make the script more flexible.
• Incorporating alert conditions based on crossovers between key lines could enhance automated trading strategies.
Application Scenarios:
• Useful for both intraday and swing trading due to the combination of short-term and long-term MAs along with trend analysis via slopes and K lines.
• Can be integrated into larger systems combining this indicator with others like oscillators or volume-based metrics.
Related Concepts:
• Understanding how linear regression works internally aids in grasping the slope calculation.
• Familiarity with WMA versus SMA helps appreciate why different types of averaging might be necessary depending on market dynamics.
• Knowledge of candlestick patterns can complement insights gained from this indicator.
Volume-MACD-RSI Integrated StrategyDescription:
This script integrates three well-known technical analysis tools—Volume, MACD, and RSI—into a single signal meant to help traders identify potential turning points under strong market conditions.
Concept Overview:
Volume Filter: We compare the current bar’s volume to a 20-period volume average and require it to exceed a specified multiplier. This ensures that signals occur only during periods of heightened market participation. The logic is that moves on low volume are less reliable, so we wait for increased activity to confirm potential trend changes.
MACD Momentum Shift:
We incorporate MACD crossovers to determine when momentum is changing direction. MACD is a popular momentum indicator that identifies shifts in trend by comparing short-term and long-term EMAs. A bullish crossover (MACD line crossing above the signal line) may suggest upward momentum is building, while a bearish crossunder can indicate momentum turning downward.
RSI Market Condition Check:
RSI helps us identify overbought or oversold conditions. By requiring that RSI be oversold on buy signals and overbought on sell signals, we attempt to pinpoint entries where price could be at an extreme. The idea is to position entries or exits at junctures where price may be due for a reversal.
How the Script Works Together:
Volume Confirmation: No signals fire unless there’s strong volume. This reduces false positives.
MACD Momentum Check: Once volume confirms market interest, MACD crossover events serve as a trigger to initiate consideration of a trade signal.
RSI Condition: Finally, RSI determines whether the market is at an extreme. This final layer helps ensure we only act on signals that have both momentum shift and a price at an extreme level, potentially increasing the reliability of signals.
Intended Use:
This script can help highlight potential reversal points or trend shifts during active market periods.
Traders can use these signals as a starting point for deeper analysis. For instance, a “BUY” arrow may prompt a trader to investigate the market context, confirm with other methods, or look for patterns that further support a long entry.
The script is best used on markets with reliable volume data, such as stocks or futures, and can be experimented with across different timeframes. Adjusting the RSI thresholds, MACD parameters, and volume multiplier can help tailor it to specific instruments or trading styles.
Chart Setup:
When adding this script to your chart, it should be the only indicator present, so you can clearly see the red “BUY” arrows and green “SELL” arrows at the candle closes where signals occur.
The chart should be kept clean and uncluttered for clarity. No other indicators are necessary since the logic is already integrated into this single script.
Coinbase Premium HeatmapCoinbase Premium Heatmap visualizes spot bitcoin premium (or discount) on Coinbase, relative to other spot markets, visualized as a heatmap overlay.
OPTIMIZED FOR CLARITY
Coinbase Premium can whipsaw quickly, with dramatic state changes over relatively brief periods, unnecessarily complicating its use (for our purposes).
To mitigate whipsaws, the script (a) averages premium/discount on an hourly basis, and (b) introduces lightweight exponential smoothing, to further simplify/clarify state.
WHY IT MATTERS
Spot Coinbase premium is a strong proxy for bullish institutional sentiment and net inflows/accumulation by western financial institutions, ETF providers, and corporations (like MicroStrategy) adding bitcoin to their treasury.
In aggregate, this holder cohort drives trend & sentiment more than any other, so it's important to know their directional bias.
HOW IT'S CALCULATED
Premium / discount calculates the spread between Coinbase spot BTC price, and spot price on Binance + Bybit. Calculation is averaged hourly, with light exponential smoothing.
HOW WE USE THE SCRIPT
When assessing optimal moments to hedge exposure (or sell spot assets) near a presumed impending cycle top, awareness of institutional sentiment is a crucial variable. This script:
(a) Filters out unnecessarily early cycle exit signals (if Coinbase premium is still present)
(b) Confirms other metrics that indicate an impending cycle top (if the neutral to bearish institutional sentiment we'd expect to see is in effect), and
(c) Visualizes state changes (from bearish to bullish & vice versa), that often make for good swing entries & exits on lower timeframes.
Zero-Lag MA Trend FollowingScript Name: Zero-Lag MA Trend Following Auto-Trading
Purpose and Unique Features:
This script is designed to implement a trend-following auto-trading strategy by combining the Zero-Lag Moving Average (ZLMA), Exponential Moving Average (EMA), and ATR Bands. To differentiate it from similar scripts, the following key aspects are emphasized:
Zero-Lag MA (ZLMA):
Responds quickly to price changes, minimizing lag compared to EMA.
Detects crossovers with EMA and generates Diamond Signals to indicate trend reversals.
ATR Bands:
Measures market volatility to set stop-loss levels.
Helps optimize entry points and manage risk effectively.
Diamond Signals:
A vital visual cue indicating the early stages of trend reversals.
Green diamonds signal an uptrend, while red diamonds signal a downtrend.
Each component plays a distinct role, working synergistically to enhance trend detection and risk management. This system doesn’t merely combine indicators but optimizes them for comprehensive trend-following and risk control.
Usage Instructions:
Entry Conditions:
Long Entry:
Enter when a green Diamond Signal appears (ZLMA crosses above EMA).
Short Entry:
Enter when a red Diamond Signal appears (ZLMA crosses below EMA).
Exit Conditions:
Stop Loss:
Set at the lower boundary of the ATR band for BUY or the upper boundary for SELL at entry.
Take Profit:
Automatically executed based on a 1:2 risk-reward ratio.
Account Size: ¥100,0000
Commissions and Slippage: Assumed commission of 90 pips per trade and slippage of 1 pip.
Risk per Trade: 10% of account equity (adjustable based on risk tolerance).
Improvements and Original Features:
While based on open-source code, this script incorporates the following critical enhancements:
Diamond Signals from ZLMA and EMA Integration:
Improves entry accuracy with a proprietary trend detection strategy.
ATR Bands Utilization:
Adds a volatility-based risk management function.
Optimized Visual Entry Signals:
Includes plotted triangles (▲, ▼) to clearly indicate trend-following entry points.
Credits:
This script builds upon indicators developed by ChartPrime, whose innovative approach and insights have enabled a more advanced trend-following strategy. We extend our gratitude for their foundational work.
Additionally, it integrates technical methods based on Zero-Lag Moving Average (ZLMA), EMA, and ATR Bands, leveraging insights from the trading community.
Chart Display Options:
The script offers options to toggle the visual signals (Diamond Signals, trend lines, and entry points) on or off, keeping the chart clean while maximizing analytical efficiency.
Disclaimer:
This script is provided for educational purposes and past performance does not guarantee future results.
Use it responsibly with proper risk management.
Market Stats Panel [Daveatt]█ Introduction
I've created a script that brings TradingView's watchlist stats panel functionality directly to your charts. This isn't just another performance indicator - it's a pixel-perfect (kidding) recreation of TradingView's native stats panel.
Important Notes
You might need to adjust manually the scaling the firs time you're using this script to display nicely all the elements.
█ Core Features
Performance Metrics
The panel displays key performance metrics (1W, 1M, 3M, 6M, YTD, 1Y) in real-time, with color-coded boxes (green for positive, red for negative) for instant performance assessment.
Display Modes
Switch seamlessly between absolute prices and percentage returns, making it easy to compare assets across different price scales.
Absolute mode
Percent mode
Historical Comparison
View year-over-year performance with color-coded lines, allowing for quick historical pattern recognition and analysis.
Data Structure Innovation
Let's talk about one of the most interesting challenges I faced. PineScript has this quirky limitation where request.security() can only return 127 tuples at most. £To work around this, I implemented a dual-request system. The first request handles indices 0-63, while the second one takes care of indices 64-127.
This approach lets us maintain extensive historical data without compromising script stability.
And here's the cool part: if you need to handle even more years of historical data, you can simply extend this pattern by adding more request.security() calls.
Each additional call can fetch another batch of monthly open prices and timestamps, following the same structure I've used.
Think of it as building with LEGO blocks - you can keep adding more pieces to extend your historical reach.
Flexible Date Range
Unlike many scripts that box you into specific timeframes, I've designed this one to be completely flexible with your date selection. You can set any start year, any end year, and the script will dynamically scale everything to match. The visual presentation automatically adjusts to whatever range you choose, ensuring your data is always displayed optimally.
█ Customization Options
Visual Settings
The panel's visual elements are highly customizable. You can adjust the panel width to perfectly fit your workspace, fine-tune the line thickness to match your preferences, and enjoy the pre-defined year color scheme that makes tracking historical performance intuitive and visually appealing.
Box Dimensions
Every aspect of the performance boxes can be tailored to your needs. Adjust their height and width, fine-tune the spacing between them, and position the entire panel exactly where you want it on your chart. The goal is to make this tool feel like it's truly yours.
█ Technical Challenges Solved
Polyline Precision
Creating precise polylines was perhaps the most demanding aspect of this project.
The challenge was ensuring accurate positioning across both time and price axes, while handling percentage mode scaling with precision.
The script constantly updates the current year's data in real-time, seamlessly integrating new information as it comes in.
Axis Management
Getting the axes right was like solving a complex puzzle. The Y-axis needed to scale dynamically whether you're viewing absolute prices or percentages.
The X-axis required careful month labeling that stays clean and readable regardless of your selected timeframe.
Everything needed to align perfectly while maintaining proper spacing in all conditions.
█ Final Notes
This tool transforms complex market data into clear, actionable insights. Whether you're day trading or analyzing long-term trends, it provides the information you need to make informed decisions. And remember, while we can't predict the future, we can certainly be better prepared for it with the right tools at hand.
A word of warning though - seeing those red numbers in a beautifully formatted panel doesn't make them any less painful! 😉
---
Happy Trading! May your charts be green and your stops be far away!
Daveatt
Consecutive CandlesTrading as Easy as One, Two, and Three
Unlock the power of simplicity in trading with this innovative script inspired by KepalaBesi. Designed for traders of all levels, this script provides a user-friendly approach to market analysis, enabling you to make informed trading decisions effortlessly.
Key Features:
Simplified Signals: Receive clear buy and sell signals based on robust technical indicators. The script streamlines your trading process, allowing you to focus on execution rather than analysis.
Customizable Settings: Tailor the script to fit your trading style. Adjust parameters to suit your risk tolerance and market preferences, ensuring a personalized trading experience.
Visual Clarity: Benefit from intuitive visual cues on your chart, making it easy to identify optimal entry and exit points. The clean interface helps you make quick decisions without confusion.
Whether you’re a seasoned trader or just starting, "Trading as Easy as One, Two, and Three" simplifies your trading journey, turning complex strategies into straightforward actions. Embrace a more efficient way to trade and elevate your performance in the markets!
Get Started Today!
Join the community of traders who have discovered the ease of trading with KepalaBesi's inspired script. Elevate your trading experience and achieve your financial goals with confidence!
Three Bar Reversal Pattern [LuxAlgo]The Three Bar Reversal Pattern indicator identifies and highlights three bar reversal patterns on the user price chart.
The script also provides an option for incorporating various trend indicators used to filter out detected signals, allowing them to enhance their accuracy and help obtain a more comprehensive analysis.
🔶 USAGE
The script automates the detection of three-bar reversal patterns and provides a clear, visually identifiable signal for potential trend reversals.
When a reversal chart pattern is confirmed and price action aligns with the pattern, the pattern's boundaries are extended, forming levels, with the upper boundary often acting as a resistance and the lower boundary as a support.
The script allows users to filter patterns based on a specific trend direction detected by multiple trend indicators. Users can choose to view patterns that are either aligned with the detected trend or opposite to it.
Included trend indicators are: Moving Average Cloud, Supertrend, and Donchian Channels.
🔶 DETAILS
The three-bar reversal pattern is a technical analysis pattern that signals a potential reversal in the prevailing trend. The pattern consists of three consecutive bar formations:
First Bar and Second Bar: 2 consecutive of the same sentiment, representing the prevailing trend in the market.
Third Bar: Confirms the reversal by closing beyond the high or low of the first bar, signaling a potential change in market sentiment.
Various types of three-bar reversal patterns are documented. The script supports two main types:
Normal Pattern: Detects three-bar reversal patterns without requiring the third bar closing price to surpass the high (bullish pattern) or low (bearish pattern) of the first bar. It identifies basic formations signaling potential trend reversals.
Enhanced Pattern: Specifically identifies three-bar reversal patterns where the third bar closing price surpasses the high (bullish pattern) or low (bearish pattern) of the first bar. This type provides a more selective signal for stronger trend reversals.
🔶 SETTINGS
Pattern Type: Users can choose the type of 3-bar reversal patterns to detect: Normal, Enhanced, or All. "Normal" detects patterns that do not necessarily surpass the high/low of the first bar. "Enhanced" detects patterns where the third bar surpasses the high/low of the first bar. "All" detects both Normal and Enhanced patterns.
Derived Support and Resistance: Toggles the visibility of the support and resistance levels/zones.
🔹 Trend Filtering
Filtering: Allows users to filter patterns based on the trend indicators: Moving Average Cloud, Supertrend, and Donchian Channels. The "Aligned" option only detects patterns that align with the trend and conversely, the "Opposite" option detects patterns that go against the trend.
🔹 Trend Indicator Settings
Moving Average Cloud: Allows traders to choose the type of moving averages (SMA, EMA, HMA, etc.) and set the lengths for fast and slow-moving averages.
Supertrend: Options to set the ATR length and factor for Supertrend.
Donchian Channels: Option to set the length for the channel calculation.
🔶 RELATED SCRIPTS
Reversal-Candlestick-Structure .
Reversal-Signals .
CSVParser█ OVERVIEW
The library contains functions for parsing and importing complex CSV configurations (with a special simple syntax) into a special hierarchical object (of type objProps ) as follows:
Functions:
parseConfig() - reads CSV text into an objProps object.
toT() - displays the contents of an objProps object in a table form, which allows to check the CSV text for syntax errors.
getPropAr() - returns objProps.arS array for child object with `prop` key in mpObj map (or na if not found)
This library is handy in allowing users to store presets for the scripts and switch between them (see, e.g., my HTF moving averages script where users can switch between several preset configuations of 24 MA's across 5 timeframes).
█ HOW THE SCRIPT WORKS.
The script works as follows:
all values read from config text are stored as strings
Nested brackets in config text create a named nested objects of objProps0, ... , objProps9 types.
objProps objects of each level have the following fields:
- array arS for storing values without names (e.g. "12, 23" will be imported into a string array arS as )
- map mpS for storing items with names (e.g. "tf = 60, length = 21" will be imported as <"tf", "60"> and <"length", "21"> pairs into mpS )
- map mpObj for storing nested objects (e.g. "TF1(tf=60, length(21,50,100))" creates a <"TF1, objProps0 object> pair in mpObj map property of the top level object (objProps) , "tf=60" is stored as <"tf", "60"> key-value pair in mpS map property of a next level object (objProps0) and "length (...)" creates a <"length", objProps1> pair in objProps0.mpObj map while length values are stored in objProps1.arS array as strings. Every opening bracket creates a next level objProps object.
If objects or properties with duplicate names are encountered only the latest is imported
(e.g. for "TF1(length(12,22)), TF1(tf=240)" only "TF1(tf=240)" will be imported
Line breaks are not regarded as part of syntax (i.e. values are imported with line breaks, you can supply
symbols "(" , ")" , "," and "=" are special characters and cannot be used within property values (with the exception of a quoted text as a value of a property as explained below)
named properties can have quoted text as their value. In that case special characters within quotation marks are regarded as normal characters. Text between "=" and opening quotation mark as well as text following the closing quotation mark and until next property value is ignored. E.g. "quote = ignored "The quote" also ignored" will be imported as <"quote", "The quote">. Quotation marks within quotes must be excaped with "\" .
if a key names happens to be a multi-line then only first line containing non-space characters (trimmed from spaces) is taken as a key.
")," or ") ," and similar do not create an empty ("") array item while ",," does. (",)" creates an "" array item)
█ CSV CONFIGURATION SYNTAX
Unnamed values: just list them comma separated and they will be imported into arS of the object of the current level.
Named values: use "=" sign as follows: "property1=value1, property2 = value2"
Value of several objects: Use brackets after the name of the object ant list all object properties within the brackets (including its child objects if necessary). E.g. "TF1(tf =60, length(21,200), TF2(tf=240, length(50,200)"
Named and unnamed values as well as objects can go in any order. E.g. "12, tf=60, 21" will be imported as follows: "12", "21" will go to arS array and <"tf", "60"> will go to mpS maP of objProps (the top level object).
You can play around and test your config text using demo in this library, just edit your text in script settings and see how it is parsed into objProps objects.
█ USAGE RECOMMENDATIONS AND SAMPLE USE
I suggest the following approach:
- create functions for your UDT which can set properties by name.
- create enumerator functions which iterates through all the property names (supplied as a const string array) and imports their values into the object
█ SAMPLE USE
A sample use of this library can be seen in my Multi-timeframe 24 moving averages + BB+SAR+Supertrend+VWAP script where settings for the MAs across many timeframes are imported from CSV configurations (presets).
█ FULL LIST OF FUNCTIONS AND PROPERTIES
nzs(_s, nz)
Like nz() but for strings. Returns `nz` arg (default = "") if _s is na.
Parameters:
_s (string)
nz (string)
method init(this)
Initializes objProps obj (creates child maps and arrays)
Namespace types: objProps
Parameters:
this (objProps)
method toT(this, nz)
Outputs objProps to string matrices for further display using autotable().
Namespace types: objProps, objProps1, ..., objProps9
Parameters:
this (objProps/objProps1/..../objProps9)
nz (string)
Returns: A tuple - value, merge and color matrix (autotable() parameters)
method parseConfig(this, s)
Reads config text into objProps (unnamed values into arS, named into mpS, sub-levels into mpObj)
Namespace types: objProps
Parameters:
this (objProps)
s (string)
method getPropArS(this, prop)
Returns a string array of values for a given property name `prop`. Looks for a key `prop` in objProps.mpObj
if finds pair returns obj.arS, otherwise returns na. Returns a reference to the original, not a copy.
Namespace types: objProps, objProps1, ..., objProps8
Parameters:
this (objProps/objProps1/..../objProps8)
prop (string)
method getPropVal(this, prop, id)
Checks if there is an array of values for property `prop` and returns its `id`'s element or na if not found
Namespace types: objProps, objProps1, ..., objProps8
Parameters:
this (objProps/objProps1/..../objProps8) : objProps object containing array of property values in a child objProp object corresponding to propertty name.
prop (string) : (string) Name of the property
id (int) : (int) Id of the element to be returned from the array pf property values
objProps9 type
Object for storing values read from CSV relating to a particular object or property name.
Fields:
mpS (map) : (map() Stores property values as pairs
arS (array) : (string ) Array of values
objProps, objProps0, ... objProps8 types
Object for storing values read from CSV relating to a particular object or property name.
Fields:
mpS (map) : (map() Stores property values as pairs
arS (array) : (string ) Array of values
mpObj (map) : (map() Stores objProps objects containing properties's data as pairs
N Bar Reversal Detector [LuxAlgo]The N Bar Reversal Detector is designed to detect and highlight N-bar reversal patterns in user charts, where N represents the length of the candle sequence used to detect the patterns. The script incorporates various trend indicators to filter out detected signals and offers a range of customizable settings to fit different trading strategies.
🔶 USAGE
The N-bar reversal pattern extends the popular 3-bar reversal pattern. While the 3-bar reversal pattern involves identifying a sequence of three bars signaling a potential trend reversal, the N-bar reversal pattern builds on this concept by incorporating additional bars based on user settings. This provides a more comprehensive indication of potential trend reversals. The script automates the identification of these patterns and generates clear, visually distinct signals to highlight potential trend changes.
When a reversal chart pattern is confirmed and aligns with the price action, the pattern's boundaries are extended to create levels. The upper boundary serves as resistance, while the lower boundary acts as support.
The script allows users to filter patterns based on the trend direction identified by various trend indicators. Users can choose to view patterns that align with the detected trend or those that are contrary to it.
🔶 DETAILS
🔹 The N-bar Reversal Pattern
The N-bar reversal pattern is a technical analysis tool designed to signal potential trend reversals in the market. It consists of N consecutive bars, with the first N-1 bars used to identify the prevailing trend and the Nth bar confirming the reversal. Here’s a detailed look at the pattern:
Bullish Reversal : In a bullish reversal setup, the first bar is the highest among the first N-1 bars, indicating a prevailing downtrend. Most of the remaining bars in this sequence should be bearish (closing lower than where they opened), reinforcing the existing downward momentum. The Nth (most recent) bar confirms a bullish reversal if its high price is higher than the high of the first bar in the sequence (standard pattern). For a stronger signal, the closing price of the Nth bar should also be higher than the high of the first bar.
Bearish Reversal : In a bearish reversal setup, the first bar is the lowest among the first N-1 bars, indicating a prevailing uptrend. Most of the remaining bars in this sequence should be bullish (closing higher than where they opened), reinforcing the existing upward momentum. The Nth bar confirms a bearish reversal if its low price is lower than the low of the first bar in the sequence (standard pattern). For a stronger signal, the closing price of the Nth bar should also be lower than the low of the first bar.
🔹 Min Percentage of Required Candles
This parameter specifies the minimum percentage of candles that must be bullish (for a bearish reversal) or bearish (for a bullish reversal) among the first N-1 candles in a pattern. For higher values of N, it becomes more challenging for all of the first N-1 candles to be consistently bullish or bearish. By setting a percentage value, P, users can adjust the requirement so that only a minimum of P percent of the first N-1 candles need to meet the bullish or bearish condition. This allows for greater flexibility in pattern recognition, accommodating variations in market conditions.
🔶 SETTINGS
Pattern Type: Users can choose the type of the N-bar reversal patterns to detect: Normal, Enhanced, or All. "Normal" detects patterns that do not necessarily surpass the high/low of the first bar. "Enhanced" detects patterns where the last bar surpasses the high/low of the first bar. "All" detects both Normal and Enhanced patterns.
Reversal Pattern Sequence Length: Specifies the number of candles (N) in the sequence used to identify a reversal pattern.
Min Percentage of Required Candles: Sets the minimum percentage of the first N-1 candles that must be bullish (for a bearish reversal) or bearish (for a bullish reversal) to qualify as a valid reversal pattern.
Derived Support and Resistance: Toggles the visibility of the support and resistance levels/zones.
🔹 Trend Filtering
Filtering: Allows users to filter patterns based on the trend indicators: Moving Average Cloud, Supertrend, and Donchian Channels. The "Aligned" option only detects patterns that align with the trend and conversely, the "Opposite" option detects patterns that go against the trend.
🔹 Trend Indicator Settings
Moving Average Cloud: Allows traders to choose the type of moving averages (SMA, EMA, HMA, etc.) and set the lengths for fast and slow moving averages.
Supertrend: Options to set the ATR length and factor for Supertrend.
Donchian Channels: Option to set the length for the channel calculation.
🔶 RELATED SCRIPTS
Reversal-Candlestick-Structure.
Reversal-Signals.