Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 977

 
Vadim_2015:


Siehe die Hilfe zu den Funktionen und das Forum für Beispiele zu ihrer Verwendung:

1. iHighest/iLowest
- um Verwirrung zu vermeiden, geben diese Funktionen einen Index zurück, der dem Höchst-/Mindestpreis entspricht.
Dann sollten Sie deren Werte in High[] / Low[] eintragen. Im Forum finden Sie eine Vielzahl von Beispielen.

2. iBarShift
 

Wir danken Ihnen für Ihr Feedback.

1_Ja, ich habe versucht, _iHighest zu verwenden, aber es gibt den Index (Taktnummer) des höchsten gefundenen Wertes zurück (Offset relativ zum "aktuellen Takt"). Was ich meine, ist, dass eine bestimmte Bedingung beim i-ten Balken erfüllt ist, dieser Balken entspricht der Zeit, sagen wir 10:00, ich brauche den Maximalwert von _10:00 bis zum Ende des Tages _00:00. Wenn Sie können, zumindest ein wenig kritzeln, wie? Wie verknüpft man iHighest High[] / Low[], von dem Sie sprachen.

2_iBarShift gibt schließlich den Index des Balkens zurück, in den der angegebene Zeitpunkt fällt. Der Index eines Balkens. Ich meinte, dass Sie berechnen müssen, wie viele Balken es in der Historie (im Diagramm) gibt, mit einer bestimmten Zeit_12:00_13:00_14:00, usw. Auch iBars ist nicht dasselbe.

atztek:

Siehe die Hilfe für die Funktionen und das Forum für Beispiele, die sie verwenden:

1. iHighest/iLowest
- um Verwirrung zu vermeiden, geben diese Funktionen einen Index zurück, der dem Höchst-/Mindestpreis entspricht.
Dann sollten Sie deren Werte in High[] / Low[] eintragen. Im Forum finden Sie eine Vielzahl von Beispielen.

2. iBarShift

 
Vadim_2015:

Wir danken Ihnen für Ihr Feedback.

1_Ja, ich habe versucht, _iHighest zu verwenden, aber es gibt den Index des höchsten gefundenen Wertes zurück (Offset relativ zum "aktuellen Takt"). Was ich meine, ist, dass eine bestimmte Bedingung am i-ten Balken eingetreten ist, dieser Balken entspricht der Zeit, sagen wir 10:00, ich brauche das Maximum von _10:00 bis zum Ende des Tages _00:00. Wenn Sie können, zumindest ein wenig kritzeln, wie? Wie verknüpft man iHighest High[] / Low[], von dem Sie sprachen.

2_ iBarShift gibt schließlich den Index des Balkens zurück, in den der angegebene Zeitpunkt fällt. Der Index eines Balkens. Ich meinte, dass Sie berechnen müssen, wie viele Balken es in der Historie (im Diagramm) gibt, mit einer bestimmten Zeit_12:00_13:00_14:00, usw. Auch iBars ist nicht dasselbe.

1. Für das von Ihnen betrachtete Segment gibt iHighest einen Wert zurück, der in einer Variablen, z. B. "Index_Max", gespeichert werden kann. Um den Wert zu erhalten, müssen Sie eine einfache => Hoch[Index_Max] Operation durchführen.

2. iBarShift gibt die Anzahl der Takte bis zum angegebenen Zeitpunkt zurück.

Vergessen Sie für eine Weile, was Sie programmieren müssen, erstellen Sie kleine Beispiele für jeden Fall und zeigen Sie anhand dieser Beispiele, wie es funktioniert.
 
atztek:
1. In dem von Ihnen betrachteten Abschnitt wird iHighest einen Wert zurückgeben, der in einer Variablen, z. B. "Index_Max", gespeichert werden kann. Um den Wert zu erhalten, müssen Sie eine einfache => Hoch[Index_Max] Operation durchführen.

2. iBarShift gibt die Anzahl der Takte bis zum angegebenen Zeitpunkt zurück.

Vergessen Sie für eine Weile, was Sie programmieren müssen, erstellen Sie kleine Beispiele für jeden Fall und zeigen Sie anhand dieser Beispiele, wie es funktioniert.

Vielleicht verstehe ich etwas nicht, aber ich ...MQL4 Handbuch/Zugriff auf Zeitreihen und Indikatoren/ iBarShift

"iBarShift - Suche nach Bar nach Zeit. Die Funktion gibt den Index des Balkens zurück, in den die angegebene Zeit fällt.

Der zurückgegebene Wert -Index des Balkens, in dendie angegebene Zeit fällt.Gibt es für den angegebenen Zeitpunkt keinen Balken ("Loch" in der Historie), gibt die Funktion -1 oder den Index des nächstgelegenen Balkens zurück." ,

nicht die Anzahl der Takte vor dem angegebenen Zeitpunkt.

Ja, ich benutze die Beispiele schon, aber es ist alles falsch. Ich habe verschiedene Funktionen ausprobiert. Ich werde Ihre Version ausprobieren. Was muss ich bei der Berechnung der Balkenzeit beachten? Wie sind sie zu berechnen?

Ich danke Ihnen!

 
Vadim_2015:


Vielleicht verstehe ich etwas nicht, aber ich ...MQL4 Handbuch/Zugriff auf Zeitreihen und Indikatoren/ iBarShift

"iBarShift - Suche nach Bar nach Zeit. Die Funktion gibt den Index des Balkens zurück, in den die angegebene Zeit fällt.

Der zurückgegebene Wert -Index des Balkens, in dendie angegebene Zeit fällt.Gibt es für den angegebenen Zeitpunkt keinen Balken ("Loch" in der Historie), gibt die Funktion -1 oder den Index des nächstgelegenen Balkens zurück." ,

nicht die Anzahl der Takte vor dem angegebenen Zeitpunkt.

Ja, ich benutze die Beispiele schon, aber es ist alles falsch. Ich habe verschiedene Funktionen ausprobiert. Ich werde Ihre Version ausprobieren. Was muss ich bei der Berechnung der Balkenzeit beachten? Wie sind sie zu berechnen?

Ich danke Ihnen!

Sie haben Recht, aber wenn Sie den Balkenindex kennen, können Sie auch die Anzahl der Balken im Diagramm herausfinden, oder?
 
Vadim_2015:

2_ nicht alle, entschuldigen Sie meine Unverschämtheit, gibt es eine Funktion 'iBars'( Gibt die Anzahl der Bars in der Geschichte für das entsprechende Symbol und Zeitraum). Können Sie mir bitte sagen, welche Kombination von Funktionen nicht nur die Anzahl der Balken mit der Zeit, sagen wir '12:00' oder sagen wir '15:00' in history(PERIOD_H1) berechnen kann, sondern auch wie viele Balken mit der Zeit.

12:00 und / oder 15:00 findet nur einmal am Tag statt. Wenn wir also die Anzahl der Balken oder die Nummer des letzten Balkens der Periode PERIOD_D1 definieren , wird es die Anzahl der Balken mit der Uhrzeit 12:00 oder einer anderen Uhrzeit sein.

Dies mag auf den ersten Blick nicht ganz klar sein, aber der Algorithmus sieht ungefähr wie folgt aus:

Wir definieren den Zeitpunkt des ältesten Balkens der aktuellen Periode mit Bars. datetime time = Time[Bars-1];

Definition der Taktnummer iBarShift(_Symbol, PERIOD_D1, time, false);

 
Wie erkenne ich das aktuell aktive Diagrammsymbol? D.h. die Karte, deren Registerkarte/Fenster gerade aktiv ist, und nicht die, an die der Indikator/Experte angehängt ist. D.h. der Expert Advisor, der auf einem Chart arbeitet, kennt das Symbol des Charts, das der Benutzer ausgewählt hat.
 
r772ra:
vielleicht.
ICH DANKE IHNEN VIELMALS!
 
AlexPORT:
Wie erkenne ich das aktuell aktive Diagrammsymbol? D.h. die Karte, deren Registerkarte/Fenster gerade aktiv ist, und nicht die, an die der Indikator/Experte angehängt ist. D.h. der Expert Advisor, der auf einem Chart arbeitet, kennt das Symbol des Charts, das der Benutzer ausgewählt hat.
Es gibt nichts, was das programmatisch aktive Diagrammsymbol definiert. Sie können nur das Symbol des Charts definieren, auf dem der Indikator/Berater arbeitet _Symbol, Symbol().
 

AlexeyVik:

Es mag auf den ersten Blick keinen Sinn ergeben, aber der Algorithmus sieht ungefähr so aus:

Ermitteln Sie den Zeitpunkt des ältesten Balkens der aktuellen Periode mit Bars. datetime time = Time[Bars-1];

Definition der Taktnummer iBarShift(_Symbol, PERIOD_D1, time, false);

Der Algorithmus ist klar, ich habe ihn herausgefunden. Ich habe ein Beispiel dafür gemacht, und es funktioniert.

Herzlichen Dank!

Und könnten Sie in Bezug auf die erste Frage (zu den Maxima) genauer erklären, wie man sie umsetzen kann? Wenn möglich, geben Sie mir bitte einen kleinen Algorithmus. Sie sind gut darin :)