Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL5 (http://www.expert-advisor.com/forum/forumdisplay.php?f=221)
-   -   Standard Deviation Mittelwert ermitteln (http://www.expert-advisor.com/forum/showthread.php?t=7337)

3crows 02.07.23 20:35

Standard Deviation Mittelwert ermitteln
 
Hallo,

könnte mir jemand verraten wie ich nach ermittelter höchsten und niedrigsten Kerze (Deviationswert) die Kerzenzahl in den Deviationswert umwandle?

Höchste und niedrigste Kerze hab ich mit ArrayMaximum/Minimum ermittelt.

Nun fehlt mir die Idee wie ich die ermittelte Kerze (Int) in double und den Deviationswert umwandle.


Vg

3crows 02.07.23 22:06

Code:

double StdDevBuffer[];

ArraySetAsSeries(StdDevBuffer,true);

CopyBuffer(StdDev,0,0,70,StdDevBuffer);

double StdDevBufferWert =NormalizeDouble(StdDevBuffer[0],6);

int StdDevHoechst = ArrayMaximum(StdDevBuffer,0,WHOLE_ARRAY);

Comment(StdDevHoechst);

Im Test bekomme ich z.B. die Zahl 18 (Kerze 18) und wenn ich im Indikator kontrolliere, ist die 18. auch der Höchste Wert im Indikator.

Jetzt würde ich aber gerne den Wert aus dem Indikator benutzen, um mit dem niedrigsten Wert einen Mittelwert zu ermitteln.

Den Price bekomme ich mit "PriceInformation" , aber ich möchte halt die Zahl der Standard Deviation haben.

Wie filtere ich jetzt aus dem Array bzw. wie kann ich mir den Wert der 18. Kerze zur Berechnung anzeigen lassen?

Indikator-Trading 03.07.23 08:29

Könntest du etwas besser beschreiben, was genau du möchten und errechnen möchtest. Mit "Jetzt würde ich aber gerne den Wert aus dem Indikator benutzen, um mit dem niedrigsten Wert einen Mittelwert zu ermitteln"
meinst.
Neben ArrayMaximum() gbit es auch ArrayMinimum(). Vielleicht hilft dir das schon bei deinem Problem weiter ?!?

3crows 03.07.23 10:28

Hallo Indikator Trading,

in meinem Codeschnipsel hat das Array eine Größe von 70 Bars. Mit ArrayMaximum und ArrayMinimum finde ich in den letzten 70 Kerzen den höchsten und den niedrigsten Wert (Bar) der Standard Deviation. Lasse ich mir die Anzeigen mit Comment , sehe ich aber nur den Integerwert der Kerze. Ich brauche aber nicht die Nummer der Kerze sondern, den Standard Deviationswert z.B. 0.000456 . Mit dem höchsten und den niedrigsten Wert der letzten 70 Bars möchte ich den Mittelwert der Standard Deviation ermitteln. Ich möchte schauen ob ich damit eine Strategie umsetzen kann, und somit volatile Märkte im ea erkennen kann.

VG
3crows

Indikator-Trading 04.07.23 11:49

Mit ArrayMaximum und ArrayMinium bekommst du den Index von dem Element, welches den maximalen oder minimalen Wert enthält. Über diesen Index kommst du auch an den Wert, wenn du das entsprechende Element abrufst.

Code:

      double StdDevBuffer[];

      ArraySetAsSeries(StdDevBuffer, true);
     
      int StdDevHoechst = ArrayMaximum(StdDevBuffer, 0, WHOLE_ARRAY);

      Comment("Index vom Maximalwert: " + StdDevHoechst + "\nWert vom Maximalwert: " + StdDevBuffer[StdDevHoechst]);


3crows 04.07.23 16:38

Vielen Dank

So einfach und ich habe mir so den Kopf zerbrochen.

Code:

StdDevBuffer[StdDevHoechst]
Vielen Dank


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:16 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum