Quick Search
»

# TASC 2012-03 | Swami Stochastics Heat Map (Ehlers)

### Traders' Tip text

Wealth-Lab 6’s C# translation of the EL code is shown below and is conveniently available for customers through the Strategy Download feature. Discretionary traders using technical analysis could find some value using the Swami Stochastics heat map to determine entry points in ongoing trends. “While no Swami expert am I” (think of Yoda when reading that), it’s my perception that main trend may be better identified using higher scales, like Weekly. Then look to the Swami heatmap at a lower scale, like Daily, to enter a trade when a countertrend move begins to dissipate, i.e., when the green starts appearing at the bottom of the Swami pane and correlates to a break in an identifiable resistance area, as shown in Figure 1.

Figure 1. Apple Inc. Daily and Weekly (inset) Swami Stochastics showing trade opportunities after consolidative pullbacks.

Tip: Don't copy! Instead, use the Strategy Download feature in the Strategy Explorer (Ctrl+O)

```using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;namespace WealthLab.Strategies
{
public class SwamiStochastics : WealthScript
{
StrategyParameter _plotWidth;

public SwamiStochastics()
{
_plotWidth = CreateParameter("Plot Width", 6, 2, 10, 1);
}

public class ArrayHolder
{
internal double Stoc, Num, Denom;
}

public void SwamiStochHeatMap(DataSeries ds, int plotThickness)
{
int r = 0; int g = 0; int b = 0;
string s = ds.Description + ")";
DataSeries swStoch = new DataSeries(ds, "SwamiStoch(" + s);
DataSeries[] swamistoch = new DataSeries[49];

// Initialize array
ArrayHolder[] ah = new ArrayHolder[49];
for( int n = 4; n < 49; n++ )
ah[n] = new ArrayHolder();

// Create and plot the heatmap series (change bar colors later)
HideVolume();  HidePaneLines();
ChartPane swPane = CreatePane(50, false, false );
for( int n = 4; n < 49; n++ )
{
swamistoch[n] = swStoch + n;
swamistoch[n].Description = "SwamiSto." + n.ToString();
PlotSeries(swPane, swamistoch[n], Color.LightGray, LineStyle.Solid, plotThickness);
}

for(int bar = 48; bar < Bars.Count; bar++)
{
double num2, denom2, stoch2;            for (int n = 4; n < 49; n++)
{
num2 = ah[n].Num;
denom2 = ah[n].Denom;
stoch2 = ah[n].Stoc;

double hh = 0;
double ll = 1e10;
for (int j = 0; j < n; j++)
{
if (ds[bar - j] > hh) hh = ds[bar - j];
if (ds[bar - j] < ll) ll = ds[bar - j];
}
ah[n].Num = 0.5 * (ds[bar] - ll) + 0.5 * num2;
ah[n].Denom = 0.5 * (hh - ll) + 0.5 * denom2;
if (ah[n].Denom != 0)
{
ah[n].Stoc = 0.2 * (ah[n].Num / ah[n].Denom) + 0.8 * stoch2;
}

if (ah[n].Stoc >= 0.5) {
r = Convert.ToInt32(255 * (2 - 2 * ah[n].Stoc));
g = 255;
}
else {
r = 255;
g = Convert.ToInt32(255 * 2 * ah[n].Stoc);
}
SetSeriesBarColor(bar, swamistoch[n], Color.FromArgb(r, g, b));
}
}
}

protected override void Execute()
{
SwamiStochHeatMap(Close, _plotWidth.ValueInt);
}
}
}```
 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.