Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Facebook!
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
Bibliotheken

MT4Orders - Bibliothek für den MetaTrader 5

Ansichten:
3343
Rating:
(131)
Veröffentlicht:
2016.12.22 13:10
Aktualisiert:
2021.06.03 13:46
\MQL5\Experts\ \MQL5\Include\
MT4Orders.mqh (220.2 KB) ansehen
\MQL5\Scripts\
MQL5 Freelance Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

Diese Bibliothek erlaubt es, mit Orders in MQL5 (MT5-Hedge) genauso wie in MQL4 zu arbeiten.

Das heißt, dass das Order language system (OLS) und MQL4 identisch geworden sind. Gleichzeitig bleibt die Möglichkeit erhalten, das MQL5-Ordersystem parallel zu verwenden. Die MQL5 Standardbibliothek wird weiterhin in vollem Umfang arbeiten.

Es ist nicht notwendig, zwischen den Ordersystemen auszuwählen. Verwenden Sie diese parallel! Bei der Übersetzung MQL4 -> MQL5, brauchen Sie das Ordersystem gar nicht zu berühren.

Es ist ausreichend, einen einzigen String am ANfang hinzuzufügen:

#include <MT4Orders.mqh> // ist #include <Trade/Trade.mqh> vorhanden, fügen Sie diesen String danach

Ähnliche Handlungen (Hinzufügen eines Strings) in Ihren MQL5 Codes erlauben es Ihnen, MT4 OLS zu MT5 OLS hinzuzufügen oder dieses komplett zu ersetzen.

Der Autor hat diese Möglichkeit für sich selbst entwickelt, deswegen hat er absichtlich diese "Ein-String-Idea" nicht für Zeitreihen, grafische Objekte, Indikatoren usw. umgesetzt.

Dieses Werk betrifft nur das Ordersystem.

Man stellte sich nicht die Aufgabe, eine solche Bibliothek zu erstellen, dass ein MQL4-Code in MetaTrader 5 ohne Änderungen funktionieren kann.

Als Beispiel wurden mehrere MT4/5 Expert Advisors (aus der Codebase) verschiedener Typen verwendet: Scalpers, Nachrichtenexperten, Martingales, Mehrwährungsexperte usw.

Unten ist dargestellt (Parallelität von MT4 und MT5 OLS), wie sie im MT5 Strategietester (oder Demo) verwendet werden können:

// MQL4&5-Code

#define OnTick MTstart
#define start  MTstart

#ifdef __MQL5__

// Wählen Sie den benötigten MT5 EA aus
// #include "Lucky.mq5"               // https://www.mql5.com/de/code/1107
// #include "Puria.mq5"               // https://www.mql5.com/de/code/138
// #include "Ilan_1_6_Dynamic_HT.mq5" // https://www.mql5.com/de/code/12220
// #include "Multik.mq5"              // https://www.mql5.com/de/code/158
// #include "VLT_Trader.mq5"          // https://www.mql5.com/de/code/1163
// #include "Exp_PFE_Extr.mq5"        // https://www.mql5.com/de/code/16044

#endif // __MQL5__

#include <MT4Orders.mqh> // ist #include <Trade/Trade.mqh> vorhanden, fügen Sie diesen String danach

#include <MQL4_to_MQL5.mqh> // ONLY for this example

// Wählen Sie den benötigten MT4 EA au
// #include "Lucky.mq4"          // https://www.mql5.com/de/code/7464
// #include "E-news-lucky6.mq4"  // https://www.mql5.com/de/code/7672
// #include "cm_ea_news.mq4"     // https://www.mql5.com/de/code/10511
// #include "Spreader_v2.mq4"    // https://www.mql5.com/de/code/14500
#include "Ilan1_4_strict.mq4" // #property strict (MQL5), original - https://www.mql5.com/de/code/8492

#include "OrdersToString.mqh"

#undef OnTick

void OnTick( void )
{
  ::MTstart();

  if (MQLInfoInteger(MQL_VISUAL_MODE))
    Comment("Trade:" + OrdersToString() + "\nHistory:" + OrdersToString(MODE_HISTORY)); // kann man im visuellen Modus des Testers ansehen

  return;
}

Während man früher die MT4 Expert Advisors anhand realer Ticks im MetaTrader 4 Strategietester testen konnte, der MT5 Tester verfügt noch über Mehrwährungsmöglichkeiten. D.h. MT4-Mehrwährungsexperten können nun direkt im Tester getestet werden!

Ein weiteres Beispiel ist ein statistisches Skript, das aus mehreren MT4-Mustern zusammengestellt wurde:

// MQL4&5-Code

#include <MT4Orders.mqh> // ist #include <Trade/Trade.mqh> vorhanden, fügen Sie diesen String danach

#include <MQL4_to_MQL5.mqh> // ONLY for this example

#ifdef __MQL5__
  #property script_show_inputs

  void OnStart( void )
  {
    ::OnStartScript();  // TradingSystemRating_Script_Ad.mq4

    ::WriteDealsInfo(); // b-SharingDoW.mqh

    // Report_strict.mq4
    ::init();
    ::start();
    ::deinit();

    MessageBox("Blicken Sie in MQL5\\Files hinein");

    return;
  }
#endif // __MQL5__

#define OnStart OnStartScript

#include "TradingSystemRating_Script_Ad.mq4" // https://www.mql5.com/de/code/12040

#include <b-SharingDoW.mqh> // https://www.mql5.com/de/code/8090
sinput int MAGIC = 0;       // MagicNumber der zu analysierenden Orders (b-SharingDoW.mqh)

// Ignorieren Sie die Warnungen - das Skript wurde 2006 geschrieben...
#define i ii // den Warnings-Teil ignorieren
#include "Report_strict.mq4" // #property strict (MQL5), Original - https://www.mql5.com/en/code/8126

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

i-CAiChannel i-CAiChannel

Der Envelopes Indikator unter Verwendung des Algorithmus von i-CAi.

i-CAi_Digit i-CAi_Digit

Der i-CAi Indikator zeigt den letzten Wert als "Preisetikett" an und erlaubt es, die Levels des Indikators auf die benötigte Stellenzahl abzurunden.

i-CAiChannel_System_Digit i-CAiChannel_System_Digit

Der Indikator implementiert ein Ausbruchssystem unter Verwendung des i-CAiChannel Kanals.

Exp_i-CAi_StDev Exp_i-CAi_StDev

Ein Tradingssystem basierend auf Signalen des i-CAi_StDev Indikators.