+49 (0)30 52 68 13 96 info@insidetrading.de
BANX Trading vs. BANX Broker – Die wichtigsten Unterschiede

BANX Trading vs. BANX Broker – Die wichtigsten Unterschiede

Anlageinstrumente

Unterschiede BANX Trading und BANX Broker

Trader, die sich schon einmal gründlich nach einem passenden Online Broker für den CFD Handel oder auch für den klassischen Aktienhandel umgesehen haben, werden unter Umständen auch auf den Anbieter BANX gestoßen sein. Wer sich dann genauer für diesen Anbieter interessiert hat, wird zudem gemerkt haben, dass hier zwei separate Online Broker am Markt präsent sind. Neben dem Anbieter BANX Trading gibt es auch BANX Broker. Im Prinzip handelt es sich bei diesen beiden Anbietern um zwei separate Marken, die aber zu dem gleichen Unternehmen gehören. Gleichwohl unterscheiden sich die beiden Anbieter zum Teil recht deutlich voneinander. Ein Vergleich zwischen BANX Trading und BANX Broker bietet sich also durchaus an. Letztendlich hängt es dabei von den Vorstellungen und den Ansprüchen der Trader selber ab, welchen dieser beiden Online Broker letztendlich der Vorzug gegeben wird. In den folgenden Abschnitten soll auf die Unterschiede in einigen wichtigen Kategorien geblickt werden.

 

Handelsangebot bei BANX Broker deutlich größer

Im Mittelpunkt des Interesses vieler Anleger und Trader, die auf der Suche nach einem passenden Online Broker sind, steht verständlicherweise das Angebot an handelbaren Werten. Hier gibt es auf dem Markt eine durchaus beachtliche Spannbreite zu verzeichnen. Es gibt Online Broker, die ihren Kunden den Zugang zu den Börsen ermöglichen und dabei den Handel mit praktisch allen verfügbaren Wertpapieren anbieten. Daneben finden sich viele Spezialanbieter, die sich auf eine bestimmte Auswahl von Produkten konzentrieren, die häufig mit einem Hebel angeboten werden. Um eine grobe Vorstellung von der Ausrichtung der beiden Anbieter BANX Trading und BANX Broker zu bekommen, sollten sich die Trader zunächst an der Unterscheidung orientieren, nach der es sich bei BANX Trading eher um den Spezialisten und bei BANX Broker eher um den Generalisten handelt. Zwar bietet auch BANX Trading mit rund 5.000 Produkten ein ausgesprochen breites Spektrum an Handelsmöglichkeiten an. Mit einer Auswahl von mehr als 1,2 Millionen Finanzprodukten wird dieses Angebot durch BANX Broker jedoch noch einmal ganz klar in den Schatten gestellt.

BANX Trading hat sich vor allem auf den CFD Handel konzentriert. Dabei kann auf eine beachtliche Auswahl von Aktien zugegriffen werden. Zudem stehen Produkte aus den Kategorien Indizes, Rohstoffe und Währungen im Programm. Im Gegensatz dazu kann BANX Broker auch als klassischer Broker genutzt werden, bei dem langfristig orientierte Anleger Aktien kaufen und in ihr Depot legen. Darüber hinaus kann aber auch mit vielen weiteren Finanzmarktprodukten gehandelt werden, wie etwa Optionsscheinen, Zertifikaten, Fonds und ETFs. Bei beiden Anbietern können im Handel Hebel eingesetzt werden. Bei BANX Trading stehen mit maximal 1:500 aber deutlich stärkere Hebel zur Verfügung. Bei BANX Broker kann maximal auf Hebel von 1:40 zugegriffen werden.

Unterschiedliche Konditionsmodelle

Entsprechend dem unterschiedlichen Handelsangebot müssen sich die Kunden bei beiden Anbietern auch auf etwas unterschiedliche Konditionen einstellen. Der zentrale Unterschied besteht zunächst darin, dass bei BANX Trading auf Basis von Spreads gehandelt wird, während die Handelskosten bei BANX Broker über Kommissionen berechnet werden. Die Spreads beginnen bei einem Konto bei BANX Trading bei 0,8 Punkten. Bei einigen Handelsarten kommen auch hier Kommissionen in Höhe von 4,5 US-Dollar je Lot hinzu. Bei BANX Broker kann dagegen ausschließlich auf Basis der Marktspreads gehandelt werden.

Unterschiede gibt darüber hinaus auch bei der Mindesteinzahlung. Während es bei BANX Trading keine Mindesteinzahlung gibt, das Konto also zunächst ohne Einzahlung geöffnet werden kann, ist es für ein Konto bei BANX Broker erforderlich, für eine Eröffnung mindestens 3.000 Euro zu hinterlegen. Das Konto kann dabei bei beiden Anbietern in einer Reihe verschiedener Währungen geführt werden, wobei die Auswahl bei BANX Broker noch deutlich breiter ist. Neben Euro, US-Dollar und britischem Pfund stehen bei BANX Broker insgesamt 14 Währungen zur Auswahl.

 

Beide Broker setzen auf unterschiedliche Handelssoftware

Auch mit Blick auf die Handelssoftware unterscheiden sich die beiden Anbieter deutlich voneinander. BANX Trading ist stärker auf kurzfristig ausgerichtete Händler spezialisiert und bietet daher zunächst die Standardsoftware MetaTrader 4 an. Für etwas professionellere Ansprüche kann auch über den LCG Trader gehandelt werden, der speziell auf das Handelsangebot von BANX Trading angepasst wurde und eine Reihe interessanter Zusatzfunktionen bietet. Bei BANX Broker wird standardmäßig über die Trader Work Station (TWS) gehandelt. Darüber hinaus steht auch der Web Trader als browserbasierte Lösung zur Verfügung. Bei beiden Anbietern steht zudem eine mobile Version für den Handel per App zur Verfügung. Unabhängig von der Handelssoftware, die eingesetzt wird, können unterschiedliche Funktionen zur Unterstützung des Handels genutzt werden. So kann bei beiden Anbietern per „One-Klick“ Handel gehandelt, Indikatoren und Alarme empfangen oder etwa Real Time Kurse genutzt werden. Die Möglichkeit, Marktnachrichten in Real Time zu empfangen, gibt es dagegen nur für Kunden von BANX Trading.

 

Einlagensicherung

Sowohl BANX Trading als auch BANX Broker treten als Anbieter auf, die sich direkt an den deutschen Markt richten. Zudem wird auch eine Niederlassung in Düsseldorf unterhalten. Die eigentlichen finanziellen Transaktionen werden allerdings über den Hauptstandort in London abgewickelt. Für die Einlagensicherung ist dieser Standort dann auch entscheidend. Prinzipiell kann bei beiden Anbietern auf eine Einlagensicherung vertraut werden. BANX Trading sichert die Einlagen der Kunden in Höhe von bis zu 50.000 Britsichen Pfund ab. Bei BANX Broker umfasst die Einlagensicherung sogar 500.000 US-Dollar je Kunde. Durch die Regulierung der britischen Behörde FCA sind beide Anbieter auch darüber hinaus an die Einhaltung wichtiger Standards im Bereich Kundenschutz gebunden.

 

Es gibt noch weitere Unterschiede – aber auch viele Gemeinsamkeiten

In vielerlei Hinsicht sind sich die beiden Anbieter aber auch sehr ähnlich. So können die Trader sowohl bei BANX Trading als auch bei BANX Broker auf einen Support in deutscher Sprache setzen, der zudem in der Zeit zwischen 9 Uhr und 19 Uhr unter anderem telefonisch zur Verfügung steht. Bei beiden Anbietern können die Trader zudem ein Demokonto nutzen, um den Handel zunächst risikolos zu testen. Unterschiede gibt es allerdings, wenn ein echtes Konto genutzt wird und Geld darauf eingezahlt werden soll. Während bei BANX Broker die Banküberweisung die einzige Möglichkeit sowohl bei Einzahlungen als auch bei Auszahlungen darstellt, kann bei BANX Trading zusätzlich auf die Kreditkarte sowie auf eine Reihe von E-Wallets zurückgegriffen werden.

 

Fazit – BANX bietet für jeden Anspruch das passende Programm

Ein Vergleich der beiden Anbieter mit dem Ziel, den richtigen Anbieter zu finden, ergibt Sinn, da unterschiedliche Gruppen von Tradern bzw. Anlegern angesprochen werden. BANX Trading ist dabei ganz klar auf kurzfristige Trader ausgerichtet, während BANX Broker eher strategisch und langfristig ausgerichtete Anleger im Blick hat.

 

BANX Broker versuns BANX Trading

by Mai 13, 2017 Keine Kommentare
MQL5 programmieren lernen – EAs schreiben einfach erklärt

MQL5 programmieren lernen – EAs schreiben einfach erklärt

all

MQL5 programmieren lernen – EAs schreiben einfach erklärt

Hey Insider,
das hier ist einmal wieder ein Selbstexperiment. In unserer Reihe „Metatrader Secrets“ geht es vor allem um die kleinen „Gadgets“, welche in der Software versteckt sind. Da wir im Bereich des Aktienhandels auch automatisierte Tools verwenden, die uns einen Überblick über die Marktlage verschaffen, wollten wir dies auch verstärkt in kleineren Zeiteinheiten in die Währungsmärkte implementieren. Die Programmiersprache R, die wir normalerweise auch für unsere Online-Applikationen verwenden, kann nur umständlich in die MT5 Umgebung eingebunden werden. Einer von uns, sollte daher innerhalb einer Woche, MQL5 erlernen. Welche Quellen wir verwendet haben, um uns Informationen zu der Sprache zu beschaffen, was unsere ersten Testprogramme waren und wie man Expert-Advisors ohne Programmierkenntnisse erstellen kann, wollen wir euch mit dieser Serie näher bringen.

Die ersten Schritte mit MQL5 – Öffnen des MQL5 Editors – EA Generator

Der erste Tag.

Zu Beginn ist es wichtig, sich einen Überblick über die allgemeine Syntax der Sprache zu verschaffen. Man muss aber auch entscheiden, was man eigentlich mithilfe des EAs erreichen möchte.

Wenn der EA nur einfache, „klassische“ Einstiege handeln soll, so ist es durchaus möglich, ganz ohne eigene Programmierarbeit ans Ziel zu gelangen. Auch wir haben diesen Ansatz versucht und uns dem EA-Generator des Metatrader 5 bedient. In diesem kann man ganz ohne zu Programmieren einfach via Drag and Drop Indikatoren und Signale auswählen, das Risikomanagement sowie die Stop Loss und Take Profit Werte eingeben um sich den Code automatisch erstellen zu lassen. Um dieses doch recht unbekannte Feature zu nutzen, ist lediglich der MT5-Editor zu starten. Dies kann im Metatrader 5 durch das Klicken auf das folgende Symbol geschehen:

Metatrader Editor öffnen - MQL5

Daraufhin öffnet sich die Oberfläche des Editors. Um nun zum EA-Generator zu gelangen, der den gewünschten EA automatisch erstellt, ist lediglich bei Daten->Neu->Expert Advisor (generieren)->Weiter zu klicken. Daraufhin wird man Schritt für Schritt durch den Ablauf geleitet. Der Generator bietet einem vorgefertigte Ein- und Ausstiegssignale, sowie prozentuale Risikoeinstellungen und Trailling-Stop Optionen. Mithilfe der vorinstallierten Auswahlmöglichkeiten lassen sich bereits einige Hundert EAs erstellen. Weitere lassen sich über den MQL5 Shop erwerben.

Metatrader 5 - EA einfach erstellen

Zu jedem der von Vornherein verfügbaren Signale ist eine ausführliche Dokumentation vorhanden. Diese lässt sich über das Fragezeichen bei der Auswahl der Indikatoren öffnen. Zur Auswahl der Indikatoren gelangt man durch einen Klick auf den „Hinzufügen“ Button.

Indikatoren Metatrader 5 - MQL5 hinzufügen

Als nächsten Schritt kann man Trailing-Stop Optionen zu dem Expert-Advisor hinzufügen. Dabei lassen sich verschiedene Trailling-Stop Methoden heranziehen – von festen Abständen bis hin zu einem Trailing-Stop hinter einer SMA ist alles möglich. Um den Expert-Advisor abzuschließen, werden am Ende des Generators noch die Risikoparameter abgefragt. Im Speziellen sind dies die Positionsgrößenschritte und das prozentuale Risiko. Sobald man nun auf „Fertigstellen“ klickt, wird der EA einsatzbereit ausgegeben und dieser kann direkt getestet werden. Dazu kann man beispielsweise den Strategietester des Metatrader 5 nutzen, (diesen öffnet man mithilfe der Tastenkombination STRG+R in Metatrader) welcher den erstellten EA auf vergangenen Kursverläufen testet. Dies kann sowohl visuell als auch nicht visuell erfolgen. Beim visuellen Test kann man dem Experten direkt bei der Arbeit zuschauen und sieht so auch, ob die ursprünglich gewollte Signallogik auch wirklich umgesetzt wird oder ob das Programm kleinere Fehler aufweist. Mehr zum Thema „Testen einer Strategie“ werden wir in einem Video betrachten. Tragt euch am besten in unseren Newsletter ein, um unsere besten Veröffentlichungen nicht mehr zu verpassen, sowie monatlich marktrelevante Informationen zu erhalten.

Um allerdings selbstständig programmieren zu können, ist es notwendig sich einen ersten Eindruck von der Syntax der Sprache zu machen und sich ein Handbuch zu organisieren, in dem die wichtigsten Befehle dokumentiert sind. Das Handbuch war schnell gefunden und wird in deutscher und englischer Sprache von der Firma Metaquotes zur Verfügung gestelllt: MetaTrader 5 Handbuch (https://www.mql5.com/files/pdf/mql5_german.pdf). Dieses stolze 4369 Seiten umfassende Nachschlagewerk enthält alle wichtigen Befehle der Programmiersprache und liefert dazu noch Beispiele und Dokumentationen. Ein solches Grundlagenwerkes stellte sicher, dass wir die richtigen Befehle sowie deren Verwendung parat hatten und nachvollziehen konnten. Weiterhin hielten wir es für sinnvoll, uns noch einen sehr gut dokumentierten Code zu suchen. In Verbindung mit dem Nachschlagewerk konnten wir so nachvollziehen, wie die Programmiersprache funktioniert und machten uns mit der Syntax der If-Statements und Schleifen vertraut. Wir nutzen hierfür Außerdem interessierten wir uns noch für die Funktionsweise der Orderaufgabe im Detail (hier geht es zur Dokumentation: Ein Paar Testläufen eines EAs aus dem Internet reichten aus, um uns mit dem EA-Strategie Tester vertraut zu machen. Für heute hatten wir uns den Feierabend mehr als verdient.

MQL5 Syntax – Parallelen zu C & C++

Der zweite und dritte Tag.

Nachdem der erste Tag viel Neues mit sich brachte, war klar, dass das tiefere Eindringen in die Syntax der Sprache essentiell ist. Da MQL5 an die Programmiersprache C++ angelehnt ist und diese eine wesentlich bessere Dokumentation als MQL5 hat, setzen wir uns ein oder zwei Tage mit dieser Sprache und ihren Eigenarten auseinander. Auf der Plattform von Sololearn gibt es einen kostenfreien Kurs zu C++. (Dieser kann hier abgerufen werden: http://www.sololearn.com/Play/CPlusPlus ). Der Kurs ist sowohl als App als auch als Online-Version verfügbar und synchronisiert sich automatisch, sodass der aktuelle Fortschritt immer und überall abrufbar ist. Die in Browser Version hat man aus Erfahrung schneller bearbeitet und ist während der Bearbeitung aufmerksamer als bei der Nutzung der App für unterwegs, aber es geht ja auch nur um ein Gefühl für die Sprache. Wie schreibt man Methoden und wendet diese an? Wie werden Variablen deklariert? Wie funktioniert ein if-Statement? Wie wende ich eine Funktion auf ein Objekt an? Wie lade ich Klassen aus der Standardbibliothek?

All diese Fragen sind typisch und mehr als nur berechtigt. Das Problem ist, dass es zu MQL5 dazu eben keine so intuitiven Antworten und Lernmöglichkeiten gibt.

UPDATE: Vor kurzem sind wir auf den folgenden MQL5 Kurs gestoßen. Da Programmieren am anfang etwas ernüchternd sein kann, sind wir uns sicher, dass es euch hilft, in einen aktiven Kurs eingebunden zu sein, der auch E-Mail Support anbietet, was in manchen Debugging-Fragen sicherlich hilfreich sein wird.

MQL5 Tutorial Golden Goose Kurs

Unser erster EA – MQL5 Trailing Stop

Tag vier und fünf

Es war nun an der Zeit, das Gelernte anzuwenden und den ersten eigenen kleinen EA zu schreiben. Doch was für ein Projekt ist als Einstieg adäquat? Da uns zu dieser Zeit das Thema Positionsmanagement sehr interessierte, entschieden wir uns für das Programmieren eines Trailling Stop EAs. Natürlich ist eine Trailing Stop Funktion bereits im Metatrader 5 vorinstalliert und lässt sich über einen Rechtsklick auf die offene Position einstellen:

Trailing Stop Metatrader 5 - MT5

Uns reichten jedoch die Standardeinstellungen nicht aus. Wir wollten auch Indikatoren als Trailling Stop verwenden können und Backtests durchführen, um herauszufinden welcher Stop im gewählten Zeitraum der Optimale war. Also starteten wir das „einfache Projekt“.

Ziemlich schnell wurde klar, dass das Aufgeben und Modifizieren von Orders und Positionen weitaus komplizierter ist als erwartet. Der normale Weg durch die Metratrader Ordermaske, wie er auch in der Sprache MQL5 gegangen werden kann / muss, ist sehr fehleranfällig, kompliziert und unübersichtlich. Daher schauten wir uns um und wurden in den Standard Bibliotheken von MQL5 fündig.

#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>

Diese Libraries enthalten Funktionen und Methoden, die die Programmierung und die Projektentwicklung enorm vereinfachen. Statt nun alles aufwändig von Hand zu schreiben und zu befüllen, bieten sie einfache und intuitive Zugriffe auf Positionen, Orders und Trade-Parameter.

Nähere Infos zu diesen Libraries fanden wir hier (geordnet nach Erwähnung im Artikel):

https://www.mql5.com/de/articles/138

https://www.mql5.com/de/docs/standardlibrary/tradeclasses/ctrade

https://www.mql5.com/en/docs/standardlibrary/tradeclasses/cpositioninfo

https://www.mql5.com/en/docs/standardlibrary/tradeclasses/csymbolinfo

https://www.mql5.com/en/docs/constants/tradingconstants/positionproperties

Bevor wir nun im Detail in den Code starteten, schauten wir uns den Aufbau und den Ablauf eines solchen Programmes an.

Zu Beginn im Kopf des EAs werden Informationen über die Rechte und die Lizenz des EAs gemacht. Gleichfalls wird angegeben, wer den EA programmiert hat. Neben diesen Informationen wird der Output hinzugefügt, der später beim Start des EAs im Metatrader 5 im Description Teil zu lesen ist.

Direkt im Anschluss werden die Klassen aus der Standardbibliothek geladen, die die Funktionen und Methoden enthalten, die wir zur Entwicklung von einfachen und eleganten Code brauchen

Im Anschluss werden die Variablen und Inputs deklariert, die zum Betreiben des Programms benötigt werden. Inputs sind Variablen, die der Nutzer des EAs beim Starten im MT5 einstellen kann. Alle Variablen, die hier erstellt werden, sind für den kompletten Code, also das ganze Programm verfügbar. Alle folgenden Funktionen können darauf Zugreifen und mit ihnen arbeiten. In einem extra Video werden wir sehen, wie man durch die Inputs, einen EA optimieren kann. Auf diese Art und Weise lassen sich Informationen über das Handelssystem sammeln und man kann durch stabile, optimierte Parameter die Performance des Handelssystems steigern.

Nachdem alle Variablen bekannt gemacht wurden, folgte die Funktion OnInit(). In dieser, werden alle Indikatoren und Einstellungen geladen, die beim Start des EAs benötigt werden. So werden hier zum Beispiel Arrays, also Daten Matrizen, zu Zeitreihen modifiziert. Dies ist für die spätere Signalerzeugung notwendig. Bei einem Cross Over eines Moving Averages ­– also dem Schnitt von gleitenden Durchschnitten– muss der schnelle Durchschnitt in der letzten Periode zum Beispiel unterhalb des langsamen MAs liegen und in der aktuellen Periode entsprechend oberhalb. Damit diese Zugriffe möglich sind, bedarf es der Zeitreihenform der Indikatoren. Außerdem werden die , also die Variablen, die die Daten der Indikatoren übernehmen, in dieser Funktion initiiert und befüllt.

OnInit() - Funktionen im Metatrader Editor - MQL5

Nachdem die wichtigsten Einstellungen in der Startfunktion OnInit() erfolgten, muss nun festgelegt werden, was beim Entfernen der EA vom Chart (entspricht dem Abschalten) passiert. Um diese Schritte festzulegen, verwendet man die OnDenit() Funktion. In dieser Funktion werden erzeugte Arrays und Zeitreihen zur Löschung freigegeben, sowie Indikatoren entfernt und Einstellungen zurückgesetzt. Dies ist notwendig, um den vom EA belegten Speicher wieder sauber freizugeben und die Chart sowie das Handling des MT5 wieder in den Ursprungszustand zurück zu bewegen.

OnDenit() - Funktionen im Metatrader Editor - MQL5

Der Rahmen für das Programm war erstellt. Wir beschäftigten uns nun mit den beiden Funktionen, welche für die Signal-Generierung sowie den Umgang mit offenen Positionen interessant werden. Die beiden Funktionen sind OnTick() und OnTrade(). OnTick() wird immer ausgeführt, sobald sich eine Veränderung im Symbol, welches der EA ausliest, ereignet. Die OnTrade()- Funktion ähnelt der OnTick() Funktion. Dieser Teil des Codes wird nur ausgelesen, sofern eine Position im Symbol offen ist.

OnTick() - Funktionen im Metatrader Editor - MQL5OnTrade() - Funktionen im Metatrader Editor - MQL5

Da der Standardaufbau eines EAs nun bekannt ist, wollen wir die einzelnen Funktionen befüllen und der Maschine „Leben“ einhauchen.

Unser Ziel ist es, einen Trailling Stop EA zu entwickeln, der nach dem Eröffnen einer Position automatisch einen Stop setzt und diesen in Folge kontinuierlich nachzieht. Das Nachziehen soll dabei mit einem konstanten Abstand sowie immer beim Erreichen eines neuen Hochs geschehen. Wir brauchen also:

  • Einen Test, ob eine Position eröffnet wurde und was ihre Parameter sind
  • Einen Weg, den aktuellen Stop anhand des momentanen Marktkurses zu errechnen
  • Eine Möglichkeit zur Bestimmung der Nachkommstellen, die der Markt auf den EA anwenden wird, um den eingestellten Stop entsprechend anzuwenden
  • Eine Überprüfung, ob der neue Stop höher bzw. niedriger ist als der aktuelle (abhängig davon ob es sich um eine Long oder Short Position handelt

Zunächst werden dafür alle Variablen und Klassen hinzugefügt und erstellt:

#include <Trade\Trade.mqh>                                         //include the library for execution of trades
#include <Trade\PositionInfo.mqh>                                  //include the library for obtaining information on positions
#include <Trade\SymbolInfo.mqh>

input double StopDist;

double NewStop;
double CurStop;

CTrade m_Trade;
CPositionInfo myposition;

Wofür genau double, int, sowie Klammer- und Punktsetzung etc. stehen, soll nicht Teil dieses Artikel sein und kann im entsprechenden C++ Tutorial (als alternative ein schönes Buch) schnell erlernt und nachgeschlagen werden.

Im Code Ausschnittieht man, dass zwei double Variablen global deklariert werden: NewStop, CurStop. NewStop wird den aktuellen rechnerischen Stop enthalten und CurStop wird den aktuellen Stop der offenen Position zwischenspeichern. Wir benötigen beide Variablen, um später vergleichen zu können, welcher Stop das geringere Risiko in sich trägt und entsprechend den von uns gewünschten Stop als Stop für die Position zu wählen. Die Variablen m_Trade und myposition sind Objekte, welche mithilfe der Standardbibliotheken erzeugt wurden. Das Objekt m_Trade spricht den aktuellen Trade an, der im Symbol geöffnet ist. myposition enthält Informationen über die aktuelle Position, wie beispielsweise den aktuellen Stop Loss, Take Profit, das Volumen etc.

Da wir für einen Trailing Stop, keine speziellen Einstellungen vornehmen müssen und aktuell auch keine Indikatoren gewollt sind, können die Funktionen OnInit() sowie OnDenit() ungefüllt gelassen werden. Für unsere Zwecke werden die Funktionen OnTrade() sowie OnTick() besonders interessant. Im Falle eines Trade Szenarios, sowie bei jedem im Symbol entstehenden Tick, wollen wir prüfen, ob unser Trade noch unseren Vorstellungen entspricht und/oder ob wir etwas anpassen müssen. In der Funktion OnTrade() werden wir den initialen Stop der Position festlegen. Diesen benötigen wir, um später unseren Stop trailen zu können, sofern er vorteilhaft im Verhältnis zum aktuellen Stop ist.

Betrachten wir zunächst einmal die Eingaben, welche wir in der OnTrade() Funktion tätigen. Hier soll der initiale Stop gesetzt werden, welchen wir als Referenzwert für unseren Trailling Stop benötigen.

//+------------------------------------------------------------------+
void OnTrade()
  {
   double PriceB=SymbolInfoDouble(_Symbol,SYMBOL_BID);
   double PriceS=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
   double Inital_Safe_Stop = StopDist*3;
   
   double TP=0;

   int Commas=SymbolInfoInteger(_Symbol,SYMBOL_DIGITS);
   double Factor=1/MathPow(10,Commas-1);

   double SL_B=PriceB-(Inital_Safe_Stop*Factor);
   double SL_S=PriceS+(Inital_Safe_Stop*Factor);


   if(PositionSelect(_Symbol))
     {
      if(myposition.PositionType()==POSITION_TYPE_BUY)
        {
         if(myposition.StopLoss()==0)
           {
            m_Trade.PositionModify(_Symbol,SL_B,TP);
           }
        }

      // Same now For Sell Positions        
      if(myposition.PositionType()==POSITION_TYPE_SELL)
        {
         if(myposition.StopLoss()==0)
           {
            m_Trade.PositionModify(_Symbol,SL_S,TP);
           }
        }
     }

  }
//+------------------------------------------------------------------+

Der Code ist in diesem Fall nicht auf maximale Effizienz sondern auf Verständlichkeit optimiert. Grundsätzlich sollte zunächst darauf geachtet werden, die Programme zum Laufen zu bekommen und sich dann mit Optimierung und performanter Programmierung zu beschäftigen. Dank leistungsfähiger Hardware kann uns heutzutage auch die ein oder andere unschöne Darstellung verziehen werden. Gehen wir den Code einmal Schritt für Schritt durch. Zunächst wird die OnTrade() Funktion geöffnet. Dann wird der aktuelle Bid und Ask Preis des Marktes in einer Variablen gespeichert. Für diese Abfrage nutzen wir die SymbolInfoDouble() Funktion. In der Funktion selbst nutzen wir _Symbol, um den Markt auszuwählen, auf dem der EA aktuell aktiv ist. Danach geben wir an, welche Information wir vom ausgewählten Symbol abfragen wollen. In unserem Fall eben den Bid und den Ask Preis. Die Funktion gibt, wie der Name es bereits sagt, die Informationen als Double, also als Fließkommazahl aus.

Automatische Code Ergänzung Metaeditor Metatrader 5 - MQL5

Um die Programmierung zu vereinfachen und zu beschleunigen gibt der Metatrader Editor immer an, welche Informationen der Funktion zu übergeben sind, damit sie problemlos funktioniert. Sollte man wider Erwarten damit nicht weiterkommen, so ist das Googlen der gefragten Funktion meistens zielführend.

Nach der Abfrage der aktuellen Preise des Marktes wollen wir eine Variable für den Initialstop, welcher für nur einen Tick, also bis zur nächsten Kursstellung im Basiswert, im Markt ist und dann sofort durch den Ricchtigen Stop ersetzt wird erstellen. Dies ist nicht zwangsläufig notwendig aber ist ein zusätzlicher Schritt, in dem wir mit Rechenoperationen in Berührung kommen. Dazu multiplizieren wir den Trailling Stop Abstand mit 3 und speichern diese Pip Anzahl ebenfalls als Variable des Typ Double ab. Damit der Stop Loss für jeden Basiswert funktional ist, beziehen wir die Anzahl der Stellen ein, den ein Basiswert hat, denn dies ist nicht für alle Basiswerte gleich. So haben die Yen Paare weniger Stellen als zum Beispiel der EUR/USD. Damit dies keine Probleme bereitet, passen wir unsere Stop Inputs an. Dies passiert durch die folgende kurze mathematische Formel unter Zuhilfenahme der MathPow() Funktion, welche das Potenzieren in MQL5 erlaubt.

Um den initialen Stop Loss für eine Kauf- und eine Verkaufsposition zu bestimmen, ziehen wir im Falle der Kaufposition den initialen angepassten Stop vom Bid-Preis ab, bzw. addieren ihn im Fall einer Verkaufsposition auf den Ask Preis. Darauf folgt lediglich die Abfrage, ob eine Position im aktiven Markt offen Position eine Kauf oder Verkaufsposition ist. Außerdem wird abgefragt, ob der Stop der Position noch nicht gesetzt ist. Wenn dies der Fall sein sollte, erfolgt eine Anpassung der Order und der initiale Stop Loss wird eingestellt.

Dabei sind folgende Funktionen besonders hervorzuheben:

if(myposition.PositionType()==POSITION_TYPE_BUY)

Myposition ist ein Objekt, welches durch die Standardklasse SymbolInfo.mqh  und CPositionInfo erstellt wurde. Dadurch lassen sich Informationen über offene Positionen leicht durch Methoden wie PositionType() abfragen oder vergleichen.

if(myposition.StopLoss()==0)

Im nächsten Schritt wurde mit dem selben Objekt aber nun mit der methodischen Abfrage StopLoss() der aktuelle Stop Loss Wert der Position ausgelesen und logisch getestet.

m_Trade.PositionModify(_Symbol,SL_S,TP);

Zu guter Letzt wird durch das mit Hilfe von CTrade erstellte Objekt und der Methode PositionModify() die offene Position verändert und der Initial Stop greift.

der Stop aber noch nicht dynamisch, sondern statisch auf dem dreifachen Level des Stops, welchen wir als Trailing Stop haben wollen. Das Dreifache ist hier nur Beispielhaft gewählt. Es soll erkennbar seinist, dass der Stop versetzt wird. Auch wenn man dies nur so lange braucht, bis im Markt der nächste Preis festgestellt wurde, ist es ein kleines Erfolgserlebnis diesen Schritt im Chart zu sehen. Es bedeutet, dass der Stop funktioniert.

Damit der Stop sich kontinuierlich anpasst, sofern der Markt in unsere Richtung läuft und somit Gewinne abgesichert werden, bzw. das Risiko reduziert wird, brauchen wir eine Abfrage, welche Tick für Tick prüft, ob der Stop angepasst werden muss und dies bei Bedarf umsetzt. Hier kommt unsere OnTick() Funktion ins Spiel.

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   double PriceB=SymbolInfoDouble(_Symbol,SYMBOL_BID);
   double PriceS=SymbolInfoDouble(_Symbol,SYMBOL_ASK);

   double TP=0;

   int Commas=SymbolInfoInteger(_Symbol,SYMBOL_DIGITS);
   double Factor=1/MathPow(10,Commas-1);

   double SL_B=PriceB-(StopDist*Factor);
   double SL_S=PriceS+(StopDist*Factor);

   if(PositionSelect(_Symbol))
     {
      if(myposition.PositionType()==POSITION_TYPE_BUY)
        {
         if(myposition.StopLoss()<SL_B)
           {
            m_Trade.PositionModify(_Symbol,SL_B,TP);
           }
        }
      // Same now For Sell Positions        
      if(myposition.PositionType()==POSITION_TYPE_SELL)
        {
         if(myposition.StopLoss()>SL_S)
           {
            m_Trade.PositionModify(_Symbol,SL_S,TP);
           }
        }
     }
  }
//+------------------------------------------------------------------+

Auf den ersten Blick lässt sich sehr schnell erkennen, warum wir erwähnten, dass man dieses Programm durchaus auch hätte effizienter schreiben können. Doch um den Lerneffekt zu vergrößern, sollte die Lesbarkeit und Verständlichkeit an vorderster Stelle stehen.

In der folgenden Kaskade von if() Abfragen wird genau wie bei der Setzung des initialen Stops zuerst geprüft, ob eine Order vorliegt und was für eine Position aktuell läuft. Jedoch erfolgt dann ein Vergleich, ob der aktuelle Stop größer oder kleiner als der Trailing Stop ist. Ist der Trailing Stop vorteilhaft für uns, also das Stop Level bei einer Kaufposition größer beziehungsweise bei einer Short Position kleiner als der aktuelle Stop, so wird die Order mit der PositionModify() Methode verändert, der Stop wird also nachgezogen.

Durch die Nutzung von Indikatoren können noch komplexere Trailing Stop EAs erzeugt werden. Wie Indikatoren in einem EA angewandt werden, wird an den letzten beiden Tagen besprochen.

#include <Trade\Trade.mqh>                                         //include the library for execution of trades
#include <Trade\PositionInfo.mqh>                                  //include the library for obtaining information on positions
#include <Expert\ExpertTrailing.mqh>
#include <Trade\SymbolInfo.mqh>

input double StopDist;

double NewStop;
double CurStop;

CTrade m_Trade;
CPositionInfo myposition;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   double PriceB=SymbolInfoDouble(_Symbol,SYMBOL_BID);
   double PriceS=SymbolInfoDouble(_Symbol,SYMBOL_ASK);

   double TP=0;

   int Commas=SymbolInfoInteger(_Symbol,SYMBOL_DIGITS);
   double Factor=1/MathPow(10,Commas-1);

   double SL_B=PriceB-(StopDist*Factor);
   double SL_S=PriceS+(StopDist*Factor);

   if(PositionSelect(_Symbol))
     {
      if(myposition.PositionType()==POSITION_TYPE_BUY)
        {
         if(myposition.StopLoss()<SL_B)
           {
            m_Trade.PositionModify(_Symbol,SL_B,TP);
           }
        }
      // Same now For Sell Positions        
      if(myposition.PositionType()==POSITION_TYPE_SELL)
        {
         if(myposition.StopLoss()>SL_S)
           {
            m_Trade.PositionModify(_Symbol,SL_S,TP);
           }
        }
     }
  }
//+------------------------------------------------------------------+
void OnTrade()
  {
   double PriceB=SymbolInfoDouble(_Symbol,SYMBOL_BID);
   double PriceS=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
   double Inital_Safe_Stop = StopDist*3;
   
   double TP=0;

   int Commas=SymbolInfoInteger(_Symbol,SYMBOL_DIGITS);
   double Factor=1/MathPow(10,Commas-1);

   double SL_B=PriceB-(Inital_Safe_Stop*Factor);
   double SL_S=PriceS+(Inital_Safe_Stop*Factor);


   if(PositionSelect(_Symbol))
     {
      if(myposition.PositionType()==POSITION_TYPE_BUY)
        {
         if(myposition.StopLoss()==0)
           {
            m_Trade.PositionModify(_Symbol,SL_B,TP);
           }
        }

      // Same now For Sell Positions        
      if(myposition.PositionType()==POSITION_TYPE_SELL)
        {
         if(myposition.StopLoss()==0)
           {
            m_Trade.PositionModify(_Symbol,SL_S,TP);
           }
        }
     }

  }
//+------------------------------------------------------------------+

Indikatoren in MQL5 – Trading Signale erstellen

Tag sechs und sieben – Endlich MQL5 Basics beherrschen.

Wir haben gelernt, Positionen zu modifizieren und können Stop Loss und auch Take Profits anpassen (dies funktioniert entsprechend der Stop Loss Anpassung). Es ist an der Zeit Signale zu erzeugen und Trades zu generieren, denn MQL5 ist neben der Anpassung von Positionen und einem damit einhergehenden vereinfachtem Risikomanagement hauptsächlich für das Schreiben von automatisierten Handelssystemen geschrieben worden.

Das folgende Handelssystem ist sehr einfach gebaut. Seine Performance ist auch sicher nicht die beste. Jedoch lässt sich an diesem der Aufbau eines Handelssystems gut erkennen. Die zugrundeliegende Theorie ist der CCI, ein oszillierender Indikator. Wir wollen das Momentum des Marktes handeln und mit dem Trend gehen. Wir gehen im Markt Long sobald der CCI einen Wert von über 100 erreicht und wir shorten sobald der CCI unter -100 fällt. Um unsere Risiken zu limitieren, verlassen wir die Long Position bei CCI Werten unter 95 und die Short Position bei Werten über -95. Damit erzeugen wir eine Asymmetrie, die sich auch in der Performance widerspiegelt. Ein solches Handelssystem sollte im Speziellen in trendstarken Märkten wie dem EUR/USD ab Mitte 2014 bis zur Jahresmitte 2015 gut funktionieren. In einem Backtest ergab sich die folgende Equity-Kurve:

Backtest CCI EA MQL5 EURUSD

Es lässt sich gut erkennen, dass die Gewinne in Schüben kommen und wir viele kleine Verluste erleiden. Dies entspricht den Erwartungen, welche wir mit dem System verknüpft haben. In dem Zeitraum erzielte der EA insgesamt eine Performance von 6.24%, was nicht besonders überragend ist, aber immerhin macht er Profite.

Es zeigt sich jedoch auch sehr deutlich, dass wir durch den Oszillator immer nur sehr kurz im Markt investiert sind. Die Folge sind hohe Transaktionskosten, sowie nur kurze Bewegungen, die eingefangen werden. Ein solches Problem hätte man bei einem Trendfolge-System nicht. Jedoch sind dabei auch die Risiken beim Eröffnen der Position größer. Das Risikomanagement sowie die Stop Setzung muss komplexer werden, als es bei diesem System der Fall ist.

Hier nun der Quellcode des EAs:

//+------------------------------------------------------------------+
//|                                                   Inside_CCI.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"

input int CCI_MA;
input int CCI_Upper;
input int CCI_Lower;
input int CCI_Upper_Exit;
input int CCI_Lower_Exit;
input int TrendFilter;

#include <Trade\Trade.mqh>                       
#include <Trade\PositionInfo.mqh>                        
#include <Expert\ExpertTrailing.mqh>
#include <Trade\SymbolInfo.mqh>

int CCI_Handle;
int MA_Handle;

double CCI_Val[];
double MA_Val[];

CTrade my_trade;
CPositionInfo my_position;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   CCI_Handle=iCCI(_Symbol,0,CCI_MA,PRICE_CLOSE);
   MA_Handle = iMA(_Symbol,0,TrendFilter,0,MODE_SMA,PRICE_CLOSE);
   ArraySetAsSeries(CCI_Val,true);
   ArraySetAsSeries(MA_Val,true);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   ArrayFree(CCI_Val);
   ArrayFree(MA_Val);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

   CopyBuffer(CCI_Handle,0,0,3,CCI_Val);
   CopyBuffer(MA_Handle,0,0,3,MA_Val);
   double CurrentPrice=SymbolInfoDouble(_Symbol,SYMBOL_BID);

   if(!PositionSelect(_Symbol))
     {
      if(CurrentPrice>MA_Val[1])
        {
         if(CCI_Val[1]>CCI_Upper)
           {
            if(CCI_Val[2]<CCI_Upper)
              {
               my_trade.Buy(0.1,_Symbol);
              }
           }
        }
      if(CurrentPrice<MA_Val[1])
        {
         if(CCI_Val[2]>CCI_Lower)
           {
            if(CCI_Val[1]<CCI_Lower)
              {
               my_trade.Sell(0.1,_Symbol);
              }
           }
        }
     }
   CopyBuffer(CCI_Handle,0,0,3,CCI_Val);

   if(PositionSelect(_Symbol))
     {
      if(my_position.PositionType()==POSITION_TYPE_BUY)
        {
         if(CCI_Val[1]<CCI_Upper_Exit)
           {
            my_trade.Sell(0.1,_Symbol);
           }
        }

      if(my_position.PositionType()==POSITION_TYPE_SELL)
        {
         if(CCI_Val[1]>CCI_Lower_Exit)
           {
            my_trade.Buy(0.1,_Symbol);
           }
        }
     }

  }
//+------------------------------------------------------------------+

Dabei ist besonders wichtig:

CTrade my_trade;

Aus dem CTrade Standardpaket. Durch diese Deklaration lässt sich auf Trades zugreifen. Man kann also Positionen einfach eröffnen und skalieren.

my_trade.Sell(0.1,_Symbol);

my_trade.Buy(0.1,_Symbol);

Des Weiteren ist der Abgleich der offenen Position ein wichtiger Schritt. Es wird geprüft, ob die offene Position eine Buy oder Sell Position ist.

my_position.PositionType()==POSITION_TYPE_SELL

my_position.PositionType()==POSITION_TYPE_BUY

Das Array, welches die Indikatoren-Daten speichert, muss durch ArraySetSeries zu einer Zeitreihe modifiziert werden, welche dann mit der CopyBuffer Funktion befüllt wird. Danach kann in den folgenden Schritten auf die Werte der Zeitreihe entsprechend einer Array Abfrage mit [x] zugegriffen werden. So lassen sich über If Abfragen Signale generieren. Hier nochmals ein Beispiel aus dem CCI Code:

if(CurrentPrice<MA_Val[1])
        {
         if(CCI_Val[2]>CCI_Lower)
           {
            if(CCI_Val[1]<CCI_Lower)
              {
               my_trade.Sell(0.1,_Symbol);
              }
           }
        }

Dabei stellten CCI_Lower und Upper die Werte dar, ab denen wir Positionen eröffnen wollten. Hier wird zudem geprüft, ob der Wert gerade erst erreicht wird, ähnlich einem Cross Over, sodass ein Signal, im Falle eines Stop Outs nicht sofort wieder eine Position eröffnet. Das würde den Stop Out, also das Schließen der Position bei einem Gegensignal überflüssig machen.

Hier noch die Performance des EAs über die letzten 21 Jahre im USDJPY:

Backtest CCI EA MQL5 USDJPY

Wir hoffen, dass mit diesem Beispiel einiges zum Thema „Automatisiertes Handeln“ geklärt werden konnte. Wir werden noch ein Video zum Thema „System Tests und Optimierung“ erstellen. Um dieses nicht zu verpassen, meldet euch in unserem Newsletter an. Viele Grüße

 

by Aug 26, 2016 Keine Kommentare
MetaTrader Secrets – unnötigen Traffic vermeiden

MetaTrader Secrets – unnötigen Traffic vermeiden

all

MetaTrader – unnötigen Traffic vermeiden

Unnötigen Traffic vermeiden: Der MetaTrader (MT) gehört mittlerweile zu den beliebtesten Handelsplattformen im Forex- und CFD-Trading. Die von MetaQuotes entwickelte Tradingsoftware ist so konzipiert, dass Beginner sofort und ohne jedes Vorwissen mit dem Handeln starten können und auch Fortgeschrittene auf ihre Kosten kommen.

In unsere Serie „MetaTrader Secrets“ schauen wir uns nützliche Einstellungen an, die nicht jedem bekannt sind, aber für alle von großem Vorteil sein könnten. Heute:

Unnötigen Traffic vermeiden:

So funktioniert es:

  1. Blenden Sie alle nicht benutzten Symbole im Marktfenster aus. Dazu klicken Sie mit der rechten Maustaste in die Marktübersicht und wählen „verbergen alle“.
  2. Deaktivieren Sie die Nachrichten. Dazu klicken Sie auf Extras -> Optionen -> Server -> News erlauben.

 

Sollten Sie noch weitere Ideen für Videos oder Fragen zum MetaTrader haben, kontaktieren Sie uns gerne per E-Mail oder hinterlassen Sie einen Kommentar.

 

 

by Jul 25, 2016 Keine Kommentare
MetaTrader 4 vs. MT 5 – Unterschiede, Vorteile & Nachteile

MetaTrader 4 vs. MT 5 – Unterschiede, Vorteile & Nachteile

all

Unterschiede zwischen dem MetaTrader4 und MetaTrader5

Aktuell wird zunehmend vom Metatrader4 (MT4) auf den Metatrader5 (MT5) umgestellt. Es gibt Gerüchte, dass der Entwickler der Software (MetaQuotes) den Support für die alte Plattform einstellt. Es gibt viele Pro- und Kontraargumente welche im Zusammenhang mit der MT5-Software genannt werden können. Doch worin unterscheiden sich die beiden Plattformen wirklich?

Gleich zu Beginn sollte erwähnt werden, dass sich die Aufmachung und die Handhabung der MetaTrader-Plattformen nur unmerklich verändert hat. Dies ermöglicht einen nahtlosen Übergang zwischen dem Metatrader4 und dem Metatrader5. Einem schnellen Start steht also nichts im Wege.

 

Zeiteinheiten im MetaTrader 5:

Während der Metatrader 4 eine recht beschränkte Auswahl an Zeiteinheiten parat hält, wartet der MT5 mit einer Vielzahl an neuen „zwischen“ Zeiteinheiten auf. Wer beispielsweise Reversals handeln möchte, der kann nun auch auf dem 2Min Chart einen Hammer bzw. Umkehrstab suchen. Anders als in MT4 muss man im MT5 weder auf dem 1Min Chart Ausschau nach einem Piercing oder Engulfing Pattern halten, noch die Kerzen selbst im Kopf zusammenzufassen.

Die Grafik zeigt auf der linken Seite 3 Kerzen im 1 Min Chart und auf der rechten Seite die selben Kerzen im 2 Min Chart. Durch die zusätzlichen Zeiteinheiten im MT5 ergeben sich ganz neue Möglichen und viel mehr Ein- und Ausstiegssignale.

Die Grafik zeigt auf der linken Seite 3 Kerzen im 1 Min Chart und auf der rechten Seite die selben Kerzen im 2 Min Chart. Durch die zusätzlichen Zeiteinheiten im MT5 ergeben sich ganz neue Möglichen und viel mehr Ein- und Ausstiegssignale.

Durch die neuen mitgelieferten Zeiteinheiten wird auch das Erstellen von automatischen Handelssystemen mit Hilfe der Sprache MQL5 erleichtert, da diese noch intuitiver als MQL4 ist. Ohne die Zeiteinheiten selbst errechnen zu müssen, können durch die Kombination von Time Frames eine große Palette an Einstiegen erkannt werden.

Die Zeiteinheiten können durch einen Rechtsklick auf den Chart, unter dem Unterpunkt „Periodizität“ eingestellt werden. Dabei finden sich die neuen Zeiteinheiten unter dem Punkt „Minuten – & Stunden“.
Die Zeiteinheiten des MT4 sind: 1Min – 5Min – 15Min – 30Min – 1Stunde – 4Stunden- 1Tag – 1Woche – 1Monat.

Der MT5 liefert zudem: 2Min – 3Min – 4Min – 6Min – 10Min -12Min – 20Min – 2Stunden – 3Stunden – 6Stunden – 8Stunden – 12Stunden.

 

Markttiefe im MetaTrader5 – Das Orderbuch

Der MT5 bietet im CFD und Forex Bereich ein neues Feature – den Einblick in das Orderbuch. Das Orderbuch kann für den aktuell aktiven Chart über: Chartfunktionen – Markttiefe oder durch die Tastenkombination ALT+B geöffnet werden.

Das Orderbuch zeigt an, wo aktuell welche Limit Orders auf ihre Ausführung warten. Dies bietet einen vollkommen neuen Blick auf den Markt. Wer lernt, das Orderbuch sauber und schnell zu lesen, gewinnt durch das Wissen über die aktuelle Orderbuchsituation einen Überblick über die Markterwartungen der anderen Marktteilnehmer. Man kann die Limits anderer Händler nutzen, um seine eigenen Trades effizienter zu platzieren oder potenzielle Stop-Levels für ein bestimmtes Volumen erkennen. Dies vermeidet Slippage oder kann durch das Kaufen oder Verkaufen zu Bid bzw. Ask sogar einen Handel ohne Spread ermöglichen.

Durch einen Blick ins Orderbuch lassen sich Bereiche erkennen, in denen Bewegungen aufgrund von großen Käufern oder Verkäufern erwartbar sind. Ein Orderbuch zu lesen, bedarf viel Übung, da permanent neue Trades eingestellt oder gestrichen werden. Gerade im Futures Markt ist es sehr dynamisch, weil auch Algorithmen auf dieser sehr feinen Betrachtungsweise des Marktes ihr Spiel spielen. Nach erfolgreicher Einarbeitung erhält man für den Intraday-Handel aber ein starkes Tool, das einem den entscheidenden Informationsvorsprung gegenüber anderen Händlern liefern kann.

Markttiefe im MetaTrader5

Das Orderbuch zeigt sowohl einen Tick Chart für den Bid- und Ask Preis, als auch die tabellarische Ansicht über die Limits, welche im Markt liegen. Im oberen Bereich werden die aktuellen Verkaufsorders angezeigt, im unteren (blau hinterlegten( Bereich sind die Kauflimits eingetragen. In der aktuellen Darstellung werden die Limitierungen in Lot-Größen angezeigt. Man kann sie sich aber auch als Beträge anzeigen lassen. Die grünen Säulen unterhalb des Linien Tick-Chartes zeigen an, wo welches Volumen umgesetzt wurde. Über die Tabellenansicht rechts lassen sich außerdem Orders direkt auf bestimmte Preise aufgeben. Dazu muss man lediglich über die Pfeilbuttons eine Order einstellen oder das eingestellt Volumen über die one-klick Buttons unten rechts handeln.

 

Die Echtzeit-Historie im MT5

Im Metatrader4 musste man die eingegangenen Trades aus der Historie auf den Chart ziehen, um Einstiege und Ausstiege sowie Limits, wie Take-Profit oder Stop-Loss von vergangenen Transaktionen auf einem Markt im Chart zu sehen. Dieser Prozess lässt sich im MT5 automatisch aktivieren.

Der MT5 zeichnet dann für alle Transaktionen die Einstiege sowie zugehörige Limit oder Stop-Orders in den Markt ein und markiert beim Schließen der Position entsprechend den Zeitpunkt, an dem die Position geschlossen wurde. Die beiden Punkte werden anschließend vom Metatrader mit einer Linie verbunden, sodass der Zeitraum des Trades gut erkennbar ist. Es ist daher sofort ersichtlich, ob ein Trade einen Gewinn oder Verlust gebracht hat. Dieses Feature hilft beim disziplinierten Trading, da alle Trades in der Chart-Oberfläche grafisch ersichtlich sind. Fehler werden so im Zweifel schneller erkannt und nicht einfach verdrängt.

Tradingtagebuch im MetaTrader5

Solche Grafiken sind auch eine guter Zusatz für jedes Tradingtagebuch.
Die Funktion lässt sich ganz einfach unter Extras – Optionen – Einstellungen – Handel – Echtzeithistorie – durch ein Setzen des Hackens ein- und ausschalten.

 

EAs und Scripts im MetaTrader.

Wie bereits angesprochen, ändert sich die Sprache, mit welcher der Metatrader programmiert werden kann. Statt der alten Sprache MQL4 kommt nun MQL5 zum Einsatz. MQL5 ist an die weit verbreitete Programmiersprache C++ angelehnt und bietet. Durch viele bereitgestellte Objekte und Funktionen können automatisierte Handelsprogramme und handelsunterstützende Scripts leicht erstellt werden.
Anders als noch im Metatrader4 ist der Shop, in welchem Scripts und EAs erworben werden können, direkt im MT5 integriert. Dies erleichtert sowohl das Auffinden solcher Programme als auch den Kauf und die Einbindung. Finden lassen sich die Programme direkt nach dem Starten des Metatrader5 im Terminal (öffnen und schließen des Terminal mithilfe von STRG+T) im Unterpunkt „Market“.

Leider sind MQL4 und MQL5 nicht kompatibel!!!

 

Objekte und Indikatoren im MetaTrader 5

Während der MT4 mit 30 vorinstallierten Indikatoren und 33 analytischen Objekten geliefert wird, wartet der Metatrader5 mit sage und schreibe 38 Indikatoren, 22 analytischen Objekten und 46 grafischen Objekten auf. Der Facettenreichtum und die Möglichkeiten eine Analyse zu erstellen sind also mit der neuen Software gewachsen. Die Indikatoren lassen sich über: – Chartfunktionen – Indikatoren oder aber die Tastenkombination STRG+I bearbeiten.

 

Ordertypen im MetaTrader

Der Metatrader5 bringt auch hinsichtlich der Ordertypen Neues mit sich. Die Art der Orderplatzierung kann sich durchaus im Kontostand bemerkbar machen. Während der MT4 mit den bekannten Orderarten Market, Buy-Limit, Sell-Limit, Buy-Stop und Sell-Stop eine bereits akzeptable Bandbreite liefert, punktet der MT5 mit den zusätzlichen Optionen Sell-Stop-Limit und Buy-Stop-Limit. Gleichzeitig ist auch weiterhin die Gültigkeit einer Order einstellbar. Man kann nach dem Platzieren einer Order weiterhin guten Gewissens den Computer verlassen und weiß genau, wann und wie welche Orders aktiv sind. Dadurch kommt man genau zu den Preisen und Zeiten in bzw. aus dem Markt, zu denen man dies auch möchte.

 

Hedgen im MetaTrader5

Das Hedging ist einer der Gründe, warum viele bis heute nicht auf den Metatrader5 umgestiegen sind. Der MT5 fasst anders als der MT4 alle offenen Positionen zusammen, errechnet deren Durchschnittspreis und stellt so alle Positionen als ein Aggregat dar.
Wenn sowohl Kauf- als auch Verkaufs Orders gleichzeitig eröffnet werden sollen, lässt der MT5 dies standardmäßig nicht zu.
Nehmen wir an, ich hätte eine Kaufposition von einem Lot offen. Ich wäre also Long EUR/USD 100.000. Würde ich nun meine Position zu 50% absichern, so wäre dies im MT4 einfach durch das Eröffnen einer 0.5Lot Sell Position möglich. Ich wäre dann zu diesem Zeitpunkt Long 100.000 und Short 50.000. Der Vorteil ist, dass ich meine volle Position zu einem aus meiner Sicht optimalen Stop-Level im Markt behalten und doch gleichzeitig eine Absicherung aufbauen kann. Der Metatrader5 würde nun aber meine Long Position um 50.000 verringern. Er würde also eine Teilschließung vornehmen, statt einen Hedge zu eröffnen.

Für das Hedgen im MT5 bieten aber schon jetzt einige Broker eine Alternative. So kann der Kunde zwischen verschiedenen MT5 Kontomodellen wählen (Netting oder Hedging). Entsprechend sind dann auch hier die Unterscheide hinfällig. Es erwächst sogar der Vorteil, dass Teilschließungen durch das einfache Eröffnen einer Gegenposition möglich sind und dies durch das One-Click-Trading blitzschnell umsetzbar ist. Es kann also gewählt werden, ob das Netting der Position gewünscht ist oder ob ein Hedge eröffnet werden soll. Ein Broker, der diese Funktion schon jetzt anbietet, ist RoboForex – dieses ist keine Werbung sondern nur ein Beispiel.

 

Die Vorteile vom MetaTrader 5

Features Metatrader.5 Metatrader.4
1 Anzahl Orderarten 6 4
2 Markttiefe / Orderbuch Ja Nein
3 Anzahl Indikatoren 38 30
4 Anzahl der grafischen Objekte 44 31
5 Zeiteinheiten 21 9
6 STRATEGIE TESTER Multithreading + Mehrere
Waehrungen + Echte Ticks
Single-Threading
7 NETTING Ja Nein
8 HEDGING Ja Ja
9 Volumensdaten der Boerse Ja Nein
10 News Ja Nein
11 E-Mail Anhaenge Ja Nein
12 Ueberweisungen zwischen Handelskonten Ja Nein
13 MQL5 Chat in Handelsplattform Ja Nein

Für weitere Informationen rund um den Metatrader5 und MT4 abonniert unseren Youtube-Kanal. Mehr Infos zu Insidetrading und dem Thema Investieren, Trading und Business findet ihr zukünftig auch in unserem Newsletter.

InsideTrading

by Jul 15, 2016 1 Kommentar
MetaTrader Secrets – Den MACD anpassen und eine 2. Linie einfügen

MetaTrader Secrets – Den MACD anpassen und eine 2. Linie einfügen

all

MetaTrader – Den MACD anpassen, eine 2. Linie einfügen

Der MetaTrader (MT) gehört mittlerweile zu den beliebtesten Handelsplattformen im Forex- und CFD-Trading. Die von MetaQuotes entwickelte Tradingsoftware ist so konzipiert, dass Beginner sofort und ohne jedes Vorwissen mit dem Handeln starten können und auch Fortgeschrittene auf ihre Kosten kommen.

In unsere Serie „MetaTrader Secrets“ schauen wir uns nützliche Einstellungen an, die nicht jedem bekannt sind, aber für alle von großem Vorteil sein könnten. Heute:

Den MACD anpassen und eine 2. Linie einfügen:

So funktioniert es:

  1. Klicken Sie im MetaTrader auf Datei -> Dateiordner öffnen –> MQL4 -> Indicators.
  2. Suchen Sie anschließend nach der Datei „MACD.mq4“ und klicken Sie doppelt auf diese, woraufhin sich der MetaEditor öffnet.
  3. Hier verändern Sie in Zeile 36 „DRAW_HISTOGRAM“ zu „DRAW_LINE“.
  4. Dann klicken Sie auf die Diskette in der Menüleiste, um die Änderungen zu speichern.
  5. Mit dem grünen „Play-Button“ in der Menüleiste können Sie die Änderung ausführen.

 

MetaTrader4 MACD anpassen

Sollten Sie noch weitere Ideen für Videos oder Fragen zum MetaTrader haben, kontaktieren Sie uns gerne per E-Mail oder hinterlassen Sie einen Kommentar.

 

PS: sollten die Dateien in dem MetaTrader nicht finden, dann können Sie diese hier herunterladen. MACD
Diese Dateien einfach entpacken und in den Order einfügen: Datei -> Dateiordner öffnen –> MQL4 -> Indicators

 

by Jun 17, 2016 Keine Kommentare
MetaTrader Secrets – Ein Investorpasswort festlegen/ ändern.

MetaTrader Secrets – Ein Investorpasswort festlegen/ ändern.

all

MetaTrader – Ein Investorpasswort festlegen/ ändern.

Der MetaTrader (MT) gehört mittlerweile zu den beliebtesten Handelsplattformen im Forex- und CFD-Trading. Die von MetaQuotes entwickelte Tradingsoftware ist so konzipiert, dass Beginner sofort und ohne jedes Vorwissen mit dem Handeln starten können und auch Fortgeschrittene auf ihre Kosten kommen.

In unsere Serie „MetaTrader Secrets“ schauen wir uns nützliche Einstellungen an, die nicht jedem bekannt sind, aber für alle von großem Vorteil sein könnten. Heute:

Ein Investorpasswort festlegen

So funktioniert es:

  1. Klicken Sie in der Menüleiste auf Extras -> Optionen
  2. Im Pop-Up klicken Sie dann den Tab „Server“ aus und klicken neben dem Wort „Passwort“ auf „Ändern“
  3. Geben Sie Ihr aktuelles MetaTrader-Passwort ein, klicken Sie auf „Read-Only (Investor) Passwort ändern“, legen Sie ein Passwort fest und bestätigen Sie es mit „Okay“

Investorpasswort:

Das Investorpasswort ermöglicht es Dritten im Zusammenhang mit der Metadrader-Kontonummer Ihre Trades und Kontoaktivitäten zu verfolgen. So können Sie Freunden zeigen, wie Sie Traden. Sie haben zudem die Möglichkeit Ihre Trades zu kopieren.

Sollten Sie noch weitere Ideen für Videos oder Fragen zum MetaTrader haben, kontaktieren Sie uns gerne per E-Mail oder hinterlassen Sie einen Kommentar.

by Jun 06, 2016 Keine Kommentare
MetaTrader Secrets – Zu einem Datum/Zeitpunkt springen

MetaTrader Secrets – Zu einem Datum/Zeitpunkt springen

all

MetaTrader– Zu einem Datum/Zeitpunkt springen

Zu einem Datum/Zeitpunkt springen: Der MetaTrader (MT) gehört mittlerweile zu den beliebtesten Handelsplattformen im Forex- und CFD-Trading. Die von MetaQuotes entwickelte Tradingsoftware ist so konzipiert, dass Beginner sofort und ohne jedes Vorwissen mit dem Handeln starten können und auch Fortgeschrittene auf ihre Kosten kommen.

In unsere Serie „MetaTrader Secrets“ schauen wir uns nützliche Einstellungen an, die nicht jedem bekannt sind, aber für alle von großem Vorteil sein könnten. Heute:

Zu einem Datum/Zeitpunkt springen:

So funktioniert es:

  1. Um zu einer bestimmten Stelle im Chart zu gelangen, klicken Sie auf „Enter“
  2. Jetzt können Sie nach den folgenden Zeitpunkten suchen:
    MM.YY (nach einem Tag)
    DD.MM.YY HH:MM (nach einem Zeitpunkt an einem beliebigen Tag)
    HH:MM (nach einer Uhrzeit am aktuellen Tag)
  3. Bestätigen Sie die Eingabe mit „Enter“
  4. Die erste Kerze im angezeigten Chart enthält die gewünschten Informationen.

 

Wichtig:

Nullen können bei der Suche weggelassen werden. Zudem werden pro Zeitperiode nur eine gewisse Anzahl an Kerzen gespeichert. Können Sie also den gewünschten Zeitpunkt nicht finden, sollten Sie sich eine größere Periode anzeigen lassen.

 

Sollten Sie noch weitere Ideen für Videos oder Fragen zum MetaTrader haben, kontaktieren Sie uns gerne per E-Mail oder hinterlassen Sie einen Kommentar.

 

 

by Mai 10, 2016 Keine Kommentare
MetaTrader Secrets – der 2 Minuten Chart

MetaTrader Secrets – der 2 Minuten Chart

all

2 Minuten Chart:

Der MetaTrader (MT) gehört mittlerweile zu den beliebtesten Handelsplattformen im Forex- und CFD-Trading. Die von MetaQuotes entwickelte Tradingsoftware ist so konzipiert, dass Beginner sofort und ohne jedes Vorwissen mit dem Handeln starten können und auch Fortgeschrittene auf ihre Kosten kommen.

In unsere Serie „MetaTrader Secrets“ schauen wir uns nützliche Einstellungen an, die nicht jedem bekannt sind, aber für alle von großem Vorteil sein könnten. Heute:

 

Der 2 Minuten Chart

 

So funktioniert es: 

  1. öffnen Sie den M1 Chart eines Marktes Ihrer Wahl, beispielsweise EURUSD
  2. ziehen Sie den „PeriodeConverter“ auf den M1 Chart (unter Navigator -> Skripte)
  3. verändern Sie den „Wert“ unter dem Reiter „Eingaben“ auf 2, um den 2 Minuten Chart zu erhalten oder belassen Sie diesen bei 3, um den 3 Minuten Chart zu öffnen.
  4. Klicken Sie auf Datei (oben links) -> offline Chart öffnen -> öffnen Sie den M2 bzw. M3 Chart
  5. passen Sie das Template an (so geht es)

Navigator Fenster MetaTrader  Period Converter MetaTrader4 offline Chart MetaTrader4

 

Wichtig:

  • der Offline-Chart eignet sich auch zum Traden, da dieser Live-Charts zeigt
  • nachdem Sie den MetaTrader geschlossen haben, müssen Sie diese Prozedur wiederholen

 

Sollten Sie noch weitere Ideen für Videos oder Fragen zum MetaTrader haben, kontaktieren Sie uns gerne per E-Mail oder hinterlassen Sie einen Kommentar.

 

 

by Apr 28, 2016 Keine Kommentare
MetaTrader Secrets – das Standard Template verändern

MetaTrader Secrets – das Standard Template verändern

all

MetaTrader Secrets – das Standard Template verändern

Standard Template verändern: Der MetaTrader (MT) gehört mittlerweile zu den beliebtesten Handelsplattformen im Forex- und CFD-Trading. Die von MetaQuotes entwickelte Tradingsoftware ist so konzipiert, dass Beginner sofort und ohne jedes Vorwissen mit dem Handeln starten können und auch Fortgeschrittene auf ihre Kosten kommen.

In unsere Serie „MetaTrader Secrets“ schauen wir uns nützliche Einstellungen an, die nicht jedem bekannt sind, aber für alle von großem Vorteil sein könnten. Heute:

Das Standard Template anpassen:

So funktioniert es:

  1. Richten Sie sich den Chart nach Belieben ein, verändern Sie die Farben und fügen Sie Indikatoren ein
  2. Klicken Sie mit der rechten Maustaste irgendwo in das Chartfenster und wählen Sie -> Vorlagen -> Vorlagen speichern
  3. Speichern Sie das eben erstellte Template als unter „default.tpl“
  4. Jeder neu geöffnete Chart aus der Marktübersicht wird jetzt in Ihren voreingestellten Einstellungen erstrahlen

 

MetaTrader Template speichern MetaTrader default.tpl Template

 

 

 

Wichtig:

Offline- und Backtest-Charts werden,dennoch in dem „hässlichen“ Grün-Schwarzen-Gitter-Standard-Chart angezeigt, aber Sie können die erstellte Vorlage im Nachhinein einfach anwenden. (Rechtsklick auf den Chart -> Vorlagen -> Default)

 

Sollten Sie noch weitere Ideen für Videos oder Fragen zum MetaTrader haben, kontaktieren Sie uns gerne per E-Mail oder hinterlassen Sie einen Kommentar.

 

 

by Apr 07, 2016 Keine Kommentare