TASC 2016-02 | Higher Highs & Lower Lows (Apirine)

Modified on 2016/06/06 18:47 by Eugene — Categorized as: TASC Traders Tips

Traders' Tip text

According to Vitali Apirine, his momentum indicator–based system HHLLS (higher high lower low stochastic) can help to spot emerging trends, define correction periods, and anticipate reversals. As with many indicators, HHLLS signals can also be generated by looking for divergences and crossovers. Because the HHLLS is an oscillator, it can also be used to identify overbought & oversold levels.

This month we explore HHS/LLS crossovers. The HHLLS is made up of two separate indicators: the higher high stochastic (HHS) and lower low stochastic (LLS). On Figure 1 they're visible as green and red lines respectively. As it seems that the indicators can produce whipsaws, we thought it could be a nice idea to smooth them with a simple moving average. As it turned out, this resulted in less losing trades.


Figure 1 illustrates the application of the system's rules on the Daily chart of “RUT (Russell 2000)

After updating the TASCIndicators library to v2016.01 or later, HHS and LLS indicators can be found under the TASC Magazine Indicators group. They can be plotted on a chart and also be used as an entry or exit condition in a Rule-based Strategy without having to program a line of code yourself.

The included Wealth-Lab Strategy is set to configure the HHS, LLS lookback period and HHLLS smoothing period interactively through "parameter sliders" on the bottom left of the screen.

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

namespace WealthLab.Strategies { public class TASC201602 : WealthScript { private StrategyParameter slider1; private StrategyParameter slider2; private StrategyParameter slider3;

public TASC201602() { slider1 = CreateParameter("HHS Period",20,10,100,10); slider2 = CreateParameter("LLS Period2",20,10,100,10); slider3 = CreateParameter("Smooth HHLLS",3,1,10,1); } protected override void Execute() { var hhs = SMA.Series( HHS.Series(Bars,slider1.ValueInt), slider3.ValueInt); var lls = SMA.Series( LLS.Series(Bars,slider2.ValueInt), slider3.ValueInt); hhs.Description = "Smoothed HHS"; lls.Description = "Smoothed LLS"; for(int bar = GetTradingLoopStartBar(20); bar < Bars.Count; bar++) { if (IsLastPositionActive) { if( CrossUnder(bar,hhs,lls)) SellAtMarket(bar+1, LastPosition); } else { if( CrossOver(bar,hhs,lls)) BuyAtMarket(bar+1); } } ChartPane paneHHLLS1 = CreatePane(40,true,true); PlotSeries(paneHHLLS1,hhs,Color.Green,LineStyle.Solid,1); PlotSeries(paneHHLLS1,lls,Color.Red,LineStyle.Solid,1); HideVolume();

} } }

Wealth-Lab team