Diskussion zum Artikel "Erstellen und Testen benutzerdefinierter Symbole im MetaTrader 5" - Seite 6

 
fxsaber:

Das ist keine Sparsamkeit. CSV braucht mehr Platz an einem Tag als hcc in einer Woche.

Bei mir ist die Situation umgekehrt:

SCV - 99 kb, tkc - 132 kb, hcc -39 MB (d.h. Hunderte von Malen mehr).

Und das, nachdem ich die Historie des Symbols vollständig gelöscht und das Terminal neu gestartet habe, um das Symbol "von Grund auf" aufzuzeichnen.

 
vestrub:

Ich erlebe die umgekehrte Situation:

SCV - 99 kb, tkc - 132 kb, hcc -39 MB (d.h. Hunderte von Malen mehr).

Und das, ich betone, nachdem ich die Historie des Symbols vollständig gelöscht und das Terminal neu gestartet habe, um das Symbol "von Grund auf" aufzuzeichnen.

Dies ist auf die Fehlersuche bei einem solchen Ergebnis zurückzuführen. Wenn dies einmal am Tag geschehen würde, wäre die Ersparnis fraglich.

Die Entwickler sind sich dieser Funktion bewusst. Ich denke, sie werden es beheben.

 
fxsaber:

Das liegt an der Fehlersuche. Wenn dies einmal am Tag geschehen würde, wären die Einsparungen fraglich.

Die Entwickler sind sich dieser Funktion bewusst. Ich denke, sie werden es beheben.

Das hoffe ich auch. Denn 50 Zeichen, für ein paar Tage 20 GB nehmen einen Biss....

Vielen Dank für Ihre Hilfe.

 
vestrub:

50 Zeichen, in ein paar Tagen 20GB, beißen Sie sich durch....

Bitte schreiben Sie genau auf, was Sie dafür tun.


Beim ersten Durchlauf erhalte ich diese Zahlen

  • Intervall: 26.02.2018 - 02.04.2018.
  • Ticks: 3.333.473.
  • Bars: 37 100.
  • Quellenspeicher (CSV zu ZIP): 19.157.093 Bytes.
  • hcc: 1.605.587 Bytes.
  • tkc: 11.577.280 Bytes.
  • CSV-Balken (Export von MT5): 2.239.494 Bytes.
  • ZIP dieser CSV: 416.369 Bytes.
  • 7z dieser CSV: 310.301 Bytes.

Bei weiteren Durchläufen erhöht sich hcc/tkc in etwa um die gleichen Werte. Dutzende von GB konnten jedoch nicht erreicht werden.

Was Fragen aufwirft, ist die Tatsache, dass hcc viermal größer ist als ein primitives ZIP und sogar auf eine Text-CSV angewendet wird.

ThirdPartyTicks
ThirdPartyTicks
  • Stimmen: 12
  • 2018.03.16
  • fxsaber
  • www.mql5.com
Исторически сложилось, что для MetaTrader 4 пользуются популярностью сторонние приложения, позволяющие получать тиковую историю из различных источников. Как правило, ее используют в Тестере Стратегий как полигон для проверки советников, а также для исследований (машинное обучение и т.д.). Некоторые источники котировок в обсуждениях стали почти...
 

Weiß jemand, wie man den Strategietester mit importierten Tickdaten auf einem benutzerdefinierten Symbol ausführt?

=============================================================================

Wenn dies nicht das richtige Forum zum Posten ist, schlagen Sie bitte das entsprechende Forum vor, damit ich es verschieben kann ; )

Ich benutze MT5 Version: 5.00 build 1795 (03 Apr 2018) auf Win7.

Ich versuche, den Strategietester mit einem benutzerdefinierten Symbol auszuführen, das nur importierte Tick-Daten hat.

Nach der Anweisung auf der MQL-Website in unten, ref:https://www.mql5.com/de/articles/3540, Strategie-Tester kann nur mit importierten Tick-Daten laufen und brauchen nicht importiert Minute Daten.


Aber wenn ich dies mit der neuesten Version von MT5 versuchen, konnte ich nicht bekommen es läuft.

Eine Sache, die ich finde, ist in der neuen Version der Strategie-Tester, im Vergleich mit oben alten Strategie-Tester, neue hat Dropdown-Box (Kreis in rot), um die Minute Daten und niedrigste ist "M1" und es hat nicht "Tick".

Wenn ich also Tickdaten in ein benutzerdefiniertes Symbol importiere (ohne Minutendaten), erhalte ich die folgende Fehlermeldung.

Weiß jemand, wie man den Strategietester mit importierten Tickdaten auf einem benutzerdefinierten Symbol ausführt?

Nachfolgend die Schritte, die ich durchgeführt habe.

1. im Fenster "Symbol" -> Registerkarte "Tick", exportierte ich die Tickdaten der letzten 1 Woche von USDJPY

2. im Fenster "Symbol" -> Registerkarte "Spezifikation" ein benutzerdefiniertes Symbol erstellen (mit dem Namen USDJPY.custom)

3. im Fenster "Symbol" -> Registerkarte "Tick", importieren Sie die Tickdaten von Schritt 1 in USDJPY.custom

4. Im Strategietester wählen Sie USDJPY.custom, wählen jeden Tick auf der Grundlage des realen Ticks aus und wählen M1 (da ich etwas auswählen muss).

5. im Strategietester-Fenster beschwert er sich, dass er die M1-Daten nicht finden kann...

Ich glaube, ich habe gelesen, dass MT5 Minutendaten aus Tickdaten generiert, wenn Tickdaten verfügbar sind. Hat sich die Anforderung für das Testen in Tickdaten geändert, müssen auch min. von M1-Daten?

Mit freundlichen Grüßen,

Soi

 
soi kawasaki:

Ich glaube, ich habe gelesen, dass MT5 Minutendaten aus Tickdaten generiert, wenn Tickdaten verfügbar sind.

Es ist nicht wahr!

#property script_show_inputs

#include <fxsaber\ThirdPartyTicks\CustomSymbol.mqh> // https://www.mql5.com/ru/code/20225

// M1-Historie aus Ticks generieren
void OnStart()
{  
  MqlTick Ticks[];
  CUSTOMSYMBOL Symb;

  if (Symb.IsCustom() && (CopyTicksRange(Symb.Name, Ticks, COPY_TICKS_ALL, 0, LONG_MAX) > 0))
  {
    Symb.AddTicks(Ticks);
  
    Symb.CreateHistoryRates();
    
    ChartOpen(Symb.Name, PERIOD_CURRENT);
  }
}
ThirdPartyTicks
ThirdPartyTicks
  • Stimmen: 12
  • 2018.03.16
  • fxsaber
  • www.mql5.com
Исторически сложилось, что для MetaTrader 4 пользуются популярностью сторонние приложения, позволяющие получать тиковую историю из различных источников. Как правило, ее используют в Тестере Стратегий как полигон для проверки советников, а также для исследований (машинное обучение и т.д.). Некоторые источники котировок в обсуждениях стали почти...
 
fxsaber:

Das ist nicht wahr!

Hallo fxsaber,

Vielen Dank für die Mitteilung!

Hallo AlainVerleyen,

Entschuldigung für das doppelte Posting, ich wollte es später löschen, aber anscheinend kann ich es nicht.)

 
fxsaber:

Schreiben Sie detailliert auf, was Sie tun, um dies zu erreichen.

Scheint mir ziemlich normal zu sein:

Zwei Terminals. Jedes Terminal hat 25 Zeichen. Abfrage tickt alle 12 Sekunden. Danach aktualisiere ich und zeichne neu über CustomRatesUpdate und ChartRedraw.


P.S. Ich entschuldige mich für die lange Pause bei der Beantwortung. Ich dachte, das Thema würde nicht weitergeführt werden....

 
Wenn ich benutzerdefinierte Symbole über eine Formel erstelle, gibt es dann eine Möglichkeit, in der Formel anzugeben, dass der Preis in der Nähe des vorherigen Balkens oder ein paar Balken weiter zurück liegt? Ich möchte zum Beispiel den eurusd-Kurs von vor 5 Balken nehmen und ihn zum gbpusd-Kurs von vor 3 Balken hinzufügen.
 
Bitte klären Sie, warum benutzerdefinierte Symbolticks, die mit CustomTicksAdd() oder CustomTicksReplace() aufgezeichnet wurden , nach dem Neuladen des Terminals gelöscht werden.