DeMarker

DeMarker meglio della RSI, interpreta meglio i livelli di ipervenduto e ipercomprato

Versione : 1.0.2 ( 21.05.2020 )

 

Gratis

Descrizione

Con il DeMarker sarà come possedere una Ferrari, l’oscillatore per eccellenza

tra gli oscillaotri è di sicuro il più utilizzato ed è anche il più efficiente anche meglio della RSI.

Algoritmo geniale che prende in considerazione i minimi e i massimi della media di periodo, ne estrae un valore che indica quasi alla perfezione il movimento corrente.

Utilizzato con molte strategie, non esageriamo nel dire che ogni strategia dovrebbe tener conto di questo indicatore, ora puoi scaricarlo senza spendere un centesimo perché è free.

Source

GitHub : https://github.com/cTrader-Guru/DeMarker

/*  CTRADER GURU --> Indicator Template 1.0.8

    Homepage    : https://ctrader.guru/
    Telegram    : https://t.me/ctraderguru
    Twitter     : https://twitter.com/cTraderGURU/
    Facebook    : https://www.facebook.com/ctrader.guru/
    YouTube     : https://www.youtube.com/channel/UCKkgbw09Fifj65W5t5lHeCQ
    GitHub      : https://github.com/ctrader-guru

*/

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

namespace cAlgo
{

    [Indicator(IsOverlay = false, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
    [Levels(0.3, 0.7)]
    public class DeMarker : Indicator
    {

        #region Enums

        #endregion

        #region Identity

        /// <summary>
        /// Nome del prodotto, identificativo, da modificare con il nome della propria creazione
        /// </summary>
        public const string NAME = "DeMarker";

        /// <summary>
        /// La versione del prodotto, progressivo, utilie per controllare gli aggiornamenti se viene reso disponibile sul sito ctrader.guru
        /// </summary>
        public const string VERSION = "1.0.2";

        #endregion

        #region Params

        /// <summary>
        /// Identità del prodotto nel contesto di ctrader.guru
        /// </summary>
        [Parameter(NAME + " " + VERSION, Group = "Identity", DefaultValue = "https://ctrader.guru/product/demarker/")]
        public string ProductInfo { get; set; }

        [Parameter("Periods", Group = "Params", DefaultValue = 14)]
        public int Periods { get; set; }

        [Parameter("Moving Average", Group = "Params", DefaultValue = MovingAverageType.Simple)]
        public MovingAverageType MAtype { get; set; }

        [Output("DMark", LineColor = "DodgerBlue")]
        public IndicatorDataSeries Result { get; set; }

        #endregion

        #region Property

        private IndicatorDataSeries DemarkerMin;
        private IndicatorDataSeries DemarkerMax;
        private MovingAverage DemarkerMAmin;
        private MovingAverage DemarkerMAmax;

        #endregion

        #region Indicator Events

        /// <summary>
        /// Viene generato all'avvio dell'indicatore, si inizializza l'indicatore
        /// </summary>
        protected override void Initialize()
        {

            // --> Stampo nei log la versione corrente
            Print("{0} : {1}", NAME, VERSION);

            DemarkerMin = CreateDataSeries();
            DemarkerMax = CreateDataSeries();
            DemarkerMAmin = Indicators.MovingAverage(DemarkerMin, Periods, MAtype);
            DemarkerMAmax = Indicators.MovingAverage(DemarkerMax, Periods, MAtype);

        }

        /// <summary>
        /// Generato ad ogni tick, vengono effettuati i calcoli dell'indicatore
        /// </summary>
        /// <param name="index">L'indice della candela in elaborazione</param>
        public override void Calculate(int index)
        {

            if (Bars.HighPrices[index] > Bars.HighPrices[index - 1])
            {

                DemarkerMax[index] = Bars.HighPrices[index] - Bars.HighPrices[index - 1];

            }
            else
            {

                DemarkerMax[index] = 0;

            }

            if (Bars.LowPrices[index] < Bars.LowPrices[index - 1])
            {

                DemarkerMin[index] = Bars.LowPrices[index - 1] - Bars.LowPrices[index];

            }
            else
            {

                DemarkerMin[index] = 0;

            }

            Result[index] = DemarkerMAmax.Result[index] / (DemarkerMAmax.Result[index] + DemarkerMAmin.Result[index]);

        }

        #endregion

        #region Private Methods

        // --> Seguiamo la signature con underscore "_mioMetodo()"

        #endregion

    }

}

Recensioni

Ancora non ci sono recensioni.

Recensisci per primo “DeMarker”

Ti potrebbe interessare…