Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Telegram!
und werden Sie Mitglied unserer Fangruppe
Interessantes Skript?
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Hat Ihnen das Skript gefallen?
Bewerten Sie es im Terminal MetaTrader 5
Skripte

ThirdPartyTicks - Skript für den MetaTrader 5

Ansichten:
1029
Rating:
(39)
Veröffentlicht:
2018.05.02 10:29
Aktualisiert:
2018.08.30 13:15
\MQL5\Include\
Dictionary.mqh (38.15 KB) ansehen
Symbol.mqh (5.32 KB) ansehen
\MQL5\Include\fxsaber\ThirdPartyTicks\
Array.mqh (1.11 KB) ansehen
Casting.mqh (0.48 KB) ansehen
Data.mqh (1.12 KB) ansehen
File.mqh (2.6 KB) ansehen
Rates.mqh (2.35 KB) ansehen
String.mqh (2.41 KB) ansehen
Ticks.mqh (7.89 KB) ansehen
Web.mqh (0.9 KB) ansehen
\MQL5\Include\Zip\
Zip.mqh (17.22 KB) ansehen
ZipContent.mqh (11.62 KB) ansehen
ZipFile.mqh (5.91 KB) ansehen
ZipHeader.mqh (12.47 KB) ansehen
\MQL5\Scripts\fxsaber\
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

Anwendungen von Dritten für den MetaTrader 4, die es erlauben, eine Tick-Historie aus verschiedenen Quellen zu erhalten, waren schon immer beliebt. Diese Historie wird typischerweise im Strategietester zur Überprüfung der Arbeitsweise von Expert Advisors sowie zur Durchführung von Recherchen (z.B. maschinelles Lernen, etc.) verwendet. Einige Quellen von Kursen, die von Nutzern diskutiert werden, sind bei der Suche nach einem "Gral" fast zum Standard geworden.


Kriterium

Die beigefügt MQL5-Bibliothek hat kein Kriterium für den Vergleich von Ticks. Die Gründe für die Wahl der vorgeschlagenen Quelle des Tick-Archivs sind nicht beschrieben. Aber dieses Archiv ist absolut frisch und daher nicht vollständig studiert. Um Ihr eigenes Wertkriterium zu entwickeln, führen Sie daher eine einfache Aktion durch - führen Sie Ihren Expert Advisor im Modus "Every tick is based on real ticks" auf irgendeinem Symbol des MetaTrader 5 aus und dann auf dem Custom Symbol, das vom Skript (auf Basis der Real-Ticks eines Drittanbieters), und vergleichen Sie dann die erzielten Ergebnisse. Dieser Prozess erfordert keine tiefen Kenntnisse des Terminals oder zusätzliche Aktionen außerhalb des Terminals.


Skript

Das Skript greift von der integrierten Quelle auf die Tick-Historie zu und erstellt auf deren Basis ein entsprechendes benutzerdefiniertes Symbol.

Kommentare im Quellcode erklären teilweise das Prinzip.

// https://www.mql5.com/de/code/20225
#property script_show_inputs

#include <fxsaber\ThirdPartyTicks\ThirdPartyTicks.mqh>

sinput bool   Sync = true; // Synchronization
sinput string symbol = ""; // Symbol (NULL - current, "AllSymbols" - All)

THIRDPARTYTICKS ThirdPartyTicks; // Connecting to a local archive of quotes

// One symbol
void CreateSymbol()
{
  // Defining the symbol to work with
  const string Symb = (symbol == "") ? StringSubstr(_Symbol, 0, 6) : symbol;

  if (Sync)
    ThirdPartyTicks.Refresh();                // Reading available data from the tick archive source

  ThirdPartyTicks[Symb].Update();             // Synchronizing the local archive with the source of the selected symbol
  ThirdPartyTicks[Symb].ToCustomSymbol(true); // Creating a custom symbol based on the local archive
}

// All symbols
void CreateAllSymbols()
{
  if (Sync)
    ThirdPartyTicks.Refresh();                     // Reading available data from the tick archive source

  const uint Amount = ThirdPartyTicks.GetAmount();

  for (uint i = 0; _CS(i < Amount); i++)
  {
    ThirdPartyTicks[i].Update();                   // Synchronizing the local archive with the source of the selected symbol
    ThirdPartyTicks[i].ToCustomSymbol();           // Creating a custom symbol based on the local archive
  }
}

void OnStart()
{
  if (symbol != "AllSymbols")
    CreateSymbol();
  else if (MessageBox("Creating all the symbols can take a long time. Do you agree?", __FILE__, MB_YESNO | MB_ICONQUESTION) == IDYES)
    CreateAllSymbols();
}

Für einen reibungslosen Ablauf des Skripts sollten Sie die Quelle der Kurse in den Einstellungen des Terminals angeben, zum Beispiel:

Die Einzelschritte des Skripts werden detailliert in das Log eingetragen:

UnZip <source_name>\EURUSD.<suffix>\EURUSD.<suffix>_20180313.csv.zip 724002 bytes - unpack size 5466504 bytes.
Total Ticks (EURUSD.<suffix>) = 1645897
Corrected 3 ticks.
EURUSD.<suffix>_<source_name> saved ticks = 1645897

Danach können Sie Ihren Expert Advisor im Tester laufen lassen unter Verwendung des benutzerdefinierten Symbols:


Eigenschaften

  • Es werden nur standardmäßige Eigenschaften von MQL5 verwendet, daher gibt es keine DLLs und es ist für den Markt geeignet.
  • Das Archiv der Kurse wird auf dem lokalen Rechner als ZIP-Archiv mit CSV-Dateien gespeichert.
  • Das Archiv der Kurse wird mit der Quelle synchronisiert: nur die fehlenden Daten werden heruntergeladen.
  • Die Quelldateien enthalten die folgenden Bibliotheken: ZIP und Symbol.
  • Das Skript kann mit einem lokalen Archiv ohne Internetverbindung arbeiten.
  • Die Daten im lokalen Archiv können manuell bearbeitet oder hinzugefügt werden.
  • Der Betrieb der Dateiablage hängt nicht von Verzeichnissen in ihr ab: Sie können Ordner erstellen und Daten dort nach Belieben speichern.
  • Die Historie der Bars wird unter Berücksichtigung des minimalen Qualitätsverlustes beim Wechsel vom Testmodus "Every tick based on real ticks" auf "Open Prices Only" erstellt - ein Handelssystem verwendet Limit-Orders.
  • Der Kern des Skripts ist die gleichnamige Bibliothek. Es ermöglicht die Erstellung interessanterer Szenarien.
  • Die Quelle wurde nicht optimiert und wird wie für Ausbildungszwecke zur Verfügung gestellt.
  • Um die als Kern verwendete Bibliothek vollständig universell zu machen, müssen Sie sie für den Betrieb mit beliebigen Quellen und mit jedem Format von Anführungszeichen modifizieren.

Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/20225

Improve Improve

Ein Expert Advisor basierend auf zwei iMAs (Moving Average,MA) und einem iRSI (Relative Strength Index, RSI). Es kontrolliert den virtuellen Gewinn. Er arbeitet mit zwei Symbolen.

OnChart_Stochastic OnChart_Stochastic

Stochastik auf dem Preischart.

IEEE Gleitkomma Decoder IEEE Gleitkomma Decoder

Anzeige des aktuell gespeicherten Wertes einer Gleitkommazahl (z.B. float, double) mit hoher Genauigkeit bis zu vielen Dezimalstellen. Dies hilft, den genauen Wert von Fließkommazahlen für andere MQL5-Programme zu debuggen.

Balance of Power Balance of Power

Balance of Power, eingeführt von Igor Livshin, versucht, die Stärke von Käufern vs. Verkäufern zu messen, indem er die Fähigkeit jedes Einzelnen bewertet, den Preis auf ein extremes Niveau zu bringen. Livshin hat diesen Indikator in der August-Ausgabe 2001 des Stocks and Commodities Magazine veröffentlicht. Diese Version des Indikators berechnet das BOP genau so, wie es in dem Artikel beschrieben ist, in dem es veröffentlicht wurde.