Gibt es eine Software, mit der sich die Tiefe des Tickers ermitteln lässt?
Ich habe es versucht:
voidOnStart()
{
MqlTick ExTicks[];
datetime tm=StringToTime("1971.01.01 00:00:00");
//--- вывод результатаulong m=tm*1000;
int copied=CopyTicks(_Symbol,ExTicks,COPY_TICKS_ALL,m);
Print("Получено тиков: ",copied," код ошибки: ",GetLastError());
}
die ganze Zeit über 2.000 Ticks bekommt. In der Hilfe steht, dass, wenn keine Zeit angegeben wird, nicht mehr als 2000 Zecken übertragen werden. Die Zeit wird in Millisekunden angegeben und die Sekunden werden mit 1000 multipliziert.
In der Hilfe wird außerdem angegeben, dass es sich um Ticks für die aktuelle Sitzung handelt. Es stellt sich also heraus, dass auf historische Daten nicht zugegriffen werden kann?
Gibt es eine Software, mit der sich die Tiefe der Ticking-Historie bestimmen lässt?
Ich habe es versucht:
die ganze Zeit über 2.000 Ticks bekommt. In der Hilfe steht, dass, wenn keine Zeit angegeben wird, nicht mehr als 2000 Zecken übertragen werden. Die Zeit wird in Millisekunden angegeben und die Sekunden werden mit 1000 multipliziert.
In der Hilfe wird außerdem angegeben, dass es sich um Ticks für die aktuelle Sitzung handelt. Es stellt sich also heraus, dass Sie keinen Zugriff auf historische Daten haben?
Willst du alle Zecken bekommen? :)
Prüfen Sie zunächst, ob Ihr Computer so viele Ticks verarbeiten kann (wenn Ihr Computer durchbrennt, ist das nicht meine Schuld):
//+------------------------------------------------------------------+//| CopyTicks_1_02.mq5|//| Copyright 2015, MetaQuotes Software Corp. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2015, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.031"//--- покажем окно входных параметров при запуске скрипта#property script_show_inputsinputint ticks=200000000000; // количество запрашиваемых тиковinputdatetime start=D'1971.01.01 23:59'; // с какой даты запрашивать тики//---MqlTick ExTicks[];
//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//--- запросим тикиint copied=CopyTicks(_Symbol,ExTicks,COPY_TICKS_ALL,(ulong)start*1000,ticks);
//--- если тики получены, то выведем на график значения Bid и Ask Print("Получено тиков: ",copied," код ошибки: ",GetLastError());
if(copied>1)
{
Print("Тик: ",ExTicks[0].time," bid: ",ExTicks[0].bid," ask: ",ExTicks[0].ask," last: ",ExTicks[0].last," [0]");
Print("Тик: ",ExTicks[copied-1].time," bid: ",ExTicks[copied-1].bid," ask: ",ExTicks[copied-1].ask," last: ",ExTicks[copied-1].last," [",copied-1,"]");
//datetime Start =D'2015.10.16 23:59'; // время наступления 2015 года//datetime End =D'2015.10.19 00:02'; // время наступления 2015 года//for(int i=0;i<copied-1;i++)// if(ExTicks[i].time>Start && ExTicks[i].time<End)// Print("Тик: ",ExTicks[i].time," bid: ",ExTicks[i].bid," ask: ",ExTicks[i].ask," last: ",ExTicks[i].last," [i]");
}
Print("Size ",((long)copied*sizeof(MqlTick))>>20," Mb");
}
//+------------------------------------------------------------------+
Ja, ich muss wissen, ab welchem Datum es Daten gibt (d. h. ab welchem Datum der Test mit echten Ticks durchgeführt werden kann).
Und wie viel ist für den Computer kein Problem, abzufragen? Du übertreibst, es ist wahrscheinlicher, dass er einfriert?
Anstelle von "200000000000" geben Sie "20000" und ein beliebiges Datum im Jahr 1971 ein. Allerdings ist es sehr wahrscheinlich, dass Sie das Skript mehr als einmal ausführen müssen. Die Sache ist die, dass die erste Anfrage die gesamte heruntergeladene Historie initialisiert (weil Sie die Historie seit 1971 bestellt haben), und wenn das Skript für eine lange Zeit nicht antwortet, gibt es die Daten, die verfügbar sind, aber der Download wird weiter gehen. Daher kann die zweite Anfrage eine tiefere Geschichte zeigen.
Gibt es eine Software, mit der sich die Tiefe des Tickers ermitteln lässt?
Ich habe es versucht:
die ganze Zeit über 2.000 Ticks bekommt. In der Hilfe steht, dass, wenn keine Zeit angegeben wird, nicht mehr als 2000 Zecken übertragen werden. Die Zeit wird in Millisekunden angegeben und die Sekunden werden mit 1000 multipliziert.
In der Hilfe wird außerdem angegeben, dass es sich um Ticks für die aktuelle Sitzung handelt. Es stellt sich also heraus, dass Sie keinen Zugriff auf historische Daten haben?
Sie können nicht alle Ticks für das Symbol erhalten, wenn sie größer als INT_MAX sind, da der Rückgabewert
der Funktion CopyTicks ist eine ganze Zahl. Daher müssen Sie sie in Teilen erwerben.
Sie können nicht alle Ticks pro Zeichen erhalten, wenn sie größer als INT_MAX sind, da der Rückgabewert
der Funktion CopyTicks ist eine ganze Zahl. Deshalb muss man sie in Teilen kaufen.
Dennoch ist es möglich, das Anfangsdatum der Ticks zu erhalten, indem man nur 20000 (zwanzigtausend) Ticks anfordert - die Hauptsache ist, das Anfangsdatum anzugeben, das garantiert, dass es an diesem Datum noch keine Ticks gab und dass 1971 am besten passt.
Karputov Vladimir: Es ist jedoch möglich, das Anfangsdatum der Ticks herauszufinden, indem man nur 20000 (zwanzigtausend) Ticks anfordert - die Hauptsache ist, das Anfangsdatum anzugeben, das garantiert, dass es an diesem Datum noch keine Ticks gab, und 1971 ist der beste Weg, dies zu tun.
Habe viele Daten abgefragt, wirklich starkes Bremsen hat eingesetzt:
Gibt es eine Software, mit der sich die Tiefe des Tickers ermitteln lässt?
Ich habe es versucht:
die ganze Zeit über 2.000 Ticks bekommt. In der Hilfe steht, dass, wenn keine Zeit angegeben wird, nicht mehr als 2000 Zecken übertragen werden. Die Zeit wird in Millisekunden angegeben und die Sekunden werden mit 1000 multipliziert.
In der Hilfe wird außerdem angegeben, dass es sich um Ticks für die aktuelle Sitzung handelt. Es stellt sich also heraus, dass auf historische Daten nicht zugegriffen werden kann?
Gibt es eine Software, mit der sich die Tiefe der Ticking-Historie bestimmen lässt?
Ich habe es versucht:
die ganze Zeit über 2.000 Ticks bekommt. In der Hilfe steht, dass, wenn keine Zeit angegeben wird, nicht mehr als 2000 Zecken übertragen werden. Die Zeit wird in Millisekunden angegeben und die Sekunden werden mit 1000 multipliziert.
In der Hilfe wird außerdem angegeben, dass es sich um Ticks für die aktuelle Sitzung handelt. Es stellt sich also heraus, dass Sie keinen Zugriff auf historische Daten haben?
Willst du alle Zecken bekommen? :)
Prüfen Sie zunächst, ob Ihr Computer so viele Ticks verarbeiten kann (wenn Ihr Computer durchbrennt, ist das nicht meine Schuld):
Willst du alle Tics bekommen? :)
Prüfen Sie zunächst, ob Ihr Computer so viele Ticks verarbeiten kann (wenn Ihr Computer durchbrennt, ist das nicht meine Schuld):
Ja, ich muss wissen, ab welchem Datum es Daten gibt (d. h. ab welchem Datum man einen Test mit echten Ticks durchführen kann).
Und wie viel ist für den Computer kein Problem, abzufragen? Ausbrennen ist eine Übertreibung, eher einfrieren?
Ja, ich muss wissen, ab welchem Datum es Daten gibt (d. h. ab welchem Datum der Test mit echten Ticks durchgeführt werden kann).
Und wie viel ist für den Computer kein Problem, abzufragen? Du übertreibst, es ist wahrscheinlicher, dass er einfriert?
Gibt es eine Software, mit der sich die Tiefe des Tickers ermitteln lässt?
Ich habe es versucht:
die ganze Zeit über 2.000 Ticks bekommt. In der Hilfe steht, dass, wenn keine Zeit angegeben wird, nicht mehr als 2000 Zecken übertragen werden. Die Zeit wird in Millisekunden angegeben und die Sekunden werden mit 1000 multipliziert.
In der Hilfe wird außerdem angegeben, dass es sich um Ticks für die aktuelle Sitzung handelt. Es stellt sich also heraus, dass Sie keinen Zugriff auf historische Daten haben?
Sie können nicht alle Ticks für das Symbol erhalten, wenn sie größer als INT_MAX sind, da der Rückgabewert
der Funktion CopyTicks ist eine ganze Zahl. Daher müssen Sie sie in Teilen erwerben.
Sie können nicht alle Ticks pro Zeichen erhalten, wenn sie größer als INT_MAX sind, da der Rückgabewert
der Funktion CopyTicks ist eine ganze Zahl. Deshalb muss man sie in Teilen kaufen.
Es ist jedoch möglich, das Anfangsdatum der Ticks herauszufinden, indem man nur 20000 (zwanzigtausend) Ticks anfordert - die Hauptsache ist, das Anfangsdatum anzugeben, das garantiert, dass es an diesem Datum noch keine Ticks gab, und 1971 ist der beste Weg, dies zu tun.
Habe viele Daten abgefragt, wirklich starkes Bremsen hat eingesetzt:
Für meine Aufgabe sind 100 Ticks ausreichend. Trotzdem vielen Dank!
Ja, benutzerdefinierte Diagramme und eigene Datafeeds werden bald verfügbar sein.
Hallo Renat, gibt es Neuigkeiten zu diesen Funktionen? (Tut mir leid, wenn ich es woanders nicht gefunden habe).
Hallo Renat, gibt es Neuigkeiten zu diesen Funktionen? (Tut mir leid, wenn ich es woanders nicht gefunden habe).