Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 617
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich habe verschiedene Optionen ausprobiert. Das Ergebnis ist das gleiche. Ich verstehe nicht, wie das passieren kann. Irgendwann beginnt iLowest(NULL,0,MODE_LOW,NumberLastBar_beg,NumberLastBar_end); plötzlich mit der Berechnung eines größeren Taktbereichs. Bitte um Rat, wer es versteht, mein Kopf ist kaputt. Danke.
![](https://c.mql5.com/mql4/forum/2014/05/aumgdsfiqk_small.png)
4:08:36 Zeit+iLowest Test gestartet14:08:36 2004.09.29 00:00 Zeit+iTiefstwert EURUSD,H1: AnzahlLetzteBar_beg= 24 AnzahlLetzteBar_end= 0
14:08:36 2004.09.29 00:00 Zeit+iTiefstwert EURUSD,H1: i=18
14:08:36 2004.09.29 00:00 Zeit+iTiefstwert EURUSD,H1: time_check_low_day=06:00
14:08:39 2004.09.29 01:00 Zeit+iTiefstwert EURUSD,H1: AnzahlLetzteBar_beg= 25 AnzahlLetzteBar_end= 1
14:08:39 2004.09.29 01:00 Zeit+iTiefstwert EURUSD,H1: i=19
14:08:39 2004.09.29 01:00 Zeit+iTiefstwert EURUSD,H1: time_check_low_day=06:00
14:08:39 2004.09.29 02:00 Zeit+iTiefstwert EURUSD,H1: AnzahlLetzteBar_beg= 26 AnzahlLetzteBar_end= 2
14:08:39 2004.09.29 02:00 Zeit+iTiefstwert EURUSD,H1: i=20
14:08:39 2004.09.29 02:00 Zeit+iTiefstwert EURUSD,H1: time_check_low_day=06:00
14:08:40 2004.09.29 03:00 Zeit+iTiefstwert EURUSD,H1: AnzahlLetzteBar_beg= 27 AnzahlLetzteBar_end= 3
14:08:40 2004.09.29 03:00 Zeit+iTiefstwert EURUSD,H1: i=21
14:08:40 2004.09.29 03:00 Zeit+iTiefstwert EURUSD,H1: time_check_low_day=06:00
14:08:41 2004.09.29 04:00 Zeit+iTiefstwert EURUSD,H1: AnzahlLetzteBar_beg= 28 AnzahlLetzteBar_end= 4
14:08:41 2004.09.29 04:00 Zeit+iTiefstwert EURUSD,H1: i=31
14:08:41 2004.09.29 04:00 Zeit+iTiefstwert EURUSD,H1: time_check_low_day=21:00
Code:
static int PrevTime=0;
//+------------------------------------------------------------------+
//||
//+------------------------------------------------------------------+
int start()
{
if(Time[0]<=PrevTime) return(0);
PrevTime=Time[0];
//////////////
// CheckForLongTimeClose_Sell();
double pBid=NormalizeDouble(Bid,Digits),Low_Now=Low[1];
////////////
int n_beg=1;// Index des Tages, in diesem Fall ist 1 der gestrige Tag
datetime DayTime_beg=iTime(NULL,PERIOD_D1,n_beg); // Beginn des Tages "n" in Sekunden
intLastBar_beg=iBarShift(NULL,0,DayTime_beg);
int n_end=0;// Index des Tages, in diesem Fall ist 1 der gestrige Tag
datetime DayTime_end=iTime(NULL,PERIOD_D1,n_end); // Beginn des Tages "n" in Sekunden
int NumberLastBar_end=iBarShift(NULL,0,DayTime_end);
Print(" NumberLastBar_beg= ",NumberLastBar_beg," NumberLastBar_end= ",NumberLastBar_end);
//---------------------------------------------------------------------
datetime Time_Check_Low_Day=Time[iLowest(NULL,0,MODE_LOW,NumberLastBar_beg,NumberLastBar_end)];
int=iLowest(NULL,0,MODE_LOW,NumberLastBar_beg,NumberLastBar_end);
Print(" i=",i);
string time_check_low_day=TimeToStr(Time_Check_Low_Day,TIME_MINUTES);
/////////////
Print(" time_check_low_day=",time_check_low_day;)
datetime time_check_verify=StrToTime("H_check_beg:M_check_beg");
zurück(0);
}
Wenn Sie den Code nur in einem Echtgeld- oder Demokonto verwenden, ist dies bequemer. Bei der Verwendung des Strategieprüfers können jedoch Probleme auftreten.
Zum Beispiel, was? Warum ich nirgendwo Probleme habe, Sie aber "vielleicht".
Es gibt einen Teil, den ich nicht verstehe.
Ich erhalte einen Mist wie 5e-005.0 im Drucker.
PreisAlter Wert
Wenn ich das alles zusammenzähle, warum sieht es dann so aus, wenn ich es abziehe?Das Verwirrendste ist, dass es in diesem speziellen Abschnitt der Geschichte passiert, in anderen ist es normal.
Ich habe verschiedene Varianten ausprobiert. Das Ergebnis ist das gleiche. Wie das sein kann, ist völlig unklar. Irgendwann beginnt iLowest(NULL,0,MODE_LOW,NumberLastBar_beg,NumberLastBar_end); plötzlich mit der Berechnung eines größeren Taktbereichs. Bitte um Rat, wer es versteht, mein Kopf ist kaputt. Danke.
4:08:36 Zeit+iLowest Test gestartet14:08:36 2004.09.29 00:00 Zeit+iTiefstwert EURUSD,H1: AnzahlLetzteBar_beg= 24 AnzahlLetzteBar_end= 0
14:08:36 2004.09.29 00:00 Zeit+iTiefstwert EURUSD,H1: i=18
14:08:36 2004.09.29 00:00 Zeit+iTiefstwert EURUSD,H1: time_check_low_day=06:00
14:08:39 2004.09.29 01:00 Zeit+iTiefstwert EURUSD,H1: AnzahlLetzteBar_beg= 25 AnzahlLetzteBar_end= 1
14:08:39 2004.09.29 01:00 Zeit+iTiefstwert EURUSD,H1: i=19
14:08:39 2004.09.29 01:00 Zeit+iTiefstwert EURUSD,H1: time_check_low_day=06:00
14:08:39 2004.09.29 02:00 Zeit+iTiefstwert EURUSD,H1: AnzahlLetzteBar_beg= 26 AnzahlLetzteBar_end= 2
14:08:39 2004.09.29 02:00 Zeit+iTiefstwert EURUSD,H1: i=20
14:08:39 2004.09.29 02:00 Zeit+iTiefstwert EURUSD,H1: time_check_low_day=06:00
14:08:40 2004.09.29 03:00 Zeit+iTiefstwert EURUSD,H1: AnzahlLetzteBar_beg= 27 AnzahlLetzteBar_end= 3
14:08:40 2004.09.29 03:00 Zeit+iTiefstwert EURUSD,H1: i=21
14:08:40 2004.09.29 03:00 Zeit+iTiefstwert EURUSD,H1: time_check_low_day=06:00
14:08:41 2004.09.29 04:00 Zeit+iTiefstwert EURUSD,H1: AnzahlLetzteBar_beg= 28 AnzahlLetzteBar_end= 4
14:08:41 2004.09.29 04:00 Zeit+iTiefstwert EURUSD,H1: i=31
14:08:41 2004.09.29 04:00 Zeit+iTiefstwert EURUSD,H1: time_check_low_day=21:00
Code:
Achten Sie auf diese Zeilen.
Diese Zeilen sollten vertauscht werden.
int i=iLowest(NULL,0,MODE_LOW,NumberLastBar_beg,NumberLastBar_end); // исправлять не стал datetime Time_Check_Low_Day=Time[i];
2) NumberLastBar_beg ist die Nummer des gestrigen Balkens, wobei dieser Wert durch die Anzahl der zu suchenden Balken ersetzt werden kann.
3. Wenn Sie den Code einfügen, finden Sie die Schaltfläche SRC in der Symbolleiste des Texteingabefensters.
Zum Beispiel, welche? Warum habe ich nirgendwo ein Problem damit, aber Sie haben "vielleicht" ein Problem damit.
Ich bin ein bisschen grüblerisch. Ich möchte den Code des bestehenden Indikators nicht an einer Stelle ausgeben, an der er deutlich zu sehen ist (wenn nicht eine separate Bedingung für den Prüfer angewendet wird). Sowie zu überlegen, was man auf seiner Basis gesondert für Klarheit verordnen kann.
Aber wenn Sie darauf bestehen - natürlich, ich werde höchstwahrscheinlich beginnen, darüber nachzudenken, was kann die komplizierte "Füllung" er hat, um etwas anderes dort zu verschreiben ersetzen.Lesen Sie die Hilfe zu iLowest() sorgfältig durch. Nach welcher Anzahl von Elementen soll gesucht werden? Und was bedeutet das?
Achten Sie auf diese Zeilen
Es ist besser, diese Zeilen zu vertauschen.
2) NumberLastBar_beg ist die Nummer des ersten Balkens von gestern, und Sie geben diesen Wert anstelle der Anzahl der zu suchenden Balken ein.
Die i-Variable dient hier nur zu Kontrollzwecken, für Print. Ich habe beim Einstellen der Stäbe einen Fehler gemacht. Danke für den Tipp!