WPR CrossSignal indicator free

by mfejza in category Trend at 21/03/2023
Description

WPR 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
Language: C#
Trading Platform: cAlgocTrader
using System;
using cAlgo.API;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;

namespace cAlgo
{
    [Indicator(IsOverlay = true, AccessRights = AccessRights.None)]
    public class mWPRcrsoosignal : Indicator
    {
        [Parameter("Fast Periods (5)", DefaultValue = 5)]
        public int inpPeriodsFast { get; set; }
        [Parameter("Slow Periods (34)", DefaultValue = 34)]
        public int inpPeriodsSlow { 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; }
        
        private WilliamsPctR _wprfast, _wprslow;
        private IndicatorDataSeries _longtrigger, _shorttrigger;
                

        protected override void Initialize()
        {
            _wprfast = Indicators.WilliamsPctR(inpPeriodsFast);
            _wprslow = Indicators.WilliamsPctR(inpPeriodsSlow);
            _longtrigger = CreateDataSeries();
            _shorttrigger = CreateDataSeries();
        }

        public override void Calculate(int i)
        {            
            _longtrigger[i] = _shorttrigger[i] = double.NaN;
            if(_wprfast.Result[i-1] > _wprslow.Result[i-1] && _wprfast.Result[i-2] < _wprslow.Result[i-2] && _wprfast.Result[i] > _wprslow.Result[i])
                _longtrigger[i] = Bars.LowPrices[i];
            if(_wprfast.Result[i-1] < _wprslow.Result[i-1] && _wprfast.Result[i-2] > _wprslow.Result[i-2] && _wprfast.Result[i] < _wprslow.Result[i])
                _shorttrigger[i] = Bars.HighPrices[i];

            outLongOpen[i] = _longtrigger[i];
            outShortOpen[i] = _shorttrigger[i];
        }
    }
}
Comments
0