Category Trend  Published on 12/12/2020

MeanReversionOverlayIteration2

Description

Muy buenas tardes!

Os escribo en castellano porque mi inglés es muy limitado.

Let's go smurf smurfs :-)

Bien, supongamos que un inversor compra o vende en cada vela. Si la vela le es favorable, cierra la posición. Si la vela le es desfavorable, la deja abierta. (Comprendan que yo no propongo esta estrategia, propongo usar el indicador como referencia para entender que ocurre en el mercado a los inversores fuertemente capitalizados que puedan seguir alguna estrategia similar o derivada del concepto. Y para intentar responder a las tres preguntas fundamentales sobre la existencia: Quien soy (compro o vendo), de donde vengo (soporte), a donde voy (resistencia). Si no ves claro: desde donde, hasta donde y el sentido de la operación, no la abras.

Donde cerrará el conjunto de las posiciones abiertas con beneficio?

(El indicador no incluye el cálculo de comisiones, ni swaps).

 

En el gráfico, dos indicadores: MeanReversionOverlay y el que estoy publicando. EUR/USD TF m5.

(MeanReversionOverlay traza las líneas de balance para un inversor que compra o vende en cada vela).

 Saludos.

PS: Ustedes se preguntarán: Y quien opera así? La banca. Si la gente compra, el mercado sube. Quien está vendiendo esos contratos de compra? La banca. Son la contrapartida. Quien gana siempre? La Banca. Si no gana la Banca, nos cierran el Casino Señores! xD La Banca son los Market Makers. Un aplauso para ellos por el gran espectáculo!

Para ser un winner como ellos tienes que intentar pensar el mercado como ellos. No es fácil pero no hay mejor sudoku.

Y ahora una broma o tal vez no: Si usted es un pequeño inversor y desea que el mercado suba, simplemente venda. Si desea que baje, compre. Es lo que llamamos ley del sentimiento contrario. Como pueden ver, mandar en el mercado es fácil. Pero cuesta dinero.

(No es que el mercado vaya contra los pequeños, es que no puede con los grandes. Están suficientemente capitalizados para resistir cualquier movimiento en contra y terminar cerrando posiciones incluso con beneficios) Ser grande es más fácil cuando tu Broker ofrece mayores ratios de apalancamiento financiero.


using System;
using cAlgo.API;
using cAlgo.API.Internals;
using cAlgo.API.Indicators;
using cAlgo.Indicators;

namespace cAlgo
{
    [Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
    public class MeanReversionOverlayIteration2 : Indicator
    {
        [Output("sellAverage", LineColor = "lightGreen")]
        public IndicatorDataSeries Result1 { get; set; }

        [Output("buyAverage", LineColor = "Red")]
        public IndicatorDataSeries Result2 { get; set; }

        [Output("Mean", LineColor = "Aqua")]
        public IndicatorDataSeries Result3 { get; set; }

        private Bars ctf;

        private int idx;
        private int previousIdx;
        private int buyPeriod;
        private int sellPeriod;

        private double buyAverage;
        private double sellAverage;
        private int savedbp;
        private int savedsp;
        private double mean;
        private int buyCount, sellCount;

        protected override void Initialize()
        {
            ctf = MarketData.GetBars(Bars.TimeFrame);
        }

        public override void Calculate(int index)
        {
            idx = ctf.OpenTimes.GetIndexByTime(Bars.OpenTimes[index]);
            if (idx > previousIdx)
            {
                buyPeriod++;
                savedbp = buyPeriod;
                sellPeriod++;
                savedsp = sellPeriod;
            }

            if (buyPeriod == 0)
                buyPeriod = savedbp;

            if (sellPeriod == 0)
                sellPeriod = savedsp;

            buyAverage = 0;
            buyCount = 0;
            for (int i = index - buyPeriod + 1; i <= idx; i++)
                if (Bars.ClosePrices[i] - Bars.ClosePrices[i - 1] < 0)
                {
                    buyAverage += Bars.OpenPrices[i];
                    buyCount++;
                }
            if (buyCount > 0)
                buyAverage = buyAverage / buyCount;
            else
                buyAverage = Bars.ClosePrices[index];

            sellAverage = 0;
            sellCount = 0;
            for (int i = index - sellPeriod + 1; i <= idx; i++)
                if (Bars.ClosePrices[i] - Bars.ClosePrices[i - 1] > 0)
                {
                    sellAverage += Bars.OpenPrices[i];
                    sellCount++;
                }
            if (sellCount > 0)
                sellAverage = sellAverage / sellCount;
            else
                sellAverage = Bars.ClosePrices[index];


            if (Bars.ClosePrices[index] > buyAverage)
            {
                buyAverage = Bars.ClosePrices[index];
                buyPeriod = 0;
            }

            if (Bars.ClosePrices[index] < sellAverage)
            {
                sellAverage = Bars.ClosePrices[index];
                sellPeriod = 0;
            }

            mean = (buyAverage + sellAverage) / 2;

            Result1[index] = sellAverage;
            Result2[index] = buyAverage;
            Result3[index] = mean;

            previousIdx = idx;
        }
    }
}


srm_bcn's avatar
srm_bcn

Joined on 01.09.2019

  • Distribution: Free
  • Language: C#
  • Trading platform: cTrader Automate
  • File name: MeanReversionOverlayIteration2.algo
  • Rating: 0
  • Installs: 1146
Comments
Log in to add a comment.
GM
gmkenneyy · 3 years ago

También vivo en el centro de BCN. Este indicador suyo no indica nada.

No se puede saber la dirección de la tendencia Micro o la tendencia Macro.

No hay ninguna indicación de dónde ingresar o colocar su stop-loss.

Espero que sepas lo que estás haciendo y cómo comerciar