Sunday, 16 April 2017

Tradestation Forex Strategien


MetaTrader vs. TradeStation: Ein Sprachvergleich von Michael R. Bryant Wer von Forex aktiv handelt, hat wohl schon von MetaTrader gehört. Sie behaupten, mehr als eine halbe Million Nutzer für die mobilen Versionen ihrer MT4- und MT5-Handelsplattformen zu haben. Als Antwort auf Anfragen von MetaTrader-Nutzern arbeitete ich an der Hinzufügung von MetaTrader 4 (MT4) Ausgabe an Adaptrade Builder. Als ich die Dokumentation für die neue MT4-Code-Ausgabe-Funktion in Builder beendet habe, dachte ich, dass es eine gute Zeit wäre, einige der Möglichkeiten zu erörtern, wie die MT4-Programmiersprache MQL4 von der Programmiersprache TradeStations von EasyLanguage abweicht. Wenn youre ein systematischer Trader interessiert an Handel Forex und havent noch eine Trading-Plattform gewählt, oder youre Denken der Umstellung von einer Plattform auf die andere, gibt es einige Dinge, die Sie über die beiden Skriptsprachen wissen sollten. Wenn Sie nur über MetaTrader lernen, können Sie sich fragen, warum seine so beliebte Plattform. Meiner Meinung nach ist es ein Ergebnis von mehreren Faktoren. Zuerst ist die Plattform frei. Sie können die Software herunterladen und kostenlose Forex-Daten als Teil der Plattform kostenlos erhalten. Die Plattform enthält alle wichtigen Forex-Symbole, und nach der Anmeldung für ein kostenloses Demo-Konto werden die Daten in Echtzeit aktualisiert. Auch die MetaTrader 4 Skriptsprache MQL4 ist integraler Bestandteil der Plattform. Sie können MQL4 verwenden, um Indikatoren zu schreiben, quotscriptsquot (Code, um bestimmte Funktionen auf Anfrage durchzuführen) und quotexpert Berater (EAs) (Handelsstrategien). Die MQL4-Sprache, wie unten diskutiert, ist sehr vielseitig und macht MT4, wie TradeStation, eine erweiterbare Plattform. Theres eine aktive Gemeinschaft von MT4-Nutzern, die Indikatoren und EAs zum MT4-Forum beitragen. Die MT4-Plattform, wie die MQL4-Sprache, wurde 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 gezielt. Schließlich, im Gegensatz zu TradeStation, die meistens die Nutzer auf die Nutzung ihrer eigenen Brokerage-Services beschränkt, ist MetaTrader mit einer Vielzahl von Forex-Brokern kompatibel. Als langjähriger TradeStation-Nutzer kann ich mich erinnern, wann TradeStation nur für den Handel der Futures-Märkte war. Die Programmiersprache EasyLanguage wurde von Futures-Händlern für Futures-Trader entworfen. Im Laufe der Jahre wurde die Sprache erweitert und angepasst, um gut in anderen Märkten zu arbeiten, vor allem Aktien, Optionen und Forex. Allerdings spiegeln einige seiner Eigenschaften 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 konzentriert sich das Lehrmaterial für den Devisenhandel auf generische Trading-Ideen und - Konzepte wie technische Indikatoren und Arten von Handelslogik und ignoriert die Details, wie die Devisenmärkte funktionieren und wie das Forex von anderen Märkten abweicht, wie zB Aktien und Futures . Die Tatsache ist, dass Forex Trading etwas anders als andere Märkte funktioniert, wie jeder, der von einem anderen Markt wechselt, weiß. MMS4 neigt dazu, diese Unterschiede zu reflektieren. Wichtige Unterschiede Hier sind einige der wichtigsten Unterschiede zwischen EasyLanguage und MQL4. Sofern nicht anders vermerkt, bezieht sich die Diskussion darauf, Handelsstrategien zu schreiben und sie auf historische Daten zu testen. Die Prämisse der EasyLanguage-Code-Ausführung ist, dass alle Code am Ende jedes Balkens des Diagramms ausgeführt wird, auf das die Strategie angewendet wird. Wenn das Diagramm aus Tagesleisten besteht, wird der Code zum Ende jeder Tagesleiste ausgeführt. Wenn Sie möchten, dass der Code häufiger ausgeführt wird, muss das Diagramm geändert werden, um eine kleinere Balkengröße zu haben. Sie können jedoch den Code erzwingen, um bestimmte Elemente häufiger mit der quotLook-inside-bar-Back-Testquot-Funktion auszuführen. Dies nutzt Preisdaten mit einer höheren Auflösung als auf dem Diagramm gezeigt, um genauere Ergebnisse zu erzielen. MQL4-Code verwendet eine Funktion namens start (), die bei 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. Zum Beispiel, um den Code auf der offenen von jedem Balken ausführen zu können, können Sie das Balkenvolumen verwenden, um das Öffnen mit quotVolume0 lt 1quot zu erkennen. Theres keine praktische Möglichkeit, das Ende der Bar zu erkennen, so dass Strategien in MT4 in der Regel auf jedem Tick oder auf die Bars öffnen. Da der EasyLanguage-Code am Ende der Leiste ausgeführt wird, sind Handelsauftragsaussagen immer für die Ausführung auf der nächsten Leiste, z. B. QuotBuy nächste Bar am Markt. Die nächstliegende äquivalente Aussage in MQL4 wäre, den Auftrag für den aktuellen Stab an den aktuellen Stäben zu platzieren. In diesem Fall wird die Handelslogik immer auf der vorherigen Leiste in MQL4 ausgewertet, während in EasyLanguage die Logik auf der aktuellen Leiste ausgewertet wird. Im Gegensatz zu EasyLanguage beschränkt MQL4 keine Strategien auf die Daten für das Diagramm, auf das die Strategie angewendet wurde. Sie können jede verfügbare Datenreihe in einer MT4-Strategie unter Bezugnahme auf die Symbol - und Balkengröße verweisen. Die Stabgrößen sind auf 1, 5, 15, 30, 60 und 240 Minuten sowie täglich, wöchentlich und monatlich beschränkt. TradeStation hat eine größere Auswahl an verfügbaren Stabgrößen, einschließlich Stabgrößen jeder beliebigen Anzahl von Minuten und Zecken von beliebig vielen Zecken. Order Execution 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 einen langen Eintrag bestellen, wenn Sie nicht die Größe angeben, wird der lange Eintrag automatisch schließen Sie den kurzen Handel zur gleichen Zeit, die es den langen Handel platziert. Ebenso, wenn Sie mehrere ausstehende Aufträge zu beenden, sagen, ein langer Handel auf dem Markt abhängig von verschiedenen Bedingungen, wenn mehrere Bedingungen wahr sind zur gleichen Zeit, wird nur eine Ausfahrt Bestellung platziert werden die anderen werden automatisch storniert werden. Auch die Handelsaufträge in EasyLanguage bleiben für nur eine Bar bestehen und werden automatisch abgebrochen, wenn sie nicht am Ende der nächsten Bar gefüllt sind. MQL4 verlässt die Auftragsabwicklung weitgehend bis zum Programmierer. Wenn Sie mehrere konkurrierende Aufträge haben, müssen Sie sie selbst verwalten, stornieren diejenigen, die nicht ausgeführt werden und sicherstellen, dass mehrere Aufträge nicht unabsichtlich ausgeführt werden. Zum Beispiel, in MQL4, wenn Sie einen Eintrag wollen, um eine offene Position umzukehren, müssen Sie entweder die Anzahl der Lose, um das gewünschte Nettoergebnis zu geben (zB verkaufen 2 Lose kurz mit 1 Los offen lange bis zum Ende 1 Los kurz) Oder die offene Position verfolgen und schließen, sobald der neue Eintrag erkannt wird. Anteile vs. Lots In EasyLanguage ist die Größe einer Handelsposition in beiden Verträgen (z. B. Futures) oder Aktien angegeben. Für Devisenhandel wäre eine Standardpositionsgröße in TradeStation 10.000 oder 100.000 Aktien, was einem kleinen oder Full-Size-Los entspricht. Im Einklang mit seiner Forex-Orientierung, in MetaTrader die Handelsgröße ist in Lose angegeben, die fraktioniert werden kann. Ein Full-Size-Los wäre viel Größe von 1. Ein Mini-Los wäre eine Menge von 0,1. Trading-Kosten und Fill-Preise Weil TradeStation und EasyLanguage ursprünglich auf Futures-Handel ausgerichtet waren, folgen sie der Konvention der Verwendung von Schlupf, um die Tatsache zu berücksichtigen, dass Trades in der Regel nicht zum Marktpreis gefüllt sind. Schlupf ist der Dollar-Kosten hinzugefügt, um den Handel, um dies zu erklären. In der Regel würden Sie auch die Provisionskosten pro Vertragshare oder pro Handel, um die Gebühren der Maklergebühren für die Ausführung des Handels zu berücksichtigen. Alle diese Kosten werden auf die gleiche Weise behandelt: Sie ziehen einen Dollarbetrag von einem gewinnbringenden Handel ab oder fügen den gleichen Betrag zu einem verlorenen Handel hinzu. Die gleichen Kosten werden von allen Trades abgezogen, sowohl lang als auch kurz. Gleichzeitig wird angenommen, dass der Handel zum angegebenen Preis gefüllt ist, entweder der aktuelle Preis für eine Marktordnung oder der angegebene Stopp - oder Limitpreis. MQL4 nutzt einen etwas anspruchsvolleren Ansatz für Handelskosten und füllt die Preise. In MetaTrader, ist es wichtig zu verstehen, dass jeder Preis ist eigentlich zwei Preise, das Angebot und die fragen. Das Gebot ist der niedrigere Preis, während die Frage ist der höhere Preis. Der Unterschied zwischen dem Bid und dem Ask wird als Bidask-Spread bezeichnet. Kauf Bestellungen sind immer bei der Frage gefüllt, und verkaufen Bestellungen sind immer bei der Gebot gefüllt. Eine Preisliste zeigt nur den Gebotspreis an. Dies bedeutet, dass Marktkaufaufträge über dem offensichtlichen Marktpreis (basierend auf dem Chart) gefüllt werden, während Marktverkaufsaufträge zu dem in der Tabelle gezeigten Preis gefüllt werden. Die Bidask-Spread ist Teil der Kosten des Handels. Dies steht im Einklang mit der gängigen Praxis im Devisenhandel der Zahlung für den Handel durch die Ausbreitung anstatt die Zahlung der Makler eine feste Provision. MQL4 verwendet auch die Bidask-Spread, um festzustellen, ob ein ausstehender Auftrag gefüllt ist. Zum Beispiel wird ein Buy-Stop-Auftrag nur gefüllt, wenn der Ask-Preis, der über dem Chartpreis (Bid) liegt, den Stopppreis berührt. Wenn zum Beispiel die Preisleiste auf dem Diagramm nur den Stopppreis berührt, kann es erscheinen, dass die Bestellung gefüllt werden sollte, aber MT4 wird nicht den historischen Handel als gefüllt, es sei denn, der Ask-Preis erreichte den Kauf Stop Preis. In ähnlicher Weise wird ein Kauflimitauftrag nicht als gefüllt aufgezeichnet, es sei denn, der Frachtpreis reicht bis zum Kaufgrenzepreis. Verkaufen Stopps und Grenzen sind bei dem Gebot gefüllt, also, im Gegensatz zu Kaufaufträgen, entsprechen ihre Fillpreise direkt den Chartpreisen. Die Bidask-Spread ist nicht die einzige Preisspanne, die Handelsaufträge in MT4MQL4 beeinflusst. Ist eine ausstehende Bestellung (Stopp oder Limit) zum Zeitpunkt des Platzes zu nahe am Markt, wird die Bestellung abgelehnt. Dies basiert auf der Idee, dass es nicht genügend Zeit, um den Auftrag zu vergeben, bevor der Markt durch den Auftragspreis bewegt. Dieser Mindestabstand kann mit der Funktion MarketInfo (..) in MQL4 abgerufen werden. Ebenso kann eine ausstehende Bestellung in MQL4 nicht geändert werden, wenn der aktuelle Preis für die Bestellung innerhalb der so genannten Queweitsuche liegt. Mit anderen Worten, wenn der Auftrag so nahe am Markt ist, dass er zu jedem Zeitpunkt gefüllt werden könnte, darf man ihn nicht ändern. Wegen des anspruchsvolleren Ansatzes, den MT4MQL4 zur Auftragsabwicklung verwendet, sind die Fillpreise in MT4 für historische Simulationen (d. h. Back-Testing) wahrscheinlich genauer als in der TradeStation. Sprach-Syntax Sowohl EasyLanguage als auch MQL4 sind C-ähnliche Sprachen. Das heißt, sie haben beide Ähnlichkeiten mit der Programmiersprache C, die eine allgemeingültige, 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 Sprach-Features. Die Hilfedateien in MT4 beachten die Unterschiede. Indikatorunterschiede Für jedermann, der die Umwandlung einer EasyLanguage-Strategie in MQL4 oder umgekehrt vorsieht, ist sich bewusst, dass nicht alle Indikatoren, die in beiden Plattformen verfügbar sind, in jeder Plattform gleichermaßen berechnet werden. Insbesondere geben die folgenden Indikatoren in jeder Plattform für die gleichen Preisdaten wesentlich unterschiedliche Werte an: Momentum, FastD stochastisch (Hauptmodus der stochastischen Anzeige in MT4), SlowD stochastisch (Signalleitung der stochastischen Anzeige in MT4), DI-DI (Richtungsbewegung), ADX und Akkumulationsverteilung. Es ist auch anzumerken, dass die TradeStation mehr eingebaute Indikatoren enthält als MT4. 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 Allzweck-Skriptsprachen, die für den Handel mit den Märkten entwickelt wurden. Mit jeder Sprache ist es möglich, hochkomplexe und anspruchsvolle Handelsstrategien zu entwickeln. Im Allgemeinen ist meine Erfahrung, die von anderen unterstützt zu werden scheint, dass MQL4 eine anspruchsvollere Sprache ist, um zu beherrschen als EasyLanguage, obwohl die meisten TradeStation-Benutzer wahrscheinlich zustimmen würden, dass der Name EasyLanguage ein bisschen falsch ist. Ein Großteil der Komplexität von MQL4 kommt von den Anforderungen, die es auf den Programmierer stellt, um Handelsaufträge zu verwalten, was EasyLanguage hinter den Kulissen zum größten Teil behandelt. Allerdings kommt die zusätzliche Belastung mit größerer Kontrolle und mehr Genauigkeit bei der Schätzung der Fillpreise in historischen Tests. Insgesamt ist es nicht verwunderlich, dass MT4 eine beliebte Handelsplattform für Forex ist und dass MQL4 auf meiner Liste von Anfragen von Kunden meiner Adaptrade Builder Software für Strategieaufbau hoch war. Es gibt zwei aktuelle Version von MetaTrader: MetaTrader 4 und MetaTrader 5. Beide Plattformen werden aktiv unterstützt, aber verwenden unterschiedliche Skriptsprachen. MT4 ist bei weitem die beliebteste Plattform. Infolgedessen konzentriert sich dieser Artikel ausschließlich auf MT4 und seine zugehörige Skriptsprache MQL4. Dieser Artikel erschien in der Dezember-Ausgabe 2012 des Adaptrade Software-Newsletters. 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 sein). Es hat auch einige Nachteile über TS: kein Handbuch. Vielen Dank für die Entsendung. Ich benutze Ninja Trader im Moment, aber ich war noch nie 100 glücklich mit ihnen, kann mich nicht beschweren, wie ich die kostenlose Version verwende. 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 seit etwa 6 Monaten war es noch Gewinne. 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, aber es gibt ein Unternehmen, das Skripts 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 fokussiert auf Automatisierung über MT4, und dann kann ich die Strategien zu MC zu einem späteren Zeitpunkt anbringen. Messen Sie Trends automatisch mit Nullverzögerung Das TradeStation Dokument zitiert mehrere Beiträge oben sagt:. Und dies wird erlauben, ungerade-Lot-Handel von 10K nach oben (dh ein Mini-Äquivalent), ohne Provision (dh sie machen es aus der Ausbreitung, denke ich wie die meisten anderen Retail-Spot-FX-Konten). Das klingt wie TS-Einrichtung selbst als machen ihren eigenen Markt anstatt sich auf Gain Capital zu tun - jeder weiß, wenn das ist, was passiert, und was ist Ihre Meinung Max Its erklärt sehr deutlich in dieser Client-Nachricht. Lesen Sie diesen Link erneut.

No comments:

Post a Comment