Warning! This section will be deprecated on February 1st 2025. Please move all your Indicators to the cTrader Store catalogue.
Description
CoVariance function as indicator to interpret trade sentiment zones
using System;
using cAlgo.API;
using cAlgo.API.Collections;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;
namespace cAlgo
{
[Levels(0)]
[Cloud("ZoneUp", "ZoneDn", FirstColor = "Red", SecondColor = "Green", Opacity = 0.2)]
[Indicator(IsOverlay = false, AccessRights = AccessRights.None)]
public class mCoVariance : Indicator
{
[Parameter("Fast Period (8)", DefaultValue = 8)]
public int inpPeriodFast { get; set; }
[Parameter("Slow Period (16)", DefaultValue = 16)]
public int inpPeriodSlow { get; set; }
[Parameter("Bands Period (8)", DefaultValue = 8)]
public int inpPeriodBands { get; set; }
[Parameter("Bands Deviation (1.382)", DefaultValue = 0.764)]
public double inpDeviationBands { get; set; }
[Output("CoVariance", IsHistogram = false, LineColor = "Black", PlotType = PlotType.Line, LineStyle = LineStyle.Solid, Thickness = 1)]
public IndicatorDataSeries outCoVariance { get; set; }
[Output("Top", LineColor = "CadetBlue", PlotType = PlotType.Line, Thickness = 1)]
public IndicatorDataSeries outBBup { get; set; }
[Output("Down", LineColor = "CadetBlue", PlotType = PlotType.Line, Thickness = 1)]
public IndicatorDataSeries outBBdn { get; set; }
[Output("ZoneUp", LineColor = "Transparent")]
public IndicatorDataSeries outZoneUp { get; set; }
[Output("ZoneDn", LineColor = "Transparent")]
public IndicatorDataSeries outZoneDn { get; set; }
private MovingAverage _mafast, _maslow, _maweight;
private IndicatorDataSeries _rawprice, _covariance;
private BollingerBands _bb;
protected override void Initialize()
{
_mafast = Indicators.MovingAverage(Bars.ClosePrices, inpPeriodFast, MovingAverageType.Simple);
_maslow = Indicators.MovingAverage(Bars.ClosePrices, inpPeriodSlow, MovingAverageType.Simple);
_maweight = Indicators.MovingAverage(Bars.ClosePrices, inpPeriodSlow, MovingAverageType.Weighted);
_covariance = CreateDataSeries();
_rawprice = CreateDataSeries();
_bb = Indicators.BollingerBands(_covariance, inpPeriodBands, inpDeviationBands, MovingAverageType.Simple);
}
public override void Calculate(int i)
{
_rawprice[i] = Bars.ClosePrices[i] * Bars.ClosePrices[i];
_covariance[i] = 0.1 * (_maweight.Result[i] - _mafast.Result[i] * _maslow.Result[i]);
outCoVariance[i] = _covariance[i];
outBBup[i] = _bb.Top[i];
outBBdn[i] = _bb.Bottom[i];
outZoneUp[i] = _covariance[i];
outZoneDn[i] = _covariance[i] > _bb.Top[i] ? _bb.Top[i] : _covariance[i] < _bb.Bottom[i] ? _bb.Bottom[i] : _covariance[i];
}
}
}
mfejza
Joined on 25.01.2022
- Distribution: Free
- Language: C#
- Trading platform: cTrader Automate
- File name: mCoVariance.algo
- Rating: 5
- Installs: 734
- Modified: 09/01/2023 00:08
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.