Fragen von einem "Dummy" - Seite 251

 
Silent:
Es ist alles klar, ich habe bereits jeden Schritt ausgedruckt, und ich habe die Funktion in einem separaten Skript... Okay, ich werde in aller Ruhe darüber nachdenken.

Nein, das ist für Sie nicht klar. Es kommt darauf an, was gedruckt wird. )) Sie werden bereits dreistimmig auf die zu übertragenden Parameter aufmerksam gemacht.

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

FAQ von Dummies

tol64, 2013.05.24 13:02

Startzeit (t[0]+b) und Endzeit (t[0]) des Bereichs prüfen (ins Protokoll drucken). Sie werden den Dreh schon bald raus haben.

 
stringo:

Es besteht keine Notwendigkeit, die Funktion aufzugeben.

Wenn Sie Daten im Bereich"aktuelle Zeit - aktuelle Zeit plus eine Anzahl von Sekunden" abfragen, bedeutet dies, dass Sie Daten aus der Zukunft abfragen. 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" abfragen, dann fordern Sie potenziell vorhandene Daten an.

Von welcher Zukunft sprechen wir, wo haben Sie das gesehen?

Alle Abfragen gehen nur in die Vergangenheit.

Im Testskript wird der Balken, ab dem gezählt werden soll, explizit festgelegt...

In der Regel werden die Extremwerte des Zickzackkurses angegeben, was nicht die genaue Zeit angibt...

 
Silent:

Von welcher Zukunft sprechen wir, wo haben Sie das gesehen?

GUT. Aktuelle Zeit 2013.05.24 15:43:29

Addiert 600 Sekunden zur aktuellen Zeit. Wir erhalten 2013.05.24 15:53:29.

Dann wird der berechnete Bereich abgefragt. Wir haben aber nur Daten bis einschließlich der aktuellen Zeit. Zwischen 2013.05.24 15:43:29 und 2013.05.24 15:53:29 gibt es noch keine Daten.

Aber wenn Sie den Zehn-Minuten-Zyklus drehen, können die Daten durchaus erscheinen. Nur dass 2013.05.24 15:43:29 die vergangene Zeit und 2013.05.24 15:53:29 die aktuelle Zeit wird.

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

Nein, das ist für Sie nicht klar. Es kommt darauf an, was gedruckt wird. )) Sie werden bereits dreistimmig auf die zu übertragenden Parameter aufmerksam gemacht.

https://www.mql5.com/ru/forum/3775/page252#comment_507621

Das ist wie.

   Print(tm[0]);
 
stringo:

Gut. Aktuelle Zeit 2013.05.24 15:43:29

Addiert 600 Sekunden zur aktuellen Zeit. Wir bekommen 2013.05.24 15:53:29

Wir fragen dann den berechneten Bereich ab. Wir haben aber nur Daten bis einschließlich der aktuellen Zeit. Zwischen 2013.05.24 15:43:29 und 2013.05.24 15:53:29 haben wir immer noch keine Daten.

Aber wenn Sie den Zehn-Minuten-Zyklus durchlaufen, könnten die Daten durchaus angezeigt werden. Nur dass 2013.05.24 15:43:29 die vergangene Zeit und 2013.05.24 15:53:29 die aktuelle Zeit wird.

//--- переменные для указания параметров функции
   int start = 5; // индекс бара
   int count = 1; // количество баров
   int b=72000;   
   int bm;        // надо получить
   datetime tm[]; // массив, в котором возвращается время баров
//--- копирование времени 
   CopyTime(_Symbol,PERIOD_CURRENT,start,count,tm);
//--- вывод результата
   Print(tm[0]);

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

Wo ist

int start = 5; // индекс бара

Bar, deren Zeit ich bekomme.

Ich verwende NICHT die aktuelle Zeit. Überhaupt nicht.

 
Ich werde einen separaten Scheck für die Zukunft ausstellen, dann werden wir sehen.
 
Silent:

Wo

ist die Bar, deren Zeit ich bekomme.

Ich verwende NICHT die aktuelle Zeit. Überhaupt nicht.

Das heißt, in tm[0] steht die Zeit des 5. Taktes vor dem Ende.

In diesem Fall können Sie bei der ersten Anforderung von Daten, die nicht den aktuellen Zeitrahmen betreffen (Sie fordern Minuten an), leicht 0 Balken erhalten, da diese Daten noch nicht im Terminal vorhanden sind.

Zu diesem Zweck haben wir einmal ein Skript zum garantierten Hochladen historischer Daten eines beliebigen Symbolzeitraums veröffentlicht.

 
stringo:

Wir haben einmal ein Skript zu diesem Thema veröffentlicht, das das Hochladen von historischen Daten eines beliebigen Symbolzeitraums garantiert.

Lesen Sie den Hilfeabschnitt zur Organisation des Datenzugriffs

 
stringo:

Das heißt, in tm[0] steht die Zeit des 5. Taktes vor dem Ende.

In diesem Fall können Sie bei der ersten Anforderung von Daten, die nicht den aktuellen Zeitrahmen betreffen (Sie fordern Minuten an), leicht 0 Balken erhalten, da diese Daten noch nicht im Terminal vorhanden sind.

Wir haben einmal ein Skript zum Thema "Garantiertes Hochladen von historischen Daten eines beliebigen Symbolzeitraums" veröffentlicht.

Sie können sogar im aktuellen Zeitrahmen regelmäßig 0 erhalten, nur auf verschiedenen Balken. Allerdings sehr selten. Heute kann ich das Problem nicht reproduzieren, während es gestern bei fast jeder neuen (nicht aufgerufenen) Leiste auftrat.

Ich werde nach dem Skript suchen, danke.

 

Generell ist die größte Verwirrung, warum alle Kopierfunktionen unter denselben Bedingungen funktionieren - und ich etwas auf dem Leoparden erwische?

Es ist fantastisch...

Upd die mögliche Antwort auf 0 beim ersten Durchlauf

Мы не можем прямо обратиться к серверу, но любая Copy-функция
при нехватке истории в формате HCC в терминал автоматически инициирует посылку
такого запроса от терминала к торговому серверу.

und Bars tut das nicht.

Upd 2 fehlt ein Buchstabe in der Hilfe, in, rot hervorgehoben.