Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
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
Hola Mladen
Índice de vigor relativo
Divergencia
???Hola Mladen
Gracias
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
MladenQQE 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
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
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
Mladenflechas, 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
}
}
******************************************************************
******************************************************************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
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
}
}
******************************************************************
******************************************************************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.