DMI Stochastic Momentum IndexConcepts
This is an improved version of the "DMI Stochastic Extreme Refurbished" indicator.
For more information on the main concepts of this indicator, please access this link:
The difference is that here, instead of using the traditional stochastic oscillator, I implemented the use of the Stochastic Momentum Index (SMI).
Stochastic Momentum Index (SMI)
The SMI is considered a refinement of the stochastic oscillator.
It calculates the distance of the current closing price as it relates to the median of the high/low range of price.
William Blau developed the SMI, which attempts to provide a more reliable indicator, less subject to false swings.
The original stochastic is limited to values from 0 to 100, while the SMI varies between the range of -100 to 100.
(Investopedia)
It is worth mentioning that the SMI presented in this script applies to the DMI value, not the screen price.
Buscar en scripts para "oscillator"
Softmax Normalized T3 Histogram [Loxx]Softmax Normalized T3 Histogram is a T3 moving average that is morphed into a normalized oscillator from -1 to 1.
What is the Softmax function?
The softmax function, also known as softargmax: or normalized exponential function, converts a vector of K real numbers into a probability distribution of K possible outcomes. It is a generalization of the logistic function to multiple dimensions, and used in multinomial logistic regression. The softmax function is often used as the last activation function of a neural network to normalize the output of a network to a probability distribution over predicted output classes, based on Luce's choice axiom.
What is the T3 moving average?
Better Moving Averages Tim Tillson
November 1, 1998
Tim Tillson is a software project manager at Hewlett-Packard, with degrees in Mathematics and Computer Science. He has privately traded options and equities for 15 years.
Introduction
"Digital filtering includes the process of smoothing, predicting, differentiating, integrating, separation of signals, and removal of noise from a signal. Thus many people who do such things are actually using digital filters without realizing that they are; being unacquainted with the theory, they neither understand what they have done nor the possibilities of what they might have done."
This quote from R. W. Hamming applies to the vast majority of indicators in technical analysis . Moving averages, be they simple, weighted, or exponential, are lowpass filters; low frequency components in the signal pass through with little attenuation, while high frequencies are severely reduced.
"Oscillator" type indicators (such as MACD , Momentum, Relative Strength Index ) are another type of digital filter called a differentiator.
Tushar Chande has observed that many popular oscillators are highly correlated, which is sensible because they are trying to measure the rate of change of the underlying time series, i.e., are trying to be the first and second derivatives we all learned about in Calculus.
We use moving averages (lowpass filters) in technical analysis to remove the random noise from a time series, to discern the underlying trend or to determine prices at which we will take action. A perfect moving average would have two attributes:
It would be smooth, not sensitive to random noise in the underlying time series. Another way of saying this is that its derivative would not spuriously alternate between positive and negative values.
It would not lag behind the time series it is computed from. Lag, of course, produces late buy or sell signals that kill profits.
The only way one can compute a perfect moving average is to have knowledge of the future, and if we had that, we would buy one lottery ticket a week rather than trade!
Having said this, we can still improve on the conventional simple, weighted, or exponential moving averages. Here's how:
Two Interesting Moving Averages
We will examine two benchmark moving averages based on Linear Regression analysis.
In both cases, a Linear Regression line of length n is fitted to price data.
I call the first moving average ILRS, which stands for Integral of Linear Regression Slope. One simply integrates the slope of a linear regression line as it is successively fitted in a moving window of length n across the data, with the constant of integration being a simple moving average of the first n points. Put another way, the derivative of ILRS is the linear regression slope. Note that ILRS is not the same as a SMA ( simple moving average ) of length n, which is actually the midpoint of the linear regression line as it moves across the data.
We can measure the lag of moving averages with respect to a linear trend by computing how they behave when the input is a line with unit slope. Both SMA (n) and ILRS(n) have lag of n/2, but ILRS is much smoother than SMA .
Our second benchmark moving average is well known, called EPMA or End Point Moving Average. It is the endpoint of the linear regression line of length n as it is fitted across the data. EPMA hugs the data more closely than a simple or exponential moving average of the same length. The price we pay for this is that it is much noisier (less smooth) than ILRS, and it also has the annoying property that it overshoots the data when linear trends are present.
However, EPMA has a lag of 0 with respect to linear input! This makes sense because a linear regression line will fit linear input perfectly, and the endpoint of the LR line will be on the input line.
These two moving averages frame the tradeoffs that we are facing. On one extreme we have ILRS, which is very smooth and has considerable phase lag. EPMA has 0 phase lag, but is too noisy and overshoots. We would like to construct a better moving average which is as smooth as ILRS, but runs closer to where EPMA lies, without the overshoot.
A easy way to attempt this is to split the difference, i.e. use (ILRS(n)+EPMA(n))/2. This will give us a moving average (call it IE /2) which runs in between the two, has phase lag of n/4 but still inherits considerable noise from EPMA. IE /2 is inspirational, however. Can we build something that is comparable, but smoother? Figure 1 shows ILRS, EPMA, and IE /2.
Filter Techniques
Any thoughtful student of filter theory (or resolute experimenter) will have noticed that you can improve the smoothness of a filter by running it through itself multiple times, at the cost of increasing phase lag.
There is a complementary technique (called twicing by J.W. Tukey) which can be used to improve phase lag. If L stands for the operation of running data through a low pass filter, then twicing can be described by:
L' = L(time series) + L(time series - L(time series))
That is, we add a moving average of the difference between the input and the moving average to the moving average. This is algebraically equivalent to:
2L-L(L)
This is the Double Exponential Moving Average or DEMA , popularized by Patrick Mulloy in TASAC (January/February 1994).
In our taxonomy, DEMA has some phase lag (although it exponentially approaches 0) and is somewhat noisy, comparable to IE /2 indicator.
We will use these two techniques to construct our better moving average, after we explore the first one a little more closely.
Fixing Overshoot
An n-day EMA has smoothing constant alpha=2/(n+1) and a lag of (n-1)/2.
Thus EMA (3) has lag 1, and EMA (11) has lag 5. Figure 2 shows that, if I am willing to incur 5 days of lag, I get a smoother moving average if I run EMA (3) through itself 5 times than if I just take EMA (11) once.
This suggests that if EPMA and DEMA have 0 or low lag, why not run fast versions (eg DEMA (3)) through themselves many times to achieve a smooth result? The problem is that multiple runs though these filters increase their tendency to overshoot the data, giving an unusable result. This is because the amplitude response of DEMA and EPMA is greater than 1 at certain frequencies, giving a gain of much greater than 1 at these frequencies when run though themselves multiple times. Figure 3 shows DEMA (7) and EPMA(7) run through themselves 3 times. DEMA^3 has serious overshoot, and EPMA^3 is terrible.
The solution to the overshoot problem is to recall what we are doing with twicing:
DEMA (n) = EMA (n) + EMA (time series - EMA (n))
The second term is adding, in effect, a smooth version of the derivative to the EMA to achieve DEMA . The derivative term determines how hot the moving average's response to linear trends will be. We need to simply turn down the volume to achieve our basic building block:
EMA (n) + EMA (time series - EMA (n))*.7;
This is algebraically the same as:
EMA (n)*1.7-EMA( EMA (n))*.7;
I have chosen .7 as my volume factor, but the general formula (which I call "Generalized Dema") is:
GD (n,v) = EMA (n)*(1+v)-EMA( EMA (n))*v,
Where v ranges between 0 and 1. When v=0, GD is just an EMA , and when v=1, GD is DEMA . In between, GD is a cooler DEMA . By using a value for v less than 1 (I like .7), we cure the multiple DEMA overshoot problem, at the cost of accepting some additional phase delay. Now we can run GD through itself multiple times to define a new, smoother moving average T3 that does not overshoot the data:
T3(n) = GD ( GD ( GD (n)))
In filter theory parlance, T3 is a six-pole non-linear Kalman filter. Kalman filters are ones which use the error (in this case (time series - EMA (n)) to correct themselves. In Technical Analysis , these are called Adaptive Moving Averages; they track the time series more aggressively when it is making large moves.
Included:
Bar coloring
Signals
Alerts
Loxx's Expanded Source Types
Chop Shop Indicator for Options TradersAs always, this is not financial advice and use at your own risk. Trading is risky and can cost you significant sums of money if you are not careful. Make sure you always have a proper entry and exit plan that includes defining your risk before you enter a trade.
This is for all of you options traders out there who choose to write options and collect premium. Since we seem to be a neglected bunch when it comes to indicators, I figured I would write a script that helps identify when underlyings are in a range and a good time to sell some premium when we are waiting for the next directional setup. This is the choppiness index modified to include a 21-period exponential moving average as a trigger, which I am calling the Chop Shop. The choppiness index , at its most basic, takes a log-scaled version of the summed Average True Range (ATR --- a volatility measurement) and converts it into an oscillator. The higher the oscillator value, the higher level of "chop" the stock is experiencing. This is often referred to as the stock is trading in a range. Most traders are advised to stay out of range trading because it is difficult. However, for an options trader this is an opportune time to collect some premium using bracketed short strike trades such as strangles, straddles, iron condors, or iron butterflies that are profitable when the stock stays rangebound and realizes a drop in volatility .
The indicator is extremely basic. You should look to collect premium and write these types of bracketed trades when Chop Shop crosses over its 21-period EMA . You should look to avoid writing bracketed trades when the Chop Shop trades below its 21-period EMA as this is when a stock is seeing a strong directional movement and can be considered trending. These are usually times when you want to get out of the way of the runaway train and make sure you are on the correct side of the trade or you can quickly get smoked. Use a combination of other indicators to help assist you define the most likely continued direction of the trend and you can then write directional premium trades such as credit spreads, directional Iron Condors, and butterflies to capture this and avoid stepping in front of that moving train.
TASC 2021.11 MADH Moving Average Difference, Hann█ OVERVIEW
Presented here is code for the "Moving Average Difference, Hann" indicator originally conceived by John Ehlers. The code is also published in the November 2021 issue of Trader's Tips by Technical Analysis of Stocks & Commodities (TASC) magazine.
█ CONCEPTS
By employing a Hann windowed finite impulse response filter (FIR), John Ehlers has enhanced the Moving Average Difference (MAD) to provide an oscillator with exceptional smoothness.
Of notable mention, the wave form of MADH resembles Ehlers' "Reverse EMA" Indicator, formerly revealed in the September 2017 issue of TASC. Many variations of the "Reverse EMA" were published in TradingView's Public Library.
█ FEATURES
Three values in the script's "Settings/Inputs" provide control over the oscillators behavior:
• The price source
• A "Short Length" with a default of 8, to manage the lower band edge of the oscillator
• The "Dominant Cycle", originally set at 27, which appears to be a placeholder for an adaptive control mechanism
Two coloring options are provided for the line's fill:
• "ZeroCross", the default, uses the line's position above/below the zero level. This is the mode used in the top version of MADH on this chart.
• "Momentum" uses the line's up/down state, as shown in the bottom version of the indicator on the chart.
█ NOTES
Calculations
The source price is used in two independent Hann windowed FIR filters having two different periods (lengths) of historical observation for calculation, one being a "Short Length" and the other termed "Dominant Cycle". These are then passed to a "rate of change" calculation and then returned by the reusable function. The secret sauce is that a "windowed Hann FIR filter" is superior tp a generic SMA filter, and that ultimately reveals Ehlers' clever enhancement. We'll have to wait and see what ingenuities Ehlers has next to unleash. Stay tuned...
The `madh()` function code was optimized for computational efficiency in Pine, differing visibly from Ehlers' original formula, but yielding the same results as Ehlers' version.
Background
This indicator has a sibling indicator discussed in the "The MAD Indicator, Enhanced" article by Ehlers. MADH is an evolutionary update from the prior MAD indicator code published in the October 2021 issue of TASC.
Sibling Indicators
• Moving Average Difference (MAD)
• Cycle/Trend Analytics
Related Information
• Cycle/Trend Analytics And The MAD Indicator
• The Reverse EMA Indicator
• Hann Window
• ROC
Join TradingView!
Webhook Starter Kit [HullBuster]
Introduction
This is an open source strategy which provides a framework for webhook enabled projects. It is designed to work out-of-the-box on any instrument triggering on an intraday bar interval. This is a full featured script with an emphasis on actual trading at a brokerage through the TradingView alert mechanism and without requiring browser plugins.
The source code is written in a self documenting style with clearly defined sections. The sections “communicate” with each other through state variables making it easy for the strategy to evolve and improve. This is an excellent place for Pine Language beginners to start their strategy building journey. The script exhibits many Pine Language features which will certainly ad power to your script building abilities.
This script employs a basic trend follow strategy utilizing a forward pyramiding technique. Trend detection is implemented through the use of two higher time frame series. The market entry setup is a Simple Moving Average crossover. Positions exit by passing through conditional take profit logic. The script creates ten indicators including a Zscore oscillator to measure support and resistance levels. The indicator parameters are exposed through 47 strategy inputs segregated into seven sections. All of the inputs are equipped with detailed tool tips to help you get started.
To improve the transition from simulation to execution, strategy.entry and strategy.exit calls show enhanced message text with embedded keywords that are combined with the TradingView placeholders at alert time. Thereby, enabling a single JSON message to generate multiple execution events. This is genius stuff from the Pine Language development team. Really excellent work!
This document provides a sample alert message that can be applied to this script with relatively little modification. Without altering the code, the strategy inputs can alter the behavior to generate thousands of orders or simply a few dozen. It can be applied to crypto, stocks or forex instruments. A good way to look at this script is as a webhook lab that can aid in the development of your own endpoint processor, impress your co-workers and have hours of fun.
By no means is a webhook required or even necessary to benefit from this script. The setups, exits, trend detection, pyramids and DCA algorithms can be easily replaced with more sophisticated versions. The modular design of the script logic allows you to incrementally learn and advance this script into a functional trading system that you can be proud of.
Design
This is a trend following strategy that enters long above the trend line and short below. There are five trend lines that are visible by default but can be turned off in Section 7. Identified, in frequency order, as follows:
1. - EMA in the chart time frame. Intended to track price pressure. Configured in Section 3.
2. - ALMA in the higher time frame specified in Section 2 Signal Line Period.
3. - Linear Regression in the higher time frame specified in Section 2 Signal Line Period.
4. - Linear Regression in the higher time frame specified in Section 2 Signal Line Period.
5. - DEMA in the higher time frame specified in Section 2 Trend Line Period.
The Blue, Green and Orange lines are signal lines are on the same time frame. The time frame selected should be at least five times greater than the chart time frame. The Purple line represents the trend line for which prices above the line suggest a rising market and prices below a falling market. The time frame selected for the trend should be at least five times greater than the signal lines.
Three oscillators are created as follows:
1. Stochastic - In the chart time frame. Used to enter forward pyramids.
2. Stochastic - In the Trend period. Used to detect exit conditions.
3. Zscore - In the Signal period. Used to detect exit conditions.
The Stochastics are configured identically other than the time frame. The period is set in Section 2.
Two Simple Moving Averages provide the trade entry conditions in the form of a crossover. Crossing up is a long entry and down is a short. This is in fact the same setup you get when you select a basic strategy from the Pine editor. The crossovers are configured in Section 3. You can see where the crosses are occurring by enabling Show Entry Regions in Section 7.
The script has the capacity for pyramids and DCA. Forward pyramids are enabled by setting the Pyramid properties tab with a non zero value. In this case add on trades will enter the market on dips above the position open price. This process will continue until the trade exits. Downward pyramids are available in Crypto and Range mode only. In this case add on trades are placed below the entry price in the drawdown space until the stop is hit. To enable downward pyramids set the Pyramid Minimum Span In Section 1 to a non zero value.
This implementation of Dollar Cost Averaging (DCA) triggers off consecutive losses. Each loss in a run increments a sequence number. The position size is increased as a multiple of this sequence. When the position eventually closes at a profit the sequence is reset. DCA is enabled by setting the Maximum DCA Increments In Section 1 to a non zero value.
It should be noted that the pyramid and DCA features are implemented using a rudimentary design and as such do not perform with the precision of my invite only scripts. They are intended as a feature to stress test your webhook endpoint. As is, you will need to buttress the logic for it to be part of an automated trading system. It is for this reason that I did not apply a Martingale algorithm to this pyramid implementation. But, hey, it’s an open source script so there is plenty of room for learning and your own experimentation.
How does it work
The overall behavior of the script is governed by the Trading Mode selection in Section 1. It is the very first input so you should think about what behavior you intend for this strategy at the onset of the configuration. As previously discussed, this script is designed to be a trend follower. The trend being defined as where the purple line is predominately heading. In BiDir mode, SMA crossovers above the purple line will open long positions and crosses below the line will open short. If pyramiding is enabled add on trades will accumulate on dips above the entry price. The value applied to the Minimum Profit input in Section 1 establishes the threshold for a profitable exit. This is not a hard number exit. The conditional exit logic must be satisfied in order to permit the trade to close. This is where the effort put into the indicator calibration is realized. There are four ways the trade can exit at a profit:
1. Natural exit. When the blue line crosses the green line the trade will close. For a long position the blue line must cross under the green line (downward). For a short the blue must cross over the green (upward).
2. Alma / Linear Regression event. The distance the blue line is from the green and the relative speed the cross is experiencing determines this event. The activation thresholds are set in Section 6 and relies on the period and length set in Section 2. A long position will exit on an upward thrust which exceeds the activation threshold. A short will exit on a downward thrust.
3. Exponential event. The distance the yellow line is from the blue and the relative speed the cross is experiencing determines this event. The activation thresholds are set in Section 3 and relies on the period and length set in the same section.
4. Stochastic event. The purple line stochastic is used to measure overbought and over sold levels with regard to position exits. Signal line positions combined with a reading over 80 signals a long profit exit. Similarly, readings below 20 signal a short profit exit.
Another, optional, way to exit a position is by Bale Out. You can enable this feature in Section 1. This is a handy way to reduce the risk when carrying a large pyramid stack. Instead of waiting for the entire position to recover we exit early (bale out) as soon as the profit value has doubled.
There are lots of ways to implement a bale out but the method I used here provides a succinct example. Feel free to improve on it if you like. To see where the Bale Outs occur, enable Show Bale Outs in Section 7. Red labels are rendered below each exit point on the chart.
There are seven selectable Trading Modes available from the drop down in Section 1:
1. Long - Uses the strategy.risk.allow_entry_in to execute long only trades. You will still see shorts on the chart.
2. Short - Uses the strategy.risk.allow_entry_in to execute short only trades. You will still see long trades on the chart.
3. BiDir - This mode is for margin trading with a stop. If a long position was initiated above the trend line and the price has now fallen below the trend, the position will be reversed after the stop is hit. Forward pyramiding is available in this mode if you set the Pyramiding value in the Properties tab. DCA can also be activated.
4. Flip Flop - This is a bidirectional trading mode that automatically reverses on a trend line crossover. This is distinctively different from BiDir since you will get a reversal even without a stop which is advantageous in non-margin trading.
5. Crypto - This mode is for crypto trading where you are buying the coins outright. In this case you likely want to accumulate coins on a crash. Especially, when all the news outlets are talking about the end of Bitcoin and you see nice deep valleys on the chart. Certainly, under these conditions, the market will be well below the purple line. No margin so you can’t go short. Downward pyramids are enabled for Crypto mode when two conditions are met. First the Pyramiding value in the Properties tab must be non zero. Second the Pyramid Minimum Span in Section 1 must be non zero.
6. Range - This is a counter trend trading mode. Longs are entered below the purple trend line and shorts above. Useful when you want to test your webhook in a market where the trend line is bisecting the signal line series. Remember that this strategy is a trend follower. It’s going to get chopped out in a range bound market. By turning on the Range mode you will at least see profitable trades while stuck in the range. However, when the market eventually picks a direction, this mode will sustain losses. This range trading mode is a rudimentary implementation that will need a lot of improvement if you want to create a reliable switch hitter (trend/range combo).
7. No Trade. Useful when setting up the trend lines and the entry and exit is not important.
Once in the trade, long or short, the script tests the exit condition on every bar. If not a profitable exit then it checks if a pyramid is required. As mentioned earlier, the entry setups are quite primitive. Although they can easily be replaced by more sophisticated algorithms, what I really wanted to show is the diminished role of the position entry in the overall life of the trade. Professional traders spend much more time on the management of the trade beyond the market entry. While your trade entry is important, you can get in almost anywhere and still land a profitable exit.
If DCA is enabled, the size of the position will increase in response to consecutive losses. The number of times the position can increase is limited by the number set in Maximum DCA Increments of Section 1. Once the position breaks the losing streak the trade size will return the default quantity set in the Properties tab. It should be noted that the Initial Capital amount set in the Properties tab does not affect the simulation in the same way as a real account. In reality, running out of money will certainly halt trading. In fact, your account would be frozen long before the last penny was committed to a trade. On the other hand, TradingView will keep running the simulation until the current bar even if your funds have been technically depleted.
Entry and exit use the strategy.entry and strategy.exit calls respectfully. The alert_message parameter has special keywords that the endpoint expects to properly calculate position size and message sequence. The alert message will embed these keywords in the JSON object through the {{strategy.order.alert_message}} placeholder. You should use whatever keywords are expected from the endpoint you intend to webhook in to.
Webhook Integration
The TradingView alerts dialog provides a way to connect your script to an external system which could actually execute your trade. This is a fantastic feature that enables you to separate the data feed and technical analysis from the execution and reporting systems. Using this feature it is possible to create a fully automated trading system entirely on the cloud. Of course, there is some work to get it all going in a reliable fashion. Being a strategy type script place holders such as {{strategy.position_size}} can be embedded in the alert message text. There are more than 10 variables which can write internal script values into the message for delivery to the specified endpoint.
Entry and exit use the strategy.entry and strategy.exit calls respectfully. The alert_message parameter has special keywords that my endpoint expects to properly calculate position size and message sequence. The alert message will embed these keywords in the JSON object through the {{strategy.order.alert_message}} placeholder. You should use whatever keywords are expected from the endpoint you intend to webhook in to.
Here is an excerpt of the fields I use in my webhook signal:
"broker_id": "kraken",
"account_id": "XXX XXXX XXXX XXXX",
"symbol_id": "XMRUSD",
"action": "{{strategy.order.action}}",
"strategy": "{{strategy.order.id}}",
"lots": "{{strategy.order.contracts}}",
"price": "{{strategy.order.price}}",
"comment": "{{strategy.order.alert_message}}",
"timestamp": "{{time}}"
Though TradingView does a great job in dispatching your alert this feature does come with a few idiosyncrasies. Namely, a single transaction call in your script may cause multiple transmissions to the endpoint. If you are using placeholders each message describes part of the transaction sequence. A good example is closing a pyramid stack. Although the script makes a single strategy.close() call, the endpoint actually receives a close message for each pyramid trade. The broker, on the other hand, only requires a single close. The incongruity of this situation is exacerbated by the possibility of messages being received out of sequence. Depending on the type of order designated in the message, a close or a reversal. This could have a disastrous effect on your live account. This broker simulator has no idea what is actually going on at your real account. Its just doing the job of running the simulation and sending out the computed results. If your TradingView simulation falls out of alignment with the actual trading account lots of really bad things could happen. Like your script thinks your are currently long but the account is actually short. Reversals from this point forward will always be wrong with no one the wiser. Human intervention will be required to restore congruence. But how does anyone find out this is occurring? In closed systems engineering this is known as entropy. In practice your webhook logic should be robust enough to detect these conditions. Be generous with the placeholder usage and give the webhook code plenty of information to compare states. Both issuer and receiver. Don’t blindly commit incoming signals without verifying system integrity.
Setup
The following steps provide a very brief set of instructions that will get you started on your first configuration. After you’ve gone through the process a couple of times, you won’t need these anymore. It’s really a simple script after all. I have several example configurations that I used to create the performance charts shown. I can share them with you if you like. Of course, if you’ve modified the code then these steps are probably obsolete.
There are 47 inputs divided into seven sections. For the most part, the configuration process is designed to flow from top to bottom. Handy, tool tips are available on every field to help get you through the initial setup.
Step 1. Input the Base Currency and Order Size in the Properties tab. Set the Pyramiding value to zero.
Step 2. Select the Trading Mode you intend to test with from the drop down in Section 1. I usually select No Trade until I’ve setup all of the trend lines, profit and stop levels.
Step 3. Put in your Minimum Profit and Stop Loss in the first section. This is in pips or currency basis points (chart right side scale). Remember that the profit is taken as a conditional exit not a fixed limit. The actual profit taken will almost always be greater than the amount specified. The stop loss, on the other hand, is indeed a hard number which is executed by the TradingView broker simulator when the threshold is breached.
Step 4. Apply the appropriate value to the Tick Scalar field in Section 1. This value is used to remove the pipette from the price. You can enable the Summary Report in Section 7 to see the TradingView minimum tick size of the current chart.
Step 5. Apply the appropriate Price Normalizer value in Section 1. This value is used to normalize the instrument price for differential calculations. Basically, we want to increase the magnitude to significant digits to make the numbers more meaningful in comparisons. Though I have used many normalization techniques, I have always found this method to provide a simple and lightweight solution for less demanding applications. Most of the time the default value will be sufficient. The Tick Scalar and Price Normalizer value work together within a single calculation so changing either will affect all delta result values.
Step 6. Turn on the trend line plots in Section 7. Then configure Section 2. Try to get the plots to show you what’s really happening not what you want to happen. The most important is the purple trend line. Select an interval and length that seem to identify where prices tend to go during non-consolidation periods. Remember that a natural exit is when the blue crosses the green line.
Step 7. Enable Show Event Regions in Section 7. Then adjust Section 6. Blue background fills are spikes and red fills are plunging prices. These measurements should be hard to come by so you should see relatively few fills on the chart if you’ve set this up as intended. Section 6 includes the Zscore oscillator the state of which combines with the signal lines to detect statistically significant price movement. The Zscore is a zero based calculation with positive and negative magnitude readings. You want to input a reasonably large number slightly below the maximum amplitude seen on the chart. Both rise and fall inputs are entered as a positive real number. You can easily use my code to create a separate indicator if you want to see it in action. The default value is sufficient for most configurations.
Step 8. Turn off Show Event Regions and enable Show Entry Regions in Section 7. Then adjust Section 3. This section contains two parts. The entry setup crossovers and EMA events. Adjust the crossovers first. That is the Fast Cross Length and Slow Cross Length. The frequency of your trades will be shown as blue and red fills. There should be a lot. Then turn off Show Event Regions and enable Display EMA Peaks. Adjust all the fields that have the word EMA. This is actually the yellow line on the chart. The blue and red fills should show much less than the crossovers but more than event fills shown in Step 7.
Step 9. Change the Trading Mode to BiDir if you selected No Trades previously. Look on the chart and see where the trades are occurring. Make adjustments to the Minimum Profit and Stop Offset in Section 1 if necessary. Wider profits and stops reduce the trade frequency.
Step 10. Go to Section 4 and 5 and make fine tuning adjustments to the long and short side.
Example Settings
To reproduce the performance shown on the chart please use the following configuration: (Bitcoin on the Kraken exchange)
1. Select XBTUSD Kraken as the chart symbol.
2. On the properties tab set the Order Size to: 0.01 Bitcoin
3. On the properties tab set the Pyramiding to: 12
4. In Section 1: Select “Crypto” for the Trading Model
5. In Section 1: Input 2000 for the Minimum Profit
6. In Section 1: Input 0 for the Stop Offset (No Stop)
7. In Section 1: Input 10 for the Tick Scalar
8. In Section 1: Input 1000 for the Price Normalizer
9. In Section 1: Input 2000 for the Pyramid Minimum Span
10. In Section 1: Check mark the Position Bale Out
11. In Section 2: Input 60 for the Signal Line Period
12. In Section 2: Input 1440 for the Trend Line Period
13. In Section 2: Input 5 for the Fast Alma Length
14. In Section 2: Input 22 for the Fast LinReg Length
15. In Section 2: Input 100 for the Slow LinReg Length
16. In Section 2: Input 90 for the Trend Line Length
17. In Section 2: Input 14 Stochastic Length
18. In Section 3: Input 9 Fast Cross Length
19. In Section 3: Input 24 Slow Cross Length
20. In Section 3: Input 8 Fast EMA Length
21. In Section 3: Input 10 Fast EMA Rise NetChg
22. In Section 3: Input 1 Fast EMA Rise ROC
23. In Section 3: Input 10 Fast EMA Fall NetChg
24. In Section 3: Input 1 Fast EMA Fall ROC
25. In Section 4: Check mark the Long Natural Exit
26. In Section 4: Check mark the Long Signal Exit
27. In Section 4: Check mark the Long Price Event Exit
28. In Section 4: Check mark the Long Stochastic Exit
29. In Section 5: Check mark the Short Natural Exit
30. In Section 5: Check mark the Short Signal Exit
31. In Section 5: Check mark the Short Price Event Exit
32. In Section 5: Check mark the Short Stochastic Exit
33. In Section 6: Input 120 Rise Event NetChg
34. In Section 6: Input 1 Rise Event ROC
35. In Section 6: Input 5 Min Above Zero ZScore
36. In Section 6: Input 120 Fall Event NetChg
37. In Section 6: Input 1 Fall Event ROC
38. In Section 6: Input 5 Min Below Zero ZScore
In this configuration we are trading in long only mode and have enabled downward pyramiding. The purple trend line is based on the day (1440) period. The length is set at 90 days so it’s going to take a while for the trend line to alter course should this symbol decide to node dive for a prolonged amount of time. Your trades will still go long under those circumstances. Since downward accumulation is enabled, your position size will grow on the way down.
The performance example is Bitcoin so we assume the trader is buying coins outright. That being the case we don’t need a stop since we will never receive a margin call. New buy signals will be generated when the price exceeds the magnitude and speed defined by the Event Net Change and Rate of Change.
Feel free to PM me with any questions related to this script. Thank you and happy trading!
CFTC RULE 4.41
These results are based on simulated or hypothetical performance results that have certain inherent limitations. Unlike the results shown in an actual performance record, these results do not represent actual trading. Also, because these trades have not actually been executed, these results may have under-or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated or hypothetical trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to these being shown.
Reflex and Trendflex SyncReflex and Trendflex indicators by John Ehlers .
- Reflex oscillator for market cycles
- Trendflex oscillator for mark trend
The dots indicate that the two oscillators are synchronized.
Deviation from MAThe Script calculates the Percentage Deviation to the MA and prints it as an Oscillator.
You can change the following Parameters:
Moving Average Type -> The type of the Moving Average you want to calculate the Deviation on
Length of MA -> The length of the MA
Percentage of Deviation (for Color) -> The Percentage Deviation above or below which the plotted Oscillator is painted in color.
Combo Backtest 123 Reversal & Ergodic TSI This is combo strategies for get a cumulative signal.
First strategy
This System was created from the Book "How I Tripled My Money In The
Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
The strategy buys at market, if close price is higher than the previous close
during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
The strategy sells at market, if close price is lower than the previous close price
during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
Second strategy
r - Length of first EMA smoothing of 1 day momentum 4
s - Length of second EMA smoothing of 1 day smoothing 8
u- Length of third EMA smoothing of 1 day momentum 6
Length of EMA signal line 3
Source of Ergotic TSI Close
This is one of the techniques described by William Blau in his book "Momentum,
Direction and Divergence" (1995). If you like to learn more, we advise you to
read this book. His book focuses on three key aspects of trading: momentum,
direction and divergence. Blau, who was an electrical engineer before becoming
a trader, thoroughly examines the relationship between price and momentum in
step-by-step examples. From this grounding, he then looks at the deficiencies
in other oscillators and introduces some innovative techniques, including a
fresh twist on Stochastics. On directional issues, he analyzes the intricacies
of ADX and offers a unique approach to help define trending and non-trending periods.
WARNING:
- For purpose educate only
- This script to change bars colors.
Combo Strategy 123 Reversal & Ergodic TSI This is combo strategies for get a cumulative signal.
First strategy
This System was created from the Book "How I Tripled My Money In The
Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
The strategy buys at market, if close price is higher than the previous close
during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
The strategy sells at market, if close price is lower than the previous close price
during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
Second strategy
r - Length of first EMA smoothing of 1 day momentum 4
s - Length of second EMA smoothing of 1 day smoothing 8
u- Length of third EMA smoothing of 1 day momentum 6
Length of EMA signal line 3
Source of Ergotic TSI Close
This is one of the techniques described by William Blau in his book "Momentum,
Direction and Divergence" (1995). If you like to learn more, we advise you to
read this book. His book focuses on three key aspects of trading: momentum,
direction and divergence. Blau, who was an electrical engineer before becoming
a trader, thoroughly examines the relationship between price and momentum in
step-by-step examples. From this grounding, he then looks at the deficiencies
in other oscillators and introduces some innovative techniques, including a
fresh twist on Stochastics. On directional issues, he analyzes the intricacies
of ADX and offers a unique approach to help define trending and non-trending periods.
WARNING:
- For purpose educate only
- This script to change bars colors.
Combo Strategy 123 Reversal & Ergodic CSI This is combo strategies for get a cumulative signal.
First strategy
This System was created from the Book "How I Tripled My Money In The
Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
The strategy buys at market, if close price is higher than the previous close
during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
The strategy sells at market, if close price is lower than the previous close price
during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
Second strategy
This is one of the techniques described by William Blau in his book
"Momentum, Direction and Divergence" (1995). If you like to learn more,
we advise you to read this book. His book focuses on three key aspects
of trading: momentum, direction and divergence. Blau, who was an electrical
engineer before becoming a trader, thoroughly examines the relationship between
price and momentum in step-by-step examples. From this grounding, he then looks
at the deficiencies in other oscillators and introduces some innovative techniques,
including a fresh twist on Stochastics. On directional issues, he analyzes the
intricacies of ADX and offers a unique approach to help define trending and
non-trending periods.
This indicator plots Ergotic CSI and smoothed Ergotic CSI to filter out noise.
WARNING:
- For purpose educate only
- This script to change bars colors.
OBV with DivergenceAll I did was combine the logic from LazyBear for his OBV Oscillator to regular RSI divergence logic (where I replaced the RSI input to use LazyBear's OBV).
I didn't use any original code! Neither OBV (written by LazyBear) nor DIvergence (author unknown) was written by me. I merely modified the sytax a little to combine them.
Very useful for spotting divergences with OBV oscillator.
Combo Backtest 123 Reversal & Directional Trend Index (DTI) This is combo strategies for get a cumulative signal.
First strategy
This System was created from the Book "How I Tripled My Money In The
Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
The strategy buys at market, if close price is higher than the previous close
during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
The strategy sells at market, if close price is lower than the previous close price
during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
Second strategy
This technique was described by William Blau in his book "Momentum,
Direction and Divergence" (1995). His book focuses on three key aspects
of trading: momentum, direction and divergence. Blau, who was an electrical
engineer before becoming a trader, thoroughly examines the relationship between
price and momentum in step-by-step examples. From this grounding, he then looks
at the deficiencies in other oscillators and introduces some innovative techniques,
including a fresh twist on Stochastics. On directional issues, he analyzes the
intricacies of ADX and offers a unique approach to help define trending and
non-trending periods.
Directional Trend Index is an indicator similar to DM+ developed by Welles Wilder.
The DM+ (a part of Directional Movement System which includes both DM+ and
DM- indicators) indicator helps determine if a security is "trending." William
Blau added to it a zeroline, relative to which the indicator is deemed positive or
negative. A stable uptrend is a period when the DTI value is positive and rising, a
downtrend when it is negative and falling.
WARNING:
- For purpose educate only
- This script to change bars colors.
Combo Strategy 123 Reversal & Directional Trend Index (DTI) This is combo strategies for get a cumulative signal.
First strategy
This System was created from the Book "How I Tripled My Money In The
Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
The strategy buys at market, if close price is higher than the previous close
during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
The strategy sells at market, if close price is lower than the previous close price
during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
Second strategy
This technique was described by William Blau in his book "Momentum,
Direction and Divergence" (1995). His book focuses on three key aspects
of trading: momentum, direction and divergence. Blau, who was an electrical
engineer before becoming a trader, thoroughly examines the relationship between
price and momentum in step-by-step examples. From this grounding, he then looks
at the deficiencies in other oscillators and introduces some innovative techniques,
including a fresh twist on Stochastics. On directional issues, he analyzes the
intricacies of ADX and offers a unique approach to help define trending and
non-trending periods.
Directional Trend Index is an indicator similar to DM+ developed by Welles Wilder.
The DM+ (a part of Directional Movement System which includes both DM+ and
DM- indicators) indicator helps determine if a security is "trending." William
Blau added to it a zeroline, relative to which the indicator is deemed positive or
negative. A stable uptrend is a period when the DTI value is positive and rising, a
downtrend when it is negative and falling.
WARNING:
- For purpose educate only
- This script to change bars colors.
Hancock - Filtered Volume OBV OSC [Strategy]Trading strategy based on Donchain channel price breakouts confirmed by an optionally configurable volume filtered OBV oscillator.
Colored diamonds on charts represent signals where top side is buy side and bot side is sell side - green indicates open and red indicates close.
Pretty simple but nicely demonstrates the volume filtered OBV oscillator found here .
Happy trading
Hancock
OSC_SpecialK Beta_Pine3A multiple signals|oscillators indicator based on custom stochrsi, custom BB% , CoG, Standard ChandeMoM,Standard overload RSI.
Work with all symbols. Requiert a correct volume source for SpK_Shadow and Fastsignal. (Some index have bad volume)
Legend :
Black Line : Standard ChandeMoM
Blue/Red Line : 14|9|3 StochRSI with sma called SpK
Black Squares : A fast and reactive signal (often a faster retracement, can be relativly horizontal or continuity trend with acceleration ) Really reactive with low interval. (!!Volume dependance!!) called FastSignal.
Red/Green Squares : Need other signal for confirmation. Can be slow to trigger, especially with low interval.(It is important to be in the right trend) Called Signal T1|T2 (!!Volume dependance!!)
Tiny diamond (top/bottom of both section) : Standard RSI saturation
Tiny diamond (middle line of top section) : Center of Gravity signal (standard value I think). Can help to confirm an other signal.
Histogram|area : Work as a difference because it is. Called SpK_Shadow (It's like Peter Pan shadow's ) Can help to see the FastSignal end (when hist arrives near the middle). || In combination with SignalT1/T2 : When shadow is on the middle and you have T1|T2 signals a strong impulsion is possible. (Keep in mind the trend with the LargeTimeFrame ) (!!Volume dependance!!)
Bottom Section is a Large TimeFrame of the top section, with a ratio. I use it to see the level of risk on the interval, according to the targets displayed by my overlay indicator. (OVL_Kikoocycle Beta_Pine3 )
By combining signals and oscillators, it is relatively easy to deduce good opportunities or avoid certain pitfalls. (Keep in mind this script was designed to be used with an overlay indicator, particulary my other script called OVL_Kikoocycle Beta_Pine3 (soon published ) )
Sorry if I do not use traders' common vocabulary...And for my dirty english.
APEX - Bollinger Bands %BBollinger Bands %B is essentially BB Range it is an indicator derived from the standard Bollinger Bands. Bollinger Bands are a volatility indicator that creates a band of three lines which are plotted on the screen.
Bollinger Bands %B works the same as other momentum oscillators, it is best to look for short-term oversold in this case a volatility imbalance between upper and lower volatility. You are looking for values that are near 0 or negative.
Compared to other momentum Oscillators the %B is slightly less responsive than CCI but it does provide more signals than RSI / STOCH and STOCHRSI.
TKE INDICATOR by KıvanÇ fr3762TKE INDICATOR is created by Dr Yasar ERDINC (@yerdinc65 on twitter )
It's exactly the arithmetical mean of 7 most commonly used oscillators which are:
RSI
STOCHASTIC
ULTIMATE OSCILLATOR
MFI
WIILIAMS %R
MOMENTUM
CCI
the calculation is simple:
TKE=(RSI+STOCHASTIC+ULTIMATE OSCILLATOR+MFI+WIILIAMS %R+MOMENTUM+CCI)/7
Buy signal: when TKE crosses above 20 value
Oversold region: under 20 value
Overbought region: over 80 value
Another usage of TKE is with its EMA ,
You can add the EMA line of TKE in the settings menu by clicking the "Show EMA Line" button:
the default value is defined as 5 bars of EMA of the TKE line,
Go long: when TKE crosses above EMALine
Go short: when TKE crosses below EMALine
Reversal Radar
**Reversal Radar - Multi-Indicator Confirmation System**
This script combines five proven technical analysis methods into a unified reversal signal, reducing false signals through multi-indicator confirmation.
**INDICATORS USED:**
1. ADX/Directional Movement System
Determines trend direction via +DI and -DI comparison. Signal only during downtrend condition (DI- > DI+). Filters out sideways markets.
2. Custom Linear Regression Momentum
Proprietary momentum calculation based on linear regression. Measures price deviation from Keltner Channel midline. Signal on negative but rising momentum (beginning trend reversal).
3. Williams VIX Fix (WVF)
Identifies panic-selling phases. Calculates relative distance to recent high. Signal when exceeding Bollinger Bands or historical percentiles.
4. RSI Oversold Filter
Default RSI < 35 (adjustable 30-40). Filters only oversold zones for reversal setups.
5. MACD Confirmation
Signal only when MACD below zero line and below signal line. Confirms ongoing weakness before potential reversal.
**FUNCTIONALITY:**
The system generates a BUY signal only when ALL activated filters are simultaneously met. Each indicator can be individually enabled/disabled. Flexible parameter adjustment for different markets/timeframes. Reduces false signals through multi-confirmation.
**APPLICATION:**
Suitable for swing trading on higher timeframes (4H, Daily), reversal strategies in oversold markets, and combination with additional confirmation indicators.
Setup: Activate desired filters, adjust parameters to market/timeframe, check BUY signal as entry opportunity. Additional confirmation through volume/support recommended.
**INNOVATION:**
The Custom Linear Regression Momentum is a proprietary development combining Keltner Channel logic with linear regression for more precise momentum detection than standard oscillators.
**DISCLAIMER:**
This tool serves as technical analysis support. No signal should be traded without additional confirmation and risk management.
Smart RSI Divergence PRO | Auto Lines + Alerts📌 Purpose
This indicator automatically detects Regular and Hidden RSI Divergences between price action and the RSI oscillator.
It plots divergence lines directly on the chart, labels signals, and includes alerts for automated monitoring.
🧠 How It Works
1. RSI Calculation
RSI is calculated using the selected Source (default: Close) and RSI Length (default: 14).
2. Divergence Detection via Fractals
Swing points on both price and RSI are detected using fractal logic (5-bar patterns).
Regular Divergence:
Bearish: Price forms a higher high, RSI forms a lower high.
Bullish: Price forms a lower low, RSI forms a higher low.
Hidden Divergence:
Bearish: Price forms a lower high, RSI forms a higher high.
Bullish: Price forms a higher low, RSI forms a lower low.
3. Auto Drawing Lines
Lines are drawn automatically between divergence points:
Red = Regular Bearish
Green = Regular Bullish
Orange = Hidden Bearish
Blue = Hidden Bullish
Line width and transparency are adjustable.
4. Labels and Alerts
Labels mark divergence points with up/down arrows.
Alerts trigger for each divergence type.
📈 How to Use
Use Regular Divergences to anticipate trend reversals.
Use Hidden Divergences to confirm trend continuation.
Combine with support/resistance, trendlines, or volume for higher probability setups.
Recommended Timeframes: Works on all timeframes; more reliable on 1h, 4h, and Daily.
Markets: Forex, Crypto, Stocks.
⚙️ Inputs
Source (Close, HL2, etc.)
RSI Length
Toggle Regular / Hidden Divergence visibility
Toggle Lines / Labels
Line Width & Line Transparency
⚠️ Disclaimer
This script is for educational purposes only. It does not constitute financial advice.
Always test thoroughly before using in live trading.
Ehlers Two-Pole StochasticThis indicator implements John Ehlers' Two-Pole Stochastic Filter, a smoother alternative to the traditional stochastic oscillator. Instead of relying on raw %K values, it applies a second-order IIR filter (recursive smoothing) to reduce noise and improve trend clarity.
It outputs a single line oscillating between 0 and 1, with less lag and false signals compared to standard stochastic implementations.
Key Features:
Uses a two-pole filter to smooth the normalized stochastic (%K).
Ideal for detecting clean reversals and trend continuations.
Designed for minimal visual noise and greater signal confidence.
Interpretation:
Values near 1.0 may suggest overbought conditions.
Values near 0.0 may suggest oversold conditions.
Crosses above 0.5 can signal bullish shifts, and below 0.5 bearish shifts.
Recommended Settings:
Default smoothing factor (alpha) is 0.7 — higher values make the output more responsive, while lower values smooth further.
Inspired by concepts from Cybernetic Analysis for Stocks and Futures by John F. Ehlers.
Trend Flow Trail [AlgoAlpha]OVERVIEW
This script overlays a custom hybrid indicator called the Money Flow Trail which combines a volatility-based trend-following trail with a volume-weighted momentum oscillator. It’s built around two core components: the AlphaTrail—a dynamic band system influenced by Hull MA and volatility—and a smoothed Money Flow Index (MFI) that provides insights into buying or selling pressure. Together, these tools are used to color bars, generate potential reversal markers, and assist traders in identifying trend continuation or exhaustion phases in any market or timeframe.
CONCEPTS
The AlphaTrail calculates a volatility-adjusted channel around price using the Hull Moving Average as the base and an EMA of range as the spread. It adaptively shifts based on price interaction to capture trend reversals while avoiding whipsaws. The direction (bullish or bearish) determines both the band being tracked and how the trail locks in. The Money Flow Index (MFI) is derived from hlc3 and volume, measuring buying vs selling pressure, and is further smoothed with a short Hull MA to reduce noise while preserving structure. These two systems work in tandem: AlphaTrail governs directional context, while MFI refines the timing.
FEATURES
Dynamic AlphaTrail line with regime switching logic that controls directional bias and bar coloring.
Smoothed MFI with gradient coloring to visually communicate pressure and exhaustion levels.
Overbought/oversold thresholds (80/20), mid-level (50), and custom extreme zones (90/10) for deeper signal granularity.
Built-in take-profit signal logic: crossover of MFI into overbought with bullish AlphaTrail, or into oversold with bearish AlphaTrail.
Visual fills between price and AlphaTrail for clearer confirmation during trend phases.
Alerts for regime shifts, MFI crossovers, trail interactions, and bar color regime changes.
USAGE
Add the indicator to any chart. Use the AlphaTrail plot to define trend context: bullish (trailing below price) or bearish (trailing above). MFI values give supporting confirmation—favor long setups when MFI is rising and above 50 in a bullish regime, and shorts when MFI is falling and below 50 in a bearish regime. The colored fills help visually track strength; sharp changes in MFI crossing 80/20 or 90/10 zones often precede pullbacks or reversals. Use the plotted circles as optional take-profit signals when MFI and trend are extended. Adjust AlphaTrail length/multiplier and MFI smoothing to better match the asset’s volatility profile.
QT RSI [ W.ARITAS ]The QT RSI is an innovative technical analysis indicator designed to enhance precision in market trend identification and decision-making. Developed using advanced concepts in quantum mechanics, machine learning (LSTM), and signal processing, this indicator provides actionable insights for traders across multiple asset classes, including stocks, crypto, and forex.
Key Features:
Dynamic Color Gradient: Visualizes market conditions for intuitive interpretation:
Green: Strong buy signal indicating bullish momentum.
Blue: Neutral or observation zone, suggesting caution or lack of a clear trend.
Red: Strong sell signal indicating bearish momentum.
Quantum-Enhanced RSI: Integrates adaptive energy levels, dynamic smoothing, and quantum oscillators for precise trend detection.
Hybrid Machine Learning Model: Combines LSTM neural networks and wavelet transforms for accurate prediction and signal refinement.
Customizable Settings: Includes advanced parameters for dynamic thresholds, sensitivity adjustment, and noise reduction using Kalman and Jurik filters.
How to Use:
Interpret the Color Gradient:
Green Zone: Indicates bullish conditions and potential buy opportunities. Look for upward momentum in the RSI plot.
Blue Zone: Represents a neutral or consolidation phase. Monitor the market for trend confirmation.
Red Zone: Indicates bearish conditions and potential sell opportunities. Look for downward momentum in the RSI plot.
Follow Overbought/Oversold Boundaries:
Use the upper and lower RSI boundaries to identify overbought and oversold conditions.
Leverage Advanced Filtering:
The smoothed signals and quantum oscillator provide a robust framework for filtering false signals, making it suitable for volatile markets.
Application: Ideal for traders and analysts seeking high-precision tools for:
Identifying entry and exit points.
Detecting market reversals and momentum shifts.
Enhancing algorithmic trading strategies with cutting-edge analytics.
Grucha Percentage Index (GPI) V2Grucha Percentage Index originally created by Polish coder named Grzegorz Antosiewicz in 2011 as mql code. This code is adapted by his original code to tradingview's pinescript.
What Does it Do
GPI is an oscillator that finds the lowest/highest prices with certain depth and generates signals by comparing the bull and bear bars. It use two lines, one is the original GPI calculation, the other is the smoothed version of the original line.
How to Use
GPI can catch quick volatility based movements and can be used as a confirmation indicator along with your existing trading system. When GDI (default color yellow) crosses above the GDI MA (default colored blue) it can be considered as a bullish movement and reverse can be considered as bearish movement.
How does it Work
The main calculation is done via the code below:
for i=0 to length
if candleC < 0
minus += candleC
if candleC >= 0
plus -= candleC
Simply we are adding green and red bars seperately and then getting their percentage to the bullish movement to reflect correctly in a 0-100 z-score enviroment via the code below:
res = (math.abs(minus)/sum)*100
Rest is all about plotting the results and adding seperate line with smoothing.
Note
These kind of oscillators are not designed to be used alone for signal generation but rather should be used in combination with different indicators to increase reliability of your signals.
Happy Trading.