Warning! This section will be deprecated on February 1st 2025. Please move all your Indicators to the cTrader Store catalogue.
Description
Relative Momentum Index indicator script. This indicator was originally developed by Roger Altman (Stocks & Commodities V. 11:2 (57-60)).
Use this indicator as trade zones; for long when indicator value is above level 70; for short when indicator value is below level 30
using System;
using cAlgo.API;
using cAlgo.API.Internals;
using cAlgo.API.Indicators;
using cAlgo.Indicators;
namespace cAlgo
{
[Levels(30, 50, 70)]
[Indicator(IsOverlay = false, AccessRights = AccessRights.None)]
public class mRelativeMomentumIndex : Indicator
{
[Parameter("RMI Periods (14)", DefaultValue = 7)]
public int inpPeriodsRMI { get; set; }
[Parameter("Momentum Periods (10)", DefaultValue = 5)]
public int inpPeriodMomentum { get; set; }
[Output("Relative Momentum Index", LineColor = "Black", PlotType = PlotType.Line, Thickness = 1)]
public IndicatorDataSeries outRMI { get; set; }
private IndicatorDataSeries _bulls, _bears, _rmi;
private double delta;
protected override void Initialize()
{
_bulls = CreateDataSeries();
_bears = CreateDataSeries();
_rmi = CreateDataSeries();
}
public override void Calculate(int i)
{
delta = i > inpPeriodMomentum ? Bars.ClosePrices[i] - Bars.ClosePrices[i - inpPeriodMomentum] : Bars.ClosePrices[i] - Bars.TypicalPrices[i];
_bulls[i] = ((i > 1 ? _bulls[i - 1] : 50.0) * (inpPeriodsRMI - 1) + (delta > 0.0 ? +delta : 0.0)) / inpPeriodsRMI;
_bears[i] = ((i > 1 ? _bears[i - 1] : 50.0) * (inpPeriodsRMI - 1) + (delta < 0.0 ? -delta : 0.0)) / inpPeriodsRMI;
if (_bears[i] != 0.0)
_rmi[i] = 100.0 - 100.0 / (1 + _bulls[i] / _bears[i]);
else
_rmi[i] = 50.0;
outRMI[i] = _rmi[i];
}
}
}
mfejza
Joined on 25.01.2022
- Distribution: Free
- Language: C#
- Trading platform: cTrader Automate
- File name: mRelativeMomentumIndex.algo
- Rating: 5
- Installs: 846
- Modified: 08/09/2022 19:11
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.
"Use this indicator as trade zones; for long when indicator value is above level 70; for short when indicator value is below level 30"
I dont not belive this to be correct according to the screen shot YOU provided - i think you meant <30 go long, > 70 go short