Bibliotheken: MT4Orders

 

MT4Orders:

Parallele Verwendung der MetaTrader 4 und MetaTrader 5 Ordersysteme.

Autor: fxsaber

 
Etwas Unglaubliches - vielen Dank...der beste Weg, es zu benutzen ist wahrscheinlich in MT5 hedge.... ja, nicht viele Händler sind noch in mt5...)))))
 
Nachdem ich viele Order-Language-Systeme gesehen habe (NinjaTrader, TradingStation, MetaStock, WealthLab, Dukascopy JForex, FXCM ForexConnect, LMAX API, IB TWS, MT4/5 usw.), bin ich zu einem eindeutigen Schluss gekommen: MT4 ist das Maß aller Dinge bei OJS. Es ist das bequemste OJS, ein Meisterwerk!

Wenn jemand einen Expert Advisor für ein anderes NMC schreiben will, empfehle ich, nicht auf den fahrenden Zug aufzuspringen und sofort mit dem Schreiben eines solchen Adapters für MT4-NMC zu beginnen. Es ist besser, am Anfang Zeit zu investieren, aber dann wird man diese Zeit beim Schreiben, Debuggen und Testen von Expert Advisors mehr als zurückgewinnen.

Aus politischer Korrektheit werde ich weiterhin nur über Metatrader sprechen. Manch einer wird sagen, dass man sich nur an das MT5-OS gewöhnen muss. Hier kann man nicht widersprechen. Man kann sich an alles gewöhnen. Wenn ich von der Bequemlichkeit des NFC spreche, meine ich etwas anderes.

Wenn Sie einen MQ4-Advisor in die Hände bekommen, ist es recht einfach, anhand des Codes zu verstehen, was und wo er funktioniert. Änderungen vornehmen. Jemandem zu helfen, wenn er nach dem Code fragt, usw. Das ist zum Beispiel bei fast jedem Codobase-Advisor der Fall. Und das liegt nicht daran, dass fast alle in prozeduralem Stil geschrieben sind (OOP MQ4-Advisors sind übrigens leichter zu verstehen).

Nimmt man einen MQ5-Berater (siehe die schlechte Codobase), so erfordert das Verständnis seiner Teile von Handelsalgorithmen eine größere geistige Anstrengung. Ich würde sogar sagen, man fühlt sich unwohl. Und genau das ist beim SNF der Fall. Verstehen geht immer, aber es braucht viel mehr Zeit und Mühe.

Natürlich werden Sie, wenn Sie ausschließlich Ihren eigenen Code lesen/bearbeiten/hinzufügen, keine signifikanten Unterschiede zwischen MT4 und MT5-NFC spüren: Sie haben Ihre eigene universelle Bibliothek geschrieben und das war's. Aber das ist nur zu Ihrem eigenen Vorteil. Wenn Sie auf den Code von jemand anderem stoßen, werden Sie eine kalte Dusche bekommen. Und leider hilft Ihnen die Standardbibliothek der Entwickler nicht, aus der Unbehaglichkeitszone herauszukommen.

Aus diesem Grund ist es extrem schwierig, in MQL5 eine Handelsidee konstruktiv zu diskutieren und gemeinsam zu verfeinern, wie es in verschiedenen Trading-Communities in MQL4 schon lange praktiziert wird. Und der Wunsch, diesbezüglich auf MT5 umzusteigen, glänzt nicht mit Motivation.

Ich möchte glauben, dass diese Arbeit, als Ergänzung zu MT5-Hedge, es endlich ermöglichen wird, gute Handelsideen in einem starken MT5-Tester zu testen (und zu diskutieren) und die Diskussionen über die Unterschiede zwischen MT4 und MT5 deutlich reduzieren wird. Es wird der Handelskomponente von EAs erlauben, die Führung in Diskussionen über die technischprogrammierte Komponente zurückzuerlangen.

Zur Verteidigung von MT5-NFC möchte ich sagen, dass dieses NFC viel mehr Möglichkeiten bietet als MT4. Das gilt vor allem für den Aktienhandel. Aber auch im Forex-Handel kann man z.B. mit MT5-NFC wichtige Statistiken über die Qualität der Ausführung von Pending Orders erhalten. Die goldene Mitte der Bequemlichkeit/Chance ist also die parallele Nutzung beider NFCs. Das ist es, was uns diese Arbeit ermöglicht.

Jetzt ist es sehr einfach, MT-Tester verschiedener Generationen zu vergleichen - derselbe Code (MQL4) wird auf beiden laufen. Es wird nicht schwer sein zu bemerken, dass der MT5-Tester eine geringere Leistung in einzelnen Läufen hat. Limit-Orders und TP-Levels im MT5-Tester werden mit einem unrealistisch hohen positiven Slippage ausgeführt. Es gibt keine Möglichkeit, auf die eigene Historie und anderes (manchmal notwendiges) zu testen. Aber das sind, so möchte ich glauben, vorübergehende Missverständnisse. Es gibt eine Menge Pluspunkte in Form der Cloud, eingebauter echter Ticks, Multiwährung und einiger anderer. Und wenn die Cloud und die realen Ticks noch im alten Tester emuliert werden können, dann ist die Mehrwährung ein definitiver Vorteil des neuen Testers.

Das Beispiel in der Beschreibung stellt insbesondere eine in bestimmten Kreisen schon lange bekannte Tick-Trading-Idee vor - Lucky (in seiner ursprünglichen Form). Und wenn es aufgrund der Ungenauigkeit des MT5-Testers mit Limit-Orders (Build 1368) unmöglich ist, dieses System auch im Modus "Every tick based on real ticks" eindeutig zu bewerten. Die im Code einfache (dank MT4-OJAS) Multicurrency-Idee in Form des MQ4-advisor Spreader (siehe Beispiel) findet im MT5-Tester ein neues Leben.

Viele alte Ideen, die bisher im MT4-Tester nur schwer/unmöglich zu testen waren, können nun leicht wiederbelebt und fast in ihrer ursprünglichen Version produktiv erforscht werden.
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии ( советники ) перед началом использования их в реальной торговле. При...
 
Сергей Криушин:
Etwas unglaubliches - vielen Dank...der beste Weg, um es zu benutzen ist wahrscheinlich in MT5 hedge.... Ja, nicht viele Trader arbeiten noch mit mt5...))))
Es ist wahrscheinlich für das Schreiben von Systemen, die in Vierer- und Fünfergruppen ohne Änderungen kompiliert werden können.
 
Mit der Geschichte funktioniert das nicht. Es gibt also nicht viele Wunder.
 
Dmitry Fedoseev:
Mit der Geschichte funktioniert das nicht. Es gibt also nicht viel Wundersames.
Ich nehme Details von Ihnen dankbar an. Ohne sie kann ich das "Nichtfunktionieren" nicht nachvollziehen.
 
fxsaber:

Zur Verteidigung des MT5-NFC möchte ich sagen, dass dieser NFC viel mehr Möglichkeiten bietet als MT4. Dies gilt insbesondere für den Aktienhandel. Aber auch im Forex-Handel können Sie zum Beispiel wichtige Statistiken über die Qualität der Ausführung von Pending Orders über MT5-NFC abrufen.

https://www.mql5.com/de/code/16134

SlipPage
SlipPage
  • 2016.08.25
  • fxsaber
  • www.mql5.com
Расчет проскальзываний совершенных сделок в валюте счета.
 
fxsaber:
Ich werde Details von Ihnen mit Dankbarkeit annehmen. Ohne sie kann ich nicht reproduzieren die "nicht funktionieren".
Und wie haben Sie "versucht", es zu reproduzieren?
 
Dmitry Fedoseev:
Und wie haben Sie "versucht", es zu "reproduzieren"?

Ich habe eine Reihe von MT4-Skripten/Advisoren ausgeführt und die Korrektheit ihrer Arbeit analysiert.

Ich habe auch meine eigenen Tests erstellt, während ich die Bibliothek schrieb.

 
fxsaber:

Ich habe viele MT4-Skripte/Advisoren ausgeführt und die Korrektheit ihrer Arbeit analysiert.

Beim Schreiben der Bibliothek habe ich auch meine eigenen Tests erstellt.

Was waren die Tests im Zusammenhang mit der Arbeit mit der Historie?
 

Einige Ansätze für die Arbeit mit der Historie werden erkannt:

   static int MT4OrdersHistoryTotal(void)
     {
      int Res=0;

      if(::HistorySelect(0,::TimeCurrent()))
        {
         const int TotalDeals=::HistoryDealsTotal();

         for(int i=0; i<TotalDeals; i++)
            if(MT4ORDERS::IsMT4Deal(::HistoryDealGetTicket(i)))
               Res++;

         const int TotalOrders=::HistoryOrdersTotal();

         for(int i=0; i<TotalOrders; i++)
            if(MT4ORDERS::IsMT4Order(::HistoryOrderGetTicket(i)))
               Res++;
        }

      return(Res);
     }

Jedes Mal, wenn OrdersHistoryTotal() aufgerufen wird, wird die gesamte Historie des Kontos mit einer Vielzahl von Prüfungen durchlaufen.

Die Auswahl in der Historie nach Index durchläuft ebenfalls die gesamte Historie.