RSI CrossSignal indicator free
Description
RSI CrossSignal indicator
Notification Publishing copyrighted material is strictly prohibited. If you believe there is copyrighted material in this section you may use the Copyright Infringement Notification form to submit a claim.
Formula / Source Code
using System; using cAlgo.API; using cAlgo.API.Indicators; using cAlgo.API.Internals; namespace cAlgo { [Indicator(IsOverlay = true, AccessRights = AccessRights.None)] public class mRSIcrosssignal : Indicator { [Parameter("RSI Fast Periods (5)", DefaultValue = 5)] public int inpPeriodsFastRSI { get; set; } [Parameter("RSI Slow Periods (34)", DefaultValue = 34)] public int inpPeriodsSlowRSI { get; set; } [Parameter("Smooth Periods (10)", DefaultValue = 10)] public int inpPeriodsSmooth { get; set; } [Output("CrossSignal OpenLong trigger", LineColor = "Green", PlotType = PlotType.Points, Thickness = 5)] public IndicatorDataSeries outLongOpen { get; set; } [Output("CrossSignal OpenShort trigger", LineColor = "Red", PlotType = PlotType.Points, Thickness = 5)] public IndicatorDataSeries outShortOpen { get; set; } [Output("CrossSignal dd trigger", LineColor = "Black", PlotType = PlotType.Line, Thickness = 2)] public IndicatorDataSeries outTest { get; set; } private RelativeStrengthIndex _rsifast, _rsislow; private IndicatorDataSeries _longtrigger, _shorttrigger; protected override void Initialize() { _rsifast = Indicators.RelativeStrengthIndex(Bars.ClosePrices, inpPeriodsFastRSI); _rsislow = Indicators.RelativeStrengthIndex(Bars.ClosePrices, inpPeriodsSlowRSI); _longtrigger = CreateDataSeries(); _shorttrigger = CreateDataSeries(); } public override void Calculate(int i) { _longtrigger[i] = _shorttrigger[i] = double.NaN; if(_rsifast.Result[i-1] > _rsislow.Result[i-1] && _rsifast.Result[i-2] < _rsislow.Result[i-2] && _rsifast.Result[i] > _rsislow.Result[i]) _longtrigger[i] = Bars.LowPrices[i]; if(_rsifast.Result[i-1] < _rsislow.Result[i-1] && _rsifast.Result[i-2] > _rsislow.Result[i-2] && _rsifast.Result[i] < _rsislow.Result[i]) _shorttrigger[i] = Bars.HighPrices[i]; outLongOpen[i] = _longtrigger[i]; outShortOpen[i] = _shorttrigger[i]; } } }
Comments