Ehlers Combo Strategy🚀 Presenting the Enhanced Ehlers Combo Strategy 🚀
Hello Traders! 👋 I'm thrilled to share the latest version of the Ehlers Combo Strategy v2.0. This powerful algorithm combines Ehlers Elegant Oscillator, Decycler, Instantaneous Trendline, Spearman Rank, and introduces the Signal to Noise Ratio for even more precise trading signals.
📊 Strategy Highlights:
Ehlers Elegant Oscillator: Captures market momentum and turning points.
Ehlers Decycler: Filters out market noise for clearer trend signals.
Instantaneous Trendline: Offers a dynamic view of the market trend.
Spearman Rank: Analyzes market rank correlations for enhanced insights.
Signal to Noise Ratio (SNR): Filters out noise for more accurate signals.
💡 Key Features & Customizations:
Adaptive Length: Enable adaptive length based on the market's current conditions.
SNR Threshold: Set your desired SNR threshold for filtering signals.
Exit Length: Define the length for exit signals.
📈 Trading Signals:
Long Entry: Elegant Oscillator and Decycler cross above 0, source crosses above Decycler, source is greater than an increasing Instantaneous Trendline, Spearman Rank is positive, and SNR exceeds the threshold.
Long Exit: Source crosses below the Instantaneous Trendline after entering a long position.
Short Entry: Elegant Oscillator and Decycler cross below 0, source crosses below Decycler, source is less than a decreasing Instantaneous Trendline, Spearman Rank is negative, and SNR exceeds the threshold.
Short Exit: Source crosses above the Instantaneous Trendline after entering a short position.
📊 Insights & Enhancements:
Dynamic Length: The strategy adapts its length dynamically based on market conditions.
Improved SNR: Signal to Noise Ratio ensures better filtering of signals.
Enhanced Visualization: The Elegant Oscillator now features improved color coding for a clearer interpretation.
🚨 Disclaimer:
Trading involves risk, and this script should be used judiciously. It's not a guaranteed profit machine, but with careful use, it can be a valuable addition to your toolkit.
Feel free to backtest, tweak, and make it your own! Let's conquer the markets together! 💪📈
🚀✨ Happy Trading! ✨🚀
---
🙌 Credits:
A big shoutout to the original contributors:
@blackcat1402
@cheatcountry
@DasanC
Ehlers
PSAR + EMA/TEMA/RSI/OBVThe Parabolic Stop-and-Reservse (PSAR) is a trend indicator, intended to capture reversal signals and show entry and exit points. The PSAR is bullish when the PSAR is below the candle body (usually indicated by a dot) and bearish when the PSAR is above the candle body. The PSAR generally only moves in the direction of the trend, making it useful for markets with an upward or downward trend, as well as swing markets. It is weaker when the market it sideways, as it can be prone to frequent flips (bull-to-bear or vice versa) in markets where a predominant trend is not present.
In order to combat the tendency for rapid swings in the PSAR, it is commonly paired with a second indicator. Often, this is a moving average (MA) to confirm the PSAR signal. Here is a common example:
PSAR + 2 EMAs: A trade would consider entering long when the PSAR is bullish and the fast EMA is above the short EMA.
PSAR + 3 EMAs: As above, but the trader could also add a very long EMA (200, for example) and use that as an additional filter.
In addition to using EMA, other MAs can be used and may be more appropriate to certain instruments and timeframes. Using TEMA, for example, may result in less lag but introduce more noise. Likewise, the Ehler's MAMA is an option.
Some traders use other indicators as PSAR confirmation signals, such as the relative strength index (RSI) on on-balance volume (OBV). The strategy is similar:
bullish PSAR + RSI oversold = consider long entry
bullish PSAR + OBV oscillator > 0 = consider long entry
The strategy presented here is based on my PSAR + EMA + TEMA study. Any of the above strategies are supported by this script:
1. The PSAR is the primary signal.
2. Confirmation is provided by any of the following: EMA , TEMA , Ehler's MAMA , RSI , or OBV.
3. You may use a third EMA (set to 200 as the default) to filter entries -- if used, the strategy will only show signals if the price is above the third (additional) EMA .
For example, a normal long signal would be a bullish PSAR + fast EMA > slow EMA + price > ema 200.
In addition, you may use a SL, which is set to the PSAR dots shown. You may also limit the backtesting dates. (Please note in the chart above, I do not have a limit on the trading dates. I believe this exaggerates the success of the strategy, but the house rules demand I not limit the timeframe to show you a more accurate picture.)
TEMA/MAMA CrossThis is a strategy based on the TEMA and Ehler's MAMA moving averages. Crosses of the fast and slow TEMA are commonly used for entry and exit strategies. The Ehler's Mesa Adaptive Moving Average is a trend-following price indicator that uses a Hilbert Transform. Having plotted both TEMA and eMAMA side-by-side for some time, I noticed a pattern where the fastTEMA crossed over the eFAMA (eFAMA is the Ehler's MAMA following/slow MA) prior to a price increase. This is a strategy to test that observation.
The strategy (at present) only does long entries. It enters long when the fastTEMA crosses up over the (slow) eFAMA. It uses a traditional exit when the fastTEMA crosses below the slowTEMA. I have tested this on several tokens on 1hr charts using a fastTEMA length of 13. Play with it on different charts and different lengths to see how it works for you.
Ehlers Bandpass FilterThis script uses @cheatcountry script to determine Ehlers Bandpass Filter.
Backtest offers 3 capital management tools. One that will always calculate order size as initial capital/close, one that uses the same calculation but adds or substracts profit. The last one allows you to enter manually the size you want to trade.
The time-based stop will close the position after a set number of bars.
Etlers Instantenous TrendlineThis script uses @cheatcountry script to calculate Ehlers Instantenous Trendline .
Backtest offers 3 capital management tools. One that will always calculate order size as initial capital/close, one that uses the same calculation but adds or substracts profit. The last one allows you to enter manually the size you want to trade.
Green and red horizontal lines are profit/stop values.
Voss Strategy (Filter + Trend Indicator) [Bitduke]Created strategy based on Voss Predictive Filter, implemented by TradingView user e2e4mfck.
Voss Predictive Filter
This is a relatively new filter from John F. Ehlers’ article, “A Peek Into The Future .” Ehlers describes the calculation of a new filter that could help signal cyclical turning points in markets.
But filter has a negative group delay and while an indicator based on it cannot actually see into the future, it may provide the trader with signals in advance of other indicators.
In mentioned article he tested filter on SPY and at one point in time "it went into a trend mode in January 2019, and the cycle signal failed miserably, signaling a short position during the runup. <...> The only way to minimize the impact of this condition is to employ an additional trend detector."
Thus I've added another Ehlers' based trend based indicator Instantaneous Trendline (thanks to LazyBear for implementation) to minimize the impact of the trend mode and got a good results on XBTUSD pair 4h.
Backtest :
> Range: 2016 - 2020
> XBTUSD
> 4h
> ~20% drawdown
> Sharpe (0.361, not too impressive)
I think it can be improved with Risk Management system and experimenting with various trend following indicators.
BandPass EOS - 1hThis is a strategy i made for EOS
Opens a long position if the PB line (the red line in the oscillator) crossover the low of the band, the zero line or the top of the band.
If the PB line makes a crossunder in the top of the band, the zero line or the bottom of the band it closes the long position and immediately opens a short position.
Also, the PB value must be higher than 5 candles before if it is a long position and PB must be lower than 5 candles before to open a short position
I got the BandPass Script from www.tradingview.com and made some changes in the configs to adapt the strategy.
If someone has any doubt i can answer below
Adaptive Zero Lag EMA v2This is my most successful strategy to date! Please enjoy and join the Open Source movement by sharing your code and ideas online!
OPERATING PRINCIPLE
The strategy is based on Ehlers idea that any indicator can be turned into a signal-producing trade system through smoothing and other filtering processes.
In fact, I'm using his Zero Lag EMA (ZLEMA) as a baseline indicator as well as some code snippets he has made public (1). God bless open source!
Next, I've provided the option to use an Instantaneous Frequency Measurement (IFM) method, which will adaptively choose the best period for the ZLEMA (2)
I've written other studies that use the differential calculus approximations for IFM, so it was only natural to include them in this strategy.
The primary two are Cosine IFM (3) and In-phase Quadrature IFM (4). You can also find an indicator with both plotted and the ability to average them together, as one IFM prefers long periods and the other short. (5)
BEFORE WE BEGIN
1. This strategy only runs on "normal" FX pairs (EURUSD, GBPJPY, AUDUSD ...) and will fail on Metals or Commodities.
Cryptos are largely untested.
2. Please run it on these time frames: M15 to D.
Anything outside this range will likely fail.
HOW TO USE AND SUCCEED
1. If the Default settings don't produce good results right off the bat, then lower gain limit to 1 or 2 and threshold to 0.01.
2. Test each setting under adaptive method . If you want to leave it Off , then I'd recommend using some kind of IFM (see my links below) to
discover the most efficient period to use.
3. Once you have the best adaptive method chosen, begin incrementing gain limit until you find a nice balance between profit factor (PF) and drawdown.
4. Now, begin incrementing threshold . The goal is to have PF above 2 and a drawdown as low as possible.
5. Finally, change the source ! Typically, close is the best option, but I have run into cases where high
yielded the highest returns and win rate.
6. Sit back, relax, and tweak the risk until you're happy with the return and drawdown amounts.
ADVANCED
You may need to adjust take profit (TP) points and stop loss (SL) points to create the best entry possible. Don't be greedy! You'll likely have poor
results if the TP is set to 300 and SL is 50.
If you are trading a pair that has a long Dominant Cycle Period , then you may increase Max Period to allow the IFM
to accept longer periods. Any period above the Max Period will be rejected. This may increase lag time!
Cheers and good luck trading!
-DasanC
PS - This code doesn't repaint or have future-leak, which was present in Pinescript v2.
PPS - Believe me! These returns are typical! Sometimes you must push aside the "if it's too good to be true..." mindset that society has ingrained in you.
Do you really believe the most successful pass up opportunities before investigating them? ;)
(1) Ehlers & Ric Zero Lag EMA
(2) Measuring Cycles by Ehlers
(3) Cosine IFM
(4) Inphase Quadrature IFM
(5) Averaging IFM
Adaptive Zero Lag EMA Strategy [Ehlers + Ric]Behold! A strategy that makes use of Ehlers research into the field of signal processing and wins so consistently, on multiple time frames AND on multiple currency pairs.
The Adaptive Zero Lag EMA (AZLEMA) is based on an informative report by Ehlers and Ric .
I've modified it by using Cosine IFM, a method by Ehlers on determining the dominant cycle period without using fast-Fourier transforms
Instead, we use some basic differential equations that are simplified to approximate the cycle period over a 100 bar sample size.
The settings for this strategy allow you to scalp or swing trade! High versatility!
Since this strategy is frequency based, you can run it on any timeframe (M1 is untested) and even have the option of using adaptive settings for a best-fit.
>Settings
Source : Choose the value for calculations (close, open, high + low / 2, etc...)
Period : Choose the dominant cycle for the ZLEMA (typically under 100)
Adaptive? : Allow the strategy to continuously update the Period for you (disables Period setting)
Gain Limit : Higher = faster response. Lower = smoother response. See for more information.
Threshold : Provides a bit more control over entering a trade. Lower = less selective. Higher = More selective. (range from 0 to 1)
SL Points : Stop Poss level in points (10 points = 1 pip)
TP Points : Take Profit level in points
Risk : Percent of current balance to risk on each trade (0.01 = 1%)
www.mesasoftware.com
www.jamesgoulding.com(Measuring%20Cycles).doc
Ehlers Fisher Stochastic Relative Vigor Index StrategyBy John Ehlers from his book "Cybernetic Analysis for Stocks and Futures".
Ehlers Stochastic Cyber Cycle StrategyBy John Ehlers from his book "Cybernetic Analysis for Stocks and Futures".
Ehlers Cyber Cycle StrategyEhlers Cyber Cycle Strategy by John Ehlers from his book "Cybernetic Analysis for Stocks and Futures".
Ehlers Instantaneous Trendline StrategyInstantaneous Trendline Strategy by John Ehlers from his book "Cybernetic Analysis for Stocks and Futures".
You can choose implementation of stop-loss. Don't forget to define correct spread for your instrument.
Ehler's Super Smoother strategyThis strategy is a mean-reversal strategy based on John F. Ehlers's Super Smoother filter. I tried it on 15m timeframe with 'Recalculate After Order Filled' option checked.
Smoothed RSI Backtest ver.2 This is new version of RSI oscillator indicator, developed by John Ehlers.
The main advantage of his way of enhancing the RSI indicator is smoothing
with minimum of lag penalty.
You can change long to short in the Input Settings
WARNING:
- For purpose educate only
- This script to change bars colors.
Smoothed RSI Backtest This is new version of RSI oscillator indicator, developed by John Ehlers.
The main advantage of his way of enhancing the RSI indicator is smoothing
with minimum of lag penalty.
You can change long to short in the Input Settings
WARNING:
- For purpose educate only
- This script to change bars colors.
D_ELI (Ehlers Leading Indicator) Strategy Backtest This Indicator plots a single
Daily DSP (Detrended Synthetic Price) and a Daily ELI (Ehlers Leading
Indicator) using intraday data.
Detrended Synthetic Price is a function that is in phase with the dominant
cycle of real price data. This one is computed by subtracting a 3 pole Butterworth
filter from a 2 Pole Butterworth filter. Ehlers Leading Indicator gives an advanced
indication of a cyclic turning point. It is computed by subtracting the simple
moving average of the detrended synthetic price from the detrended synthetic price.
Buy and Sell signals arise when the ELI indicator crosses over or under the detrended
synthetic price.
See "MESA and Trading Market Cycles" by John Ehlers pages 64 - 70.
You can change long to short in the Input Settings
Please, use it only for learning or paper trading. Do not for real trading
D_DSP (Detrended Synthetic Price) Strategy 2 Backtest Detrended Synthetic Price is a function that is in phase with the
dominant cycle of real price data. This DSP is computed by subtracting
a half-cycle exponential moving average (EMA) from the quarter cycle
exponential moving average.
See "MESA and Trading Market Cycles" by John Ehlers pages 64 - 70.
You can change long to short in the Input Settings
Please, use it only for learning or paper trading. Do not for real trading.
D_DSP (Detrended Synthetic Price) Strategy Backtest Detrended Synthetic Price is a function that is in phase with the
dominant cycle of real price data. This DSP is computed by subtracting
a half-cycle exponential moving average (EMA) from the quarter cycle
exponential moving average.
See "MESA and Trading Market Cycles" by John Ehlers pages 64 - 70.
Fisher Transform Indicator by Ehlers Backtest v 2.0 Market prices do not have a Gaussian probability density function
as many traders think. Their probability curve is not bell-shaped.
But trader can create a nearly Gaussian PDF for prices by normalizing
them or creating a normalized indicator such as the relative strength
index and applying the Fisher transform. Such a transformed output
creates the peak swings as relatively rare events.
Fisher transform formula is: y = 0.5 * ln ((1+x)/(1-x))
The sharp turning points of these peak swings clearly and unambiguously
identify price reversals in a timely manner.
For signal used zero.
You can change long to short in the Input Settings
Please, use it only for learning or paper trading. Do not for real trading.
Fisher Transform Indicator by Ehlers Backtest Market prices do not have a Gaussian probability density function
as many traders think. Their probability curve is not bell-shaped.
But trader can create a nearly Gaussian PDF for prices by normalizing
them or creating a normalized indicator such as the relative strength
index and applying the Fisher transform. Such a transformed output
creates the peak swings as relatively rare events.
Fisher transform formula is: y = 0.5 * ln ((1+x)/(1-x))
The sharp turning points of these peak swings clearly and unambiguously
identify price reversals in a timely manner.
You can change long to short in the Input Settings
Please, use it only for learning or paper trading. Do not for real trading.