Category Trend  Published on 29/08/2022

Trend Confirmation - 3x EMA on OBV

Description

Note: if you are the owner of the original indicator and would like me to remove this port, please feel free to message me and I will be happy to do so.

This is a port of Lancelot_Augur (a.k.a. daichiyea)'s indicator (originally designed for Crypto pairs) to confirm trends in cTrader. All credit goes to the original author - the original indicator can be found here.

Since it uses exponential moving averages, it is a lagging indicator, and thus should not be used in attempts to predict reversals. However, I have found this technical to be very reliable at confirming trends and aiding trade set-ups.

Changelog:

- 28/08/2022: Removed unnecessary imports of directives and fixed OnBalanceVolume dependency.

 

 


using cAlgo.API;
using cAlgo.API.Indicators;

namespace cAlgo
{
    [Cloud("EMA3", "EMA26", FirstColor ="Green", Opacity = 0.6, SecondColor ="Red")]
    
    [Indicator(AccessRights = AccessRights.None)]
    public class TrendConfirmationTripleOBVOnBalanceVolume : Indicator
    {
        [Parameter("Source")]
        public DataSeries Source { get; set; }

        [Output("Main")]
        public IndicatorDataSeries Result { get; set; }
        
        [Output("EMA3", Color = Colors.Tomato, Thickness = 2)]
        public IndicatorDataSeries EMA3 { get; set; }
        
        [Output("EMA9", Color = Colors.Goldenrod, Thickness = 2)]
        public IndicatorDataSeries EMA9 { get; set; }
        
        [Output("EMA26", Color = Colors.White, Thickness = 2)]
        public IndicatorDataSeries EMA26 { get; set; }
        
        private OnBalanceVolume obv { get; set; }
        private ExponentialMovingAverage ema3 { get; set; }
        private ExponentialMovingAverage ema9 { get; set; }
        private ExponentialMovingAverage ema26 { get; set; }

        protected override void Initialize() 
        {
            obv = Indicators.OnBalanceVolume(Source);
            ema3 = Indicators.ExponentialMovingAverage(Result, 3);
            ema9 = Indicators.ExponentialMovingAverage(Result, 9);
            ema26 = Indicators.ExponentialMovingAverage(Result, 26);
            
        }

        public override void Calculate(int index) 
        {
            Result[index] = obv.Result[index];
            EMA3[index] = ema3.Result[index];
            EMA9[index] = ema9.Result[index];
            EMA26[index] = ema26.Result[index];
            
        }
    }
}

o6h58zs's avatar
o6h58zs

Joined on 17.07.2022 Blocked

  • Distribution: Free
  • Language: C#
  • Trading platform: cTrader Automate
  • File name: Trend Confirmation - Triple OBV (On-Balance Volume).algo
  • Rating: 5
  • Installs: 1233
  • Modified: 28/08/2022 13:13
Comments
Log in to add a comment.
JO
josephpeterschar · 2 years ago

Every company needs and uses software, and some of it is essential to its success. However, as small organizations grow into mid-sized businesses, software performance gaps may emerge. You may engage websitedesignservice to aid teams in solving issues and inefficiencies while also supporting the development of innovative products and services.

JO
joyeuxnye · 2 years ago

cladder The information is very special, I will have to follow you.