Wealth-Lab Wiki

API ChartStyles Community Components Community Indicators IndexDefinitions Knowledge Base Misc Optimizers PosSizers Providers Standard Indicators TASC Traders Tips TASCIndicators Visualizers


Quick Search
Advanced Search »

TASC 2020-12 | Noise Elimination Technology (Ehlers)


Traders' Tip text

The new Noise Elimination Technology calculates Kendall Tau Rank correlation between a straight line with positive slope and an oscillator of choice - for example, the MyRSI from May 2018 issue.

Despite establishing the thresholds for trading with the NET oscillator (as well as the simplified MyRSI) is outside the scope of Dr. Ehlers’ article, it’s not a problem. We’re free to apply various approaches. For instance, Bollinger Bands with a long period (like 200 bars) can be used to set the thresholds dynamically. You can see its application to a chart on Figure 1.

For demonstration purposes, we include a trading system that puts to use another approach: NET oscillator is smoothed with a 5-period EMA to arrive at a signal line. The system buys when the oscillator is leaving oversold condition or sells when it is no longer overbought. Of course, more robust and flexible rules are desired in a real-world application.

Strategy rules:

  1. Buy tomorrow at open when the NET oscillator crosses above its signal line
  2. Sell tomorrow at open when the NET oscillator crosses below its signal line


Figure 1. Sample entries on a Daily chart of SPY. Data provided by Yahoo! Finance.

We added the Noise Elimination Technology oscillator and Kendall Correlation indicator to our TASCIndicators library adnd updated it with simplified MyRSI. To execute the enclosed trading system, install (or update) the library from the Extensions section of our website if they haven't already done so, and restart Wealth-Lab. Then either copy/paste the included Strategy's C# code or simply let Wealth-Lab do the job. From “Open Strategy” dialog, click “Download” to get this strategy as well as many others contributed by the Wealth-Lab community.

WealthScript Code (C#)

using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
using TASCIndicators;

namespace WealthLab.Strategies { public class TASC2020_12 : WealthScript { protected override void Execute() { var ds = Close; var period = 14;

var myrsi2 = new MyRSI(ds,0,period, string.Format("MyRSI v2.0 ({0},{1})",ds.Description,period),true); var net = NET.Series(ds, period, period); var signalLine = EMAModern.Series(net, 5); signalLine.Description = string.Format("Signal line of {0}", net.Description); var bbl = BBandLower.Series(net, 100, 1.0); var bbu = BBandUpper.Series(net, 100, 1.0); for(int bar = GetTradingLoopStartBar( period ); bar < Bars.Count; bar++) { if (IsLastPositionActive) { if (CrossUnder(bar, net, signalLine)) SellAtMarket( bar + 1, LastPosition ); } else { if(CrossOver(bar,net,signalLine)) BuyAtMarket( bar + 1 ); } }

var ls = LineStyle.Solid; HideVolume(); ChartPane paneNET = CreatePane( 40,false,true ); PlotSeries( paneNET,net,Color.Blue,ls,2); PlotSeries( paneNET,myrsi2,Color.Red,ls,1); PlotSeries( paneNET,signalLine,Color.LightCoral,ls,1); PlotSeriesFillBand( paneNET, bbl, bbu, Color.FromArgb(255, 176, 196, 222), Color.Transparent, ls, 2); } } }

Gene Geren (Eugene)
Wealth-Lab team

Important Disclaimer: The information provided by Wealth-Lab is strictly for informational purposes and is not to be construed as advice or solicitation to buy or sell any security.  The owner of Wealth-Lab.com assumes no liability resulting from the use of the material contained herein for investment purposes. By using this web site, you agree to the terms of this disclaimer and our Terms of Use.

ScrewTurn Wiki. Some of the icons created by FamFamFam.