Warning! This section will be deprecated on February 1st 2025. Please move all your Indicators to the cTrader Store catalogue.
Description
The Inverse Fisher Transform version of the CyberCycle indicator. This method once applied gives more clear and unequivocal signals also helping to avoid some whipsaw trades.
using System;
using cAlgo.API;
using cAlgo.API.Indicators;
namespace cAlgo.Indicators
{
[Indicator(IsOverlay = false, AccessRights = AccessRights.None)]
[Levels(0.0)]
public class InverseCycle : Indicator
{
[Parameter(DefaultValue = 0.01)]
public double Alpha { get; set; }
[Parameter(DefaultValue = 21, MinValue = 5)]
public int length { get; set; }
[Output("InverseCyberCycle", Color = Colors.YellowGreen, Thickness = 2)]
public IndicatorDataSeries invcycle { get; set; }
private IndicatorDataSeries _price;
private IndicatorDataSeries _smooth;
private IndicatorDataSeries cycle;
private IndicatorDataSeries value1;
protected override void Initialize()
{
_price = CreateDataSeries();
_smooth = CreateDataSeries();
cycle = CreateDataSeries();
value1 = CreateDataSeries();
}
public override void Calculate(int index)
{
_price[index] = (MarketSeries.High[index] + MarketSeries.Low[index]) / 2;
_smooth[index] = (_price[index] + 2 * _price[index - 1] + 2 * _price[index - 2] + _price[index - 3]) / 6;
cycle[index] = (1 - 0.5 * Alpha) * (1 - 0.5 * Alpha) * (_smooth[index] - 2 * _smooth[index - 1] + _smooth[index - 2]) + 2 * (1 - Alpha) * cycle[index - 1] - (1 - Alpha) * (1 - Alpha) * (cycle[index - 2]);
if (index < 7)
{
cycle[index] = (_price[index] - 2 * _price[index - 1] + _price[index - 2]) / 4;
}
double ccgH = cycle[index];
double ccgL = cycle[index];
for (int i = index - length + 1; i <= index; i++)
{
if (ccgH < cycle[i])
{
ccgH = cycle[i];
}
if (ccgL > cycle[i])
{
ccgL = cycle[i];
}
}
if (ccgH != ccgL)
{
value1[index] = ((cycle[index] - ccgL) / (ccgH - ccgL));
}
invcycle[index] = (Math.Exp(2 * value1[index]) - 1) / (Math.Exp(2 * value1[index]) + 1);
}
}
}
cwik_m
Joined on 26.06.2018
- Distribution: Free
- Language: C#
- Trading platform: cTrader Automate
- File name: InverseCycle.algo
- Rating: 0
- Installs: 1923
- Modified: 13/10/2021 09:54
Note that publishing copyrighted material is strictly prohibited. If you believe there is copyrighted material in this section, please use the Copyright Infringement Notification form to submit a claim.
Comments
Log in to add a comment.
No comments found.