[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 366

 

Guten Tag!

Können Sie mir bitte sagen, wie ich 3 Maxima (oder Minima) in einem Diagramm für einen bestimmten Zeitraum finden, sie speichern und für weitere Berechnungen verwenden kann?

Oder geben Sie mir einen Link zu dem Code.

Ich habe im Forum nach dem Code gesucht, aber die Suche hat nicht funktioniert.

Ich danke Ihnen.

 
LOA:

Guten Tag!

Können Sie mir bitte sagen, wie ich 3 Maxima (oder Minima) in einem Diagramm für einen bestimmten Zeitraum finden, sie speichern und für weitere Berechnungen verwenden kann?

Oder geben Sie mir einen Link zu dem Code.

Ich habe im Forum nach dem Code gesucht, aber die Suche hat nicht funktioniert.

Ich danke Ihnen.


Ich habe zum Beispiel für die Eurobucks einen Zeitraum von einem Tag festgelegt. M15 öffnen. Werfen Sie einen Blick auf den Screenshot unten. Die Grenzen des Tages sind durch rote vertikale Linien gekennzeichnet. Der fraktale Indikator zeigt, dass es in diesem Intervall mehr als drei Minima und Maxima gibt. Wie soll also der gesuchte Code herausfinden, welche dieser Extrema Sie benötigen?

 
LOA:

Guten Tag!

Können Sie mir bitte sagen, wie ich 3 Maxima (oder Minima) in einem Diagramm für einen bestimmten Zeitraum finden, sie speichern und für weitere Berechnungen verwenden kann?

Oder geben Sie mir einen Link zu dem Code.

Ich habe im Forum nach dem Code gesucht, aber die Suche hat nicht funktioniert.

Danke.

https://docs.mql4.com/ru/series/iHighest

https://docs.mql4.com/ru/series/iLowest
 

Vladimir und Vadim, vielen Dank für Ihre Antwort!

Ein Maximum finde ich...

1.

mas_UP[]//Array der oberen Extrema.

int index = iHighest(NULL,0,2,MODE_HIGH,20,i);
      double MAX = mas_UP[index];//первый максимум

2. oder so (mit Fraktalen)

int size_up=ArrayRange(mas_UP,0);
      for (s=i;s<=size_up;s++);
      int index=ArrayMaximum(mas_UP);
      double MAX = UP[s];

Aber wie soll man vorgehen? Ich finde es schwierig (ich lerne noch)

Ich kann mir eine Möglichkeit vorstellen, das Element, das als Maximum gefunden wurde, auf Null zu setzen und dann erneut durch dasselbe Array zu blättern - wir werden das zweite Maximum und dann das dritte finden.....

if (MAX>0)
      int n=n+1; //счётчик экстремумов
      mas_UP[index]=0;

Aber ich bin mir nicht sicher, ob das der Fall ist.

 
LOA:

Vladimir und Vadim, vielen Dank für Ihre Antwort!

Ein Maximum finde ich...

1.

2. oder so (mit Fraktalen)

Aber wie soll ich vorgehen? Ich bin ratlos (ich lerne noch).

Ich kann mir eine Möglichkeit vorstellen, das Element, das als Maximum gefunden wurde, auf Null zu setzen und dann erneut durch das gleiche Array zu blättern - das zweite Maximum zu finden, dann das dritte.....

Aber ich bin mir nicht sicher, ob das der Fall ist.


Willst du also die letzten drei Maxima in einem bestimmten Intervall oder ein anderes Maximum?
 
drknn:

Willst du also die letzten drei Maxima in einem bestimmten Intervall oder irgendwelche anderen Maxima?


Drei Höchststände in diesem Zeitraum, nicht der letzte. Oder besser gesagt, nicht unbedingt das Neueste.

 
LOA:


Drei Höchstwerte in einem Zeitraum, nicht der letzte. Oder besser gesagt, nicht unbedingt die letzten.


Oh. Nun, ich gebe Ihnen die volle Herausforderung.

Es gibt ein bestimmtes Zeitintervall. Es werden drei Probenmaxima aus diesem Intervall benötigt.

Um dieses Problem zu lösen, benötigen Sie die folgenden Dinge:

- Ein Algorithmus zur Erkennung der Grenzen eines bestimmten Intervalls

- Ein Algorithmus zum Auffinden von Maxima

- Ein Algorithmus zur Erkennung der gewünschten Maxima aus den gefundenen Maxima.

P.S.

Da Sie vorher nicht wissen, welche Maxima benötigt werden und wie genau die Maxima identifiziert werden, werden Sie keinen fertigen Code finden. Das bedeutet, dass Sie durch das Lösen der oben genannten Probleme nacheinander genau den Code erhalten, den Sie benötigen.

 
drknn:


Oh, Mann. Nun, ich werde Ihnen das ganze Problem schildern.

Es gibt ein bestimmtes Zeitintervall. Sie benötigen drei Maximalwerte aus diesem Intervall.

Um dieses Problem zu lösen, benötigen Sie die folgenden Dinge:

- Ein Algorithmus zur Erkennung der Grenzen eines bestimmten Intervalls

- Ein Algorithmus zum Auffinden von Maxima

- Ein Algorithmus zur Erkennung der richtigen Maxima aus den gefundenen Maxima.


Ein richtig formuliertes Problem ist schon fast eine Lösung. Ich danke Ihnen.

Mit dem ersten kann ich umgehen, mit dem zweiten - auch. Aber der letzte Punkt - ich weiß es ehrlich gesagt nicht, aber ich werde nachdenken.

int n=0;//счётчик максимумов
      if (MAX>0)
      int n=n+1;
      mas_UP[index]=0;

Ist diese Option die richtige Idee, oder sollte ich eine andere Richtung einschlagen, d. h.

um das Element des Arrays, das als Maximum gefunden wurde, auf Null zu setzen, und blättern Sie dann erneut durch dasselbe Array - wir werden das zweite Maximum finden, dann das dritte.....

 
LOA:


Ein richtig formuliertes Problem ist schon fast eine Lösung. Ich danke Ihnen.

Mit dem ersten kann ich umgehen, mit dem zweiten auch. Der letzte Punkt - ich weiß es ehrlich gesagt nicht, aber ich werde darüber nachdenken.

Ist das die richtige Idee, oder muss ich in eine andere Richtung gehen, d. h.

das Element des Arrays, das als Maximum gefunden wurde, auf Null setzen und dann erneut durch dasselbe Array blättern - wir werden das zweite Maximum finden, dann das dritte.....


Interessieren Sie sich im Moment überhaupt nicht für den Code - machen Sie einen Algorithmus - wie genau soll das Programm? Andernfalls werden Sie stagnieren. Jedes Programm ist ein Dummkopf - es braucht präzise Anweisungen. Um dies zu tun, müssen wir genau wissen, was das Programm tun soll. Und erst dann können wir entscheiden, wie wir sie in Programmcode umsetzen.
 
drknn:

Der Code interessiert Sie jetzt vielleicht gar nicht - machen Sie einen Algorithmus - genau wie das Programm ablaufen soll. Andernfalls werden Sie auf der Stelle stagnieren. Jedes Programm ist ein Dummkopf - es braucht präzise Anweisungen. Dazu müssen wir genau wissen, was das Programm tun soll. Und erst dann können wir entscheiden, wie wir sie in Programmcode umsetzen.

Gut. Wir werden den Algorithmus morgen haben, denn es ist bereits halb zwei Uhr morgens in St. Petersburg und wir haben keine Energie mehr.
Grund der Beschwerde: