Indicatori Elite :) - pagina 383

 

TepeFinans

Ecco a voi

Vorrei solo spiegare perché "generico" nel nome: non ho usato l'indicatore "di default" che viene fornito da metatrader ma sto usando una versione che permette diversi periodi di valori e segnali di smoothing. Lo smoothing utilizzato sia per i valori che per i segnali è la media mobile triangolare (la media mobile triangolare "regolare" non quella centrata, quindi non c'è nessun tipo di ricalcolo) ed è impostata di default come quella dell'indicatore integrato ma permette anche di sperimentare diverse lunghezze di smoothing.

Allego un indicatore semplice e anche una versione con mtf, avvisi e linee di divergenza. Allegando la "versione semplice in modo che quella versione sia semplicemente paragonabile all'indicatore predefinito incorporato. Inoltre, quando si cercano le divergenze, potrebbe essere una buona idea attivare lo smoothing rvi (impostare il periodo liscio a 1) poiché in questo modo il ritardo del valore "raw rvi" è minimo e in questo modo l'identificazione del peek è molto più precisa che nella modalità lisciata, ma attenzione che si tratta di un "raw rvi" e non di un rvi (ecco un confronto tra un normale rvi (in alto) e le divergenze "raw rvi" (in basso) - come è visibile il raw sta facendo il lavoro più preciso quando si tratta di divergenze e in questo modo la versione "generica" diventa un po' più utile

saluti

Mladen

TepeFinans:
Ciao Mladen

Indice di Vigore Relativo

Divergenza

???
File:
 

Ciao Mladen

Grazie

mladen:
TepeFinans

Ecco qui

Vorrei solo spiegare perché "generico" nel nome: non ho usato l'indicatore "di default" che viene fornito da metatrader ma sto usando una versione che permette un periodo diverso di valori e segnali di smoothing. Lo smoothing utilizzato sia per i valori che per i segnali è la media mobile triangolare (la media mobile triangolare "regolare" non quella centrata, quindi non c'è nessun tipo di ricalcolo) ed è impostata di default come quella dell'indicatore integrato ma permette anche di sperimentare diverse lunghezze di smoothing.

Allego un indicatore semplice e anche una versione con mtf, avvisi e linee di divergenza. Allegando la "versione semplice in modo che quella versione sia semplicemente paragonabile all'indicatore predefinito incorporato. Inoltre, quando si cercano le divergenze, potrebbe essere una buona idea attivare lo smoothing rvi (impostare il periodo liscio a 1) poiché in questo modo il ritardo del valore "raw rvi" è minimo e in questo modo l'identificazione del peek è molto più precisa che nella modalità lisciata, ma attenzione che si tratta di un "raw rvi" e non di un rvi (ecco un confronto tra un normale rvi (in alto) e le divergenze "raw rvi" (in basso) - come è visibile il raw sta facendo il lavoro più preciso quando si tratta di divergenze e in questo modo la versione "generica" diventa un po' più utile

saluti

Mladen
 

QQE avanzato

Questo è un tentativo di rendere un indicatore già utile un po' più utile


Cose aggiunte a QQE: possibilità di scegliere e smussare (filtrare) il prezzo prima di essere usato nel calcolo e possibilità di usare altro che l'rsi integrato in metatrader. L'rsi incorporato in metatrader differisce dall'rsi originale di Welles Wilder e ho deciso di impostare il tipo di rsi di default utilizzato nel calcolo di QQE l'rsi di Wilder per più di una ragione. Come al solito, i metodi rsi possono essere

0 - rsi "regolare

1 - rsi di Wilder

2 - rsx

3 - Cuttler rsi

Inoltre, anche un pre-smoothing dei prezzi molto blando sta dando risultati piuttosto interessanti: ecco un confronto tra un QQE "regolare" e un QQE avanzato con l'rsi di Wilder pre-smoothed a 3 periodi(MaPeriodset a 3) usato nel calcolo

oppure le stesse impostazioni dell'indicatore a 1 ora su un grafico a 15 minuti (in questi giorni in cui la gente cercava le oscillazioni sembra che un'occhiata a qualcosa del genere avrebbe potuto aiutare ad evitare alcuni errori)

File:
qqe_adv_1.gif  24 kb
qqe_adv_2.gif  20 kb
 

Mladen, gentile richiesta

caro Mladen,

Mi dispiacerebbe convertire l'indicatore qqe in barra colorata! Come quello precedente.C

Grazie in anticipo

Tuo,

khaliddxd

 
mladen:
TepeFinans

Ecco a voi

Vorrei solo spiegare perché "generico" nel nome: non ho usato l'indicatore "di default" che viene fornito da metatrader ma sto usando una versione che permette diversi periodi di valori e segnali di smoothing. Lo smoothing utilizzato sia per i valori che per i segnali è la media mobile triangolare (la media mobile triangolare "regolare" non quella centrata, quindi non c'è nessun tipo di ricalcolo) ed è impostata di default come quella dell'indicatore integrato ma permette anche di sperimentare diverse lunghezze di smoothing.

Allego un indicatore semplice e anche una versione con mtf, avvisi e linee di divergenza. Allegando la "versione semplice in modo che quella versione sia semplicemente paragonabile all'indicatore predefinito incorporato. Inoltre, quando si cercano le divergenze, potrebbe essere una buona idea attivare lo smoothing rvi (impostare il periodo liscio a 1) poiché in questo modo il ritardo del valore "raw rvi" è minimo e in questo modo l'identificazione del peek è molto più precisa che nella modalità lisciata, ma attenzione che si tratta di un "raw rvi" e non di un rvi (ecco un confronto tra un normale rvi (in alto) e le divergenze "raw rvi" (in basso) - come è visibile il raw sta facendo il lavoro più preciso quando si tratta di divergenze e in questo modo la versione "generica" diventa un po' più utile

saluti

Mladen

frecce, per favore? (lo stesso per il nuovo QQE di Mladen per favore)

 

Richiesta di un altro nuovo indi

Mladen,

Ecco una richiesta per un altro nuovo indicatore chiamato Mogalef bands

Questo codice è stato reso pubblico nel maggio di quest'anno in una riunione di trader

Ci sono diverse versioni sui forum per esso ora: Ninja, PRT, GraphAT (vedi documenti allegati) ecc.

ma la versione di GrapAT sembra OK

Potresti fare una traduzione in Mql4 di questo codice, penso che piacerà a tutti...

Per favore sentitevi liberi di fare le vostre modifiche se necessario

grazie

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

}

}

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

******************************************************************
File:
example1.png  37 kb
 

devinci

Ecco qui Ho usato i parametri di default che stanno usando e ho aggiunto il prezzo che stanno usando (il (High+Low+Open+2*Close)/5 che non esiste in metatrader) Usa 8 nel parametro BandsPrice per ottenere quel prezzo.

PS: Ho modificato il tuo post per renderlo "visivamente più corto". Nient'altro è stato modificato in esso. Spero che non ti dispiaccia

saluti

Mladen

devinci:
Mladen,

Ecco una richiesta per un altro nuovo indicatore chiamato Mogalef bands

Questo codice è stato reso pubblico nel maggio di quest'anno in una riunione di trader

Ci sono diverse versioni sui forum per esso ora: Ninja, PRT, GraphAT (vedi documenti allegati) ecc.

ma la versione di GrapAT sembra OK

Potresti fare una traduzione in Mql4 di questo codice, penso che piacerà a tutti...

Per favore sentitevi liberi di fare le vostre modifiche se necessario

grazie

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

}

}

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

******************************************************************
File:
 

Bande Mogalef

Mladen,

Grazie mille, questo è perfetto

Buona giornata

devinci

 

E ora un isto se possibile

Ciao Mladen,

Puoi per favore fare da 2 QQE avanzate in diversi time frame lo stesso istogramma che hai fatto prima con il QQE semplice (con barre rosse verdi e grigie)

Grazie in anticipo

 

Bande di Mogalef

BTW Bella descrizione dei Mogalef Bands e come usarli qui http://www.whselfinvest.com/en/trading_strategies_26_Mogalef_Bands.php Enjoy.

Motivazione: