Indicadores de elite :) - página 383

 

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

TepeFinans:
Olá Mladen

Índice de Vigor Relativo

Divergência

???
Arquivos anexados:
 

Olá Mladen

Obrigado

mladen:
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
 

QQE avançado

Esta é uma tentativa de tornar um indicadorú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

0 - rsi "regular

1 - Wilder's rsi

2 - rsx

3 - Cuttler rsi

Além disso, mesmo um preço muito suave pré-suave está dando resultados bastante interessantes: aqui está uma comparação de um QQE "regulr" com um QQE avançado com o QQE de 3 períodos pré-suave(MaPeriodset a 3) rsi usado no cálculo

ou as mesmas configurações 1 hora em um gráfico de 15 minutos (agora dias em que as pessoas estavam procurando balanços, parece que uma olhada em algo assim pode ter ajudado a evitar alguns erros)

Arquivos anexados:
qqe_adv_1.gif  24 kb
qqe_adv_2.gif  20 kb
 

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

 
mladen:
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

setas, 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

}

}

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

******************************************************************
Arquivos anexados:
example1.png  37 kb
 

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

devinci:
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

}

}

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

******************************************************************
Arquivos anexados:
 

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.

Razão: