Elite-Indikatoren :) - Seite 383

 

TepeFinans

Bitte sehr

Ich möchte nur erklären, warum der Name "generisch" ist: Ich habe nicht den "Standard"-Indikator verwendet, der von Metatrader zur Verfügung gestellt wird, sondern ich verwende eine Version, die verschiedene Zeiträume für die Glättung von Werten und Signalen erlaubt. Die Glättung, die sowohl für die Werte als auch für die Signale verwendet wird, ist der dreieckige gleitende Durchschnitt (der "reguläre" dreieckige gleitende Durchschnitt, nicht der zentrierte, so dass keine Neuberechnung stattfindet) und ist standardmäßig so eingestellt, dass sie mit der des eingebauten Indikators übereinstimmt, aber auch das Experimentieren mit verschiedenen Glättungslängen ermöglicht.

Anbei ein einfacher Indikator sowie eine Version mit mtf, Alarmen und Divergenzlinien. Anhängen der "einfachen Version, damit diese Version einfach mit dem standardmäßig eingebauten Indikator vergleichbar ist. Wenn Sie nach Divergenzen suchen, ist es eine gute Idee, die Glättung des rvi zu deaktivieren (setzen Sie die Glättungsperiode auf 1), da auf diese Weise die Verzögerung des "rohen rvi"-Wertes minimal ist und die Identifizierung der Spitzen viel präziser ist als im geglätteten Modus, Aber seien Sie sich bewusst, dass es sich dann um ein "raw rvi" und nicht um ein rvi handelt (hier ist ein Vergleich der Divergenzen eines regulären rvi (oben) und eines "raw rvi" (unten) - wie man sieht, erledigt das raw die Aufgabe präziser, wenn es um Divergenzen geht, und auf diese Weise wird die "generische" Version ein bisschen nützlicher

Mit freundlichen Grüßen

Mladen

TepeFinans:
Hallo Mladen

Relativer Vigor-Index

Divergenz

???
Dateien:
 

Hallo Mladen

danke

mladen:
TepeFinans

Bitte sehr

Ich möchte nur erklären, warum "generisch" im Namen: Ich habe nicht die "Standard"-Indikator, der von metatrader zur Verfügung gestellt wird, aber ich benutze eine Version, die verschiedene Zeitraum der Werte und Signale Glättung erlaubt. Die Glättung, die sowohl für die Werte als auch für die Signale verwendet wird, ist der dreieckige gleitende Durchschnitt (der "reguläre" dreieckige gleitende Durchschnitt, nicht der zentrierte, so dass keine Neuberechnung stattfindet) und ist standardmäßig so eingestellt, dass sie mit der des eingebauten Indikators übereinstimmt, aber auch das Experimentieren mit verschiedenen Glättungslängen ermöglicht.

Anbei ein einfacher Indikator sowie eine Version mit mtf, Alarmen und Divergenzlinien. Anhängen der "einfachen Version, damit diese Version einfach mit dem standardmäßig eingebauten Indikator vergleichbar ist. Wenn Sie nach Divergenzen suchen, ist es eine gute Idee, die Glättung des rvi zu deaktivieren (setzen Sie die Glättungsperiode auf 1), da auf diese Weise die Verzögerung des "rohen rvi"-Wertes minimal ist und die Identifizierung der Spitzen viel präziser ist als im geglätteten Modus, Aber seien Sie sich bewusst, dass es sich dann um ein "raw rvi" und nicht um ein rvi handelt (hier ist ein Vergleich der Divergenzen eines regulären rvi (oben) und eines "raw rvi" (unten) - wie man sieht, erledigt das raw die Aufgabe präziser, wenn es um Divergenzen geht, und auf diese Weise wird die "generische" Version ein bisschen nützlicher

Mit freundlichen Grüßen

Mladen
 

QQE fortgeschritten

Dies ist ein Versuch, einen bereits nützlichen Indikator noch ein wenig nützlicher zu machen


Zu QQE hinzugefügte Dinge: Möglichkeit, den Preis zu wählen und zu glätten (filtern), bevor er in der Berechnung verwendet wird, und Möglichkeit, einen anderen als den eingebauten Metatrader-Rsi zu verwenden. Eingebaute Metatrader rsi unterscheidet sich von einem ursprünglichen Welles Wilder's rsi und ich beschloss, die Standard-Rsi-Typ in QQE Berechnung Wilder's rsi aus mehr als einem Grund verwendet setzen. Wie üblich, können rsi Methoden sein

0 - "normaler" rsi

1 - Wilder's rsi

2 - rsx

3 - Cuttler rsi

Auch eine sehr milde Preisvorglättung führt zu interessanten Ergebnissen: hier ist ein Vergleich eines "regulr" QQE mit einem fortgeschrittenen QQE mit Wilder's 3-Perioden-Vorglättung(MaPeriodset auf 3) rsi in der Berechnung

oder die gleichen Einstellungen eines 1-Stunden-Indikators auf einem 15-Minuten-Chart (heutzutage, wo die Leute nach Schwankungen suchen, hätte ein Blick auf so etwas vielleicht geholfen, einige Fehler zu vermeiden)

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

Mladen, Freundliche Anfrage

lieber Mladen,

Würde es Dir etwas ausmachen, den qqe Indikator in einen farbigen Balken umzuwandeln ! Wie der vorherige.C

Ich danke Ihnen im Voraus

Ihr,

khaliddxd

 
mladen:
TepeFinans

Hier geht's

Ich möchte nur erklären, warum "generisch" im Namen: Ich habe nicht die "Standard"-Indikator, der von metatrader zur Verfügung gestellt wird, sondern bin mit einer Version, die verschiedene Zeitraum von Werten und Signalen Glättung erlaubt. Die Glättung, die sowohl für die Werte als auch für die Signale verwendet wird, ist der dreieckige gleitende Durchschnitt (der "reguläre" dreieckige gleitende Durchschnitt, nicht der zentrierte, so dass keine Neuberechnung stattfindet) und ist standardmäßig so eingestellt, dass sie mit der des eingebauten Indikators übereinstimmt, aber auch das Experimentieren mit verschiedenen Glättungslängen ermöglicht.

Anbei ein einfacher Indikator sowie eine Version mit mtf, Alarmen und Divergenzlinien. Anhängen der "einfachen Version, damit diese Version einfach mit dem standardmäßig eingebauten Indikator vergleichbar ist. Wenn Sie nach Divergenzen suchen, ist es eine gute Idee, die Glättung des rvi zu deaktivieren (setzen Sie die Glättungsperiode auf 1), da auf diese Weise die Verzögerung des "rohen rvi"-Wertes minimal ist und die Identifizierung der Spitzen viel präziser ist als im geglätteten Modus, Aber seien Sie sich bewusst, dass es sich dann um ein "raw rvi" und nicht um ein rvi handelt (hier ist ein Vergleich der Divergenzen eines regulären rvi (oben) und eines "raw rvi" (unten) - wie man sieht, erledigt das raw die Aufgabe präziser, wenn es um Divergenzen geht, und auf diese Weise wird die "generische" Version ein bisschen nützlicher

Mit freundlichen Grüßen

Mladen

Pfeile, bitte? (dasselbe gilt bitte für Mladens neue QQE)

 

Antrag auf einen weiteren neuen Indi

Mladen,

Hier ist eine Anfrage für einen weiteren neuen Indikator namens Mogalef Bands

Dieser Code wurde im Mai dieses Jahres auf einem Tradertreffen veröffentlicht.

Es gibt jetzt verschiedene Versionen in den Foren dafür: Ninja, PRT, GraphAT (siehe angehängte Dokumente) usw.

aber die GrapAT Version scheint OK zu sein

Könnten Sie bitte eine Mql4-Übersetzung dieses Codes anfertigen, ich denke, es wird allen gefallen...

Bei Bedarf können Sie gerne Ihre eigenen Änderungen vornehmen.

Vielen Dank!

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

}

}

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

******************************************************************
Dateien:
example1.png  37 kb
 

devinci

Hier gehen Sie Verwendete Standard-Parameter, die sie verwenden und fügte den Preis, den sie verwenden (die (High+Low+Open+2*Close)/5, die nicht in Metatrader existiert) Verwenden Sie 8 in BandsPrice Parameter, um diesen Preis zu erhalten.

PS: Ich habe Ihren Beitrag bearbeitet, um ihn "visuell kürzer" zu machen. Sonst wurde nichts geändert. Ich hoffe, es macht Ihnen nichts aus

Viele Grüße

Mladen

devinci:
Mladen,

Hier ist eine Anfrage für einen weiteren neuen Indikator namens Mogalef-Bänder

Dieser Code wurde im Mai dieses Jahres auf einem Tradertreffen veröffentlicht.

Es gibt jetzt verschiedene Versionen in den Foren dafür: Ninja, PRT, GraphAT (siehe angehängte Dokumente) usw.

aber die GrapAT Version scheint OK zu sein

Könnten Sie bitte eine Mql4-Übersetzung dieses Codes anfertigen, ich denke, es wird allen gefallen...

Bei Bedarf können Sie gerne Ihre eigenen Änderungen vornehmen.

Vielen Dank!

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

}

}

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

******************************************************************
Dateien:
 

Mogalef-Bands

Mladen,

Vielen Dank, das ist perfekt.

Einen schönen Tag noch

devinci

 

Und jetzt noch ein Histo, wenn möglich bitte

Hallo Mladen,

Kannst du bitte aus 2 QQE advanced in verschiedenen Zeitrahmen das gleiche Histogramm machen, das du vorher mit dem einfachen QQE gemacht hast (mit roten, grünen und grauen Balken)

Vielen Dank im Voraus

 

Mogalef-Bänder

BTW Schöne Beschreibung von Mogalef Bands und wie man sie benutzt hier http://www.whselfinvest.com/en/trading_strategies_26_Mogalef_Bands.php Viel Spaß.