Dark Theme
Light Theme
Trading Articles
Article Categories
Article Tools
Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to
register in order to view the content of the threads and start contributing to our community.
It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
November 12th, 2013, 10:05 AM
Berlin, Europe
Legendary Market Wizard
Experience: Advanced
Platform: NinjaTrader, MultiCharts
Broker: Interactive Brokers
Trading: Keyboard
Posts: 9,888 since Mar 2010
Thanks Given: 4,242
Thanks Received: 27,104
bluecrow
Thanks Fat Tails, appreciated it! Thanks for including the
screenshot . I see there's a trade-off between setting the smoothing filter higher which increases the lag and leaving the default parameters as is. Are there any practical solutions that would reduce the lag inherent in the supersmooth filter?
Many thanks,
Joe
If you increase the period of a moving average , it becomes smoother and you increase the lag. If you decrease the period both smoothness and lag are reduced. For a SMA or an EMA the typical lag is about half the period.
There is always a trade-off between smoothness and lag-reduction. You cannot have both. If you set the period to 1, the lag is completely gone, but there is no smoothing.
Can you help answer these questions from other members on NexusFi?
Best Threads (Most Thanked) in the last 7 days on NexusFi
March 2nd, 2014, 12:21 PM
stockholm sweden
Posts: 9 since Sep 2012
Thanks Given: 1
Thanks Received: 2
Fat Tails
If you increase the period of a
moving average , it becomes smoother and you increase the lag. If you decrease the period both smoothness and lag are reduced. For a
SMA or an EMA the typical lag is about half the period.
There is always a trade-off between smoothness and lag-reduction. You cannot have both. If you set the period to 1, the lag is completely gone, but there is no smoothing.
Ehler SuperSmoother works very similar like ordinary SMA so there is no superiority here. More info with pictures here
All [AUTOLINK]John Ehlers[/AUTOLINK] Indicators... - Page 59
Krzysztof
March 2nd, 2014, 06:12 PM
Berlin, Europe
Legendary Market Wizard
Experience: Advanced
Platform: NinjaTrader, MultiCharts
Broker: Interactive Brokers
Trading: Keyboard
Posts: 9,888 since Mar 2010
Thanks Given: 4,242
Thanks Received: 27,104
krzysiaczek99
@krzysiaczek99 : If you tell me that a pair of scissors is superior to a pencil, I would certainly respond that my preference depends on the case.
The SMA is a finite response filter which is not really smooth. As all finite response filters it is slow to digest rapid moves or gaps.
The Supersmoother is an infinite response filter, which is generally faster to react and considerably smoother compared to the SMA.
I do not agree that the SuperSmoother has a similar behavior as the SMA, see chart below:
March 13th, 2014, 06:44 AM
Toronto, Ontario, Canada
Experience: Beginner
Platform: AmiBroker
Broker: IB
Posts: 2 since Dec 2010
Thanks Given: 12
Thanks Received: 2
PurelyRandom
Hi,
I am having trouble with some super smoother code for Amibroker - it seems to adjust the amplitude of the orgininal arrray to be smoothed, which I don't believe should be the case? Here is my indicator code...unless I have made a msitake somewhere along the line, here is the afl:
function SuperSmooth(arr,period)
{
Filt = a1 = b1 = c1 = c2 = c3 =0;
a1 = exp(-1.414*3.14159 / period);
b1 = 2*a1*cos(1.1414*3.14159/period);
c2=b1;
c3 = -a1*a1;
c1 = 1 -c2 - c3;
Filt = (c1*(arr + Ref(arr,-1))/2) + c2*Ref(Filt,-1) + c3*Ref(Filt,-2);
return Filt;
}
smoothedClose = SuperSmooth(C,10);
Plot( smoothedClose, "smoothedClose", colorRed, styleLine );
Maybe you already figured out that the Filt line is wrong. Since it depends on previous values of Filt, you should use a loop.
i.e.
for ( i = 2; i < BarCount; i++ )
Filt[i] = ( c1 * ( arr[i] + arr[i - 1] ) / 2 ) + c2 * Filt[i - 1] + c3 * Filt[i - 2];
There is also the article in January 2014 Technical Analysis of STOCKS & COMMODITIES
"Predictive And Successful Indicators" by John F. Ehlers, Ph.D.
Code for various platforms are in the Traders Tip section.
Specifically the Amibroker code for SuperSmoother function can be found here:
TRADERS TIPS - January 2014
John
June 2nd, 2014, 08:27 PM
Manta, Ecuador
Site Administrator Developer Swing Trader
Experience: Advanced
Platform: Custom solution
Broker: IBKR
Trading: Stocks & Futures
Frequency: Every few days
Duration: Weeks
Posts: 50,621 since Jun 2009
Thanks Given: 33,354
Thanks Received: 101,989
John Ehlers is back on Thursday, June 5th:
Be sure to attend!
Mike
June 6th, 2014, 06:36 AM
Norwich, UK
Experience: Intermediate
Platform: Multiple:research&executi
Broker: Started with Stage5/OEC ... multiple
Trading: Anything found profitable goes ...
Posts: 168 since Jul 2012
Thanks Given: 88
Thanks Received: 88
Fat Tails
@
Big Mike : Unfortunately I did not have the time to attend the webinar this evening, although I admire the work of
John Ehlers . I am the proud owner of one of his books, and have read many articles he has published in Technical Analysis of Stocks & Commodities. I also recommend to download the technical papers, which can be found on his website:
Home
There are numerous indicators available for
NinjaTrader that are based on the work of John Ehlers. This is just a brief summary.
..........
All of this
adds up to an impressive collection of tools for technical analysis. John Ehlers, thank you very much for your contributions!
Hi FT,
First, thanks for such a nice compilation if indicators based on John's work.
In the download section you specify that some or most of these were originally uploaded by Piersh.
Were these easylanguage by any chance?
I would like to know if there are versions of these for TradeStation/Multicharts .
Thx
June 6th, 2014, 08:09 AM
Berlin, Europe
Legendary Market Wizard
Experience: Advanced
Platform: NinjaTrader, MultiCharts
Broker: Interactive Brokers
Trading: Keyboard
Posts: 9,888 since Mar 2010
Thanks Given: 4,242
Thanks Received: 27,104
andby
Hi FT,
First, thanks for such a nice compilation if indicators based on John's work.
In the download section you specify that some or most of these were originally uploaded by Piersh.
Were these
easylanguage by any chance?
I would like to know if there are versions of these for TradeStation/
Multicharts .
Thx
John Ehlers has originally coded is indicators for TradeStation. It should therefore easy to find them somewhere. The collection by @piersh was coded for NT 6.5. I have just made a few modifications to allow to use them with NT7. So you may not consider me being the author of that package.
The TradeStation code for many indicators is also printend in John Ehlers' books, and some of them are available on his website.
Home
June 6th, 2014, 08:42 AM
Norwich, UK
Experience: Intermediate
Platform: Multiple:research&executi
Broker: Started with Stage5/OEC ... multiple
Trading: Anything found profitable goes ...
Posts: 168 since Jul 2012
Thanks Given: 88
Thanks Received: 88
Found this link which is pretty interesting for MC users:
MultiCharts: Trading Software for Automated Trading and [AUTOLINK]Backtesting[/AUTOLINK] ? View topic - Collections of [AUTOLINK]EasyLanguage[/AUTOLINK] Scripts
Following indicators are contained in the attached:
JohnEhler 2-pole Butterworth filter
JohnEhler 3-pole Butterworth filter
JohnEhler 3-pole Super Smoother filter
JohnEhler Adaptive CG
JohnEhler Fisher Cyber Cycle
JohnEhler Instantaneous Trend
JohnEhler Leading indicator
JohnEhler Sine Wave
JohnEhler 2-pole Super Smoother filter
JohnEhler Adaptive RVI
JohnEhler Adaptive Cyber Cycle
JohnEhler Center of Gravity
JohnEhler Cyber Cycle
JohnEhler Cycle Measuring
JohnEhler Cycle Period Measurement
JohnEhler Fisher Stochastic CG Oscillator
JohnEhler Fisher Transform indicator
JohnEhler Laguerre Filter
JohnEhler Laguerre RSI
JohnEhler MAMA FAMA
JohnEhler Relative Vigor Index
JohnEhler Sine Wave
JohnEhler Sine Wave2
JohnEhler Smoothed Adaptive Momentum
JohnEhler Stochastic CG Oscillator
JohnEhler Stochastic Cyber Cycle
JohnEhler Stochastic RSI
JohnEhler Stochastic RVI
JohnEhler Smoothed Adaptive Momentum Strtategy
JohnEhler STOCHASTIC RSI STRATEGY
Attached Files
Elite Membership required to download: John Ehlers codes.pla
June 7th, 2014, 11:25 AM
Boston, MA
Experience: None
Platform: none yet
Trading: Cello
Posts: 6 since Apr 2014
Thanks Given: 61
Thanks Received: 1
I came across Ehlers' SuperSmoother and Roofing filter code for various platforms (Tradestation, Ninjatrader , eSignal, etc) at TRADERS’ TIPS - January 2014
December 17th, 2014, 08:01 AM
Warszawa, Poland
Experience: Intermediate
Platform: Amibroker
Broker: InteractiveBrokers
Trading: Crude CL
Posts: 3 since Mar 2014
Thanks Given: 16
Thanks Received: 0
there was also mistake in b1 calculation, sqrt(2) was typed 1.1414.
Here is working indicator for Amibroker after all corrections
function SuperSmooth(arr,period)
{
Filt = a1 = b1 = c1 = c2 = c3 =0;
a1 = exp(-1.414*3.14159 / period);
b1 = 2*a1*cos( (1.414*3.14159/period) );
c2=b1;
c3 = -a1*a1;
c1 = 1 -c2 - c3;
for ( i = 2; i < BarCount; i++ )
Filt[i] = ( c1 * ( arr[i] + arr[i - 1] ) / 2 ) + c2 * Filt[i - 1] + c3 * Filt[i - 2];
return Filt;
}
smoothedClose = SuperSmooth(C,10);
Plot( smoothedClose, "smoothedClose", colorRed, styleLine );
Last Updated on July 12, 2017