Thursday 21 September 2017

Tradestation Devisenhandel Strategien


MetaTrader vs TradeStation: Eine Sprache Vergleich von Michael R. Bryant Wer aktiv Forex-Handel hat wahrscheinlich von MetaTrader gehört. Sie behaupten, mehr als eine halbe Million Nutzer für die mobilen Versionen ihrer Handelsplattformen MT4 und MT5 zu haben. Als Reaktion auf Anfragen von MetaTrader-Benutzern, Ive arbeitete auf Hinzufügen MetaTrader 4 (MT4) Ausgabe an Adaptrade Builder. Als ich die Dokumentation für die neue MT4-Code-Ausgabe-Funktion in Builder, dachte ich, wäre es eine gute Zeit, um einige der Möglichkeiten, in denen die MT4-Programmiersprache namens MQL4, unterscheidet sich von TradeStations Programmiersprache, genannt EasyLanguage. Wenn youre ein systematischer Händler, der an dem Devisenhandel interessiert ist und havent noch eine Handelsplattform gewählt hat, oder youre, das vom Umschalten von einer Plattform zur anderen denkt, gibt es einige Sachen, die Sie über die zwei scripting Sprachen wissen sollten. Wenn Sie gerade über MetaTrader lernen, fragen Sie sich vielleicht, warum seine so eine beliebte Plattform. Meiner Meinung nach ist es ein Ergebnis von mehreren Faktoren. Erstens ist die Plattform kostenlos. Sie können die Software herunterladen und kostenlose Forex-Daten als Teil der Plattform kostenlos erhalten. Die Plattform umfasst alle großen Forex-Symbole, und, nachdem Sie sich für ein kostenloses Demo-Konto, die Daten in Echtzeit aktualisiert. Auch die MetaTrader 4-Skriptsprache, MQL4, ist ein integraler Bestandteil der Plattform. Sie können MQL4 verwenden, um Indikatoren, quotscriptsquot (Code zum Ausführen bestimmter Funktionen auf Anfrage) und Quotexpert-Berater (EAs) quot (Handelsstrategien) zu schreiben. Die MQL4-Sprache, wie unten diskutiert, ist sehr vielseitig und macht MT4, wie TradeStation, eine erweiterbare Plattform. Theres eine aktive Gemeinschaft der MT4 Benutzer, die Indikatoren und EAs zum MT4 Forum beitragen. Die MT4-Plattform, wie die MQL4-Sprache, ist speziell für Forex entwickelt. Ill diskutieren mehr darüber, wie dies Auswirkungen auf die MQL4-Sprache unten, aber der Punkt hier ist, dass Forex ist ein großer, wachsender, globaler Markt, und MetaTrader hat speziell auf diesen Markt ausgerichtet. Schließlich ist MetaTrader im Gegensatz zu TradeStation, die meistens die Benutzer dazu veranlasst, eigene Brokerdienste zu verwenden, mit einer breiten Palette von Forex Brokern kompatibel. Als langjähriger TradeStation-Benutzer kann ich mich erinnern, wenn TradeStation nur für den Handel der Futures-Märkte war. Die Programmiersprache EasyLanguage wurde von Futures Traders für Futures Trader entworfen. Im Laufe der Jahre wurde die Sprache erweitert und angepasst, um gut zu funktionieren in anderen Märkten, vor allem Aktien, Optionen und Forex. Allerdings spiegeln einige seiner Merkmale noch ihre Ursprünge in den Futures-Märkten wider. MQL4 (kurz für MetaQuotes Language 4) wurde speziell für die Devisenmärkte entwickelt. Oftmals, Unterrichtsmaterial für Forex Trading konzentriert sich auf generische Trading-Ideen und Konzepte, wie technische Indikatoren und Arten von Trading-Logik, und ignoriert die Details, wie die Forex-Märkte funktionieren und wie macht Forex unterscheidet sich von anderen Märkten wie Aktien und Futures . Tatsache ist, dass Forex-Handel funktioniert etwas anders als andere Märkte, wie jeder Übergang von einem anderen Markt weiß. MQL4 neigt dazu, diese Unterschiede zu reflektieren. Wichtige Unterschiede Hier sind einige der wichtigsten Unterschiede zwischen EasyLanguage und MQL4. Soweit nicht anders vermerkt, bezieht sich die Diskussion auf das Schreiben von Handelsstrategien und deren Backtesting auf historische Daten. Die Prämisse der EasyLanguage-Codeausführung ist, dass der gesamte Code am Ende jedes Balkens des Diagramms ausgeführt wird, auf das die Strategie angewendet wird. Wenn das Diagramm aus Tagesbalken besteht, wird der Code beispielsweise am Ende jeder Tagesbar ausgeführt. Wenn Sie den Code häufiger ausführen möchten, muss das Diagramm geändert werden, um eine kleinere Balkengröße zu haben. Sie können jedoch den Code zwingen, bestimmte Elemente häufiger auszuführen, indem Sie die Funktion "Click-inside-bar-back-testingquot" verwenden. Dies verwendet Preisdaten mit einer höheren Auflösung als in der Tabelle gezeigt, um genauere Ergebnisse zu erzielen. MQL4-Code verwendet eine Funktion namens start (), die auf jedem Tick ausgeführt wird. Typischerweise tritt der Hauptstrategiecode innerhalb der start () - Funktion auf. Wenn Sie nicht möchten, dass der Code auf jedem Tick ausgeführt wird, müssen Sie diese Logik in start () programmieren. Um z. B. den Code auf dem offenen von jedem Balken ausführen zu lassen, können Sie das Balkenvolume verwenden, um das Öffnen unter Verwendung von quotVolume0 lt 1quot zu erkennen. Theres keine praktische Weise, den Abschluss des Stabes zu ermitteln, also führen Strategien in MT4 typisch an jedem Häckchen oder an den geöffneten Stäben aus. Da EasyLanguage-Code am Ende der Leiste ausgeführt wird, sind Trade-Anweisungs-Anweisungen immer für die Ausführung auf der nächsten Leiste, z. B. QuotBuy nächste Bar bei marketquot. Die nächste äquivalente Anweisung in MQL4 wäre, die Reihenfolge für die aktuelle Leiste an den aktuellen Leisten zu öffnen. In diesem Fall wird die Handelslogik immer auf dem vorherigen Balken in MQL4 ausgewertet, während in EasyLanguage die Logik auf dem aktuellen Balken ausgewertet wird. Im Gegensatz zu EasyLanguage beschränkt MQL4 keine Strategien auf die Daten für das Diagramm, auf dem die Strategie angewendet wurde. Sie können auf jede verfügbare Datenreihe in einer MT4-Strategie verweisen, indem Sie auf das Symbol und die Balkengröße verweisen. Bargrößen sind auf 1, 5, 15, 30, 60 und 240 Minuten sowie täglich, wöchentlich und monatlich begrenzt. TradeStation hat eine größere Auswahl an verfügbaren Stabgrößen, einschließlich Stabgrößen einer beliebigen Anzahl von Minuten und Zeckenstäben einer beliebigen Anzahl von Zecken. Auftragsabwicklung EasyLanguage ist eine lobenswerte Aufgabe, die Komplexität der Platzierung und Ausführung von Handelsaufträgen zu verbergen. Zum Beispiel, wenn Sie eine kurze Position haben, und Sie platzieren eine lange Eintrag Reihenfolge, wenn Sie nicht die Größe angeben, wird der lange Eintrag automatisch schließen Sie den kurzen Handel zur gleichen Zeit stellt es den langen Handel. Ebenso, wenn Sie mehrere ausstehende Aufträge, zum Beispiel, einen langen Handel auf dem Markt abhängig von verschiedenen Bedingungen haben, wenn mehrere Bedingungen wahr sind zur gleichen Zeit, wird nur eine Ausfahrt Bestellung platziert werden die anderen werden automatisch abgebrochen werden. Außerdem bleiben Handelsaufträge in EasyLanguage für nur eine Bar bestehen und werden automatisch abgebrochen, wenn sie nicht am Ende der nächsten Leiste gefüllt werden. MQL4 lässt die Auftragsabwicklung weitgehend dem Programmierer zu. Wenn Sie mehrere konkurrierende Aufträge haben, müssen Sie sie selbst zu verwalten, abzubrechen, diejenigen, die nicht ausgeführt werden und sicherstellen, dass mehrere Aufträge nicht unbeabsichtigt ausgeführt werden. Wenn zum Beispiel in MQL4 ein Eintrag eine offene Position rückgängig machen soll, müssen Sie entweder die Anzahl der Lose angeben, um das gewünschte Nettoergebnis zu erzielen (z. B. 2 Lose kurz mit 1 Los offen, bis 1 Lose kurz) Oder die offene Position verfolgen und schließen, sobald der neue Eintrag erkannt wird. Aktien vs. Lots In EasyLanguage wird die Größe einer Handelsposition entweder in Kontrakten (z. B. Futures) oder Aktien festgelegt. Für den Devisenhandel würde eine Standardpositionsgröße in TradeStation 10.000 oder 100.000 Aktien betragen, was einer kleinen oder vollständigen Menge entspricht. Im Einklang mit seiner Forex-Orientierung, in MetaTrader die Handelsgröße ist in Losen angegeben, die gebrochen werden können. Ein voller Größe Los wäre eine Menge Größe von 1. Ein Mini-Los wäre eine Menge von 0,1. Trading-Kosten und Fill-Preise Da TradeStation und EasyLanguage ursprünglich auf Futures-Handel ausgerichtet waren, folgen sie der Konvention von Slippage, um zu berücksichtigen, dass Trades in der Regel nicht zum Marktpreis gefüllt werden. Slippage ist der Dollar-Kosten hinzugefügt, um den Handel, um dies zu berücksichtigen. In der Regel würden Sie auch die Provisionskosten pro Kontrakt oder pro Handel eintragen, um die Gebühren, die die Maklergebühren für die Ausführung des Handels ausmachen, zu berücksichtigen. Alle diese Kosten werden auf die gleiche Weise behandelt: Sie ziehen einen Dollarbetrag von einem gewinnbringenden Handel ab oder addieren denselben Betrag zu einem verlierenden Handel. Die gleichen Kosten werden von allen Trades abgezogen, sowohl lang als auch kurz. Gleichzeitig wird angenommen, dass der Handel zum festgelegten Preis gefüllt ist, entweder den aktuellen Preis für einen Marktauftrag oder den festgelegten Stop - oder Limitpreis. MQL4 nutzt einen etwas anspruchsvolleren Ansatz für die Handelskosten und füllen Preise. In MetaTrader, ist es wichtig zu verstehen, dass jeder Preis tatsächlich zwei Preise, das Angebot und die fragen. Das Gebot ist der niedrigere Preis, während die fragen ist der höhere Preis. Der Unterschied zwischen dem Bid und dem Ask wird als Bidask-Spread bezeichnet. Kaufaufträge werden immer bei der Nachfrage gefüllt, und Verkaufsaufträge werden immer am Gebot ausgefüllt. Eine Preisliste zeigt nur den Geldkurs an. Das bedeutet, dass Marktkaufaufträge über dem offensichtlichen Marktpreis (basierend auf dem Diagramm) gefüllt werden, wohingegen Marktverkaufsaufträge zu dem Preis gefüllt werden, der auf dem Diagramm gesehen wird. Der Bidaskspread ist ein Teil der Kosten des Handels. Dies ist im Einklang mit der gängigen Praxis im Devisenhandel der Zahlung für den Handel durch die Ausbreitung anstatt die Zahlung des Maklers eine feste Provision. MQL4 verwendet auch den Bidask-Spread, um festzustellen, ob ein ausstehender Auftrag gefüllt ist. Beispielsweise wird eine Kauf-Stop-Order nur gefüllt, wenn der Ask-Preis, der über dem Kurspreis liegt (Bid), den Stop-Preis berührt. Wenn zum Beispiel die Preisleiste auf dem Chart nur den Stopppreis berührt, kann es vorkommen, dass der Auftrag gefüllt werden soll, aber MT4 zeigt den historischen Handel nicht als gefüllt an, es sei denn, der Ask-Preis hat den Buy-Stop-Preis erreicht. Ebenso wird eine Kauflimit-Order nicht als gefüllt aufgezeichnet, wenn der Ask-Preis nicht bis zum Buy-Limit-Preis reicht. Verkaufsstopps und Limits werden bei dem Gebot ausgefüllt, so dass, anders als Kaufaufträge, ihre Füllpreise direkt den Diagrammpreisen entsprechen. Die Bidask-Spread ist nicht die einzige Preisspanne, die Handelsaufträge in MT4MQL4 betrifft. Wenn eine anstehende Order (Stop oder Limit) zum Zeitpunkt der Platzierung zu nahe am Markt ist, wird die Order abgelehnt. Dieses basiert auf der Idee, dass es nicht genügend Zeit gibt, den Auftrag zu vergeben, bevor der Markt durch den Auftragspreis sich bewegt. Dieser Mindestabstand kann mit der Funktion MarketInfo (..) in MQL4 abgerufen werden. Ebenso kann ein ausstehender Auftrag nicht in MQL4 modifiziert werden, wenn der aktuelle Preis für den Auftrag innerhalb des sogenannten quotfreezequot-Levels liegt. Mit anderen Worten: Wenn der Auftrag so nahe am Markt ist, dass er jederzeit gefüllt werden kann, ist es nicht erlaubt, ihn zu ändern. Wegen des anspruchsvolleren Ansatzes, der MT4MQL4 zur Darstellung der Auftragsabfüllung verwendet, sind die Fillpreise in MT4 für historische Simulationen (d. h. Backtesting) wahrscheinlich genauer als in TradeStation. Sprache Syntax Sowohl EasyLanguage als auch MQL4 sind C-ähnliche Sprachen. Das heißt, sie haben beide Ähnlichkeiten mit der Programmiersprache C, die eine universelle, prozedurale Programmiersprache ist, die in den späten 1970er Jahren entwickelt wurde. MQL4 ist viel näher in der Syntax zu C als EasyLanguage. Allerdings, während MQL4 sieht fast identisch mit C, gibt es ein paar Unterschiede, und MQL4 nicht implementieren alle Cs Sprache Funktionen. Die Hilfedateien im MT4 beachten die Unterschiede. Indikatorunterschiede Wenn Sie eine EasyLanguage-Strategie in MQL4 oder umgekehrt konvertieren möchten, beachten Sie, dass nicht alle Indikatoren, die auf beiden Plattformen verfügbar sind, in jeder Plattform gleich berechnet werden. Insbesondere die folgenden Indikatoren ergeben für die gleichen Preisdaten wesentlich unterschiedliche Werte: Momentum, FastD stochastisch (Hauptmodus des stochastischen Indikators in MT4), SlowD stochastisch (Signalleitung des stochastischen Indikators in MT4), DI-DI (Richtungsbewegung), ADX und Akkumulationsverteilung. Es sollte auch beachtet werden, dass TradeStation mehr eingebaute Indikatoren als MT4 enthält. Durch das Online-Forum für MT4 ist es jedoch möglich, eine Vielzahl von Indikatoren zu finden, die von anderen Mitgliedern kostenlos zur Verfügung gestellt wurden. Schlussfolgerungen Sowohl EasyLanguage als auch MQL4 sind allgemeingültige Skriptsprachen für den Handel auf den Märkten. Mit beiden Sprachen ist es möglich, sehr komplexe und anspruchsvolle Handelsstrategien zu entwickeln. Im Allgemeinen ist meine Erfahrung, die von anderen unterstützt werden, dass MQL4 eine schwierigere Sprache zu meistern als EasyLanguage ist, obwohl die meisten TradeStation-Benutzer wahrscheinlich damit einverstanden sind, dass der Name EasyLanguage ein bisschen falsch ist. Ein Großteil der Komplexität von MQL4 stammt von den Anforderungen, die es an den Programmierer legt, Handelsaufträge zu verwalten, etwas EasyLanguage behandelt hinter den Kulissen zum größten Teil. Allerdings kommt die zusätzliche Belastung mit größerer Kontrolle und größere Genauigkeit bei der Schätzung der Füllpreise in historischen Tests. Insgesamt ist es nicht verwunderlich, dass MT4 ist eine beliebte Handelsplattform für Forex und dass MQL4 wurde hoch auf meiner Liste der Anfragen von Kunden meiner Adaptrade Builder-Software für Strategie-Gebäude. Es gibt zwei aktuelle Version von MetaTrader: MetaTrader 4 und MetaTrader 5. Beide Plattformen werden aktiv unterstützt, verwenden aber verschiedene Skriptsprachen. MT4 ist bei weitem die beliebteste Plattform. Infolgedessen fokussiert dieser Artikel ausschließlich auf MT4 und seine verbundene scripting Sprache, MQL4. Dieser Artikel erschien in der Dezember-Ausgabe 2012 der Adaptrade Software newsletter. TradeStation für den Handel Forex Es gibt eine Alternative zu Tradestation. Es heißt Multicharts Multicharts Ich benutze diese Software jeden Tag für Charting und seine bettter als TS. Seine easylanguage ist 99.99 kompatibel mit TSs easylanguage. Unterstützte Forex Broker sind MBT, FXCM, Interactive Brokers und Dukascopy (über FIX API). Es hat einige Vorteile gegenüber TS, zB. Es verwendet Multicores und Hyperthreading für die Optimierung (es war ursprünglich beabsichtigt, eine Plattform nur für Algo-Händler zu sein). Es hat auch einige Nachteile gegenüber TS: kein Handbuch. Vielen Dank für die Buchung, dass. Ich benutze Ninja-Trader im Moment, aber ich habe nie 100 glücklich mit ihnen, kann nicht zu viel beschweren, wie ich die kostenlose Version verwenden. Ich betrachte Alternativen. Ich werde einen Blick nehmen scheint die Lebensdauer ist die beste Option in Bezug auf die Kosten. Eine andere ist da draußen, das ist einen Blick wert ist amibroker Wenn Sie MultiCharts laufen, dann was Forex Broker Sie verwenden, um die Aufträge Im mehr interessiert, wie es auf Spot Forex gilt. TradeStation ist sowohl Charting-Software und Broker (obwohl Forex ist eine separate Kontonummer aus Aktien oder Futures), und ich kann OCOOSO bedingte Aufträge direkt mit dem Konto laufen. Ich laufe nicht Multicharts jetzt für das Charting. Ich half ihnen, mit OEC api (OpenECry) zu testen. Das war ungefähr 3 oder 4 Jahre her. Das war das letzte Mal, dass ich es für den Handel verwendet. Ich schaute auf die Plattform wieder vor etwa einem Jahr, als ich erwägt, MBT oder OEC für Forex, und könnte gleichzeitig sehen Futures. Aber OEC erfordert eine separate Forex-Konto. Und sie klären über Gain. Vielleicht hat sich das geändert, aber ab ca. 6 Monaten war es immer noch Gewinn. Es hängt von der Makler-API. In der Regel sollte, was auf der proprietären Plattform erlaubt ist, über API erlaubt werden. Und die API ermöglicht in der Regel mehr Optionen. Broker wie MBT und OEC, die bereits einen Futures-Hintergrund haben, wird in der Regel OCOOSO Markt auf eng, und andere mehr anspruchsvolle Quotte, dannquot limitmarket Bestellungen. Wenn der Broker diese nativ nicht unterstützt, könnte MC diese Aufträge simulieren. Alternativ können Sie die Simulation dieser Aufträge auch im Automatisierungsskript Expert Advisor programmieren. Ähnlich wie MT4 nicht über die Chartfunktionalität verfügt, gibt es doch ein Unternehmen, das Skripte programmiert hat, die ein Klick-Order-Placement, automatisches TPSL, OCO, etc. erlauben. Obwohl es gut ist, die Möglichkeit zu haben, OCO-Aufträge nativ zu platzieren Die Broker-API, gibt es Gründe, diese Aufträge nur auf der Client-Seite zu halten. Ich habe nicht gehandelt Forex mit MC als meine Charting-Paket. Im fokussierte auf Automatisierung über MT4, und dann kann ich die Strategien zum MC zu einem späteren Zeitpunkt anbringen. Messen Sie Trends automatisch mit Nullverzögerung Das TradeStation Dokument zitiert mehrere Beiträge oben sagt:. Und das wird Odd-Lot-Trading von 10K nach oben (dh ein Mini-Äquivalent) zu ermöglichen, ohne Provision (dh sie machen es aus der Verbreitung Ich schätze, wie die meisten anderen Einzelhandel FX-Konten). Dieses klingt, wie TS, die sich gründen, als, ihren eigenen Markt zu bilden, anstatt, auf Gain Capital zu vertrauen, um es zu tun - jedermann wissen, wenn thats whats geschieht, und was Ihre Meinung ist, erklärte Max Its sehr deutlich in dieser Klientenmitteilung. Diesen Link nochmal lesen.

No comments:

Post a Comment