RSI Volatility Suppression Zones [BigBeluga]RSI Volatility Suppression Zones is an advanced indicator that identifies periods of suppressed RSI volatility and visualizes these suppression zones on the main chart. It also highlights breakout dynamics, giving traders actionable insights into potential market momentum.
🔵 Key Features:
Detection of Suppression Zones:
Identifies periods where RSI volatility is suppressed and marks these zones on the main price chart.
Breakout Visualization:
When the price breaks above the suppression zone, the box turns aqua, and an upward label is drawn to indicate a bullish breakout.
If the price breaks below the zone, the box turns purple, and a downward label is drawn for a bearish breakout.
Breakouts accompanied by a "+" label represent strong moves caused by short-lived, tight zones, signaling significant momentum.
Wave Labels for Consolidation:
If the suppression zone remains unbroken, a "wave" label is displayed within the gray box, signifying continued price stability within the range.
Gradient Intensity Below RSI:
A gradient strip below the RSI line increases in intensity based on the duration of the suppressed RSI volatility period.
This visual aid helps traders gauge how extended the low volatility phase is.
🔵 Usage:
Identify Breakouts: Use color-coded boxes and labels to detect breakouts and their direction, confirming potential trend continuation or reversals.
Evaluate Market Momentum: Leverage "+" labels for strong breakout signals caused by short suppression phases, indicating significant market moves.
Monitor Price Consolidation: Observe gray boxes and wave labels to understand ongoing consolidation phases.
Analyze RSI Behavior: Utilize the gradient strip to measure the longevity of suppressed volatility phases and anticipate breakout potential.
RSI Volatility Suppression Zones provides a powerful visual representation of RSI volatility suppression, breakout signals, and price consolidation, making it a must-have tool for traders seeking to anticipate market movements effectively.
Cerca negli script per "wave"
TASC 2025.02 Autocorrelation Indicator█ OVERVIEW
This script implements the Autocorrelation Indicator introduced by John Ehlers in the "Drunkard's Walk: Theory And Measurement By Autocorrelation" article from the February 2025 edition of TASC's Traders' Tips . The indicator calculates the autocorrelation of a price series across several lags to construct a periodogram , which traders can use to identify market cycles, trends, and potential reversal patterns.
█ CONCEPTS
Drunkard's walk
A drunkard's walk , formally known as a random walk , is a type of stochastic process that models the evolution of a system or variable through successive random steps.
In his article, John Ehlers relates this model to market data. He discusses two first- and second-order partial differential equations, modified for discrete (non-continuous) data, that can represent solutions to the discrete random walk problem: the diffusion equation and the wave equation. According to Ehlers, market data takes on a mixture of two "modes" described by these equations. He theorizes that when "diffusion mode" is dominant, trading success is almost a matter of luck, and when "wave mode" is dominant, indicators may have improved performance.
Pink spectrum
John Ehlers explains that many recent academic studies affirm that market data has a pink spectrum , meaning the power spectral density of the data is proportional to the wavelengths it contains, like pink noise . A random walk with a pink spectrum suggests that the states of the random variable are correlated and not independent. In other words, the random variable exhibits long-range dependence with respect to previous states.
Autocorrelation function (ACF)
Autocorrelation measures the correlation of a time series with a delayed copy, or lag , of itself. The autocorrelation function (ACF) is a method that evaluates autocorrelation across a range of lags , which can help to identify patterns, trends, and cycles in stochastic market data. Analysts often use ACF to detect and characterize long-range dependence in a time series.
The Autocorrelation Indicator evaluates the ACF of market prices over a fixed range of lags, expressing the results as a color-coded heatmap representing a dynamic periodogram. Ehlers suggests the information from the periodogram can help traders identify different market behaviors, including:
Cycles : Distinguishable as repeated patterns in the periodogram.
Reversals : Indicated by sharp vertical changes in the periodogram when the indicator uses a short data length .
Trends : Indicated by increasing correlation across lags, starting with the shortest, over time.
█ USAGE
This script calculates the Autocorrelation Indicator on an input "Source" series, smoothed by Ehlers' UltimateSmoother filter, and plots several color-coded lines to represent the periodogram's information. Each line corresponds to an analyzed lag, with the shortest lag's line at the bottom of the pane. Green hues in the line indicate a positive correlation for the lag, red hues indicate a negative correlation (anticorrelation), and orange or yellow hues mean the correlation is near zero.
Because Pine has a limit on the number of plots for a single indicator, this script divides the periodogram display into three distinct ranges that cover different lags. To see the full periodogram, add three instances of this script to the chart and set the "Lag range" input for each to a different value, as demonstrated in the chart above.
With a modest autocorrelation length, such as 20 on a "1D" chart, traders can identify seasonal patterns in the price series, which can help to pinpoint cycles and moderate trends. For instance, on the daily ES1! chart above, the indicator shows repetitive, similar patterns through fall 2023 and winter 2023-2024. The green "triangular" shape rising from the zero lag baseline over different time ranges corresponds to seasonal trends in the data.
To identify turning points in the price series, Ehlers recommends using a short autocorrelation length, such as 2. With this length, users can observe sharp, sudden shifts along the vertical axis, which suggest potential turning points from upward to downward or vice versa.
Market Cycles
The Market Cycles indicator transforms market price data into a stochastic wave, offering a unique perspective on market cycles. The wave is bounded between positive and negative values, providing clear visual cues for potential bullish and bearish trends. When the wave turns green, it signals a bullish cycle, while red indicates a bearish cycle.
Designed to show clarity and precision, this tool helps identify market momentum and cyclical behavior in an intuitive way. Ideal for fine-tuning entries or analyzing broader trends, this indicator aims to enhance the decision-making process with simplicity and elegance.
DemaRSI StrategyThis is a repost to a old script that cant be updated anymore, the request was made on Feb, 27, 2016.
Here's a engaging description for the tradingview script:
**DemaRSI Strategy: A Proven Trading System**
Join thousands of traders who have already experienced the power of this highly effective strategy. The DemaRSI system combines two powerful indicators - DEMA (Double Exponential Moving Average) and RSI (Relative Strength Index) - to generate profitable trades with minimal risk.
**Key Features:**
* **Trend-Following**: Our algorithm identifies strong trends using a combination of DEMA and RSI, allowing you to ride the waves of market momentum.
* **Risk Management**: The system includes built-in stop-loss and take-profit levels, ensuring that your gains are protected and losses are minimized.
* **Session-Based Trading**: Trade during specific sessions only (e.g., London or New York) for even more targeted results.
* **Customizable Settings**: Adjust the length of moving averages, RSI periods, and other parameters to suit your trading style.
**What You'll Get:**
* A comprehensive strategy that can be used with any broker or platform
* Easy-to-use interface with customizable settings
* Real-time performance metrics and backtesting capabilities
**Start Trading Like a Pro Today!**
This script is designed for intermediate to advanced traders who want to take their trading game to the next level. With its robust risk management features, this strategy can help you achieve consistent profits in various market conditions.
**Disclaimer:** This script is not intended as investment advice and should be used at your own discretion. Trading carries inherent risks, and losses are possible.
~Llama3
BTC/USDT Volume-Based StrategyOverview
There is a distinct difference between the buying pressure exerted by individual investors and the buying pressure of institutional or "whale" traders. Monitoring volume data over a shorter period of time is crucial to distinguish these subtle differences. When whale investors or other significant market players signal price increases, volume often surges noticeably. Indeed, volume often acts as an important leading indicator in market dynamics.
Key Features
This metric, calibrated with a 5-minute Bitcoin spot chart, identifies a significant inflow of trading volume. For every K-plus surge in trading volume, those candles are shown in a green circle.
When a green circle appears, consider active long positions in subsequent declines and continue to accumulate long positions despite temporary price declines. Pay attention to the continuity of the increase in volume before locking in earnings even after the initial bullish wave.
Conversely, it may be wise to reevaluate the long position if the volume is not increasing in parallel and the price is rising. Under these conditions, starting a partial short position may be advantageous until a larger surge in volume reappears.
Hybrid Adaptive Double Exponential Smoothing🙏🏻 This is HADES (Hybrid Adaptive Double Exponential Smoothing) : fully data-driven & adaptive exponential smoothing method, that gains all the necessary info directly from data in the most natural way and needs no subjective parameters & no optimizations. It gets applied to data itself -> to fit residuals & one-point forecast errors, all at O(1) algo complexity. I designed it for streaming high-frequency univariate time series data, such as medical sensor readings, orderbook data, tick charts, requests generated by a backend, etc.
The HADES method is:
fit & forecast = a + b * (1 / alpha + T - 1)
T = 0 provides in-sample fit for the current datum, and T + n provides forecast for n datapoints.
y = input time series
a = y, if no previous data exists
b = 0, if no previous data exists
otherwise:
a = alpha * y + (1 - alpha) * a
b = alpha * (a - a ) + (1 - alpha) * b
alpha = 1 / sqrt(len * 4)
len = min(ceil(exp(1 / sig)), available data)
sig = sqrt(Absolute net change in y / Sum of absolute changes in y)
For the start datapoint when both numerator and denominator are zeros, we define 0 / 0 = 1
...
The same set of operations gets applied to the data first, then to resulting fit absolute residuals to build prediction interval, and finally to absolute forecasting errors (from one-point ahead forecast) to build forecasting interval:
prediction interval = data fit +- resoduals fit * k
forecasting interval = data opf +- errors fit * k
where k = multiplier regulating intervals width, and opf = one-point forecasts calculated at each time t
...
How-to:
0) Apply to your data where it makes sense, eg. tick data;
1) Use power transform to compensate for multiplicative behavior in case it's there;
2) If you have complete data or only the data you need, like the full history of adjusted close prices: go to the next step; otherwise, guided by your goal & analysis, adjust the 'start index' setting so the calculations will start from this point;
3) Use prediction interval to detect significant deviations from the process core & make decisions according to your strategy;
4) Use one-point forecast for nowcasting;
5) Use forecasting intervals to ~ understand where the next datapoints will emerge, given the data-generating process will stay the same & lack structural breaks.
I advise k = 1 or 1.5 or 4 depending on your goal, but 1 is the most natural one.
...
Why exponential smoothing at all? Why the double one? Why adaptive? Why not Holt's method?
1) It's O(1) algo complexity & recursive nature allows it to be applied in an online fashion to high-frequency streaming data; otherwise, it makes more sense to use other methods;
2) Double exponential smoothing ensures we are taking trends into account; also, in order to model more complex time series patterns such as seasonality, we need detrended data, and this method can be used to do it;
3) The goal of adaptivity is to eliminate the window size question, in cases where it doesn't make sense to use cumulative moving typical value;
4) Holt's method creates a certain interaction between level and trend components, so its results lack symmetry and similarity with other non-recursive methods such as quantile regression or linear regression. Instead, I decided to base my work on the original double exponential smoothing method published by Rob Brown in 1956, here's the original source , it's really hard to find it online. This cool dude is considered the one who've dropped exponential smoothing to open access for the first time🤘🏻
R&D; log & explanations
If you wanna read this, you gotta know, you're taking a great responsability for this long journey, and it gonna be one hell of a trip hehe
Machine learning, apprentissage automatique, машинное обучение, digital signal processing, statistical learning, data mining, deep learning, etc., etc., etc.: all these are just artificial categories created by the local population of this wonderful world, but what really separates entities globally in the Universe is solution complexity / algorithmic complexity.
In order to get the game a lil better, it's gonna be useful to read the HTES script description first. Secondly, let me guide you through the whole R&D; process.
To discover (not to invent) the fundamental universal principle of what exponential smoothing really IS, it required the review of the whole concept, understanding that many things don't add up and don't make much sense in currently available mainstream info, and building it all from the beginning while avoiding these very basic logical & implementation flaws.
Given a complete time t, and yet, always growing time series population that can't be logically separated into subpopulations, the very first question is, 'What amount of data do we need to utilize at time t?'. Two answers: 1 and all. You can't really gain much info from 1 datum, so go for the second answer: we need the whole dataset.
So, given the sequential & incremental nature of time series, the very first and basic thing we can do on the whole dataset is to calculate a cumulative , such as cumulative moving mean or cumulative moving median.
Now we need to extend this logic to exponential smoothing, which doesn't use dataset length info directly, but all cool it can be done via a formula that quantifies the relationship between alpha (smoothing parameter) and length. The popular formulas used in mainstream are:
alpha = 1 / length
alpha = 2 / (length + 1)
The funny part starts when you realize that Cumulative Exponential Moving Averages with these 2 alpha formulas Exactly match Cumulative Moving Average and Cumulative (Linearly) Weighted Moving Average, and the same logic goes on:
alpha = 3 / (length + 1.5) , matches Cumulative Weighted Moving Average with quadratic weights, and
alpha = 4 / (length + 2) , matches Cumulative Weighted Moving Average with cubic weghts, and so on...
It all just cries in your shoulder that we need to discover another, native length->alpha formula that leverages the recursive nature of exponential smoothing, because otherwise, it doesn't make sense to use it at all, since the usual CMA and CMWA can be computed incrementally at O(1) algo complexity just as exponential smoothing.
From now on I will not mention 'cumulative' or 'linearly weighted / weighted' anymore, it's gonna be implied all the time unless stated otherwise.
What we can do is to approach the thing logically and model the response with a little help from synthetic data, a sine wave would suffice. Then we can think of relationships: Based on algo complexity from lower to higher, we have this sequence: exponential smoothing @ O(1) -> parametric statistics (mean) @ O(n) -> non-parametric statistics (50th percentile / median) @ O(n log n). Based on Initial response from slow to fast: mean -> median Based on convergence with the real expected value from slow to fast: mean (infinitely approaches it) -> median (gets it quite fast).
Based on these inputs, we need to discover such a length->alpha formula so the resulting fit will have the slowest initial response out of all 3, and have the slowest convergence with expected value out of all 3. In order to do it, we need to have some non-linear transformer in our formula (like a square root) and a couple of factors to modify the response the way we need. I ended up with this formula to meet all our requirements:
alpha = sqrt(1 / length * 2) / 2
which simplifies to:
alpha = 1 / sqrt(len * 8)
^^ as you can see on the screenshot; where the red line is median, the blue line is the mean, and the purple line is exponential smoothing with the formulas you've just seen, we've met all the requirements.
Now we just have to do the same procedure to discover the length->alpha formula but for double exponential smoothing, which models trends as well, not just level as in single exponential smoothing. For this comparison, we need to use linear regression and quantile regression instead of the mean and median.
Quantile regression requires a non-closed form solution to be solved that you can't really implement in Pine Script, but that's ok, so I made the tests using Python & sklearn:
paste.pics
^^ on this screenshot, you can see the same relationship as on the previous screenshot, but now between the responses of quantile regression & linear regression.
I followed the same logic as before for designing alpha for double exponential smoothing (also considered the initial overshoots, but that's a little detail), and ended up with this formula:
alpha = sqrt(1 / length) / 2
which simplifies to:
alpha = 1 / sqrt(len * 4)
Btw, given the pattern you see in the resulting formulas for single and double exponential smoothing, if you ever want to do triple (not Holt & Winters) exponential smoothing, you'll need len * 2 , and just len * 1 for quadruple exponential smoothing. I hope that based on this sequence, you see the hint that Maybe 4 rounds is enough.
Now since we've dealt with the length->alpha formula, we can deal with the adaptivity part.
Logically, it doesn't make sense to use a slower-than-O(1) method to generate input for an O(1) method, so it must be something universal and minimalistic: something that will help us measure consistency in our data, yet something far away from statistics and close enough to topology.
There's one perfect entity that can help us, this is fractal efficiency. The way I define fractal efficiency can be checked at the very beginning of the post, what matters is that I add a square root to the formula that is not typically added.
As explained in the description of my metric QSFS , one of the reasons for SQRT-transformed values of fractal efficiency applied in moving window mode is because they start to closely resemble normal distribution, yet with support of (0, 1). Data with this interesting property (normally distributed yet with finite support) can be modeled with the beta distribution.
Another reason is, in infinitely expanding window mode, fractal efficiency of every time series that exhibits randomness tends to infinitely approach zero, sqrt-transform kind of partially neutralizes this effect.
Yet another reason is, the square root might better reflect the dimensional inefficiency or degree of fractal complexity, since it could balance the influence of extreme deviations from the net paths.
And finally, fractals exhibit power-law scaling -> measures like length, area, or volume scale in a non-linear way. Adding a square root acknowledges this intrinsic property, while connecting our metric with the nature of fractals.
---
I suspect that, given analogies and connections with other topics in geometry, topology, fractals and most importantly positive test results of the metric, it might be that the sqrt transform is the fundamental part of fractal efficiency that should be applied by default.
Now the last part of the ballet is to convert our fractal efficiency to length value. The part about inverse proportionality is obvious: high fractal efficiency aka high consistency -> lower window size, to utilize only the last data that contain brand new information that seems to be highly reliable since we have consistency in the first place.
The non-obvious part is now we need to neutralize the side effect created by previous sqrt transform: our length values are too low, and exponentiation is the perfect candidate to fix it since translating fractal efficiency into window sizes requires something non-linear to reflect the fractal dynamics. More importantly, using exp() was the last piece that let the metric shine, any other transformations & formulas alike I've tried always had some weird results on certain data.
That exp() in the len formula was the last piece that made it all work both on synthetic and on real data.
^^ a standalone script calculating optimal dynamic window size
Omg, THAT took time to write. Comment and/or text me if you need
...
"Versace Pip-Boy, I'm a young gun coming up with no bankroll" 👻
∞
lib_kernelLibrary "lib_kernel"
Library "lib_kernel"
This is a tool / library for developers, that contains several common and adapted kernel functions as well as a kernel regression function and enum to easily select and embed a list into the settings dialog.
How to Choose and Modify Kernels in Practice
Compact Support Kernels (e.g., Epanechnikov, Triangular): Use for localized smoothing and emphasizing nearby data.
Oscillatory Kernels (e.g., Wave, Cosine): Ideal for detecting periodic patterns or mean-reverting behavior.
Smooth Tapering Kernels (e.g., Gaussian, Logistic): Use for smoothing long-term trends or identifying global price behavior.
kernel_Epanechnikov(u)
Parameters:
u (float)
kernel_Epanechnikov_alt(u, sensitivity)
Parameters:
u (float)
sensitivity (float)
kernel_Triangular(u)
Parameters:
u (float)
kernel_Triangular_alt(u, sensitivity)
Parameters:
u (float)
sensitivity (float)
kernel_Rectangular(u)
Parameters:
u (float)
kernel_Uniform(u)
Parameters:
u (float)
kernel_Uniform_alt(u, sensitivity)
Parameters:
u (float)
sensitivity (float)
kernel_Logistic(u)
Parameters:
u (float)
kernel_Logistic_alt(u)
Parameters:
u (float)
kernel_Logistic_alt2(u, sigmoid_steepness)
Parameters:
u (float)
sigmoid_steepness (float)
kernel_Gaussian(u)
Parameters:
u (float)
kernel_Gaussian_alt(u, sensitivity)
Parameters:
u (float)
sensitivity (float)
kernel_Silverman(u)
Parameters:
u (float)
kernel_Quartic(u)
Parameters:
u (float)
kernel_Quartic_alt(u, sensitivity)
Parameters:
u (float)
sensitivity (float)
kernel_Biweight(u)
Parameters:
u (float)
kernel_Triweight(u)
Parameters:
u (float)
kernel_Sinc(u)
Parameters:
u (float)
kernel_Wave(u)
Parameters:
u (float)
kernel_Wave_alt(u)
Parameters:
u (float)
kernel_Cosine(u)
Parameters:
u (float)
kernel_Cosine_alt(u, sensitivity)
Parameters:
u (float)
sensitivity (float)
kernel(u, select, alt_modificator)
wrapper for all standard kernel functions, see enum Kernel comments and function descriptions for usage szenarios and parameters
Parameters:
u (float)
select (series Kernel)
alt_modificator (float)
kernel_regression(src, bandwidth, kernel, exponential_distance, alt_modificator)
wrapper for kernel regression with all standard kernel functions, see enum Kernel comments for usage szenarios. performance optimized version using fixed bandwidth and target
Parameters:
src (float) : input data series
bandwidth (simple int) : sample window of nearest neighbours for the kernel to process
kernel (simple Kernel) : type of Kernel to use for processing, see Kernel enum or respective functions for more details
exponential_distance (simple bool) : if true this puts more emphasis on local / more recent values
alt_modificator (float) : see kernel functions for parameter descriptions. Mostly used to pronounce emphasis on local values or introduce a decay/dampening to the kernel output
Hybrid Triple Exponential Smoothing🙏🏻 TV, I present you HTES aka Hybrid Triple Exponential Smoothing, designed by Holt & Winters in the US, assembled by me in Saint P. I apply exponential smoothing individually to the data itself, then to residuals from the fitted values, and lastly to one-point forecast (OPF) errors, hence 'hybrid'. At the same time, the method is a closed-form solution and purely online, no need to make any recalculations & optimize anything, so the method is O(1).
^^ historical OPFs and one-point forecasting interval plotted instead of fitted values and prediction interval
Before the How-to, first let me tell you some non-obvious things about Triple Exponential smoothing (and about Exponential Smoothing in general) that not many catch. Expo smoothing seems very straightforward and obvious, but if you look deeper...
1) The whole point of exponential smoothing is its incremental/online nature, and its O(1) algorithm complexity, making it dope for high-frequency streaming data that is also univariate and has no weights. Consequently:
- Any hybrid models that involve expo smoothing and any type of ML models like gradient boosting applied to residuals rarely make much sense business-wise: if you have resources to boost the residuals, you prolly have resources to use something instead of expo smoothing;
- It also concerns the fashion of using optimizers to pick smoothing parameters; honestly, if you use this approach, you have to retrain on each datapoint, which is crazy in a streaming context. If you're not in a streaming context, why expo smoothing? What makes more sense is either picking smoothing parameters once, guided by exogenous info, or using dynamic ones calculated in a minimalistic and elegant way (more on that in further drops).
2) No matter how 'right' you choose the smoothing parameters, all the resulting components (level, trend, seasonal) are not pure; each of them contains a bit of info from the other components, this is just how non-sequential expo smoothing works. You gotta know this if you wanna use expo smoothing to decompose your time series into separate components. The only pure component there, lol, is the residuals;
3) Given what I've just said, treating the level (that does contain trend and seasonal components partially) as the resulting fit is a mistake. The resulting fit is level (l) + trend (b) + seasonal (s). And from this fit, you calculate residuals;
4) The residuals component is not some kind of bad thing; it is simply the component that contains info you consciously decide not to include in your model for whatever reason;
5) Forecasting Errors and Residuals from fitted values are 2 different things. The former are deltas between the forecasts you've made and actual values you've observed, the latter are simply differences between actual datapoints and in-sample fitted values;
6) Residuals are used for in-sample prediction intervals, errors for out-of-sample forecasting intervals;
7) Choosing between single, double, or triple expo smoothing should not be based exclusively on the nature of your data, but on what you need to do as well. For example:
- If you have trending seasonal data and you wanna do forecasting exclusively within the expo smoothing framework, then yes, you need Triple Exponential Smoothing;
- If you wanna use prediction intervals for generating trend-trading signals and you disregard seasonality, then you need single (simple) expo smoothing, even on trending data. Otherwise, the trend component will be included in your model's fitted values → prediction intervals.
8) Kind of not non-obvious, but when you put one smoothing parameter to zero, you basically disregard this component. E.g., in triple expo smoothing, when you put gamma and beta to zero, you basically end up with single exponential smoothing.
^^ data smoothing, beta and gamma zeroed out, forecasting steps = 0
About the implementation
* I use a simple power transform that results in a log transform with lambda = 0 instead of the mainstream-used transformers (if you put lambda on 2 in Box-Cox, you won't get a power of 2 transform)
* Separate set of smoothing parameters for data, residuals, and errors smoothing
* Separate band multipliers for residuals and errors
* Both typical error and typical residuals get multiplied by math.sqrt(math.pi / 2) in order to approach standard deviation so you can ~use Z values and get more or less corresponding probabilities
* In script settings → style, you can switch on/off plotting of many things that get calculated internally:
- You can visualize separate components (just remember they are not pure);
- You can switch off fit and switch on OPF plotting;
- You can plot residuals and their exponentially smoothed typical value to pick the smoothing parameters for both data and residuals;
- Or you might plot errors and play with data smoothing parameters to minimize them (consult SAE aka Sum of Absolute Errors plot);
^^ nuff said
More ideas on how to use the thing
1) Use Double Exponential Smoothing (data gamma = 0) to detrend your time series for further processing (Fourier likes at least weakly stationary data);
2) Put single expo smoothing on your strategy/subaccount equity chart (data alpha = data beta = 0), set prediction interval deviation multiplier to 1, run your strat live on simulator, start executing on real market when equity on simulator hits upper deviation (prediction interval), stop trading if equity hits lower deviation on simulator. Basically, let the strat always run on simulator, but send real orders to a real market when the strat is successful on your simulator;
3) Set up the model to minimize one-point forecasting errors, put error forecasting steps to 1, now you're doing nowcasting;
4) Forecast noisy trending sine waves for fun.
^^ nuff said 2
All Good TV ∞
Optimized Future Time Cycles V2Time Cycle-Based Indicator Overview
This script utilizes Time Cycles to visually display the periodic fluctuations of the past and future, helping to predict key market turning points and trend shifts.
The indicator is fully customizable and marks periodic vertical lines and labels on the chart based on a specified reference date.
1. Key Features
Time Cycle Settings
Displays various user-defined time cycles (e.g., 9 days, 17 days, 26 days) visually on the chart.
Each cycle is distinguished by unique colors and labels for clear identification.
Allows users to set a reference date, from which past and future cycles are calculated.
Past and Future Cycle Visualization
Future Cycles:
Predicts potential points of market fluctuations or trend changes in the future.
Vertical lines represent future turning points based on the defined time cycles.
Past Cycles:
Displays how cyclical patterns manifested in historical market data.
Helps identify recurring patterns and similar historical market conditions.
Customizable Visuals
Adjust line styles (solid, dashed, etc.) and label spacing for a cleaner chart, even with multiple cycles displayed.
Separately toggle the visibility of past and future cycles for a more tailored analysis experience.
2. How to Use and Interpret the Indicator
Setting the Reference Date
The reference date is crucial for this indicator and works best when set to significant market events or turning points.
Both past and future cycles are calculated based on the reference date, and overlapping cycles may indicate periods of high volatility or strong trend shifts.
Cycle Analysis
Interpretation by Cycle Duration:
Short-term Cycles (9, 17 days): Useful for predicting quick market fluctuations.
Mid- to Long-term Cycles (26, 52, 200 days): Ideal for identifying major trend changes.
Overlapping Cycles:
When multiple cycles converge, significant turning points or strong market movements are likely.
Importance of Past Cycles
Past cycles are invaluable for identifying repetitive patterns in the market.
For example, analyzing strong turning points from past cycles can help anticipate similar scenarios in the future.
3. Tips for Using the Indicator
Optimize Line Styles:
When displaying both past and future cycles, charts may become cluttered. Adjusting line styles or colors can help maintain visual clarity.
Short-term vs. Long-term Cycles:
Short-term Cycles: Best suited for strategies like scalping or day trading.
Long-term Cycles: Useful for capturing major trend shifts or identifying macroeconomic changes.
Recommended Combination with Other Indicators:
Combine the Time Cycle indicator with moving averages, wave indicators, RSI, or Bollinger Bands for better results.
The time cycle identifies the timing of turning points, while tools like moving averages or RSI provide insights into trend direction during these critical moments.
4. Conclusion
This Time Cycle indicator visualizes past and future periodic fluctuations, enabling effective predictions of market trends and turning points.
The reference date and overlapping cycles are essential for pinpointing critical turning points.
The newly added past cycle visualization feature enhances the ability to recognize recurring patterns and leverage historical data for more accurate predictions.
시간 주기(Time Cycle) 기반 지표 소개
이 스크립트는 **시간 주기(Time Cycle)**를 활용해 과거와 미래의 주기적 변동을 시각적으로 보여주어, 시장의 추세 변화 시점과 변곡점을 예측하는 데 도움을 줍니다.
지표는 사용자 정의가 가능하며, 설정된 기준 날짜를 기반으로 주기적인 수직선과 레이블을 차트에 표시합니다.
1. 주요 기능
시간 주기 설정
사용자가 설정한 다양한 시간 주기(예: 9일, 17일, 26일 등)를 시각적으로 표시.
각 주기는 고유한 색상과 레이블로 구분되어 명확하게 차트에 나타납니다.
**기준 날짜(reference date)**를 설정하여, 해당 날짜를 기준으로 과거와 미래의 주기를 계산합니다.
미래와 과거 주기 표시
미래 주기:
미래의 시장 변동 시점이나 추세 변화 가능성이 높은 지점을 예측할 수 있습니다.
설정된 시간 주기에 따라 미래 변곡점을 차트에 수직선으로 나타냅니다.
과거 주기:
과거 시장에서 주기적 변동이 어떻게 나타났는지 확인 가능합니다.
이를 통해 반복되는 패턴이나 과거와 유사한 시장 상황을 파악할 수 있습니다.
시각적 사용자 설정
수직선 스타일(실선, 점선 등)과 레이블 간격을 조정하여, 복잡한 차트에서도 깔끔하게 정보를 확인할 수 있습니다.
과거와 미래의 주기 표시를 개별적으로 조정 가능하여 사용자 맞춤형 분석이 가능합니다.
2. 지표 사용 및 해석 방법
기준 날짜 설정
**기준 날짜(reference date)**는 시장에서 중요한 변동이 있었던 날을 기준으로 설정하는 것이 가장 효과적입니다.
기준 날짜를 기반으로 과거와 미래 주기가 계산되며, 주기가 겹치는 시점에서 강한 변동성이 나타날 가능성이 높습니다.
주기 분석
주기별 해석:
단기 주기 (9일, 17일): 빠른 변동성을 예측.
중·장기 주기 (26일, 52일, 200일): 큰 추세 변화를 예측.
주기가 겹치는 시점은 중요한 변곡점이 될 가능성이 크며, 추세 전환의 신호로 볼 수 있습니다.
과거 주기의 중요성
과거 주기는 시장의 반복 패턴을 찾는 데 유용합니다.
예를 들어, 과거 주기에서 강한 변곡점이 나타났던 시점을 분석하면, 미래에도 유사한 상황이 발생할 가능성을 예측할 수 있습니다.
3. 지표 활용 팁
수직선 스타일 최적화:
과거와 미래 주기를 모두 표시하면 차트가 복잡해질 수 있으므로, 선 스타일이나 색상을 조정하여 시각적으로 덜 혼란스럽게 설정하세요.
단기 vs. 장기 주기:
단기 주기는 스캘핑과 같은 빠른 매매 전략에 유용하며,
장기 주기는 대세 추세 변화를 포착하는 데 유리합니다.
결합 사용 추천:
시간 주기(Time Cycle) 지표는 이평선 파동 지표 또는 RSI, 볼린저 밴드와 함께 사용하면 더욱 효과적입니다.
시간 주기는 변곡점의 시점을 알려주고, 이평선 파동이나 RSI는 그 시점에서의 추세 방향성을 보완해 줍니다.
4. 결론
이 시간 주기(Time Cycle) 지표는 과거와 미래의 주기적 변동을 시각화하여, 시장의 추세 변화와 변곡점을 효과적으로 예측할 수 있습니다.
특히, 기준 날짜 설정과 주기적 겹침은 중요한 변곡점을 파악하는 핵심입니다.
새롭게 추가된 과거 주기 표시 기능은 반복 패턴을 확인하고 과거 데이터를 바탕으로 더 정교한 예측을 가능하게 합니다.
Hosoda ProjectionsThis script, written in Pine Script v5, introduces a technical analysis tool called "Hosoda Projections." Inspired by Ichimoku Kinkō Hyō and wave-based forecasting methods, this indicator helps traders visualize potential future price levels using a combination of pivot detection and projected price movements. It offers a unique way to anticipate market dynamics and define potential targets, making it particularly useful for those who seek to combine historical price patterns with forward-looking strategies.
The script works by detecting key pivot points in the market using a customizable lookback period and then calculating a ZigZag pattern based on price fluctuations that exceed a specified percentage threshold. These pivots are used to identify three recent swing points, which serve as the foundation for projecting possible future price levels. Using these swings, the script generates levels that correspond to Fibonacci-based extensions and projections, such as 38.2%, 61.8%, 100%, 161.8%, and additional extensions like 261.8% and 361.8%. These levels are visualized on the chart as horizontal lines and labeled with their respective values for easy interpretation.
The primary advantage of the Hosoda Projections script is its ability to provide a structured approach to identifying potential price targets. By leveraging the natural rhythm of price movements, it offers insights into where the market might find support or resistance in the future. This can help traders refine their entry and exit points, manage risk more effectively, and gain a deeper understanding of market sentiment. Additionally, the dynamic nature of the projections adapts to new price data, ensuring the tool remains relevant across changing market conditions.
This script is particularly valuable for traders who appreciate the harmony between historical price action and predictive analysis. Whether you are trading forex, stocks, or cryptocurrencies, the Hosoda Projections tool can enhance your trading strategy by providing actionable and visually intuitive forecasts.
Multi-Symbol Scanner: Advanced EMA-RSI-Volume Strategy# Multi-Symbol Tech Stock Scanner: Advanced EMA-RSI-Volume Strategy
## Technical Analysis Methodology
This scanner implements a sophisticated multi-timeframe analysis approach combining three key technical elements:
### 1. Dual EMA System (Primary Trend Detection)
- **Long-term EMA (820 periods)**: Acts as the primary trend identifier
- Chosen specifically for tech stocks' longer-term price waves
- Helps filter out minor market noise while capturing major trend changes
- 820 periods approximately represents 3.2 years of trading days
- **Medium-term EMA (320 periods)**: Serves as trend confirmation
- Approximately 1.25 years of trading data
- Provides earlier entry signals while maintaining trend reliability
- Helps identify potential trend reversals before the major trend shift
### 2. Volume Analysis Component
The script employs a dynamic volume analysis system:
- Calculates 20-period moving average of volume as baseline
- Requires 1.5x surge above baseline for signal confirmation
- Volume surge requirement helps filter out weak moves and potential false breakouts
- Different from standard volume indicators as it uses adaptive thresholds
### 3. RSI Momentum Filter
Implements a specialized RSI configuration:
- 14-period RSI with dynamic overbought/oversold levels
- Oversold threshold: 30 (customizable)
- Overbought threshold: 70 (customizable)
- Used as a confirmation tool rather than primary signal generator
## Signal Generation Logic
### Buy Signal Requirements
1. Price must cross above 820 EMA (PRIMARY CONDITION)
2. Current price must be above 320 EMA (CONFIRMATION)
3. RSI must be above 30 but below 70 (MOMENTUM CHECK)
4. Volume must be 1.5x above 20-period average (STRENGTH VALIDATION)
### Sell Signal Requirements
1. Price must cross below 820 EMA (PRIMARY CONDITION)
2. Current price must be below 320 EMA (CONFIRMATION)
3. RSI must be above 30 but below 70 (MOMENTUM CHECK)
4. Volume must be 1.5x above 20-period average (STRENGTH VALIDATION)
## Risk Management Integration
The script automatically calculates key risk levels based on volatility:
1. **Stop Loss Calculation**:
- Default: 2% below entry for buys
- Dynamically adjusted based on price point
- Can be modified through input parameters
2. **Take Profit Targets**:
- Primary target: 6% above entry (3:1 reward-risk ratio)
- Based on historical tech stock movement patterns
- Adjustable through input parameters
## Multi-Symbol Implementation
The scanner monitors 6 symbols simultaneously using:
- Separate security calls for each data point
- Optimized data requests to prevent overload
- Individual signal processing for each symbol
- Synchronized alert generation system
## Technical Implementation Details
1. **Data Processing**:
```
- Security data requests on 10-minute timeframe
- Individual EMA calculations per symbol
- Separate volume analysis threads
- RSI calculations with standard deviation normalization
```
2. **Signal Processing**:
```
- Cross-verification of all conditions
- Time-based signal validation
- Volume surge confirmation
- Trend alignment check
```
3. **Alert System**:
```
- Bar-close confirmation required
- Multi-condition validation
- Detailed price level inclusion
- Risk parameter integration
```
## Optimization Features
1. **Memory Usage**:
- Optimized security calls
- Efficient data structure
- Reduced redundant calculations
2. **Processing Efficiency**:
- Single-pass data analysis
- Combined indicator calculations
- Streamlined alert generation
## Practical Application
The system is designed for:
1. Swing Trading (primary use)
2. Position Trading (secondary use)
3. Technical Breakout Trading
Optimal timeframes:
- Primary: 4H charts
- Secondary: Daily charts
- Verification: 1H charts
## Default Configuration
The scanner is preset to monitor key tech stocks:
- TSLA: High-volatility tech leader
- NVDA: Semiconductor sector benchmark
- AVGO: Stable tech infrastructure
- TSM: Global chip manufacturer
- META: Social media sector leader
- AMZN: E-commerce/Cloud computing leader
Each symbol can be modified through input parameters.
## Version Information
- Current Version: 1.3
- Last Updated: November 2024
- Compatibility: TradingView Pro/Pro+/Premium
## Limitations & Considerations
- Limited to 6 symbols due to TradingView security request limits
- Requires consistent market volume for optimal performance
- Best suited for liquid stocks with significant daily volume
- May need parameter adjustments during extreme market conditions
Math Art with Fibonacci, Trigonometry, and Constants-AYNETScientific Explanation of the Code
This Pine Script code is a dynamic visual representation that combines mathematical constants, trigonometric functions, and Fibonacci sequences to generate geometrical patterns on a TradingView chart. The code leverages Pine Script’s drawing functions (line.new) and real-time bar data to create evolving shapes. Below is a detailed scientific explanation of its components:
1. Inputs and User-Defined Parameters
num_points: Specifies the number of points used to generate the geometrical pattern. Higher values result in more complex and smoother shapes.
scale: A scaling factor to adjust the size of the shape.
rotation: A dynamic rotation factor that evolves the shape over time based on the bar index (bar_index).
shape_color: Defines the color of the drawn shapes.
2. Mathematical Constants
The script employs essential mathematical constants:
Phi (ϕ): Known as the golden ratio
(
1
+
5
)
/
2
(1+
5
)/2, which governs proportions in Fibonacci spirals and natural growth patterns.
Pi (π): Represents the ratio of a circle's circumference to its diameter, crucial for trigonometric calculations.
Euler’s Number (e): The base of natural logarithms, incorporated in exponential growth modeling.
3. Geometric and Trigonometric Calculations
Fibonacci-Based Radius: The radius for each point is determined using a Fibonacci-inspired formula:
𝑟
=
scale
×
𝜙
⋅
𝑖
num_points
r=scale×
num_points
ϕ⋅i
Here,
𝑖
i is the point index. This ensures the shape grows proportionally based on the golden ratio.
Angle Calculation: The angular position of each point is calculated as:
𝜃
=
𝑖
⋅
Δ
𝜃
+
rotation
⋅
bar_index
100
θ=i⋅Δθ+rotation⋅
100
bar_index
where
Δ
𝜃
=
2
𝜋
num_points
Δθ=
num_points
2π
. This generates evenly spaced points along a circle, with dynamic rotation.
Coordinates: Cartesian coordinates
(
𝑥
,
𝑦
)
(x,y) for each point are derived using:
𝑥
=
𝑟
⋅
cos
(
𝜃
)
,
𝑦
=
𝑟
⋅
sin
(
𝜃
)
x=r⋅cos(θ),y=r⋅sin(θ)
These coordinates describe a polar-to-Cartesian transformation.
4. Dynamic Line Drawing
Connecting Points: For each pair of consecutive points, a line is drawn using:
line.new
(
𝑥
1
,
𝑦
1
,
𝑥
2
,
𝑦
2
)
line.new(x
1
,y
1
,x
2
,y
2
)
The coordinates are adjusted by:
bar_index: Aligns the x-axis to the chart’s time-based bar index.
int() Conversion: Ensures x-coordinates are integers, as required by line.new.
Line Properties:
Color: Set by the user.
Width: Fixed at 1 for simplicity.
5. Real-Time Adaptation
The shapes evolve dynamically as new bars form:
Rotation Over Time: The rotation parameter modifies angles proportionally to bar_index, creating a rotating effect.
Bar Index Alignment: Shapes are positioned relative to the current bar on the chart, ensuring synchronization with market data.
6. Visualization and Applications
This script generates evolving geometrical shapes, which have both aesthetic and educational value. Potential applications include:
Mathematical Visualization: Demonstrating the interplay of Fibonacci sequences, trigonometry, and geometry.
Technical Analysis: Serving as a visual overlay for price movement patterns, highlighting cyclical or wave-like behavior.
Dynamic Art: Creating visually appealing and evolving patterns on financial charts.
Scientific Relevance
This code synthesizes principles from:
Mathematical Analysis: Incorporates constants and formulas central to calculus, trigonometry, and algebra.
Geometry: Visualizes patterns derived from polar coordinates and Fibonacci scaling.
Real-Time Systems: Adapts dynamically to market data, showcasing practical applications of mathematics in financial visualization.
If further optimization or additional functionality is required, let me know! 😊
Trend of Multiple Oscillator Dashboard ModifiedDescription: The "Trend of Multiple Oscillator Dashboard Modified" is a powerful Pine Script indicator that provides a dashboard view of various oscillator and trend-following indicators across multiple timeframes. This indicator helps traders to assess trend conditions comprehensively by integrating popular technical indicators, including MACD, EMA, Stochastic, Elliott Wave, DID (Curta, Media, Longa), Price Volume Trend (PVT), Kuskus Trend, and Wave Trend Oscillator. Each indicator’s trend signal (bullish, bearish, or neutral) is displayed in a color-coded dashboard, making it easy to spot the consensus or divergence in trends across different timeframes.
Key Features:
Multi-Timeframe Analysis: Displays trend signals across five predefined timeframes (1, 2, 3, 5, and 10 minutes) for each included indicator.
Customizable Inputs: Allows for customization of key parameters for each oscillator and trend-following indicator.
Trend Interpretation: Each indicator is visually represented with green (bullish), red (bearish), and yellow (neutral) trend markers, making trend identification intuitive and quick.
Trade Condition Controls: Input options for the number of positive and negative conditions needed to trigger entries and exits, allowing users to refine the decision-making criteria.
Delay Management: Options for re-entry conditions based on both price movement (in points) and the minimum number of candles since the last exit, giving users flexibility in managing trade entries.
Usage: This indicator is ideal for traders who rely on multiple oscillators and moving averages to gauge trend direction and strength across timeframes. The dashboard allows users to observe trends at a glance and make informed decisions based on the alignment of various trend indicators. It’s particularly useful in consolidating signals for strategies that require multiple conditions to align before entering or exiting trades.
Note: Ensure that you’re familiar with each oscillator’s functionality, as some indicators like Elliott Wave and Wave Trend are simplified for visual coherence in this dashboard.
Disclaimer: This script is intended for educational and informational purposes only. Use it with caution and adapt it to your specific trading plan.
Developer's Remark: "This indicator's comprehensive design allows traders to filter noise and identify the most robust trends effectively. Use it to visualize trends across timeframes, understand oscillator behavior, and enhance decision-making with a more strategic approach."
Kalman Based VWAP [EdgeTerminal]Kalman VWAP is a different take on volume-weighted average price (VWAP) indicator where we enhance the results with Kalman filtering and dynamic wave visualization for a more smooth and improved trend identification and volatility analysis.
A little bit about Kalman Filter:
Kalman filtering (also known as linear quadratic estimation) is an algorithm that uses a series of measurements observed over time, including statistical noise and other inaccuracies, to produce estimates of unknown variables that tend to be more accurate than those based on a single measurement, by estimating a joint probability distribution over the variables for each time-step. The filter is constructed as a mean squared error minimiser, but an alternative derivation of the filter is also provided showing how the filter relates to maximum likelihood statistics
This indicator combines:
Volume-Weighted Average Price (VWAP) for institutional price levels
Kalman filtering for noise reduction and trend smoothing
Dynamic wave visualization for volatility zones
This creates a robust indicator that helps traders identify trends, support/resistance zones, and potential reversal points with high precision.
What makes this even more special is the fact that we use open price as a data source instead of usual close price. This allows you to tune the indicator more accurately when back testing it and generally get results that are closer to real time market data.
The math:
In case if you're interested in the math of this indicator, the indicator employs a state-space Kalman filter model:
State Equation: x_t = x_{t-1} + w_t
Measurement Equation: z_t = x_t + v_t
x_t is the filtered VWAP state
w_t is process noise ~ N(0, Q)
v_t is measurement noise ~ N(0, R)
z_t is the traditional VWAP measurement
The Kalman filter recursively updates through:
Prediction: x̂_t|t-1 = x̂_{t-1}
Update: x̂_t = x̂_t|t-1 + K_t(z_t - x̂_t|t-1)
Where K_t is the Kalman gain, optimally balancing between prediction and measurement.
Input Parameters
Measurement Noise: Controls signal smoothing (0.0001 to 1.0)
Process Noise: Adjusts trend responsiveness (0.0001 to 1.0)
Wave Size: Multiplier for volatility bands (0.1 to 5.0)
Trend Lookback: Period for trend determination (1 to 100)
Bull/Bear Colors: Customizable color schemes
Application:
I recommend using this along other indicators. This is best used for assets that don't have a close time, such as BTC but can be used with anything as long as the data is there.
With default settings, this works better for swing trades but you can adjust it for day trading as well, by adjusting the lookback and also process noise.
Rainbow EMA Areas with Volatility HighlightThe indicator provides traders with an enhanced visual tool to observe price movements, trend strength, and market volatility on their charts. It combines multiple EMAs (Exponential Moving Averages) with color-coded areas to indicate the market’s directional bias and a high-volatility highlight for detecting times of increased market activity.
Explanation of Key Components
Multiple EMAs (Exponential Moving Averages):
Six different EMAs are calculated for various periods (15, 45, 100, 150, 200, 300).
Each EMA period represents a different timeframe, from short-term to long-term trends, providing a well-rounded view of price behavior across different market cycles.
The EMAs are color-coded for easy differentiation:
Green shades indicate bullish trends when prices are above the EMAs.
Red shades indicate bearish trends when prices are below the EMAs.
The space between each EMA is filled with a gradient color, creating a "wave" effect that helps identify the market’s overall direction.
ATR-Based Volatility Detection:
The ATR (Average True Range), a measure of market volatility, is used to assess how much the price is fluctuating. When volatility is high, price movements are typically more significant, indicating potential trading opportunities or times to exercise caution.
The indicator calculates ATR and uses a customizable multiplier to set a high-volatility threshold.
When the ATR exceeds this threshold, it signals that the market is experiencing high volatility.
Visual High Volatility Highlight:
A yellow background appears on the chart during periods of high volatility, giving a subtle but clear visual indication that the market is active.
This highlight helps traders spot potential breakout areas or increased activity zones without obstructing the EMA areas.
Volatility Signal Markers:
Small, red triangular markers are plotted above price bars when high volatility is detected, marking these areas for additional emphasis.
These signals serve as alerts to help traders quickly recognize high volatility moments where price moves may be stronger.
How to Use This Indicator
Identify Trends Using EMA Areas:
Bullish Trend: When the price is above most or all EMAs, and the EMA areas are colored in shades of green, it indicates a strong bullish trend. Traders might look for buy opportunities in this scenario.
Bearish Trend: When the price is below most or all EMAs, and the EMA areas are colored in shades of red, it signals a bearish trend. This condition can suggest potential sell opportunities.
Consolidation or Neutral Trend: If the price is moving within the EMA bands without a clear green or red dominance, the market may be in a consolidation phase. This period often precedes a breakout in either direction.
Volatility-Based Entries and Exits:
High Volatility Areas: The yellow background and red triangular markers signal high-volatility areas. This information can be valuable for identifying potential breakout points or strong moves.
Trading in High Volatility: During high-volatility phases, the market may experience rapid price changes, which can be ideal for breakout trades. However, high volatility also involves higher risk, so traders may adjust their strategies accordingly (e.g., setting wider stops or adjusting position sizes).
Trading in Low Volatility: When the yellow background and markers are absent, volatility is lower, indicating a calmer market. In these times, traders may choose to look for range-bound trading opportunities or wait for the next trend to develop.
Combining with Other Indicators:
This indicator works well in combination with momentum or oscillating indicators like RSI or MACD, providing a well-rounded view of the market.
For example, if the indicator shows a bullish EMA area with high volatility, and an RSI is trending up, it could be a stronger buy signal. Conversely, if the indicator shows a bearish EMA area with high volatility and RSI is trending down, this could be a stronger sell signal.
Practical Trading Examples
Bullish Trend in High Volatility:
Price is above the EMAs, showing green EMA areas, and the high volatility background is active.
This indicates a strong bullish trend with significant price movement potential.
A trader could look for breakout or continuation entries in the direction of the trend.
Bearish Reversal Signal:
Price crosses below the EMAs, showing red EMA areas, while high volatility is also detected.
This suggests that the market may be reversing to a bearish trend with increased price movement.
Traders could consider taking short positions or setting stops on existing long trades.
This indicator is designed to provide a rich visual experience, making it easy to spot trends, consolidations, and volatility zones at a glance. It is best used by traders who benefit from visual cues and who seek a quick understanding of both trend direction and market activity. Let me know if you'd like further customization or additional functionalities!
Nami Bands with Future Projection [FXSMARTLAB]The Nami Bands ( Inspired by "Nami", meaning "wave" in Japanese) are two dynamic bands around price data: an upper band and a lower band. These bands are calculated based on an Asymmetric Linear Weighted Moving Average of price and a similarly asymmetric weighted standard deviation. This weighting method emphasizes recent data without overreacting to short-term price changes, thus smoothing the bands in line with prevailing market conditions.
Advantages and Benefits of Using the Indicator
* Volatility Analysis: The bands expand and contract with market volatility, helping traders assess periods of high and low volatility. Narrow bands indicate low volatility and potential consolidation, while wide bands suggest increased volatility and potential price movement.
* Dynamic Support and Resistance Levels: By adapting to recent trends, the bands serve as dynamic support (lower band) and resistance (upper band) levels, which traders can use for entry and exit signals.
* Overbought and Oversold Conditions: When prices reach or cross the bands’ outer limits, it may signal overbought (upper band) or oversold (lower band) conditions, suggesting possible reversals or trend slowdowns.
* Trend Confirmation and Continuation: The slope of the central moving average confirms trend direction. An upward slope generally indicates a bullish trend, while a downward slope suggests a bearish trend.
* Anticipating Breakouts and Reversals: The projected bands help identify where price movements may head, allowing traders to anticipate potential breakouts or reversals based on projected support and resistance.
Indicator Parameters
Source (src): The price data used for calculations, by default set to the average of high, low, and close (hlc3).
Length: The period over which calculations are made, defaulted to 50 periods.
Projection Length: The length for future band projection, defaulted to 20 periods.
StdDev Multiplier (mult): A multiplier for the standard deviation, defaulted to 2.0.
Internal Calculations
1. Asymmetric Linear Weighted Moving Average of Price
The indicator uses an Asymmetric Linear Weighted Moving Average (ALWMA) to calculate a central value for the price.
Asymmetric Weighting: This weighting technique assigns the highest weight to the most recent value, with weights decreasing linearly as the data points become older. This structure provides a nuanced focus on recent price trends, while still reflecting historical price levels.
2. Asymmetric Weighted Standard Deviation
The standard deviation in this indicator is also calculated using asymmetric weighting:
Purpose of Asymmetric Weighted Standard Deviation: Rather than aiming for high sensitivity to recent data, this standard deviation measure smooths out volatility by integrating weighted values across the length period, stabilizing the overall measurement of price variability.
This approach yields a balanced view of volatility, capturing broader market trends without being overly reactive to short-lived changes.
3. Upper and Lower Bands
The upper and lower bands are created by adding and subtracting the asymmetric weighted standard deviation from the asymmetric weighted average of price. This creates a dynamic envelope that adjusts to both recent price trends and the smoothed volatility measure:
These bands represent adaptable support and resistance levels that shift with recent market volatility.
Future Band Projection
The indicator provides a projection of the bands based on their current slope.
1. Calculating the Slope of the Bands
The slope for each band is derived from the difference between the current and previous values of each band.
2. Projecting the Bands into the Future
For each period into the future, up to the defined Projection Length, the bands are projected using the current slope.
This feature offers an anticipated view of where support and resistance levels may move, providing insight for future market behavior based on current trends.
Pulse DPO: Major Cycle Tops and Bottoms█ OVERVIEW
Pulse DPO is an oscillator designed to highlight Major Cycle Tops and Bottoms .
It works on any market driven by cycles. It operates by removing the short-term noise from the price action and focuses on the market's cyclical nature.
This indicator uses a Normalized version of the Detrended Price Oscillator (DPO) on a 0-100 scale, making it easier to identify major tops and bottoms.
Credit: The DPO was first developed by William Blau in 1991.
█ HOW TO READ IT
Pulse DPO oscillates in the range between 0 and 100. A value in the upper section signals an OverBought (OB) condition, while a value in the lower section signals an OverSold (OS) condition.
Generally, the triggering of OB and OS conditions don't necessarily translate into swing tops and bottoms, but rather suggest caution on approaching a market that might be overextended.
Nevertheless, this indicator has been customized to trigger the signal only during remarkable top and bottom events.
I suggest using it on the Daily Time Frame , but you're free to experiment with this indicator on other time frames.
The indicator has Built-in Alerts to signal the crossing of the Thresholds. Please don't act on an isolated signal, but rather integrate it to work in conjunction with the indicators present in your Trading Plan.
█ OB SIGNAL ON: ENTERING OVERBOUGHT CONDITION
When Pulse DPO crosses Above the Top Threshold it Triggers ON the OB signal. At this point the oscillator line shifts to OB color.
When Pulse DPO enters the OB Zone, please beware! In this Area the Major Players usually become Active Sellers to the Public. While the OB signal is On, it might be wise to Consider Selling a portion or the whole Long Position.
Please note that even though this indicator aims to focus on major tops and bottoms, a strong trending market might trigger the OB signal and stay with it for a long time. That's especially true on young markets and on bubble-mode markets.
█ OB SIGNAL OFF: EXITING OVERBOUGHT CONDITION
When Pulse DPO crosses Below the Top Threshold it Triggers OFF the OB signal. At this point the oscillator line shifts to its normal color.
When Pulse DPO exits the OB Zone, please beware because a Major Top might just have occurred. In this Area the Major Players usually become Aggressive Sellers. They might wind up any remaining Long Positions and Open new Short Positions.
This might be a good area to Open Shorts or to Close/Reverse any remaining Long Position. Whatever you choose to do, it's usually best to act quickly because the market is prone to enter into panic mode.
█ OS SIGNAL ON: ENTERING OVERSOLD CONDITION
When Pulse DPO crosses Below the Bottom Threshold it Triggers ON the OS signal. At this point the oscillator line shifts to OS color.
When Pulse DPO enters the OS Zone, please beware because in this Area the Major Players usually become Active Buyers accumulating Long Positions from the desperate Public.
While the OS signal is On, it might be wise to Consider becoming a Buyer or to implement a Dollar-Cost Averaging (DCA) Strategy to build a Long Position towards the next Cycle. In contrast to the tops, the OS state usually takes longer to resolve a major bottom.
█ OS SIGNAL OFF: EXITING OVERSOLD CONDITION
When Pulse DPO crosses Above the Bottom Threshold it Triggers OFF the OS signal. At this point the oscillator line shifts to its normal color.
When Pulse DPO exits the OS Zone, please beware because a Major Bottom might already be in place. In this Area the Major Players become Aggresive Buyers. They might wind up any remaining Short Positions and Open new Long Positions.
This might be a good area to Open Longs or to Close/Reverse any remaining Short Positions.
█ WHY WOULD YOU BE INTERESTED IN THIS INDICATOR?
This indicator is built over a solid foundation capable of signaling Major Cycle Tops and Bottoms across many markets. Let's see some examples:
Early Bitcoin Years: From 0 to 1242
This chart is in logarithmic mode in order to properly display various exponential cycles. Pulse DPO is properly signaling the major early highs from 9-Jun-2011 at 31.50, to the next one on 9-Apr-2013 at 240 and the epic top from 29-Nov-2013 at 1242.
Due to the massive price movements, the OB condition stays pinned during most of the exponential price action. But as you can see, the OB condition quickly vanishes once the Cycle Top has been reached. As the market matures, the OB condition becomes more exceptional and triggers much closer from the Cycle Top.
With regards to Cycle Bottoms, the early bottom of 2 after having peaked at 31.50 doesn’t get captured by the indicator. That is the only cycle bottom that escapes the Pulse DPO when the bottom threshold is set at a value of 5. In that event, the oscillator low reached 6.95.
Bitcoin Adoption Spreading: From 257 to 73k
This chart is in logarithmic mode in order to properly display various exponential cycles. Pulse DPO is properly signaling all the major highs from 17-Dec-2017 at 19k, to the next one on 14-Apr-2021 at 64k and the most recent top from 9-Nov-2021 at 68k.
During the massive run of 2017, the OB condition still stayed triggered for a few weeks on each swing top. But on the next cycles it started to signal only for a few days before each swing top actually happened. The OB condition during the last cycle top triggered only for 3 days. Therefore the signal grows in focus as the market matures.
At the time of publishing this indicator, Bitcoin printed a new All Time High (ATH) on 13-Mar-2024 at 73k. That run didn’t trigger the OB condition. Therefore, if the indicator is correct the Bitcoin market still has some way to grow during the next months.
With regards to Cycle Bottoms, the bottom of 3k after having peaked at19k got captured within the wide OS zone. The bottom of 15k after having peaked at 68k got captured too within the OS accumulation area.
Gold
Pulse DPO behaves surprisingly well on a long standing market such as Gold. Moving back to the 197x years it’s been signaling most Cycle Tops and Bottoms with precision. During the last cycle, it shows topping at 2k and bottoming at 1.6k.
The current price action is signaling OB condition in the range of 2.5k to 2.7k. Looking at past cycles, it tends to trigger on and off at multiple swing tops until reaching the final cycle top. Therefore this might indicate the first wave within a potential gold run.
Oil
On the Oil market, we can see that most of the cycle tops and bottoms since the 80s got signaled. The only exception being the low from 2020 which didn’t trigger.
EURUSD
On Forex markets the Pulse DPO also behaves as expected. Looking back at EURUSD we can see the marketing triggering OB and OS conditions during major cycle tops and bottoms from recent times until the 80s.
S&P 500
On the S&P 500 the Pulse DPO catched the lows from 2016 and 2020. Looking at present price action, the recent ATH didn’t trigger the OB condition. Therefore, the indicator is allowing room for another leg up during the next months.
Amazon
On the Amazon chart the Pulse DPO is mirroring pretty accurately the major swings. Scrolling back to the early 2000s, this chart resembles early exponential swings in the crypto space.
Tesla
Moving onto a younger tech stock, Pulse DPO captures pretty accurately the major tops and bottoms. The chart is shown in logarithmic scale to better display the magnitude of the moves.
█ SETTINGS
This indicator is ideal for identifying major market turning points while filtering out short-term noise. You are free to adjust the parameters to align with your preferred trading style.
Parameters : This section allows you to customize any of the Parameters that shape the Oscillator.
Oscillator Length: Defines the period for calculating the Oscillator.
Offset: Shifts the oscillator calculation by a certain number of periods, which is typically half the Oscillator Length.
Lookback Period: Specifies how many bars to look back to find tops and bottoms for normalization.
Smoothing Length: Determines the length of the moving average used to smooth the oscillator.
Thresholds : This section allows you to customize the Thresholds that trigger the OB and OS conditions.
Top: Defines the value of the Top Threshold.
Bottom: Defines the value of the Bottom Threshold.
OBV based on MADescription:
This indicator calculates On-Balance Volume (OBV) based on the direction of a Simple Moving Average (SMA). Instead of using price movements, this OBV adds or subtracts volume depending on whether the SMA is rising or falling.
SMA-based OBV: When the SMA rises, the volume is added to the OBV. When the SMA falls, the volume is subtracted from the OBV. This allows traders to observe cumulative volume in relation to the wave patterns created by the SMA.
SMA Period: The period of the SMA can be customized, allowing traders to adjust it according to the wave size they want to observe.
While the cumulative volume indicator already exists, traders who analyze volume patterns can use this indicator to more easily conduct volume analysis across different wave sizes.
Inputs:
SMA Period: Defines the lookback period for calculating the Simple Moving Average (default is 25).
Ideal for:
Traders who want to analyze volume flow relative to moving average trends, rather than price movements. This can help identify underlying strength or weakness in market trends.
説明:
このインジケーターは、単純移動平均(SMA)の方向に基づいてオンバランス・ボリューム(OBV)を計算します。価格の動きではなく、SMAが上昇しているときは出来高を加算し、SMAが下降しているときは出来高を減算します。
SMA基準のOBV: SMAが上昇している場合はOBVに出来高が加算され、SMAが下降している場合は出来高が減算されます。これにより、SMAが作る波形に即した累積出来高を観察することができます。
SMA期間: トレーダーが見たい波のサイズ感に応じて、SMAの期間をカスタマイズできます。
既に累積出来高(Cumulative Volume)というインジケーターは存在しますが、波形を基に出来高を分析しているトレーダーは、このインジケーターを使うことで、様々なサイズの波形に即した出来高分析をより簡単に行うことができます。
入力項目:
SMA期間: 単純移動平均の計算に使用される期間を定義します(デフォルトは25)。
適しているトレーダー:
より波形に即した累積出来高分析を重視するトレーダーに最適です。
RSI with Swing Trade by Kelvin_VAlgorithm Description: "RSI with Swing Trade by Kelvin_V"
1. Introduction:
This algorithm uses the RSI (Relative Strength Index) and optional Moving Averages (MA) to detect potential uptrends and downtrends in the market. The key feature of this script is that it visually changes the candle colors based on the market conditions, making it easier for users to identify potential trend swings or wave patterns.
The strategy offers flexibility by allowing users to enable or disable the MA condition. When the MA condition is enabled, the strategy will confirm trends using two moving averages. When disabled, the strategy will only use RSI to detect potential market swings.
2. Key Features of the Algorithm:
RSI (Relative Strength Index):
The RSI is used to identify potential market turning points based on overbought and oversold conditions.
When the RSI exceeds a predefined upper threshold (e.g., 60), it suggests a potential uptrend.
When the RSI drops below a lower threshold (e.g., 40), it suggests a potential downtrend.
Moving Averages (MA) - Optional:
Two Moving Averages (Short MA and Long MA) are used to confirm trends.
If the Short MA crosses above the Long MA, it indicates an uptrend.
If the Short MA crosses below the Long MA, it indicates a downtrend.
Users have the option to enable or disable this MA condition.
Visual Candle Coloring:
Green candles represent a potential uptrend, indicating a bullish move based on RSI (and MA if enabled).
Red candles represent a potential downtrend, indicating a bearish move based on RSI (and MA if enabled).
3. How the Algorithm Works:
RSI Levels:
The user can set RSI upper and lower bands to represent potential overbought and oversold levels. For example:
RSI > 60: Indicates a potential uptrend (bullish move).
RSI < 40: Indicates a potential downtrend (bearish move).
Optional MA Condition:
The algorithm also allows the user to apply the MA condition to further confirm the trend:
Short MA > Long MA: Confirms an uptrend, reinforcing a bullish signal.
Short MA < Long MA: Confirms a downtrend, reinforcing a bearish signal.
This condition can be disabled, allowing the user to focus solely on RSI signals if desired.
Swing Trade Logic:
Uptrend: If the RSI exceeds the upper threshold (e.g., 60) and (optionally) the Short MA is above the Long MA, the candles will turn green to signal a potential uptrend.
Downtrend: If the RSI falls below the lower threshold (e.g., 40) and (optionally) the Short MA is below the Long MA, the candles will turn red to signal a potential downtrend.
Visual Representation:
The candle colors change dynamically based on the RSI values and moving average conditions, making it easier for traders to visually identify potential trend swings or wave patterns without relying on complex chart analysis.
4. User Customization:
The algorithm provides multiple customization options:
RSI Length: Users can adjust the period for RSI calculation (default is 4).
RSI Upper Band (Potential Uptrend): Users can customize the upper RSI level (default is 60) to indicate a potential bullish move.
RSI Lower Band (Potential Downtrend): Users can customize the lower RSI level (default is 40) to indicate a potential bearish move.
MA Type: Users can choose between SMA (Simple Moving Average) and EMA (Exponential Moving Average) for moving average calculations.
Enable/Disable MA Condition: Users can toggle the MA condition on or off, depending on whether they want to add moving averages to the trend confirmation process.
5. Benefits of the Algorithm:
Easy Identification of Trends: By changing candle colors based on RSI and MA conditions, the algorithm makes it easy for users to visually detect potential trend reversals and trend swings.
Flexible Conditions: The user has full control over the RSI and MA settings, allowing them to adapt the strategy to different market conditions and timeframes.
Clear Visualization: With the candle color changes, users can quickly recognize when a potential uptrend or downtrend is forming, enabling faster decision-making in their trading.
6. Example Usage:
Day traders: Can apply this strategy on short timeframes such as 5 minutes or 15 minutes to detect quick trends or reversals.
Swing traders: Can use this strategy on longer timeframes like 1 hour or 4 hours to identify and follow larger market swings.
Sniper Signal- Description
The Sniper Signal is a sophisticated technical indicator designed for traders seeking to maximize accuracy in identifying key turning points within a market. This indicator is built on a dual approach, combining the power of the Wave Trend Momentum Oscillator (WTMO) with the robustness of a long-term Simple Moving Average (SMA), making it an ideal tool for trading in dynamic and trending market environments.
The WTMO is known for its ability to capture momentum and underlying price direction, providing early signals of trend changes. By smoothing price movements using an exponential moving average (EMA), the WTMO accurately identifies when price is overextending in one direction, which may precede a reversal.
The 100-period SMA acts as a critical trend filter, ensuring that trades are only made in the direction of the prevailing market flow. This approach ensures that signals generated by the WTMO align with the long-term trend, filtering out false signals that can appear in sideways or low volatility markets.
The Sniper Signal is not just an indicator that marks entries and exits; it is a complete strategy in itself, designed for traders who understand the importance of trading in the direction of the prevailing trend. Buy signals are generated only when momentum is at its lowest point (WT1 < -5) and the price is supported by a confirmed uptrend (price above the SMA). Conversely, sell signals are only triggered when momentum is at extremely high levels (WT1 > 5) and the market shows clear signs of weakness (price below the SMA).
This combination of momentum and trend analysis creates a balanced approach that allows traders to capture significant moves in the market, while minimizing exposure to unnecessary risk. The Sniper Signal is particularly effective in markets with well-defined trends, where the key to success lies in entering the market at optimal points and exiting before a significant reversal occurs.
In summary, the Sniper Signal is an advanced tool designed for serious traders looking to take advantage of the combination of momentum and trend to execute high probability trades in moving markets.
- How to use the script?
The Sniper Signal indicator code is written in Pine Script, the native programming language of TradingView. To use this indicator, users must copy the code and paste it into the Pine Script editor within the TradingView platform. Once they have done this, they can save and add the script to their chart to begin displaying buy and sell signals directly on their price charts.
When using the Sniper Signal, traders should pay attention to the signals represented by the triangles on the chart: an upward-facing blue triangle indicates a possible buying opportunity, while a downward-facing red triangle suggests a possible selling opportunity. It is crucial that users also watch the 100-period Simple Moving Average (SMA), shown as a gray line on the chart, to ensure that trades align with the overall market trend. This helps filter out less reliable signals and improves the accuracy of trading decisions.
- Open-source reuse
The indicator code is based on common and widely used concepts in technical analysis, such as the Wave Trend Momentum Oscillator (WTMO) and the Simple Moving Average (SMA). These components are not proprietary and are part of the general knowledge in the trading community, which means that many developers can create their own versions based on these same principles.
Magic Linear Regression Channel [MW]Introduction
The Magic Linear Regression Channel indicator provides users with a way to quickly include a linear regression channel ANYWHERE on their chart, in order to find channel breakouts and bounces within any time period. It uses a novel method that allows users to adjust the start and end period of the regression channel in order to quickly make adjustments faster, with fewer steps, and with more precision than with any other linear regression channel tool. It includes Fibonacci bands AND a horizontal mode in order for users to quickly define significant price levels based on the high, low, open, and close prices defined by the start period.
Settings
Start Time: This is initially MANUALLY SELECTED ON THE CHART when the indicator is first loaded.
End time: This is also initially MANUALLY SELECTED ON THE CHART when the indicator is first loaded.
Horizontal Line: This forces the baseline to be horizontal. The band distance is defined by the maximum price distance from the band.
Horizontal Line Type: This snaps the horizontal line to the close, high, low, or open price. Or, it can also use a regression calculation for the selected time period to define the y-position of the line.
Extend Line N Bars: How many bars to the left in which to extend the baseline and bands.
Show Baseline ONLY!!: Removes all lines except the baseline and it’s extension.
Add Half Band: Includes a band that is half the distance between the baseline and the top and bottom bands
Add Outer Fibonacci Band: Includes a band that is 1.618 (phi) times the default band distance
Add Inner Fibonacci Band - Upper: Includes a band that is 0.618 (1/phi) times the default band distance
Add Inner Fibonacci Band - Lower: Includes a band that is 0.382 (1 - 1/phi) times the default band distance
Calculations
This indicator uses the least squares approach for generating a straight regression line, which can be reviewed at Wikipedia’s “Simple Linear Regression” page. It sums all of the x-values, and y-values, as well as the sum of the product of corresponding x and y values, and the sum of the squares of the x-values. These values are used to calculate the slope and intercept using the following equations:
slope = (n * sum_xy - sum_x * sum_y) / (n * sum_xx - sum_x * sum_x)
And
intercept = (sum_y - slope * sum_x) / n
The slope and intercept are then used to generate the baseline and the corresponding bands using the user-selected offsets.
How to Use
When the Magic Linear Regression Channel indicator is first added to the chart, there will be a blue prompt behind the “Indicators, Metrics & Strategies” window. Close the window, then select a START POINT by clicking at a desired location on the chart. Next, you will be prompted to select an END POINT. The end point MUST be placed after the START POINT. At this time a channel will be generated. Once you’ve selected the START POINT and END POINT, you can adjust them by dragging them anywhere on the chart. Each adjustment will generate a new channel making it easier for you to quickly visualize and recognize any channel exits and bounces.
The Magic Linear Regression Channel indicator works great at identifying wave patterns. Place the start line at a top or bottom pivot point. Place the end line at the next respective top or bottom pivot. This will give you a complete wave form to work with. When price reaches a band and rejects, it can be a strong indication that price may move back to one of the bands in the channel. If price exits the channel with volume that supports the exit, it may be an indication of a breakout.
You can also use the horizontal mode to identify key levels, then add Fibonacci bands based on regression calculations for the given time period to provide more meaningful areas of support and resistance.
Other Usage Notes and Limitations
Occasionally, off-by-1 errors appear which makes the extended lines protrude at a slightly incorrect angle. This is a known bug and will be addressed in the next release.
It's important for traders to be aware of the limitations of any indicator and to use them as part of a broader, well-rounded trading strategy that includes risk management, fundamental analysis, and other tools that can help with reducing false signals, determining trend direction, and providing additional confirmation for a trade decision. Diversifying strategies and not relying solely on one type of indicator or analysis can help mitigate some of these risks.
MTF - Quantum Fibonacci ATR/ADR Levels & Targets**Indicator Overview:**
The *Quantum Fibonacci Wave Mechanics* indicator is a powerful tool designed to help traders identify dynamic support, resistance, and target levels based on the Average True Range (ATR) and Average Daily Range (ADR). This indicator leverages Fibonacci ratios to calculate precise entry and target levels, providing a comprehensive approach to market analysis.
**Key Features:**
- **Dynamic ATR/ADR Levels:** Automatically calculate and plot ATR and ADR-based support and resistance levels, offering insight into market volatility and potential reversal zones.
- **Fibonacci-Based Entry Levels:** Calculate Fibonacci entry levels using the 0.618 ratio, helping traders find optimal points to enter trades.
- **Customizable Target Levels:** Set up to three target levels based on Fibonacci ratios (1.618, 2.618, 3.618), allowing for precise trade management.
- **Stop Loss Lines:** Plot stop loss lines derived from ATR and ADR calculations, ensuring risk is managed effectively.
- **EMA Integration:** Optionally plot an Exponential Moving Average (EMA) line for additional trend confirmation.
- **Customizable Color Settings:** Adjust the colors of all levels and signals to fit your charting preferences.
- **Bar Coloring Based on Signals:** Automatically color bars based on the latest buy or sell signal for easier visual identification.
- **Label Display for Key Levels:** Display labels on the chart for important levels such as entry points, target levels, and stop loss lines.
**How Users Can Benefit:**
This indicator is ideal for traders who want to blend the precision of Fibonacci analysis with the robustness of ATR/ADR calculations. Whether you're a day trader looking for short-term entry points or a swing trader seeking reliable support and resistance levels, this indicator offers a versatile toolset for enhancing your trading decisions.
**Customization Instructions:**
The *Quantum Fibonacci Wave Mechanics* indicator is highly customizable to suit different trading styles and preferences. Below is a guide on how to adjust the settings:
1. **General Settings:**
- **ADR Length:** Define the lookback period for calculating the ADR.
- **EMA Length:** Set the period for the Exponential Moving Average (EMA).
- **Timeframe:** Select the timeframe for which the levels will be calculated (e.g., daily, weekly).
2. **Display Settings:**
- **Show ATR Levels:** Toggle the display of ATR-based support and resistance levels.
- **Show ADR Levels:** Toggle the display of ADR-based support and resistance levels.
- **Show EMA Line:** Toggle the display of the EMA line.
- **Show Stop Loss Lines:** Display stop loss levels derived from ATR and ADR.
- **Show Middle Level Line:** Show the middle level between buy and sell stop loss lines.
- **Show Fibonacci Entry Levels:** Enable the display of Fibonacci-based entry levels.
- **Show Entry Signals:** Plot buy and sell signals based on the crossover of the entry levels.
- **Show Target Levels:** Display up to three target levels for both buy and sell signals.
- **Color Bars Based on Last Signal:** Automatically color bars according to the last signal (buy or sell).
3. **Fibonacci Settings:**
- **Entry Ratio (Fibonacci):** Adjust the Fibonacci ratio used for calculating entry levels (default is 0.618).
- **Target Ratios (Fibonacci):** Set the Fibonacci ratios for up to three target levels (default ratios are 1.618, 2.618, and 3.618).
4. **Color Settings:**
- **Support Levels:** Customize the color of the support lines.
- **Resistance Levels:** Customize the color of the resistance lines.
- **Stop Loss Levels:** Set the color for stop loss lines (default is red).
- **Buy Target Levels:** Set the color for buy target levels (default is white).
- **Sell Target Levels:** Set the color for sell target levels (default is yellow).
5. **Label Display Settings:**
- **Show Labels for The Levels:** Toggle the display of labels for the various levels on the chart.
**Usage Tips:**
- **Combining with Other Indicators:** Use this indicator in conjunction with other technical indicators such as RSI, MACD, or Bollinger Bands to confirm signals.
- **Adjusting to Different Timeframes:** Customize the `timeframeInput` to analyze different market conditions, from intraday to long-term trading.
- **Risk Management:** Utilize the stop loss levels to manage risk effectively, ensuring your trades are protected against adverse market movements.
**Disclaimer:**
*This indicator is provided for educational purposes only and should not be considered financial advice. Trading in financial markets involves risk, and past performance does not guarantee future results. Always conduct your own research and consult with a licensed financial advisor before making any trading decisions. The creator of this indicator is not responsible for any financial losses that may occur from using this tool.*
PubLibPatternLibrary "PubLibPattern"
pattern conditions for indicator and strategy development
bear_5_0(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol)
bearish 5-0 harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
Returns: bool
bull_5_0(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol)
bullish 5-0 harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
Returns: bool
bear_abcd(bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol)
bearish abcd harmonic pattern condition
Parameters:
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
Returns: bool
bull_abcd(bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol)
bullish abcd harmonic pattern condition
Parameters:
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
Returns: bool
bear_alt_bat(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol, ad_low_tol, ad_up_tol)
bearish alternate bat harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
ad_low_tol (float)
ad_up_tol (float)
Returns: bool
bull_alt_bat(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol, ad_low_tol, ad_up_tol)
bullish alternate bat harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
ad_low_tol (float)
ad_up_tol (float)
Returns: bool
bear_bat(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol, ad_low_tol, ad_up_tol)
bearish bat harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
ad_low_tol (float)
ad_up_tol (float)
Returns: bool
bull_bat(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol, ad_low_tol, ad_up_tol)
bullish bat harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
ad_low_tol (float)
ad_up_tol (float)
Returns: bool
bear_butterfly(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol, ad_low_tol, ad_up_tol)
bearish butterfly harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
ad_low_tol (float)
ad_up_tol (float)
Returns: bool
bull_butterfly(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol, ad_low_tol, ad_up_tol)
bullish butterfly harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
ad_low_tol (float)
ad_up_tol (float)
Returns: bool
bear_cassiopeia_a(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol)
bearish cassiopeia a harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
Returns: bool
bull_cassiopeia_a(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol)
bullish cassiopeia a harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
Returns: bool
bear_cassiopeia_b(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol)
bearish cassiopeia b harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
Returns: bool
bull_cassiopeia_b(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol)
bullish cassiopeia b harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
Returns: bool
bear_cassiopeia_c(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol)
bearish cassiopeia c harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
Returns: bool
bull_cassiopeia_c(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol)
bullish cassiopeia c harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
Returns: bool
bear_crab(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol, ad_low_tol, ad_up_tol)
bearish crab harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
ad_low_tol (float)
ad_up_tol (float)
Returns: bool
bull_crab(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol, ad_low_tol, ad_up_tol)
bullish crab harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
ad_low_tol (float)
ad_up_tol (float)
Returns: bool
bear_deep_crab(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol, ad_low_tol, ad_up_tol)
bearish deep crab harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
ad_low_tol (float)
ad_up_tol (float)
Returns: bool
bull_deep_crab(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol, ad_low_tol, ad_up_tol)
bullish deep crab harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
ad_low_tol (float)
ad_up_tol (float)
Returns: bool
bear_cypher(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol, xc_low_tol, xc_up_tol)
bearish cypher harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
xc_low_tol (float)
xc_up_tol (float)
Returns: bool
bull_cypher(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol, xc_low_tol, xc_up_tol)
bullish cypher harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
xc_low_tol (float)
xc_up_tol (float)
Returns: bool
bear_gartley(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol, ad_low_tol, ad_up_tol)
bearish gartley harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
ad_low_tol (float)
ad_up_tol (float)
Returns: bool
bull_gartley(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, cd_low_tol, cd_up_tol, ad_low_tol, ad_up_tol)
bullish gartley harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
cd_low_tol (float)
cd_up_tol (float)
ad_low_tol (float)
ad_up_tol (float)
Returns: bool
bear_shark(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, xc_low_tol, xc_up_tol)
bearish shark harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
xc_low_tol (float)
xc_up_tol (float)
Returns: bool
bull_shark(ab_low_tol, ab_up_tol, bc_low_tol, bc_up_tol, xc_low_tol, xc_up_tol)
bullish shark harmonic pattern condition
Parameters:
ab_low_tol (float)
ab_up_tol (float)
bc_low_tol (float)
bc_up_tol (float)
xc_low_tol (float)
xc_up_tol (float)
Returns: bool
bear_three_drive(x1_low_tol, a1_low_tol, a1_up_tol, a2_low_tol, a2_up_tol, b2_low_tol, b2_up_tol, b3_low_tol, b3_upt_tol)
bearish three drive harmonic pattern condition
Parameters:
x1_low_tol (float)
a1_low_tol (float)
a1_up_tol (float)
a2_low_tol (float)
a2_up_tol (float)
b2_low_tol (float)
b2_up_tol (float)
b3_low_tol (float)
b3_upt_tol (float)
Returns: bool
bull_three_drive(x1_low_tol, a1_low_tol, a1_up_tol, a2_low_tol, a2_up_tol, b2_low_tol, b2_up_tol, b3_low_tol, b3_upt_tol)
bullish three drive harmonic pattern condition
Parameters:
x1_low_tol (float)
a1_low_tol (float)
a1_up_tol (float)
a2_low_tol (float)
a2_up_tol (float)
b2_low_tol (float)
b2_up_tol (float)
b3_low_tol (float)
b3_upt_tol (float)
Returns: bool
asc_broadening()
ascending broadening pattern condition
Returns: bool
broadening()
broadening pattern condition
Returns: bool
desc_broadening()
descending broadening pattern condition
Returns: bool
double_bot(low_tol, up_tol)
double bottom pattern condition
Parameters:
low_tol (float)
up_tol (float)
Returns: bool
double_top(low_tol, up_tol)
double top pattern condition
Parameters:
low_tol (float)
up_tol (float)
Returns: bool
triple_bot(low_tol, up_tol)
triple bottom pattern condition
Parameters:
low_tol (float)
up_tol (float)
Returns: bool
triple_top(low_tol, up_tol)
triple top pattern condition
Parameters:
low_tol (float)
up_tol (float)
Returns: bool
bear_elliot()
bearish elliot wave pattern condition
Returns: bool
bull_elliot()
bullish elliot wave pattern condition
Returns: bool
bear_alt_flag(ab_ratio, bc_ratio)
bearish alternate flag pattern condition
Parameters:
ab_ratio (float)
bc_ratio (float)
Returns: bool
bull_alt_flag(ab_ratio, bc_ratio)
bullish alternate flag pattern condition
Parameters:
ab_ratio (float)
bc_ratio (float)
Returns: bool
bear_flag(ab_ratio, bc_ratio, be_ratio)
bearish flag pattern condition
Parameters:
ab_ratio (float)
bc_ratio (float)
be_ratio (float)
Returns: bool
bull_flag(ab_ratio, bc_ratio, be_ratio)
bullish flag pattern condition
Parameters:
ab_ratio (float)
bc_ratio (float)
be_ratio (float)
Returns: bool
bear_asc_head_shoulders()
bearish ascending head and shoulders pattern condition
Returns: bool
bull_asc_head_shoulders()
bullish ascending head and shoulders pattern condition
Returns: bool
bear_desc_head_shoulders()
bearish descending head and shoulders pattern condition
Returns: bool
bull_desc_head_shoulders()
bullish descending head and shoulders pattern condition
Returns: bool
bear_head_shoulders()
bearish head and shoulders pattern condition
Returns: bool
bull_head_shoulders()
bullish head and shoulders pattern condition
Returns: bool
bear_pennant(ab_ratio, bc_ratio)
bearish pennant pattern condition
Parameters:
ab_ratio (float)
bc_ratio (float)
Returns: bool
bull_pennant(ab_ratio, bc_ratio)
bullish pennant pattern condition
Parameters:
ab_ratio (float)
bc_ratio (float)
Returns: bool
asc_wedge()
ascending wedge pattern condition
Returns: bool
desc_wedge()
descending wedge pattern condition
Returns: bool
wedge()
wedge pattern condition
Returns: bool