Fragen von einem "Dummy" - Seite 250

 
stringo:

Das Intervall, das Sie angeben, ist: aktuelle Zeit - aktuelle Zeit (aktuelle Taktzeit) plus eine bestimmte Anzahl von Sekunden (d. h. eine zukünftige Zeit)

Was wollen Sie in einem bestimmten Zeitraum erreichen? Wie wird sich der Preis entwickeln? "Wenn ich den Preis wüsste, würde ich in Sotschi leben".

Nein. Es ist einfacher als das.

Ich habe den Anfang von Takt D1.

D1 + 86400 Tagesminuten.

In diesen Minuten suche ich nach max/min und gebe die Zeit an.

Aber Bars funktioniert nicht auf Anhieb, und ich habe den starken Verdacht, dass es gelegentlich lügt. Ich versuche gerade, eine ToR zu schreiben, um das zu überprüfen :)

Auf jeden Fall erwiesen sich die Probleme mit Bars als größer als mit Copy. In diesem Thread scheint der Mann auch ein Problem mit Bars zu haben.

 
stringo:
Sie brauchen sich mit dieser Frage nicht an den Kundendienst zu wenden. Welche Antwort möchten Sie erhalten?

OK, ich werde es nicht tun.

PS Um zu überprüfen, ob die Funktion funktioniert.

 
tol64:
Prüfen (protokollieren) Sie den Anfangs- (t[0]+b) und Endzeitpunkt (t[0]) des Bereichs. Sie werden sie sofort erhalten.
Das ist nicht genug. Wir müssen die zurückgegebene Anzahl der Takte mit einer anderen Funktion überprüfen.
 
Silent:

OK, ich werde es nicht tun.

PS, um zu prüfen, ob die Funktion funktioniert.

Ich sage Ihnen gleich, dass Sie so oder so 0 Balken bekommen werden! Es gibt nichts zu überprüfen. Wenn Sie nicht verstehen, warum Sie trotzdem 0 Balken erhalten, dann stellen Sie die Frage hier.

Frage: Wie viele Barren wollten Sie kaufen?

 
Silent:
Das ist nicht genug. Sie sollten die zurückgegebene Anzahl der Balken mit einer anderen Funktion überprüfen.

Ich sage nicht, dass es nicht genug sein kann. Aber irgendwo muss man ja anfangen, sich Gedanken zu machen. Andernfalls werden Sie auf Schritt und Tritt in die Enge getrieben. )))

Überprüfen Sie die Werte im Protokoll oder im Debugger, und Sie wissen sofort, was Sie als nächstes tun müssen.

 
stringo:

Ich sage Ihnen gleich, dass Sie so oder so 0 Balken bekommen werden! Es gibt nichts zu überprüfen. Wenn Sie nicht verstehen, warum Sie trotzdem 0 Balken erhalten, dann stellen Sie die Frage hier.

Gegenfrage: Wie viele Riegel wollten Sie kaufen?

Und ich erhalte nicht durchgängig eine 0.

1. Versuch - 0.

2. Versuch - Wert, aber zur gleichen Zeit.

   bm=Bars(_Symbol,PERIOD_M1,tm[0]+b,tm[0]);
   Print("bm = "+bm);
//--- возвращает bm = например 368
   bm=Bars(_Symbol,PERIOD_M1,tm[0]-b,tm[0]);
   Print("bm = "+bm);
//--- возвращает bm = а тут 1201

Und zwar auf zwei benachbarten Balken, wobei sich der zweite Wert ständig wiederholt, der erste jedoch nicht.

Und wenn ich auf Minutenbasis arbeite, erhalte ich in beiden Fällen 6, mit b > 50000...

Wie auch immer, okay. Wenn mit der Funktion alles in Ordnung ist, ist es für mich einfacher, sie zu verwerfen.

 
tol64:

Ich sage nicht, dass es nicht genug sein kann. Aber irgendwo muss man ja anfangen, um das herauszufinden. Andernfalls bleiben Sie auf Schritt und Tritt in einem Trott stecken. )))

Überprüfen Sie die Werte im Protokoll oder im Debugger und Sie wissen sofort, wie es weitergeht.

Es ist alles klar, ich habe bereits jeden Schritt ausgedruckt, und die Funktion wird in ein separates Skript gezogen... Okay, ich werde in aller Ruhe darüber nachdenken.
 
Silent:
Das ist nicht genug. Sie müssen die zurückgegebene Anzahl der Balken mit einer anderen Funktion überprüfen.

Wenn eine Funktion nicht funktioniert, sollten Sie nach einem Fehler suchen, indem Sie die an die Funktion übergebenen Parameter überprüfen.

Stringo hat es Ihnen bereits direkt gesagt: "der Funktion werden fehlerhafte Parameter übergeben", und Sie können es immer noch nicht verstehen.

 
Silent:

Und ich bekomme keine konstante 0.

1. Versuch - 0.

2. Versuch - Wert, aber zur gleichen Zeit.

Und wenn man es auf Minuten laufen lässt, erhält man in beiden Fällen 6, mit b > 50000...

Wie auch immer, okay. Wenn mit der Funktion alles in Ordnung ist, ist es für mich einfacher, sie zu verwerfen.

Sie müssen die Funktion nicht aufgeben.

Wenn Sie Daten im Bereich"aktuelle Zeit - aktuelle Zeit plus eine bestimmte Anzahl von Sekunden" anfordern, bedeutet dies, dass Sie Daten aus der Zukunft anfordern. Die Daten sind zum Zeitpunkt der Anfrage noch nicht vorhanden.

Wenn Sie Daten im Bereich "aktuelle Zeit - aktuelle Zeit minus eine bestimmte Anzahl von Sekunden" anfordern, dann fordern Sie potenziell vorhandene Daten an.

Документация по MQL5: Дата и время / TimeCurrent
Документация по MQL5: Дата и время / TimeCurrent
  • www.mql5.com
Дата и время / TimeCurrent - Документация по MQL5
 
Contender:

Wenn eine Funktion nicht funktioniert, sollten Sie nach einem Fehler suchen, indem Sie die an die Funktion übergebenen Parameter überprüfen.

Stringo hat es Ihnen bereits direkt gesagt: "der Funktion werden fehlerhafte Parameter übergeben", und Sie können es immer noch nicht verstehen.

OKAY, OKAY.

Verstanden, ich werde mich korrigieren, ich gehe jetzt lernen.