Wie man mit Metatrader 5 anfängt - Seite 121

 

Hallo

ich bin ein Anfänger und möchte die Cut-and-Paste-Strategie anwenden. Wie fange ich an? Ich brauche einen schrittweisen Ansatz

bitte


 
Seth Agblemor:

Hallo

ich bin ein Anfänger und möchte die Cut-and-Paste-Strategie anwenden. Wie fange ich an? Ich brauche einen schrittweisen Ansatz

bitte


Wo soll ich anfangen?
https://www.mql5.com/en/forum/212020

----------------

Where Do I start from?
Where Do I start from?
  • 2017.07.25
  • www.mql5.com
Hi fam! Am a total newbie in the forex niche... Just signed up here on this platform... Please where do i start from? I need help...
 

Forum zum Thema Handel, automatische Handelssysteme und Testen von Handelsstrategien

Eine Frage zu Signalen

Sergey Golubev, 2016.12.30 20:14

Nur einige Informationen über den Signal Service:

Hier finden Sie Informationen darüber, wo Sie anfangen können.

------------

Aus denRegeln-

  • Signale, die auf realen Konten basieren, sind nur durch ein bezahltes Abonnement verfügbar; Signale, die auf Demo-Konten basieren, können nur durch ein kostenloses Abonnement erhalten werden.
  • Signale, die auf Cent-Konten basieren, können nicht über ein bezahltes Abonnement bezogen werden. Solche Signale sind nur im MetaTrader-Terminal kostenlos verfügbar. Ein Cent-Konto wird automatisch definiert. Falls ein Signal falsch definiert ist, kann die Service-Administration diese Eigenschaft dem Signal manuell zuweisen.

 
Praktische Anwendung von neuronalen Kohonen-Netzen im algorithmischen Handel. Teil I. Werkzeuge

<br / translate="no">

Das Thema der neuronalen Kohonen-Netze wurde in einigen Artikeln auf der mql5.com-Website behandelt, z. B. in den ArtikelnUsing Self-Organizing Feature Maps (Kohonen Maps) in MetaTrader 5 undSelf-Organizing Feature Maps (Kohonen Maps) - Revisiting the Subject. Sie führten die Leser in die allgemeinen Prinzipien des Aufbaus neuronaler Netze dieser Art und der visuellen Analyse der wirtschaftlichen Zahlen der Märkte mit Hilfe solcher Karten ein.

In der Praxis hat sich die Verwendung von Kohonen-Netzen für den algorithmischen Handel jedoch auf einen einzigen Ansatz beschränkt, nämlich die gleiche visuelle Analyse von Topologiekarten, die für die EA-Optimierungsergebnisse erstellt wurden. In diesem Fall erweist sich das eigene Werturteil, oder besser gesagt, die eigene Vision und die Fähigkeit, vernünftige Schlüsse aus einem Bild zu ziehen, vielleicht als der entscheidende Faktor, der die Eigenschaften des Netzes in Bezug auf die Darstellung von Daten in Bezug auf Nüsse und Schrauben in den Hintergrund treten lässt.

Mit anderen Worten, die Eigenschaften der Algorithmen neuronaler Netze wurden nicht voll genutzt, d. h. sie wurden eingesetzt, ohne automatisch Wissen zu extrahieren oder die Entscheidungsfindung durch spezifische Empfehlungen zu unterstützen. In dieser Arbeit betrachten wir das Problem der Definition der optimalen Roboterparameter in einer stärker formalisierten Weise. Außerdem werden wir das Kohonen-Netz auf die Vorhersage von Wirtschaftsbereichen anwenden. Bevor wir uns jedoch mit diesen angewandten Problemen befassen, sollten wir die vorhandenen Quellcodes überarbeiten, etwas korrigieren und einige Verbesserungen vornehmen.

Es wird dringend empfohlen, zuerst die oben genannten Artikel zu lesen, wenn Sie mit den Begriffen wie "Netzwerk", "Schicht", "Neuron" ("Knoten"), "Verbindung", "Gewicht", "Lernrate", "Lernbereich" und anderen Begriffen im Zusammenhang mit Kohonen-Netzwerken nicht vertraut sind. Dann werden wir uns in diese Materie vertiefen müssen, so dass eine erneute Vermittlung der grundlegenden Begriffe diese Veröffentlichung erheblich verlängern würde.

 

Forum über Handel, automatisierte Handelssysteme und das Testen von Handelsstrategien

Neue MetaTrader 5-Plattform, Build 2005: Wirtschaftskalender, MQL5-Anwendungen als Dienste und R-Sprach-API

MetaQuotes Software Corp. , 2019.02.20 17:20

Das Update der MetaTrader 5-Plattform wird am 21. Februar 2019 veröffentlicht. Die neue Version enthält die folgenden Änderungen:

  1. Terminal: Vollständig überarbeiteter integrierter Wirtschaftskalender.

    Der Wirtschaftskalender ist unsere proprietäre Lösung. Darin finden Sie über 600 Finanznachrichten und Indikatoren zu den 13 größten Volkswirtschaften der Welt: USA, Europäische Union, Japan, Großbritannien, Kanada, Australien, China und andere. Relevante Daten werden in Echtzeit aus offenen Quellen gesammelt.

    Die neue Version bietet aktualisierte Inhalte und erweiterte Ereignisfilter: nach Zeit, Priorität, Währungen und Ländern.

    Auf die Kalenderdaten kann jetzt von MQL5-Programmen aus zugegriffen werden. Einzelheiten finden Sie weiter unten.




  2. Terminal: Neue Art von MQL5-Anwendungen hinzugefügt — Dienste. Dieser neue Typ ermöglicht die Erstellung von benutzerdefinierten Preis-Feeds für das Terminal, dh die Implementierung von Preislieferungen von externen Systemen in Echtzeit, so wie es auf Handelsservern von Brokern implementiert ist.

    Im Gegensatz zu Expert Advisors, Indikatoren und Skripten sind Dienste nicht mit einem bestimmten Chart verknüpft. Solche Anwendungen laufen im Hintergrund und werden automatisch gestartet, wenn das Terminal gestartet wird (es sei denn, eine solche App wurde zwangsweise beendet).

    Dienste können über einen neuen Abschnitt im Navigatorfenster verwaltet werden:





    So erstellen Sie Dienste
    Um eine Dienstvorlage zu erstellen, verwenden Sie die entsprechende Option des MQL5-Assistenten . Dienste haben einen OnStart- Einstiegspunkt, ähnlich wie Skripts. An diesem Punkt können Sie mithilfe von Netzwerkfunktionen einen endlosen Datenempfangs- und -verarbeitungszyklus implementieren.

    So starten Sie Dienste
    Um mehrere Expert Advisor- oder Indikatorkopien mit unterschiedlichen Parametern auszuführen, sollten Sie sie auf unterschiedlichen Charts starten. Dabei werden verschiedene Programminstanzen erstellt, die dann eigenständig arbeiten. Dienste sind nicht mit Diagrammen verknüpft, daher wurde ein spezieller Mechanismus zum Erstellen von Dienstinstanzen implementiert.

    Wählen Sie im Navigator einen Dienst aus und klicken Sie in dessen Kontextmenü auf "Dienst hinzufügen". Dies öffnet einen standardmäßigen MQL5-Programmdialog, in dem Sie den Handel aktivieren/deaktivieren und auf Signaleinstellungen zugreifen sowie verschiedene Parameter einstellen können.




    Eine Dienstinstanz kann über das entsprechende Instanzmenü gestartet und gestoppt werden. Um alle Instanzen zu verwalten, verwenden Sie das Servicemenü.

  3. Terminal: Ein Lernprogramm wurde hinzugefügt.

    Die neue Funktion hilft Anfängern beim Erlernen der Interaktion mit der Plattform. Wir haben über 100 interaktive Tipps zu den wichtigsten Plattformfunktionen hinzugefügt.

    • Tipps werden nahtlos als Fortschrittsbalken in der Symbolleiste angezeigt und lenken den Benutzer somit nicht ab.
    • Tipps erscheinen nur für Aktionen, die Sie noch nie auf der Plattform durchgeführt haben.
    • Alle Tipps enthalten interaktive Links, über die Sie zu den relevanten Oberflächenelementen navigieren können. So kann beispielsweise direkt aus dem Tipp heraus ein Handelsdialog oder ein Menü mit dem gewünschten Programm gestartet werden.

    Der gefüllte Bereich des Fortschrittsbalkens wird immer größer, wenn Sie entsprechende Aktionen ausführen und das Training fortsetzen.




  4. Terminal: Der Verlauf des Handelskontos kann als Positionen dargestellt werden. Die Plattform sammelt Daten zu Geschäften im Zusammenhang mit der Position (Eröffnung, Volumenerhöhung, teilweiser oder vollständiger Abschluss) und gruppiert die Informationen in einem einzigen Datensatz. So können Sie auf Positionsdetails zugreifen: Öffnungs- und Schließzeit, Volumen, Preis und Ergebnis. Diese effiziente Präsentationsform ist jetzt in Verlaufsberichten verfügbar, die in Dateien exportiert werden.




  5. Terminal: Neue API hinzugefügt, die die Abfrage von MetaTrader 5-Terminaldaten durch Anwendungen ermöglicht, die die R-Sprache verwenden .

    Wir haben ein spezielles MetaTrader-Paket vorbereitet. Es enthält DLL für Interaktionen zwischen R und dem MetaTrader 5-Terminal, Dokumentation und zusätzliche r-Dateien. Wir schließen die Paketregistrierung im CRAN -Repository ab, danach steht es zum Download und zur Installation zur Verfügung.




    Das Paket kann mit einem speziellen Befehl installiert werden:
    R CMD INSTALL --build MetaTrader

    Die folgenden Befehle für die Datenanforderung sind verfügbar:

    • MT5Initialize initialisiert und stellt eine Verbindung mit dem MetaTrader 5-Terminal her. Bei Bedarf wird das Terminal während der Befehlsausführung gestartet.
    • MT5Shutdown wird deinitialisiert und trennt sich von MetaTrader 5.
    • MT5Version erhält die Terminalversion von MetaTrader 5.
    • MT5TerminalInfo erhält den Status und die Parameter der Terminalverbindung zum Server eines Brokers (Kontonummer und Serveradresse).
    • MT5WaitTerminal wartet darauf, dass sich das MetaTrader 5-Terminal mit dem Server eines Brokers verbindet.
    • MT5CopyTicksFrom(symbol, from, count, flags) kopiert die angegebene Anzahl von Ticks ab dem angegebenen Datum. Das Datum wird in Millisekunden seit dem 01.01.1970 angegeben.
    • MT5CopyTicksRange(symbol, from, to, flags) kopiert Ticks innerhalb des angegebenen Zeitraums. Die Datumsangabe erfolgt in Millisekunden seit dem 01.01.1970.
    • MT5CopyRatesFrom(symbol, timeframe, from, count) kopiert die angegebene Anzahl von Ein-Minuten-Balken ab dem angegebenen Datum. Das Datum wird in Sekunden seit dem 01.01.1970 angegeben.
    • MT5CopyRatesFromPos(symbol, timeframe, start_pos, count) kopiert Ein-Minuten-Balken von der angegebenen Position relativ zum letzten Balken.
    • MT5CopyRatesFromRange(symbol, timeframe, date_from, date_to) kopiert Balken innerhalb des angegebenen Zeitraums. Die Datumsangabe erfolgt in Sekunden seit dem 01.01.1970.

    Die Liste der unterstützten Befehle wird weiter ausgebaut.

  6. Terminal: Optimierter Close By -Dialog, der zum Schließen einer Position durch eine Gegenposition verwendet wird. Jetzt wird der Dialog auch bei einer großen Anzahl offener Positionen nicht verlangsamt.
  7. Terminal: Fehler bei der Berechnung synthetischer Symbole behoben, durch die Daten gelegentlich übersprungen werden konnten.
  8. Terminal: Wenn ein benutzerdefiniertes Symbol gelöscht wird, werden auch Dateien gelöscht, in denen sein Tick- und Balkenverlauf gespeichert ist. Dadurch wird vermieden, dass sich ungenutzte Daten auf der Festplatte ansammeln.
  9. Terminal: Die Anzeige von Suchergebnissen auf High-DPI-Bildschirmen wurde korrigiert.
  10. MQL5: Zugriff auf Wirtschaftskalenderdaten aus MQL5-Programmen implementiert.

    Neue Funktionen

    CalendarCountryById — Ruft die Länderbeschreibung nach Kennung ab.
     bool CalendarCountryById(
       const long            country_id,    // country ID
       MqlCalendarCountry&  country        // country description
       );
    CalendarEventById — Ruft Ereignisbeschreibung nach Kennung ab.
     bool CalendarEventById(
       const long            event_id,      // event ID
       MqlCalendarEvent&     event           // event description
       );
    CalendarValueById — Ruft die Beschreibung des Ereigniswerts nach Kennung ab.
     bool CalendarValueById(
       const long            value_id,      // value ID
       MqlCalendarValue&     value           // value description
       );
    CalendarEventByCountry — Ruft das Array der verfügbaren Ereignisse für das Land ab.
     bool CalendarEventByCountry(
       string                country_code,  // country code
       MqlCalendarEvent&    events[]       // array of events
       );
    CalendarEventByCurrency — Ruft das Array verfügbarer Ereignisse für die betroffene Währung ab.
     bool CalendarEventByCurrency(
       string                currency,       // currency
       MqlCalendarEvent&    events[]       // array of events
       );
    CalendarValueHistoryByEvent — Ruft das Array von Werten für den angegebenen Zeitraum nach Ereigniskennung ab.
     bool CalendarValueHistoryByEvent(
       ulong                 event_id,      // event ID
       MqlCalendarValue&    values[],      // array of values
       datetime              datetime_from, // period beginning date
       datetime              datetime_to= 0  // period end date
       );
    CalendarValueHistory — Ruft das Array von Werten für den angegebenen Zeitraum für alle Ereignisse ab, gefiltert nach Land und/oder Währung.
     bool CalendarValueHistory(
       MqlCalendarValue&    values[],           // array of values
       datetime              datetime_from,     // beginning of period
       datetime              datetime_to= 0 ,     // end of period
       string                country_code=NULL, // country code
       string               currency=NULL      // currency
       );
    CalendarValueLastByEvent — Ruft ein Array der letzten Ereigniswerte nach Kennung ab. Diese Funktion ermöglicht die Abfrage der seit der letzten Abfrage aufgetretenen Werte. Für diese Operation wird zusätzlich der Durchgangsparameter „change_id“ verwendet.

    Jedes Mal, wenn sich die Kalenderdatenbank ändert, wird die Eigenschaft "change_id" (die Kennung der letzten Änderung) aktualisiert. Während der Datenanforderung geben Sie "change_id" an und das Terminal gibt Ereignisse zurück, die nach dieser Zeit aufgetreten sind, sowie den aktuellen "change_id"-Wert, der für die nächste Anforderung verwendet werden kann. Geben Sie beim ersten Funktionsaufruf die Null "change_id" an: Die Funktion gibt keine Ereignisse zurück, gibt aber bei weiteren Anfragen die aktuelle "change_id" zurück.
     bool CalendarValueHistory(
       ulong                 event_id,           // event ID
       ulong &               change_id,         // last calendar change ID
       MqlCalendarValue&    values[]           // array of values
       );
    CalendarValueLast — Ruft das Array der letzten Werte für alle Ereignisse ab, gefiltert nach Land und/oder Währung. Diese Funktion ermöglicht die Abfrage der seit der letzten Abfrage aufgetretenen Werte. Ähnlich wie bei CalendarValueLastByEvent wird die Eigenschaft „change_id“ für die Anfrage verwendet.
     bool CalendarValueHistory(
       ulong                 event_id,           // event ID
       ulong &               change_id,         // last calendar change ID
       MqlCalendarValue&    values[],           // array of values
       string                country_code=NULL, // country code
       string currency=NULL                     // currency
       );

    Neue Strukturen

    MqlCalendarCountry — Länderbeschreibung.
     struct MqlCalendarCountry
      {
       ulong              id;                         // country ID in ISO 3166-1
       string             name;                       // text name of the country
       string             code;                       // code name of the country in ISO 3166-1 alpha-2
       string             currency;                   // country currency code
       string             currency_symbol;           // country currency symbol/sign
       string             url_name;                   // country name used in URL on mql5.com
      };
    MqlCalendarEvent — Ereignisbeschreibung.
     struct MqlCalendarEvent
      {
       ulong                           id;           // event ID
       ENUM_CALENDAR_EVENT_TYPE       type;         // event type
       ENUM_CALENDAR_EVENT_SECTOR     sector;       // sector to which the event belongs
       ENUM_CALENDAR_EVENT_FREQUENCY  frequency;     // event release frequency
       ENUM_CALENDAR_EVENT_TIMEMODE   time_mode;     // event release time mode
       ulong                           country_id;   // country ID
       ENUM_CALENDAR_EVENT_UNIT       unit;         // unit for the event values
       ENUM_CALENDAR_EVENT_IMPORTANCE importance;   // event importance
       ENUM_CALENDAR_EVENT_MULTIPLIER multiplier;   // event importance multiplier
       uint                            digits;       // number of decimal places in the event value
       string                          source_url;   // source URL
       string                          event_code;   // event code
       string                          name;         // text name of the event in the terminal language
      };
    MqlCalendarValue — Beschreibung des Ereigniswerts.
     struct MqlCalendarValue
      {
       ulong              id;                         // value ID
       ulong              event_id;                   // event ID
       datetime           time;                       // event date and time
       datetime           period;                     // period, for which the event is published
       int                revision;                   // published indicator revision in relation to the reported period
       long               actual_value;               // current event value
       long               prev_value;                 // previous event value
       long               revised_prev_value;         // revised previous event value
       long               forecast_value;             // forecast event value
       ENUM_CALENDAR_EVENT_IMPACRT impact_type;     // potential impact on the currency rate
      };

    Neue Aufzählungen

     enum ENUM_CALENDAR_EVENT_FREQUENCY
      {
       CALENDAR_FREQUENCY_NONE            = 0 ,   // not used
       CALENDAR_FREQUENCY_WEEK            = 1 ,   // weekly
       CALENDAR_FREQUENCY_MONTH           = 2 ,   // monthly
       CALENDAR_FREQUENCY_QUARTER         = 3 ,   // quarterly
       CALENDAR_FREQUENCY_YEAR            = 4 ,   // yearly
       CALENDAR_FREQUENCY_DAY             = 5 ,   // daily
      };
    
    enum ENUM_CALENDAR_EVENT_TYPE
      {
       CALENDAR_TYPE_EVENT                = 0 ,   // event (meeting, speech, etc.)
       CALENDAR_TYPE_INDICATOR            = 1 ,   // indicator
       CALENDAR_TYPE_HOLIDAY              = 2 ,   // holiday
      };
    
    enum ENUM_CALENDAR_EVENT_SECTOR
      {
       CALENDAR_SECTOR_NONE               = 0 ,   // no
       CALENDAR_SECTOR_MARKET             = 1 ,   // market
       CALENDAR_SECTOR_GDP                = 2 ,   // GDP
       CALENDAR_SECTOR_JOBS               = 3 ,   // jobs
       CALENDAR_SECTOR_PRICES             = 4 ,   // prices
       CALENDAR_SECTOR_MONEY              = 5 ,   // money
       CALENDAR_SECTOR_TRADE              = 6 ,   // trade
       CALENDAR_SECTOR_GOVERNMENT         = 7 ,   // government
       CALENDAR_SECTOR_BUSINESS           = 8 ,   // business
       CALENDAR_SECTOR_CONSUMER           = 9 ,   // consumer
       CALENDAR_SECTOR_HOUSING            = 10 ,   // housing
       CALENDAR_SECTOR_TAXES              = 11 ,   // taxes
       CALENDAR_SECTOR_HOLIDAYS           = 12 ,   // holidays
      };
      
    enum ENUM_CALENDAR_EVENT_IMPORTANCE
      {
       CALENDAR_IMPORTANCE_LOW            = 0 ,   // no
       CALENDAR_IMPORTANCE_NONE           = 1 ,   // low
       CALENDAR_IMPORTANCE_MODERATE       = 2 ,   // moderate
       CALENDAR_IMPORTANCE_HIGH           = 3 ,   // high
      };
    
    enum ENUM_CALENDAR_EVENT_UNIT
      {
       CALENDAR_UNIT_NONE                 = 0 ,   // no
       CALENDAR_UNIT_PERCENT              = 1 ,   // percent
       CALENDAR_UNIT_CURRENCY             = 2 ,   // national currency
       CALENDAR_UNIT_HOUR                 = 3 ,   // number of hours
       CALENDAR_UNIT_JOB                  = 4 ,   // number of jobs
       CALENDAR_UNIT_RIG                  = 5 ,   // number of rigs
       CALENDAR_UNIT_USD                  = 6 ,   // US dollar
       CALENDAR_UNIT_PEOPLE               = 7 ,   // number of people
       CALENDAR_UNIT_MORTGAGE             = 8 ,   // number of mortgages
       CALENDAR_UNIT_VOTE                 = 9 ,   // number of votes
       CALENDAR_UNIT_BARREL               = 10 ,   // number of barrels
       CALENDAR_UNIT_CUBICFEET            = 11 ,   // volume in cubic feet
       CALENDAR_UNIT_POSITION             = 12 ,   // number of job positions
       CALENDAR_UNIT_BUILDING             = 13    // number of buildings
      };
      
    enum ENUM_CALENDAR_EVENT_MULTIPLIER
      {
       CALENDAR_MULTIPLIER_NONE           = 0 ,   // no    
       CALENDAR_MULTIPLIER_THOUSANDS      = 1 ,   // thousands
       CALENDAR_MULTIPLIER_MILLIONS       = 2 ,   // millions
       CALENDAR_MULTIPLIER_BILLIONS       = 3 ,   // billions
       CALENDAR_MULTIPLIER_TRILLIONS      = 4 ,   // trillions
      };
      
    enum ENUM_CALENDAR_EVENT_IMPACRT
      {
       CALENDAR_IMPACT_NA                 = 0 ,   // not available
       CALENDAR_IMPACT_POSITIVE           = 1 ,   // positive
       CALENDAR_IMPACT_NEGATIVE           = 2 ,   // negative
      };
    
    enum ENUM_CALENDAR_EVENT_TIMEMODE
      {
       CALENDAR_TIMEMODE_DATETIME         = 0 ,   // the source publishes the exact time
       CALENDAR_TIMEMODE_DATE             = 1 ,   // the event takes the whole day
       CALENDAR_TIMEMODE_NOTIME           = 2 ,   // the source does not publish the event time
       CALENDAR_TIMEMODE_TENTATIVE        = 3 ,   // the source provides only date, but does not publish the exact time in advance, exact time is added when event occurs
      };

    Neue Fehlercodes

    ERR_CALENDAR_MORE_DATA             = 5400 ,   // the array is small for the whole result (values which fit in the array were passed)
    ERR_CALENDAR_TIMEOUT               = 5401 ,   // timed out waiting for a response to the calendar data request
    ERR_CALENDAR_NO_DATA               = 5402 ,   // data not found

  11. MQL5: Korrekturen und Verbesserungen der Betriebsgeschwindigkeit im Zusammenhang mit der Tick- und Balkenhistorie.
  12. MQL5: Korrekturen und signifikante Verbesserungen der Betriebsgeschwindigkeit im Zusammenhang mit Funktionen zur Änderung des Verlaufs von Ticks und Balken von benutzerdefinierten Handelssymbolen, CustomTicks* und CustomRates* .
  13. MQL5: Neue Datenkonvertierungsfunktionen.

    CharArrayToStruct kopiert ein uchar-Array in eine POD-Struktur.
     bool   CharArrayToStruct(
       void &         struct_object,    // structure
       const uchar &  char_array[],      // array
       uint           start_pos= 0         // starting position in the array
       );
    StructToCharArray kopiert eine POD-Struktur in ein uchar-Array.
     bool   StructToCharArray(
       const void &  struct_object,      // structure
       uchar &       char_array[],      // array
       uint          start_pos= 0         // starting position in the array
       );

  14. MathSwap- Funktion zum Ändern der Byte-Reihenfolge in ushort-, uint- und ulong-Werten hinzugefügt.
     ushort MathSwap( ushort value );
    uint    MathSwap( uint    value );
    ulong   MathSwap( ulong    value );

  15. MQL5: Netzwerkfunktionen zum Erstellen von TCP-Verbindungen zu entfernten Hosts über System-Sockets hinzugefügt:

    • SocketCreate erstellt einen Socket mit angegebenen Flags und gibt sein Handle zurück
    • SocketClose schließt den Socket
    • SocketConnect stellt eine Verbindung zum Server her, mit Timeout-Steuerung
    • SocketIsConnected prüft, ob der Socket aktuell verbunden ist
    • SocketIsReadable liefert die Anzahl der Bytes, die vom Socket gelesen werden können
    • SocketIsWritable prüft, ob das Schreiben von Daten in diesen Socket zum aktuellen Zeitpunkt möglich ist
    • SocketTimeouts legt Zeitüberschreitungen für das Empfangen und Senden von Daten für das System-Socket-Objekt fest
    • SocketRead liest Daten aus einem Socket
    • SocketSend schreibt Daten in einen Socket
    • SocketTlsHandshake initiiert mithilfe des TLS-Handshake-Protokolls eine sichere TLS-Verbindung (SSL) mit dem angegebenen Host
    • SocketTlsCertificate erhält Informationen über das Zertifikat, das für die sichere Netzwerkverbindung verwendet wird
    • SocketTlsRead liest Daten aus einer sicheren TLS-Verbindung
    • SocketTlsReadAvailable liest alle verfügbaren Daten aus einer sicheren TLS-Verbindung
    • SocketTlsSend sendet Daten über eine sichere TLS-Verbindung

    Die Adresse des Hosts, zu dem eine Verbindung über Netzwerkfunktionen aufgebaut wird, muss explizit in die Liste der erlaubten Adressen in den Terminaleinstellungen aufgenommen werden.

    Für Operationen mit Netzwerkfunktionen wurden neue Fehlercodes hinzugefügt:

    • ERR_NETSOCKET_INVALIDHANDLE (5270): Ungültiges Socket-Handle an die Funktion übergeben
    • ERR_NETSOCKET_TOO_MANY_OPENED (5271): zu viele Sockets offen (maximal 128)
    • ERR_NETSOCKET_CANNOT_CONNECT (5272): Fehler beim Verbinden mit dem Remote-Host
    • ERR_NETSOCKET_IO_ERROR (5273): Fehler beim Senden/Empfangen von Daten vom Socket
    • ERR_NETSOCKET_HANDSHAKE_FAILED (5274): Fehler beim sicheren Verbindungsaufbau (TLS Handshake)
    • ERR_NETSOCKET_NO_CERTIFICATE (5275) — keine Daten über das für die sichere Verbindung verwendete Zertifikat

  16. MQL5: Neue Funktionen für String-Operationen hinzugefügt:

    StringReserve reserviert für einen String den Speicherpuffer der angegebenen Größe.
     bool   StringReserve(
       string &        string_var,           // string
       uint            new_capacity          // buffer size for the string
       );
    StringSetLength setzt die angegebene Zeichenfolgenlänge in Zeichen.
     bool   StringSetLength(
       string &        string_var,          // string
       uint            new_length           // new string length
       );

  17. MQL5: Neue Funktion für Array-Operationen hinzugefügt:

    ArrayRemove entfernt aus einem Array die angegebene Anzahl von Elementen beginnend mit dem angegebenen Index.
     bool   ArrayRemove(
       void &         array[],              // array of any type
       uint           start,                // the index to start removal
       uint           count=WHOLE_ARRAY      // number of elements
       );
    ArrayInsert fügt die angegebene Anzahl von Elementen aus dem Quellarray in ein Empfängerarray ein, beginnend mit dem angegebenen Index.
     bool   ArrayInsert(
       void &         dst_array[],          // receiver array
       const void &   src_array[],          // source array
       uint           dst_start,            // index in the receiver array where to insert
       uint           src_start= 0 ,           // index in the source array to start copying
       uint           count=WHOLE_ARRAY     // number of inserted elements
       );
    ArrayReverse kehrt in einem Array die angegebene Anzahl von Elementen ab dem angegebenen Index um.
     bool   ArrayReverse(
       void &         array[],              // array of any type
       uint           start= 0 ,               // index to start reversing
       uint           count=WHOLE_ARRAY      // number of elements
       );

  18. MQL5: Der neue Parameter "uint count" wurde in den Funktionen CustomRatesUpdate , CustomRatesReplace , CustomTicksAdd und CustomTicksReplace hinzugefügt . Es ermöglicht die Angabe der Anzahl der Elemente des übergebenen Arrays, die für diese Funktionen verwendet werden. Der Wert WHOLE_ARRAY wird standardmäßig für den Parameter verwendet. Dies bedeutet, dass das gesamte Array verwendet wird.
  19. MQL5: CustomBookAdd- Funktion hinzugefügt, um den Status der Markttiefe für ein benutzerdefiniertes Symbol zu übergeben. Die Funktion ermöglicht die Übertragung der Markttiefe, als ob die Preise vom Server eines Brokers kommen.
     int   CustomBookAdd(
       const string         symbol,             // symbol name
       const MqlBookInfo&  books[]             // an array with the DOM elements descriptions
       uint                 count=WHOLE_ARRAY   // number of elements to be used
       );
  20. MQL5: Überladen der CustomSymbolCreate- Funktion hinzugefügt. Dies ermöglicht die Erstellung eines benutzerdefinierten Handelssymbols auf der Grundlage eines vorhandenen. Nach der Erstellung kann jede Symboleigenschaft mit entsprechenden Funktionen bearbeitet werden.
     bool   CustomSymbolCreate (
       const string         symbol_name,       // custom symbol name
       const string         symbol_path= "" ,    // name of the group in which the symbol will be created
       const string         symbol_origin=NULL // name of the symbol based on which the custom symbol will be created
       );
    Der Name des Symbols, von dem die Eigenschaften für das benutzerdefinierte Symbol kopiert werden sollen, wird im Parameter "symbol_origin" angegeben.

  21. Die StringToTime- Funktion, die den String mit Datum/Uhrzeit in einen datetime-Wert umwandelt, wurde aktualisiert. Jetzt unterstützt es die folgenden Datumsformate:

    • jjjj.mm.tt [hh:mi]
    • jjjj.mm.tt [hh:mi:ss]
    • jjjjmmtt [hh:mi:ss]
    • jjjjmmtt [hhmiss]
    • jjjj/mm/tt [hh:mi:ss]
    • jjjj-mm-tt [hh:mi:ss]

  22. MQL5: Neue Eigenschaft TERMINAL_VPS in der Aufzählung ENUM_TERMINAL_INFO_INTEGER ; es zeigt, dass das Terminal auf dem MetaTrader Virtual Hosting Server (MetaTrader VPS) läuft. Wenn eine Anwendung auf einem Hosting-Server läuft, können Sie alle visuellen Funktionen deaktivieren, da der virtuelle Server keine grafische Benutzeroberfläche hat.
  23. MQL5: Neue Eigenschaft SYMBOL_EXIST in der Aufzählung ENUM_SYMBOL_INFO_INTEGER , bedeutet, dass das Symbol unter diesem Namen existiert.
  24. MQL5: Fehler bei der Verwendung von Vordeklarationen für Vorlagenfunktionen behoben.
  25. MQL5: Neuinitialisierung von Indikatoren hinzugefügt, wenn ein Handelskonto geändert wird.
  26. MQL5: Optimierte StringSplit- Funktion.
  27. MQL5: Fehler in der Standardbibliotheksoperation behoben.
  28. Tester: TesterStop- Funktion hinzugefügt – routinemäßiges vorzeitiges Herunterfahren eines Expert Advisors auf einem Testagenten. Jetzt können Sie das Testen zwangsweise beenden, nachdem Sie die angegebene Anzahl von Verlusttrades, ein voreingestelltes Drawdown-Level oder ein anderes Kriterium erreicht haben.

    Ein mit dieser Funktion abgeschlossener Test gilt als erfolgreich. Nach dem Funktionsaufruf werden die beim Testen erhaltene Handelshistorie und alle Handelsstatistiken an das Terminal übergeben.

  29. Tester: Deaktivierte Fähigkeit, Expert Advisors über das MQL5 Cloud Network im Real-Tick-Modus zu testen und zu optimieren. Dieser Modus kann nur auf lokalen Agenten und lokalen Netzwerkfarmen verwendet werden.
  30. Tester: Verbesserte Arbeit mit Indikatoren beim visuellen Testen. Jetzt werden das Preisdiagramm und die Indikatorlinien synchron gezeichnet, selbst bei maximaler Visualisierungsgeschwindigkeit.
  31. Tester: Optimiertes und deutlich beschleunigtes Testen und Optimieren.
  32. Tester: Das Debuggen von Indikatoren für historische Daten wurde korrigiert. Jetzt können die Indikatorfunktionen OnInit und OnDeinit korrekt debuggt werden.
  33. Tester: Schnellerer Zugriff auf historische Daten beim Testen von Expert Advisors mit mehreren Währungen implementiert.
  34. Tester: Das gelegentliche Einfrieren des visuellen Testers während des Debuggens auf historischen Daten wurde behoben.
  35. Tester: Schnellerer Start von Optimierungsdurchläufen bei der Bearbeitung eines Aufgabenpakets durch einen Agenten implementiert.
  36. Tester: Geänderte Richtlinie zum Verteilen von Aufgabenpaketen an Testagenten. Die Paketgröße wurde erhöht und damit der Ressourcenverbrauch im Netzwerkbetrieb deutlich reduziert.
  37. Tester: Geändertes Verhalten von Optionen, die die Verwendung von lokalen, Netzwerk- und Cloud-Agenten ermöglichen. Wenn Sie die Optionen jetzt ausschalten, beenden die Agenten die Bearbeitung empfangener Aufgaben, während ihnen keine neuen Aufgaben mehr zugeteilt werden. In früheren Versionen ähnelte das Verhalten dem Befehl „Deaktivieren“, der den Agentenbetrieb sofort stoppte.




  38. MetaEditor: Unterstützung für Nicht-ANSI-Zeichen im Debugger hinzugefügt. Jetzt werden die Ausdrücke auch dann korrekt angezeigt, wenn der Variablenname in Kyrillisch angegeben ist.
  39. MetaEditor: Die Anzeige von Suchergebnissen auf High-DPI-Bildschirmen wurde korrigiert.
  40. Übersetzung der Benutzeroberfläche ins Kroatische hinzugefügt.
  41. Dokumentation wurde aktualisiert.
Das Update wird über das LiveUpdate-System verfügbar sein.

 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

MetaTrader R-Paket - die Zusammenfassung

Sergey Golubev, 2019.02.22 06:47

Die Hauptstudie

----------------

Die Artikel

----------------

Das Forum

----------------

mehr zu folgen ..


 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Nützliche Links/Threads/Tools

Sergey Golubev, 2017.10.05 12:33

Multi-Currency Expert Advisors in MT5 - Backtesting und Optimierung


Die Threads/Beiträge

  • Kaufen oder Verkaufen aller 7 Paare -der Thread mit der Erklärung.
  • Multi-Currency Expert Advisorsder Beitrag mit den Beispielen für Backtesting/Optimierung

Die Artikel

Dokumentation

  • MetaTrader 5 Hilfe → Algorithmischer Handel, Handelsroboter →Optimierungsarten- Alle in der Marktbeobachtung ausgewählten Symbole
  • MetaTrader 5 Hilfe → Algorithmischer Handel, Handelsroboter →Strategietests- Expert Advisors für mehrere Währungen
  • MetaTrader 5 Hilfe - Handelsplattform -Benutzerhandbuch

...und dies ist das Beispiel des Codes von CodeBase -

----------------

Mehrwährungs iMA Trend- Experte für MetaTrader 5

The multi-symbol adviser uses the MA Trend 2 adviser as the base advisor, while the advisor itself is rewritten as a class.

Dieser Berater ist in Form einer Klasse die erste Version, so dass für jetzt, die Symbole ("EURUSD", "USDCAD", "USDJPY") sind in den Code hart angegeben. Auch alle Eingabeparameter sind die gleichen für jedes der drei Symbole (Stop Loss, Take Profit, und so weiter ...).

 

Guter Artikel wurde veröffentlicht -

----------------

Praktische Anwendung von Korrelationen im Handel

Praktische Anwendung von Korrelationen im Handel

Die Korrelation ist eine statistische Beziehung zwischen zwei oder mehreren Zufallsvariablen (oder Größen, die mit einem akzeptablen Grad an Genauigkeit als zufällig angesehen werden können). Veränderungen bei einer oder mehreren Variablen führen zu systematischen Veränderungen bei anderen damit verbundenen Variablen. Das mathematische Maß für die Korrelation von zwei Zufallsvariablen ist der Korrelationskoeffizient. Führt die Änderung einer Zufallsvariablen nicht zu einer regelmäßigen Änderung der anderen Zufallsvariablen, sondern zu einer Änderung eines anderen statistischen Merkmals dieser Zufallsvariablen, so wird eine solche Beziehung nicht als Korrelation betrachtet, obwohl sie statistisch ist.

Praktische Anwendung von Korrelationen im Handel

 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wo soll ich anfangen?

Sergey Golubev, 2018.09.20 15:43

Tipps verwenden - die Anleitung zum HowTo

=========

----------------

----------------

----------------


 

Es gibt einen Thread im Forum -
Möglichkeiten von Canvas.
Es ist ein sehr nützlicher Thread.
Und dies ist ein sehr interessantes Tool, das mit diesem Thema völlig zusammenhängt -

----------------

System der linearen algebraischen Gleichungen auf jedem Balken- Indikator für MetaTrader 5

This work has 3 goals: 

  • Demonstrieren Sie die Funktionsweise des Indikators in zwei Fenstern gleichzeitig: im Haupt- und im Nebenfenster. Dies wird durch die Verwendung der KlasseiCanvas erreicht.
  • Kompakte Lösung eines Systems linearer algebraischer Gleichungen durch Rekursion.
  • Demonstration und Beweis für einige Suchende, dass die Verwendung von SLAE im algorithmischen Handel das Potenzial der Preisvorhersage beinhaltet.
Grund der Beschwerde: