Indicadores de élite :) - página 383

 

TepeFinans

Aquí tienes

Sólo me gustaría explicar por qué "genérico" en el nombre : No he utilizado el indicador "por defecto" que es proporcionada por metatrader, pero estoy usando una versión que permite diferentes períodos de valores y señales de suavizado. El suavizado utilizado tanto para los valores como para la señal es la media móvil triangular (la media móvil triangular "normal", no la centrada, por lo que no hay recálculo alguno) y está configurado por defecto para ser el mismo que el indicador incorporado, pero también permite experimentar con diferentes longitudes de suavizado.

Adjuntando un indicador simple así como una versión con mtf, alertas y líneas de divergencia también. Adjuntando la "versión simple para que esa versión sea simplemente comparable con el indicador incorporado por defecto. Además, al buscar divergencias, puede ser una buena idea desactivar el suavizado de rvi (poner el periodo de suavizado en 1) ya que de esa manera el retardo del valor de rvi "crudo" es mínimo y de esa manera la identificación de picos es mucho más precisa que en el modo suavizado, pero ten en cuenta que se trata de un "raw rvi" y no de un rvi (aquí hay una comparación de las divergencias de un rvi normal (superior) y de un "raw rvi" (inferior) - como se ve el raw hace el trabajo más preciso cuando se trata de la divergencia y así la versión "genérica" se vuelve un poco más útil

saludos

Mladen

TepeFinans:
Hola Mladen

Índice de vigor relativo

Divergencia

???
Archivos adjuntos:
 

Hola Mladen

Gracias

mladen:
TepeFinans

Aquí tienes

Sólo me gustaría explicar por qué "genérico" en el nombre : No he utilizado el indicador "por defecto" que es proporcionada por metatrader, pero estoy usando una versión que permite diferentes períodos de valores y señales de suavizado. El suavizado utilizado tanto para los valores como para la señal es la media móvil triangular (la media móvil triangular "normal", no la centrada, por lo que no hay recálculo alguno) y está configurado por defecto para ser el mismo que el indicador incorporado, pero también permite experimentar con diferentes longitudes de suavizado.

Adjuntando un indicador simple así como una versión con mtf, alertas y líneas de divergencia también. Adjuntando la "versión simple para que esa versión sea simplemente comparable con el indicador incorporado por defecto. Además, al buscar divergencias, puede ser una buena idea desactivar el suavizado de rvi (poner el periodo de suavizado en 1) ya que de esa manera el retardo del valor de rvi "crudo" es mínimo y de esa manera la identificación de picos es mucho más precisa que en el modo suavizado, pero ten en cuenta que se trata de un "raw rvi" y no de un rvi (aquí hay una comparación de las divergencias de un rvi normal (superior) y de un "raw rvi" (inferior) - como se ve el raw hace el trabajo más preciso cuando se trata de la divergencia y así la versión "genérica" se vuelve un poco más útil

saludos

Mladen
 

QQE avanzado

Este es un intento de hacer un indicador ya útil un poco más útil


Cosas añadidas a QQE: posibilidad de elegir y suavizar (filtrar) el precio antes de ser utilizado en el cálculo y posibilidad de utilizar otro que el rsi incorporado en metatrader. Construido en metatrader rsi difiere de un rsi original de Welles Wilder y decidí establecer el tipo de rsi por defecto utilizado en el cálculo de QQE rsi de Wilder por más de una razón. Como siempre, los métodos rsi pueden ser

0 - rsi "normal

1 - rsi de Wilder

2 - rsx

3 - Cuttler rsi

Además, incluso un pre-alisado de precios muy suave está dando resultados bastante interesantes: aquí es una comparación de un QQE "regulr" con un QQE avanzado con Wilder's 3 período pre-alisado(MaPeriodset a 3) rsi utilizado en el cálculo

o la misma configuración del indicador de 1 hora en un gráfico de 15 minutos (ahora, cuando la gente estaba buscando los swings, parece que una mirada a algo como esto podría haber ayudado a evitar algunos errores)

Archivos adjuntos:
qqe_adv_1.gif  24 kb
qqe_adv_2.gif  20 kb
 

Mladen, amable petición

Estimado Mladen,

¿Le importaría convertir el indicador qqe en una barra de color? Como el anterior.C

Gracias de antemano

Suyo,

khaliddxd

 
mladen:
TepeFinans

Aquí tienes

Sólo me gustaría explicar por qué "genérico" en el nombre : No he utilizado el indicador "por defecto" que es proporcionada por metatrader, pero estoy usando una versión que permite diferentes períodos de valores y señales de suavizado. El suavizado utilizado tanto para los valores como para la señal es la media móvil triangular (la media móvil triangular "normal", no la centrada, por lo que no hay recálculo alguno) y está configurado por defecto para ser el mismo que el indicador incorporado, pero también permite experimentar con diferentes longitudes de suavizado.

Adjuntando un indicador simple así como una versión con mtf, alertas y líneas de divergencia también. Adjuntando la "versión simple para que esa versión sea simplemente comparable con el indicador incorporado por defecto. Además, al buscar divergencias, puede ser una buena idea desactivar el suavizado de rvi (poner el periodo de suavizado en 1) ya que de esa manera el retardo del valor de rvi "crudo" es mínimo y de esa manera la identificación de picos es mucho más precisa que en el modo suavizado, pero ten en cuenta que se trata de un "raw rvi" y no de un rvi (aquí hay una comparación de las divergencias de un rvi normal (superior) y de un "raw rvi" (inferior) - como se ve el raw hace el trabajo más preciso cuando se trata de la divergencia y así la versión "genérica" se vuelve un poco más útil

saludos

Mladen

flechas, por favor. (lo mismo para el nuevo QQE de Mladen, por favor)

 

Solicitud de otro nuevo indi

Mladen,

Aquí es una solicitud de otro nuevo indicador llamado Mogalef bandas

Este código se ha hecho público en mayo de este año en una reunión de los comerciantes

Hay diferentes versiones en los foros para ello ahora: Ninja, PRT, GraphAT (ver documentos adjuntos)etc.

pero la versión GrapAT parece estar bien

Podría por favor hacer una traducción Mql4 de este código, creo que todo el mundo le va a gustar ...

Por favor, siéntase libre de hacer su propia modificación si es necesario

Gracias

devinci

****************************************************************

//=======================

// Mogalef Bands - GrapAT

//=======================

//1---- Weighted prices "Mogalef"

//

CP(0)=(High+Low+Open+2*Close)/5

//2---- linear regression Weighted prices P1 periods

//

If RangHisto>=P1 Then

somx = 0

somy = 0

somxx = 0

somxy = 0

For P1 Prices

somx = somx+RangPour

somy = somy+CP

somxx = somxx+RangPour*RangPour

somxy = somxy+RangPour*CP

EndFor

a = (P1*somxy-somx*somy)/(P1*somxx-somx*somx)

b = (somy-a*somx)/P1

MogRegLin = b + a*P1

EndIf

//3---Standard deviation of linear regression on P2 periods

//

If RangHisto>= P1+P2-1 Then

StanDev(0)=StandarDeviation(MogRegLin,P2)

EndIf

//4---- "Mogalef" Bands

//

If RangHisto>=P1+P2 Then

If MogRegLinMogB(1) // NO LAG if Lin Reg is within inside bands

Then

StanDev=StanDev(1)

MogM=MogM(1)

MogH=MogH(1)

MogB=MogB(1)

IfNot // shift/lag when computing new band values

MogM=MogRegLin

MogH=MogRegLin+P3*StanDev

MogB=MogRegLin-P3*StanDev

EndIf

EndIf

//end of code

**************************************************************************

other version:

{*********************************************************

Mogalef Bands easy language Multicharts

**********************************************************}

variables: var0(0), var1(0), HighBand(0), LowBand(0), Mediane(0);

var0 = LinearRegValue((Open+High+Low+(2*Close))/5,3,0);

var1 = StandardDev(var0,7,1);

if currentbar=8 then

begin

HighBand = var0 + 2*var1;

LowBand = var0 - 2*var1;

Mediane = var0;

end

else

if var0 HighBand then

begin

HighBand = var0 + 2*var1;

LowBand = var0 - 2*var1;

Mediane = var0;

end;

Plot1(HighBand,"HighBand");

Plot2(LowBand,"LowBand");

Plot3(Mediane,"Mediane");

*********************************************************

other version:

**************************

Mogalef Bands Ninja trader

**************************

#region Using declarations

using System;

using System.ComponentModel;

using System.Diagnostics;

using System.Drawing;

using System.Drawing.Drawing2D;

using System.Xml.Serialization;

using NinjaTrader.Cbi;

using NinjaTrader.Data;

using NinjaTrader.Gui.Chart;

#endregion

// This namespace holds all indicators and is required. Do not change it.

namespace NinjaTrader.Indicator

{

///

/// Enter the description of your new custom indicator here

///

[Description("Enter the description of your new custom indicator here")]

public class MogalefBands : Indicator

{

#region Variables

// Wizard generated variables

// User defined variables (add any user defined variables below)

private DataSeries CPSerie, ESerie, FSerie;

private double nMedian = 0, nHigh = 0, nLow = 0;

private int LinRegPeriode = 3, StdDevPeriode = 7;

#endregion

///

/// This method is used to configure the indicator and is called once before any bar data is loaded.

///

protected override void Initialize()

{

Add(new Plot(Color.FromKnownColor(KnownColor.Orange), PlotStyle.Line, "MMedian"));

Add(new Plot(Color.FromKnownColor(KnownColor.Gray), PlotStyle.Line, "MHigh"));

Add(new Plot(Color.FromKnownColor(KnownColor.Gray), PlotStyle.Line, "MLow"));

Overlay = true;

CPSerie = new DataSeries( this );

ESerie = new DataSeries( this );

FSerie = new DataSeries( this );

}

///

/// Called on each bar update event (incoming tick)

///

protected override void OnBarUpdate()

{

// Use this method for calculating your indicator values. Assign a value to each

// plot below by replacing 'Close[0]' with your own formula.

if (CurrentBar < 8)

{

CPSerie.Set((Open[0] + High[0] + Low[0] + (2*Close[0]))/5);

nMedian = CPSerie[0];

nHigh = 0;

nLow = 0;

return;

}

CPSerie.Set((Open[0] + High[0] + Low[0] + (2*Close[0]))/5);

if (CurrentBar > 8 + StdDevPeriode)

{

FSerie.Set(LinReg(CPSerie,LinRegPeriode)[0]);

ESerie.Set(StdDev(FSerie,StdDevPeriode)[0]);

}

else

{

FSerie.Set(CPSerie[0]);

ESerie.Set(0);

}

if (FSerie[0] nHigh)

{

nMedian = FSerie[0];

nHigh = nMedian + (2*ESerie[0]);

nLow = nMedian - (2*ESerie[0]);

}

MMedian.Set(nMedian);

MHigh.Set(nHigh);

MLow.Set(nLow);

}

#region Properties

// this line prevents the data series from being displayed in the indicator properties dialog, do not remove

[XmlIgnore()] // this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove

public DataSeries MMedian

{

get { return Values[0]; }

}

// this line prevents the data series from being displayed in the indicator properties dialog, do not remove

[XmlIgnore()] // this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove

public DataSeries MHigh

{

get { return Values[1]; }

}

// this line prevents the data series from being displayed in the indicator properties dialog, do not remove

[XmlIgnore()] // this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove

public DataSeries MLow

{

get { return Values[2]; }

}

[Description("")]

[Category("Parameters")]

[Gui.Design.DisplayName("LinReg periode")]

public int LinRegPERIODE

{

get { return LinRegPeriode; }

set { LinRegPeriode = Math.Max(1, value); }

}

[Description("")]

[Category("Parameters")]

[Gui.Design.DisplayName("StdDev periode")]

public int StdDevPERIODE

{

get { return StdDevPeriode; }

set { StdDevPeriode = Math.Max(1, value); }

}

#endregion

}

}

******************************************************************

******************************************************************
Archivos adjuntos:
example1.png  37 kb
 

devinci

Aquí tienes Usé los parámetros por defecto que están usando y añadí el precio que están usando (el (High+Low+Open+2*Close)/5 que no existe en metatrader) Usa 8 en el parámetro BandsPrice para obtener ese precio.

PD: He editado tu post para hacerlo "visualmente más corto". Nada más fue alterado en él. Espero que no te importe

saludos

Mladen

devinci:
Mladen,

Aquí es una solicitud de otro nuevo indicador llamado Mogalef bandas

Este código se ha hecho público en mayo de este año en una reunión de los comerciantes

Hay diferentes versiones en los foros para ello ahora: Ninja, PRT, GraphAT (ver documentos adjuntos)etc.

pero la versión GrapAT parece estar bien

Podría por favor hacer una traducción Mql4 de este código, creo que todo el mundo le va a gustar ...

Por favor, siéntase libre de hacer su propia modificación si es necesario

Gracias

devinci

****************************************************************

//=======================

// Mogalef Bands - GrapAT

//=======================

//1---- Weighted prices "Mogalef"

//

CP(0)=(High+Low+Open+2*Close)/5

//2---- linear regression Weighted prices P1 periods

//

If RangHisto>=P1 Then

somx = 0

somy = 0

somxx = 0

somxy = 0

For P1 Prices

somx = somx+RangPour

somy = somy+CP

somxx = somxx+RangPour*RangPour

somxy = somxy+RangPour*CP

EndFor

a = (P1*somxy-somx*somy)/(P1*somxx-somx*somx)

b = (somy-a*somx)/P1

MogRegLin = b + a*P1

EndIf

//3---Standard deviation of linear regression on P2 periods

//

If RangHisto>= P1+P2-1 Then

StanDev(0)=StandarDeviation(MogRegLin,P2)

EndIf

//4---- "Mogalef" Bands

//

If RangHisto>=P1+P2 Then

If MogRegLinMogB(1) // NO LAG if Lin Reg is within inside bands

Then

StanDev=StanDev(1)

MogM=MogM(1)

MogH=MogH(1)

MogB=MogB(1)

IfNot // shift/lag when computing new band values

MogM=MogRegLin

MogH=MogRegLin+P3*StanDev

MogB=MogRegLin-P3*StanDev

EndIf

EndIf

//end of code

**************************************************************************

other version:

{*********************************************************

Mogalef Bands easy language Multicharts

**********************************************************}

variables: var0(0), var1(0), HighBand(0), LowBand(0), Mediane(0);

var0 = LinearRegValue((Open+High+Low+(2*Close))/5,3,0);

var1 = StandardDev(var0,7,1);

if currentbar=8 then

begin

HighBand = var0 + 2*var1;

LowBand = var0 - 2*var1;

Mediane = var0;

end

else

if var0 HighBand then

begin

HighBand = var0 + 2*var1;

LowBand = var0 - 2*var1;

Mediane = var0;

end;

Plot1(HighBand,"HighBand");

Plot2(LowBand,"LowBand");

Plot3(Mediane,"Mediane");

*********************************************************

other version:

**************************

Mogalef Bands Ninja trader

**************************

#region Using declarations

using System;

using System.ComponentModel;

using System.Diagnostics;

using System.Drawing;

using System.Drawing.Drawing2D;

using System.Xml.Serialization;

using NinjaTrader.Cbi;

using NinjaTrader.Data;

using NinjaTrader.Gui.Chart;

#endregion

// This namespace holds all indicators and is required. Do not change it.

namespace NinjaTrader.Indicator

{

///

/// Enter the description of your new custom indicator here

///

[Description("Enter the description of your new custom indicator here")]

public class MogalefBands : Indicator

{

#region Variables

// Wizard generated variables

// User defined variables (add any user defined variables below)

private DataSeries CPSerie, ESerie, FSerie;

private double nMedian = 0, nHigh = 0, nLow = 0;

private int LinRegPeriode = 3, StdDevPeriode = 7;

#endregion

///

/// This method is used to configure the indicator and is called once before any bar data is loaded.

///

protected override void Initialize()

{

Add(new Plot(Color.FromKnownColor(KnownColor.Orange), PlotStyle.Line, "MMedian"));

Add(new Plot(Color.FromKnownColor(KnownColor.Gray), PlotStyle.Line, "MHigh"));

Add(new Plot(Color.FromKnownColor(KnownColor.Gray), PlotStyle.Line, "MLow"));

Overlay = true;

CPSerie = new DataSeries( this );

ESerie = new DataSeries( this );

FSerie = new DataSeries( this );

}

///

/// Called on each bar update event (incoming tick)

///

protected override void OnBarUpdate()

{

// Use this method for calculating your indicator values. Assign a value to each

// plot below by replacing 'Close[0]' with your own formula.

if (CurrentBar < 8)

{

CPSerie.Set((Open[0] + High[0] + Low[0] + (2*Close[0]))/5);

nMedian = CPSerie[0];

nHigh = 0;

nLow = 0;

return;

}

CPSerie.Set((Open[0] + High[0] + Low[0] + (2*Close[0]))/5);

if (CurrentBar > 8 + StdDevPeriode)

{

FSerie.Set(LinReg(CPSerie,LinRegPeriode)[0]);

ESerie.Set(StdDev(FSerie,StdDevPeriode)[0]);

}

else

{

FSerie.Set(CPSerie[0]);

ESerie.Set(0);

}

if (FSerie[0] nHigh)

{

nMedian = FSerie[0];

nHigh = nMedian + (2*ESerie[0]);

nLow = nMedian - (2*ESerie[0]);

}

MMedian.Set(nMedian);

MHigh.Set(nHigh);

MLow.Set(nLow);

}

#region Properties

// this line prevents the data series from being displayed in the indicator properties dialog, do not remove

[XmlIgnore()] // this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove

public DataSeries MMedian

{

get { return Values[0]; }

}

// this line prevents the data series from being displayed in the indicator properties dialog, do not remove

[XmlIgnore()] // this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove

public DataSeries MHigh

{

get { return Values[1]; }

}

// this line prevents the data series from being displayed in the indicator properties dialog, do not remove

[XmlIgnore()] // this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove

public DataSeries MLow

{

get { return Values[2]; }

}

[Description("")]

[Category("Parameters")]

[Gui.Design.DisplayName("LinReg periode")]

public int LinRegPERIODE

{

get { return LinRegPeriode; }

set { LinRegPeriode = Math.Max(1, value); }

}

[Description("")]

[Category("Parameters")]

[Gui.Design.DisplayName("StdDev periode")]

public int StdDevPERIODE

{

get { return StdDevPeriode; }

set { StdDevPeriode = Math.Max(1, value); }

}

#endregion

}

}

******************************************************************

******************************************************************
Archivos adjuntos:
 

Bandas de Mogalef

Mladen,

Muchas gracias, esto es perfecto

Que tengas un buen día

devinci

 

Y ahora un histo si es posible por favor

Hola Mladen,

Puedes por favor hacer de 2 QQE avanzados en diferentes marcos de tiempo el mismo histograma que hiciste antes con el QQE simple (con barras rojas verdes y grises)

Gracias de antemano

 

Bandas Mogalef

BTW Buena descripción de las Mogalef Bands y cómo usarlas aquí http://www.whselfinvest.com/en/trading_strategies_26_Mogalef_Bands.php Disfruta.

Razón de la queja: