Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
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
Ciao Mladen
Indice di Vigore Relativo
Divergenza
???Ciao Mladen
Grazie
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
MladenQQE 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
Mladen, gentile richiesta
caro Mladen,
Mi dispiacerebbe convertire l'indicatore qqe in barra colorata! Come quello precedente.C
Grazie in anticipo
Tuo,
khaliddxd
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
Mladenfrecce, 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
}
}
******************************************************************
******************************************************************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
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
}
}
******************************************************************
******************************************************************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.