Log in to see Cloud of Tags

Wealth-Lab Wiki

TASC 2019-08 | A Peek Into The Future (Ehlers)


Traders' Tip text

In his article in August 2019 issue, Dr. Ehlers presents an indicator which could help signal cyclic turning points - the Voss Predictor filter. Noticing that the indicator accurately tracks the market's peaks and valleys, author suggests that simple crossovers of the forward-looking Voss Predictor with the two-pole band pass filter may become the basis of a trading system.

Those who follow us might have figured out that our motto is "Avoid coding whenever possible". In contrast with the filter concept's complexity, this time we're lucky again to not have to bother our readers with code. Here's how:

Step 1. Install (or update) the TASCIndicators library to its most-recent version from our website or using the built-in Extension Manager.

Step 2. Add an Entry and Exit blocks, then drag and drop "Indicator crosses above (below) Indicator" from "General Indicators" under the Conditions tab on top of each one (respectively).

Step 3. For each entry and exit, choose the "peeking" VossPredictor as "Indicator1" and a "lagging" BandPass as "Indicator2" where prompted.


Figure 1. Creating a Rule-based Strategy with the Voss Predictor in Wealth-Lab.

As far as the cycle signal starts to fail once a strong trend emerges, let's stay on the sidelines when the trend gains strength with this simple rule:

Step 4. Drag and drop the condition called "Indicator is below a value" (from "General Indicators") onto your entry, choose "ADX" as the indicator and set 25-30 as its threshold. This ensures our simple system from being caught on the wrong side as the market starts to trend in any direction.


Figure 2. The example trading system applied to a Daily chart of AAPL (data provided by Yahoo).

WealthScript Code (C#)

Whether you’ve prototyped the trading system code like shown above or downloaded it from Wealth-Lab (hit Ctrl-O and choose "Download..."), to peek into the code behind it simply click "Open code in new Strategy window". Here’s it for your convenience:

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

namespace WealthLab.Strategies { public class MyStrategy : WealthScript { protected override void Execute() { var voss = VossPredictor.Series( Close, 20,3 ); var bandpass = BandPass.Series( Close, 20 ); var adx = ADX.Series( Bars, 14 ); for(int bar = GetTradingLoopStartBar( 21 ); bar < Bars.Count; bar++) { if (IsLastPositionActive) { Position p = LastPosition; if (CrossUnder(bar, voss, bandpass)) SellAtMarket( bar + 1, p); } else { if (CrossOver(bar, voss, bandpass)) if (adx[bar] < 30) BuyAtMarket( bar + 1); } } ChartPane pane1 = CreatePane( 25,true,true ); PlotSeries( pane1,voss,Color.BlueViolet,LineStyle.Solid,1); PlotSeries( pane1,bandpass,Color.IndianRed,LineStyle.Solid,1); ChartPane pane2 = CreatePane( 25,true,true ); PlotSeries( pane2,adx,Color.Purple,LineStyle.Solid,3);

} } }

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.