Traders' Tip text
As a good tradition, in May 2018 issue we're pleased to find two new indicators by Mr. Ehlers. Is RocketRSI the new dawn for RSI? Let' see.
From our brief encounter with this new indicator, it seems that its applicability greatly depends on finding the dominant cycle period. The $64,000 question is whether this cycle actually exists in the data, and how stable it is over time.
Figure 1. Typical long entries following spike below -2 standard deviations on the Daily chart of AAPL (Apple).We created a bare-bones system to put to test the idea that a spike below -2 provides a long entry timing signal (we'll skip the opposite signal this time). Figure 1 illustrates some typical entries. Its only exit rule is to "Exit after fixed bars". Looking ahead, this parameter had the biggest impact on the system's net profit (as shown on Figure 2). Then we ran a portfolio simulation on 10 years of Daily data for the Dow 30 stocks allocating 10% equity to each signal.
Figure 2.
Increasing the bars to hold parameter had the most visible effect on system's Net Profit.On a 3D optimization graph we plot the system's Net Profit on axis Z, and the RSI Length and Fixed Bars parameters on axes X and Y respectively (Figure 3).
The best Net Profit $ came from the 8-period RSI Length which suggests that there may be a 16-bar cycle period in the Dow 30 stocks. However, the 3D graph indicates there's a sharp peak around this value. The smooth area of the curve nearby suggests a stable and profitable zone with multiple adjacent parameter values which lead to more consistent results. Hence we'd rather pick the half-cycle period from this area in the 10 to 14 ballpark – which is close to author's suggestion.
Figure 3.
3D optimization graph.To give the RocketRSI a more thorough testing which it deserves and start building your own systems, install or update our
TASCIndicators library to its latest version and restart Wealth-Lab. This makes it instantly applicable to any building blocks called “Rules”. By simply combining and reordering them one can come up with pretty elaborate strategies. Below you can find the test system's code:
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
{
StrategyParameter slider1;
StrategyParameter slider2;
StrategyParameter paramExitDays;
public MyStrategy()
{
slider1 = CreateParameter("Smoothing Length", 8, 2, 20, 2);
slider2 = CreateParameter("RSI Length", 10, 2, 20, 2);
paramExitDays = CreateParameter("Exit after", 10, 5, 30, 5);
}
protected override void Execute()
{
var rr = RocketRSI.Series(Close,slider1.ValueInt,slider2.ValueInt);
var fixedBars = paramExitDays.ValueInt;
for(int bar = GetTradingLoopStartBar(1); bar < Bars.Count; bar++)
{
if (IsLastPositionActive)
{
Position p = LastPosition;
if ( bar+1 - p.EntryBar >= fixedBars )
SellAtMarket( bar+1, p, "Exit after N bars" );
}
else
{
if( rr[bar] <= -2.0 )
BuyAtMarket(bar+1);
}
}
var ls = LineStyle.Solid;
ChartPane paneRocketRSI = CreatePane(40,true,true);
PlotSeries(paneRocketRSI,rr,Color.Black,ls,2);
DrawHorzLine(paneRocketRSI,0,Color.Violet,ls,2);
DrawHorzLine(paneRocketRSI,2,Color.Red,ls,1);
DrawHorzLine(paneRocketRSI,-2,Color.Blue,ls,1);
}
}
}
Eugene (Gene Geren), Robert Sucher
Wealth-Lab team
www.wealth-lab.com