Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1214

 
Artyom Trishkin:

Um historische Daten aktuell zu halten, müssen Sie alle zwei Minuten auf diese Daten zugreifen, indem Sie eine der Funktionen CopyXXX, iXXX verwenden, z. B. CopyTime(), iTime() usw..

Ich weiß nicht, welche Lautstärken Sie im Testgerät nicht erhalten. Es gibt echte und Tick-Bände. Ohne den Code kann der Inhalt nicht beantwortet werden.

Der Code ist derselbe, den ich zuvor heruntergeladen habe (leicht verändert). Kopieren von Zecken:

 MqlTick tick_array[];
      uint start = GetTickCount();
      int received = CopyTicks(_Symbol, tick_array, COPY_TICKS_TRADE, periodStartTime*1000, ticksSizeToCopy);
            if(received != -1) {
               PrintFormat("%s: received %d ticks in %d ms", _Symbol, received, GetTickCount() - start);
               if(GetLastError() != 0) 
                  PrintFormat("%s: таймер Ticks are not synchronized yet, %d ticks received for %d ms. Error=%d",
                              _Symbol, received, GetTickCount() - start, _LastError);
            }

Dann gibt es eine Anfrage nach Mengen. Zum Beispiel (vereinfacht):

int ticks = ArraySize(tick_array);
for (int i = 0; i < ticks; i ++) {
         if((tick_array[i].flags&TICK_FLAG_BUY) == TICK_FLAG_BUY) {
               if(tick_array[i].volume > max) max = tick_array[i].volume;
        }
}

Wenn Sie es nur an ein Diagramm anhängen, ist es in Ordnung. Wenn ich ihn an ein Prüfgerät anschließe, gibt es aus irgendeinem Grund keine Lautstärke...

 
Yevhenii Levchenko:

Der Code ist derselbe wie der, den ich zuvor gepostet habe (leicht verändert). Kopieren von Zecken:

Als Nächstes folgt eine Anfrage nach Mengen. Zum Beispiel (vereinfacht):

Wenn ich es nur an ein Diagramm anhänge, ist es in Ordnung. Wenn es im Strategietester ist, dann hat es keine Bände...

Hinweis zur Funktion CopyTicks(). Über die Flaggen.

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTicks
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTicks
  • www.mql5.com
[in]  Количество запрашиваемых тиков. Если параметры from и count не указаны, то в массив ticks_array[] будут записаны все доступные последние тики, но не более 2000. Первый вызов CopyTicks() инициирует синхронизацию базы тиков, хранящихся на жёстком диске по данному символу. Если тиков в локальной базе не хватает, то недостающие тики...
 

Liebe Kolleginnen und Kollegen, warum kann ich nicht 2 oder 3 ATR-Indikatoren mit unterschiedlichen Zeitrahmen gleichzeitig auf einem Chart platzieren?

Selbst wenn Sie den Offset ändern, um visuelle Überschneidungen zu vermeiden, funktioniert nur ein Indikator und wird im Diagramm angezeigt?

input int InpOffsetX = 10; // Offset X
Eingabe int InpOffsetY = 80;// Versatz Y

Genauer gesagt, wenn ich die TF wechsle, erscheint die zweite, aber die erste verschwindet; alle drei werden abwechselnd auf verschiedenen TFs angezeigt, aber nicht alle zusammen. Der Auftrag kann nicht zurückverfolgt werden.

 
Artyom Trishkin:

Lesen Sie den Hinweis zu CopyTicks(). Über die Flaggen.

Ich kann nicht verstehen, was Sie meinen. Ich scheine die richtigen Flaggen zu benutzen... Und es funktioniert im wirklichen Leben... aber der Prüfer will das nicht.
 
Artyom Trishkin:

Wo habe ich gesagt, ich sei nicht gut in Logik?

Ihre Worte aus dem vorigen Beitrag:" Um Algorithmen zu erstellen, so scheint es mir, braucht man Logik. Und das ist alles andere als Mathematik. Und hier bin ich nicht mit ihr befreundet - nur das notwendige Referenzmaterial und die Hilfe derer, die Freunde sind".
 
Artyom Trishkin:
Um Algorithmen zu erstellen, bedarf es meiner Meinung nach einer Logik. Und das ist alles andere als Mathematik. Und hier kenne ich mich nicht aus - nur das richtige Referenzmaterial und Hilfe von denen, die es können.

Die Aufgabe des Programmierers besteht nicht darin, komplexe Aufgaben zu lösen, sondern den Computer dazu zu bringen, sie für ihn zu erledigen. Dies kann jedoch die Lösung anderer komplexer Aufgaben erfordern, die der Programmierer gehorsamst ausführt. :)

 
ANDREY:
Ihre Worte aus einem früheren Beitrag:" Um Algorithmen zu erstellen, so scheint es mir, braucht man Logik. Und das ist alles andere als Mathematik. Und ich bin kein Freund davon - nur das richtige Referenzmaterial und die Hilfe derer, die es sind".

Nein, ist es nicht. Es ist folgendermaßen:

"Um Algorithmen zu erstellen, braucht man, so scheint es mir, Logik. Und das ist alles andere als Mathematik. Und ich bin kein Freund davon - nur das richtige Referenzmaterial und Hilfe von denen, die es sind".

Von der Bedeutung her liegen die beiden Sätze dicht beieinander. Aber du hast deinen Sinn gefunden...

 
Mihail Matkovskij:

Die Aufgabe des Programmierers besteht nicht darin, komplexe Aufgaben zu lösen, sondern den Computer dazu zu bringen, sie für ihn zu erledigen. Dies kann jedoch die Lösung anderer komplexer Aufgaben erfordern, die der Programmierer gehorsamst ausführt. :)

Der Aufgabensetzer hat natürlich das Sagen. Aber er muss Programmierer sein, um auf dem Kurs zu bleiben))))

 
Valeriy Yastremskiy:

Der Problemlöser hat natürlich das Sagen. Aber er muss Programmierer sein, um auf dem Kurs zu bleiben))))

Das ist die Sache, der Task-Manager ist auch der Ausführende. Allerdings nicht immer.

 

Bitte beraten Sie mich. Ich habe einen EA, der Daten (Zeit) von einem Indikator nimmt und zählt die Differenz in Millisekunden zwischen Ticks.

Ich gebe es über Alert aus und erhalte folgendes (siehe Bild). Wie ich es sehe, erhalte ich zuerst die Gesamtzahl der Millisekunden und dann die Differenz in Millisekunden zwischen den letzten 4 Ticks (zwischen 1 und 2, 2 und 3, 3 und 4).

Warum ist das so? Ich brauche nur die Werte für den 4. Tick.

Zeit

Dateien:
ind_time.mq4  1 kb
exp_time.mq4  2 kb
Grund der Beschwerde: