Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
TepeFinans
Aqui você vai
Gostaria apenas de explicar porque "genérico" no nome : não usei o indicador "padrão" que é fornecido pelo metatrader, mas estou usando uma versão que permite diferentes períodos de valores e sinais suavizantes. O alisamento usado tanto para valores quanto para sinais é a média móvel triangular (a média móvel triangular "regular" e não a centralizada, portanto não há recálculo algum) e é definido por padrão para ser o mesmo que o indicador embutido, mas também permite experimentar com diferentes comprimentos de alisamento.
Anexando um indicador simples assim como uma versão com mtf, alertas e linhas de divergência também. Anexando a "versão simples para que essa versão seja simplesmente comparável ao indicador embutido padrão". Também, ao procurar divergências, pode ser uma boa idéia tornar o alisamento de rvi (definir o período de alisamento para 1), uma vez que dessa forma o atraso do valor "rvi bruto" é mínimo e, dessa forma, a identificação de espiões é muito mais precisa do que no modo alisado, mas esteja ciente de que se trata então de um "rvi bruto" e não rvi (aqui está uma comparação de divergências rvi (superior) e "rvi bruto" (inferior) - como é visível o bruto está fazendo o trabalho mais preciso quando se trata de divergência e desta forma a versão "genérica" se torna um pouco mais útil
cumprimentos
Mladen
Olá Mladen
Índice de Vigor Relativo
Divergência
???Olá Mladen
Obrigado
TepeFinans
Aqui você vai
Gostaria apenas de explicar porque "genérico" no nome : não usei o indicador "padrão" que é fornecido pelo metatrader, mas estou usando uma versão que permite diferentes períodos de valores e sinais suavizantes. O alisamento usado tanto para valores quanto para sinais é a média móvel triangular (a média móvel triangular "regular" e não a centralizada, portanto não há recálculo algum) e é definido por padrão para ser o mesmo que o indicador embutido, mas também permite experimentar com diferentes comprimentos de alisamento.
Anexando um indicador simples assim como uma versão com mtf, alertas e linhas de divergência também. Anexando a "versão simples para que essa versão seja simplesmente comparável ao indicador embutido padrão". Também, ao procurar divergências, pode ser uma boa idéia tornar o alisamento de rvi (definir o período de alisamento para 1), uma vez que dessa forma o atraso do valor "rvi bruto" é mínimo e, dessa forma, a identificação de espiões é muito mais precisa do que no modo alisado, mas esteja ciente de que se trata então de um "rvi bruto" e não rvi (aqui está uma comparação de divergências rvi (superior) e "rvi bruto" (inferior) - como é visível o bruto está fazendo o trabalho mais preciso quando se trata de divergência e desta forma a versão "genérica" se torna um pouco mais útil
cumprimentos
MladenQQE avançado
Esta é uma tentativa de tornar um indicador já útil um pouco mais útil
Coisas adicionadas ao QQE: possibilidade de escolher e suavizar o preço (filtro) antes de ser usado no cálculo e possibilidade de usar outro que não seja o metatrader rsi construído em metatrader. O rsi construído em metatrader rsi difere do rsi original de um Welles Wilder e eu decidi definir o tipo rsi padrão usado no cálculo do QQE rsi de Wilder por mais de um motivo. Como de costume, os métodos de rsi podem ser
Mladen, Bondoso pedido
caro Mladen,
Importa-se de converter o indicador qqe em barra colorida! Como o anterior.C
Obrigado de antemão
Seu,
khaliddxd
TepeFinans
Aqui você vai
Gostaria apenas de explicar porque "genérico" no nome : não usei o indicador "padrão" que é fornecido pelo metatrader, mas estou usando uma versão que permite diferentes períodos de valores e sinais suavizantes. O alisamento usado tanto para valores quanto para sinais é a média móvel triangular (a média móvel triangular "regular" e não a centralizada, portanto não há recálculo algum) e é definido por padrão para ser o mesmo que o indicador embutido, mas também permite experimentar com diferentes comprimentos de alisamento.
Anexando um indicador simples assim como uma versão com mtf, alertas e linhas de divergência também. Anexando a "versão simples para que essa versão seja simplesmente comparável ao indicador embutido padrão". Também, ao procurar divergências, pode ser uma boa idéia tornar o alisamento de rvi (definir o período de alisamento para 1), uma vez que dessa forma o atraso do valor "rvi bruto" é mínimo e, dessa forma, a identificação de espiões é muito mais precisa do que no modo alisado, mas esteja ciente de que se trata então de um "rvi bruto" e não rvi (aqui está uma comparação de divergências rvi (superior) e "rvi bruto" (inferior) - como é visível o bruto está fazendo o trabalho mais preciso quando se trata de divergência e desta forma a versão "genérica" se torna um pouco mais útil
cumprimentos
Mladensetas, por favor... (o mesmo para o novo QQE da Mladen, por favor)
Solicitação de outro novo indi
Mladen,
Aqui está um pedido para outro novo indicador chamado bandas Mogalef
Este código foi tornado público em maio deste ano em uma reunião de comerciantes
São versões diferentes em fóruns para isso agora: Ninja, PRT, GraphAT (ver documentos anexos), etc.
mas a versão GrapAT parece OK
Poderia por favor fazer uma tradução Mql4 deste código, acho que todos vão gostar...
Por favor, sinta-se à vontade para fazer sua própria modificação, se necessário
Obrigado
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
Aqui você vai Usaram parâmetros padrão que estão usando e adicionaram o preço que estão usando (o parâmetro (Alto+Baixo+Baixo+Abrir+2*Fechar)/5 que não existe no metatrader) Use 8 no parâmetro BandsPrice para obter esse preço.
PS: Eu editei seu post para torná-lo "visualmente mais curto". Nada mais foi alterado nele. Espero que você não se importe.
cumprimentos
Mladen
Mladen,
Aqui está um pedido para outro novo indicador chamado bandas Mogalef
Este código foi tornado público em maio deste ano em uma reunião de comerciantes
São versões diferentes em fóruns para isso agora: Ninja, PRT, GraphAT (ver documentos anexos), etc.
mas a versão GrapAT parece OK
Poderia por favor fazer uma tradução Mql4 deste código, acho que todos vão gostar...
Por favor, sinta-se à vontade para fazer sua própria modificação, se necessário
Obrigado
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
}
}
******************************************************************
******************************************************************Faixas de Mogalef
Mladen,
Muito obrigado, isto é perfeito.
Tenha um bom dia
devinci
E agora um histo se possível, por favor.
Olá, Mladen,
Você pode, por favor, fazer a partir de 2 QQE avançados em diferentes períodos de tempo o mesmo histograma que você fez antes com o QQE simples (com barras verdes vermelhas e cinzas)
Obrigado de antemão
Bandas de Mogalef
BTW Bela descrição das Bandas Mogalef e como utilizá-las aqui http://www.whselfinvest.com/en/trading_strategies_26_Mogalef_Bands.php Aproveite.