Saturday 11 March 2017

Metaneural Forex Handel

Tag: metaneural Handel Here8217s die Begriffe zu erinnern, bei der Verwendung von Metaneural Dashboard: Failing 8212 Im Grunde wann immer Kosten versucht zu erhöhen oder sogar niedriger und es ist auf den umgekehrten Weg abgelehnt, daher wird dies das Versagen mit Käufern verbunden, um Kosten zu erhöhen oder sogar Einzelhändler zu schaffen Kosten schaffen kommen. Klicken Sie hier zum Download Ein neues Trading Tool und Strategie für FREIES Indikation, die mit Power 8212 verbunden ist. Zusammen mit größerer Quantität überprüft die tatsächliche Vereinseinstellung, welcher Kauf fortfährt, zu gewinnen, wie auch umgekehrt zu gewinnen. Es wird diese besondere einfach durch immer größere Menge im Vergleich zu früheren Club, sowie kommen auf die tatsächliche Toleranz zu versagen ist jedoch nicht. Offensichtliche Indikation mit Power 8212 verbunden Zusammen mit größeren Quantität die tatsächlichen Club-Einstellungen nicht nur überprüft, welche Einkauf isn8217t nur dennoch gewinnende Förderung sowie als umgekehrt ist aber eigentlich einen anderen Aspekt aus dem Markt der eigentliche erfolgreiche Aspekt ist eigentlich zweifellos aus als ein Misserfolg Sowie offensichtlich verkaufen oder kaufen. Directional Prejudice 8212 Wahrscheinlich der günstigste Weg, um die Industrie während des Tages. Wenn das gerichtete Vorurteil tatsächlich aufwärts ist, bedeutet es nicht, dass der gegenwärtige Tag des Clubs immer beenden kann, wie aber der Weg von der Tageszeit nach oben gehen wird (die Mehrheit des mächtigen Kaufs und Verkaufens wird sein). Umgekehrter Weg mit der Industrie verbunden Wenn you8217re die Förderung der alternativen Weg ist eigentlich nach oben, wenn you8217re Kauf der umgekehrten Weg ist eigentlich niedriger. UPWARD Pubs 8212 in der Nähe ist eigentlich über die tatsächliche Nähe aus dem vorherigen Club LOWER Pubs 8212 in der Nähe ist eigentlich unter der tatsächlichen Nähe aus dem vorherigen Club. Andere sahen nachMetaTrader 4 - Beispiele mit neuronalen Netzwerken In MetaTrader Einführung Viele von euch haben wahrscheinlich die Möglichkeit der Verwendung von neuronalen Netzwerken in deiner EA berücksichtigt. Dieses Thema war nach der automatisierten Trading-Meisterschaft 2007 und dem spektakulären Sieger von Better mit seinem auf neuronalen Netzwerken basierenden System sehr heiß. Viele Internet-Foren wurden mit Themen im Zusammenhang mit neuronalen Netzwerken und Forex Trading überschwemmt. Leider ist die schriftliche native MQL4-Implementierung von NN nicht einfach. Es erfordert einige Programmierkenntnisse und das Ergebnis wäre nicht sehr effizient speziell, wenn youd gerne Ihr endgültiges Ergebnis in Tester auf große Anzahl von Daten zu testen. In diesem Artikel Ill zeigen Ihnen, wie Sie die frei verfügbare (unter LGPL), renommierte Fast Artificial Neural Network Library (FANN) in Ihrem MQL4-Code verwenden können, während Sie bestimmte Hindernisse und Einschränkungen vermeiden. Weiterhin gehe ich davon aus, dass der Leser mit künstlichen neuronalen Netzwerken (ann) und einer Terminologie, die mit diesem Thema zusammenhängt, vertraut ist, so dass sich der Schwerpunkt auf praktischen Aspekten der Verwendung bestimmter Implementierung von ann in MQL4-Sprache konzentriert. FANN-Funktionen Um die Möglichkeiten der FANN-Implementierung vollständig zu verstehen, muss man sich mit der Dokumentation und den am häufigsten verwendeten Funktionen vertraut machen. Die typische Verwendung von FANN besteht darin, ein einfaches Feedforward-Netzwerk zu erstellen, es mit einigen Daten zu trainieren und zu laufen. Das erstellte und geschulte Netzwerk kann dann gespeichert und später zur weiteren Verwendung wiederhergestellt werden. Um eine Ann zu erstellen, muss man die Funktion fanncreatestandard () verwenden. Er läßt seine Syntax sehen: Wo numlayers die Gesamtzahl der Ebenen einschließlich der Eingabe und der Ausgabeschicht darstellt. Das lnnum und die folgenden Argumente repräsentiert die Anzahl der Neuronen in jeder Schicht, beginnend mit der Eingangsschicht und endet mit der Ausgabeschicht. Um ein Netzwerk mit einer versteckten Schicht mit 5 Neuronen, 10 Eingängen und 1 Ausgabe zu erstellen, müsste man es wie folgt anrufen: Sobald das Ann erstellt ist, wäre die nächste Operation, um es mit einigen Ein - und Ausgabedaten zu trainieren. Die einfachste Trainingsmethode ist inkrementelles Training, das durch folgende Funktion erreicht werden kann: Diese Funktion nimmt den Zeiger auf struct fann zurück, der zuvor von fanncreatestandard () und beiden Eingabedatenvektor - und Ausgabedatenvektoren zurückgegeben wurde. Die Eingabe - und Ausgabevektoren sind vom Array des fanntype-Typs. Dieser Typ ist in der Tat ein Doppel-oder Float-Typ, je nachdem, wie die FANN kompiliert wird. In dieser Implementierung werden die Input - und Output-Vektoren Arrays von Double sein. Sobald das Ann trainiert wird, wäre das nächste gewünschte Feature, um dieses Netzwerk zu laufen. Die Funktion implementiert, die wie folgt definiert ist: Diese Funktion nimmt den Zeiger auf struct fann, der das zuvor erstellte Netzwerk darstellt, und einen Eingangsvektor des definierten Typs (double array). Der zurückgegebene Wert ist ein Ausgangsvektor-Array. Diese Tatsache ist wichtig, da für ein Utput-Netzwerk wir immer ein Element-Array mit dem Ausgangswert anstatt den Ausgangswert selbst erhalten. Leider verwenden die meisten FANN-Funktionen einen Zeiger auf einen Strukturfann, der den Ann repräsentiert, der nicht direkt von MQL4 behandelt werden kann, der keine Strukturen als Datentypen unterstützt. Um diese Beschränkung zu vermeiden, müssen wir das in irgendeiner Weise einpacken und sich vor MQL4 verstecken. Die einfachste Methode besteht darin, ein Array von Struktur-Fann-Zeigern zu erstellen, die die richtigen Werte enthalten und auf sie mit einem Index verweisen, der durch eine int-Variable dargestellt wird. Auf diese Weise können wir die nicht unterstützte Art von Variable mit unterstützten ersetzen und eine Wrapper-Bibliothek erstellen, die einfach mit MQL4-Code integriert werden kann. Wrapping the FANN um Wie mein bestes Wissen MQL4 nicht unterstützt Funktionen mit variablen Argumenten Liste, so dass wir damit auch zu tun haben. Auf der anderen Seite, wenn die C-Funktion (von variabler Argumentlänge) mit zu vielen Argumenten aufgerufen wird, passiert nichts falsch, so dass wir eine feste maximale Anzahl von Argumenten in der MQL4-Funktion an die C-Bibliothek übergeben können. Die daraus resultierende Wrapper-Funktion würde wie folgt aussehen: Wir haben den führenden Fann mit f2M geändert (steht für FANN TO MQL), verwendet statische Anzahl von Argumenten (4 Layer) und der zurückgebende Wert ist nun ein Index für das interne Array von anns, das die struct hält Fann-Daten, die von FANN benötigt werden. Auf diese Weise können wir diese Funktion einfach aus dem MQL-Code aufrufen. Dasselbe gilt für: Letztes, aber nicht zuletzt die Tatsache, dass du deine einmal erschaffene Ann durch den Aufruf zerstören solltest: Um Notgriffe freizugeben, solltest du Netzwerke in umgekehrter Reihenfolge zerstören, als sie erstellt wurden. Alternativ können Sie auch verwenden: Allerdings können Sie sich trotzdem ganz sicher vorstellen, dass Sie Ihr geschultes Netzwerk für spätere Verwendung mit sichern können: Natürlich kann das gespeicherte Netzwerk später geladen werden (oder eher neu erstellt) mit: Sobald wir die grundlegenden Funktionen kennen, können wir versuchen Benutze das in unserer EA, aber zuerst müssen wir das Fann2MQL Paket installieren. Installieren von Fann2MQL Um die Nutzung dieses Pakets zu erleichtern, habe ich das msi-Installationsprogramm erstellt, das den gesamten Quellcode sowie vorkompilierte Bibliotheken und die Fann2MQL. mqh-Headerdatei enthält, die alle Fann2MQL-Funktionen deklariert. Das Verfahren der Installation ist ganz einfach. Zuerst werden Sie informiert, dass Fann2MQL unter GPL Lizenz ist: Installation von Fann2MQL, Schritt 1 Dann wählen Sie den Ordner, um das Paket zu installieren. Sie können die Standard-ProgrammdateienFann2MQL verwenden oder direkt in Ihr Meta Traderexperts-Verzeichnis installieren. Die späteren werden alle Dateien direkt in ihre Plätze platzieren, sonst musst du sie manuell kopieren. Installation von Fann2MQL, Schritt 2 Der Installateur stellt Dateien in folgende Ordner ein: Wenn Sie sich für den Einsatz in dediziertem Fann2MQL-Ordner entschieden haben, kopieren Sie bitte den Inhalt der Unterordner von Unterricht und Unterricht in Ihr Meta Trader. Der Installateur installiert auch die FANN-Bibliothek in Ihren Systembibliotheksordner (Windowssystem32 in den meisten Fällen). Der src-Ordner enthält den Quellcode von Fann2MQL. Sie können den Quellcode lesen, der eine ultimative Dokumentation ist, wenn Sie weitere Informationen über die Internals benötigen. Sie können auch den Code verbessern und zusätzliche Funktionen hinzufügen, wenn Sie möchten. Ich ermutige Sie, mir Ihre Patches zu schicken, wenn Sie etwas Interessantes umsetzen. Verwenden Sie neuronale Netze in Ihrem EA Sobald die Fann2MQL installiert ist, können Sie beginnen, Ihre eigene EA oder Indikator zu schreiben. Theres viel möglicher Gebrauch von NN. Sie können sie verwenden, um zukünftige Preisbewegungen zu prognostizieren, aber die Qualität solcher Vorhersagen und die Möglichkeit, den Vorteil zu nutzen, ist zweifelhaft. Sie können versuchen, Ihre eigene Strategie mit Reinforcement Learning Techniken zu schreiben, sagen Sie ein Q-Learning oder etwas ähnliches. Sie können versuchen, NN als Signalfilter für Ihre Heuristik EA verwenden oder kombinieren alle diese Techniken und was auch immer Sie wirklich wollen. Sie sind nur durch Ihre Phantasie begrenzt. Hier zeige ich Ihnen ein Beispiel für die Verwendung von NN als einen einfachen Filter für Signale, die von MACD erzeugt werden. Bitte betrachten Sie es nicht als wertvolle EA, sondern als Beispiel für die Anwendung von Fann2MQL. Bei der Erläuterung der Art und Weise, wie das Beispiel EA: NeuroMACD. mq4 funktioniert, zeigen wir Ihnen, wie die Fann2MQL effektiv in MQL eingesetzt werden kann. Die erste Sache für jede EA ist die Deklaration der globalen Variablen, definiert und gehören Abschnitt. Hier ist der Anfang von NeuroMACD mit diesen Sachen: Der Include-Befehl sagt, die Fann2MQL. mqh Header-Datei mit der Deklaration aller Fann2MQL-Funktionen zu laden. Danach stehen alle Fann2MQL-Paketfunktionen für die Verwendung im Skript zur Verfügung. Die ANNPATH-Konstante definiert den Pfad zum Speichern und Laden von Dateien mit ausgebildeten FANN-Netzwerken. Sie müssen diesen Ordner erstellen, wie zB C: ANN. Die NAME-Konstante enthält den Namen dieser EA, die später zum Laden und Speichern von Netzwerkdateien verwendet wird. Input-Parameter sind eher offensichtlich und diejenigen, die arent werden später erklärt werden, sowie globale Variablen. Der Einstiegspunkt jeder EA ist ihre init () - Funktion: Zuerst prüft es, ob die EA angewendet wird, um die Zeitrahmenperiode zu korrigieren. Die Variable AnnInputs enthält die Anzahl der neuronalen Netzeingänge. Ebenso verwenden wir 3 Sätze von verschiedenen Argumenten, die wir wollen, dass es durch 3 teilbar ist. AnnPath wird berechnet, um den EA NAME und MagicNumber zu reflektieren. Die aus dem SlowMA berechnet wird. FastMA - und SignalMA-Eingabeargumente, die später für die MACD-Indikatorsignalisierung verwendet werden. Sobald es die AnnPath kennt, versucht die EA, neuronale Netze mit der Funktion annload () zu laden, die im folgenden beschrieben wird. Die Hälfte der geladenen Netzwerke ist für die Langzeitfilterung gedacht und die andere Hälfte ist für Shorts gedacht. AnnsLoaded Variable wird verwendet, um anzuzeigen, dass alle Netzwerke korrekt initialisiert wurden. Wie Sie dieses Beispiel wahrscheinlich bemerkt haben, versucht EA, mehrere Netzwerke zu laden. Ich bezweifle, dass es in dieser Anwendung wirklich notwendig ist, aber ich wollte Ihnen das volle Potenzial von Fann2MQL zeigen, das gleichzeitig mehrere Netzwerke verarbeitet und sie parallel verarbeiten kann und dabei mehrere Kerne oder CPUs nutzen kann. Um es möglich zu machen Fann2MQL nutzt die Intel Threading Building Blocks Technologie. Mit der Funktion f2Mparallelinit () wird diese Schnittstelle initialisiert. Hier ist die Art und Weise, wie ich Netzwerke initialisiert habe: Wie Sie sehen können, wenn das f2Mcreatefromfile () fehlschlägt, was durch den negativen Rückgabewert angezeigt wird, wird das Netzwerk mit der Funktion f2Mcreatestandard () mit Argumenten erstellt, die darauf hinweisen, dass das erstellte Netzwerk 4 Ebenen haben soll (Einschließlich Input und Output), AnnInput Eingänge, AnnInput Neuronen in der ersten versteckten Schicht, AnnInput21 Neuronen in 2. versteckte Schicht und 1 Neuron in Ausgabeschicht. F2Msetactfunctionhidden () wird verwendet, um die Aktivierungsfunktion von versteckten Ebenen auf SIGMOIDSYMMETRICSTEPWISE einzustellen (siehe FANN-Dokumentation von fannactivationfuncenum) und das gleiche gilt für die Ausgabeschicht. Dann gibt es den Anruf zu f2mrandomizeweights (), die verwendet wird, um Neuron-Anschlussgewichte im Netzwerk zu initialisieren. Hier habe ich die Reichweite von lt-0.4 0.4gt, aber Sie können jede andere je nach Ihrer Anwendung verwenden. An diesem Punkt hast du wahrscheinlich die debug () - Funktion bemerkt, die ich ein paar Mal benutzt habe. Es ist eine der einfachsten Methoden, um die ausführliche Ebene deines EA zu verändern. Zusammen mit ihm und dem Eingabeparameter DebugLevel kannst du so einstellen, wie dein Code die Debug-Ausgabe erzeugt. Wenn das erste Argument der debug () - Funktion ist, ist die Debug-Ebene höher als DebugLevel, die Funktion erzeugt keine Ausgabe. Wenn sein niedrigeres gleich ist, wird der Textstring ausgedruckt. Wenn die Debug-Ebene 0 ist, wird der String ERROR: an den Anfang angehängt. Auf diese Weise kannst du das von deinem Code erzeugte Debugging auf mehrere Ebenen aufteilen. Die wichtigsten sind wahrscheinlich Fehler, so dass sie dem Level 0 zugeordnet sind. Sie werden gedruckt, wenn Sie Ihren DebugLevel auf unter 0 senken (was nicht empfohlen wird). Auf Stufe 1 werden einige wichtige Informationen gedruckt, wie die Bestätigung der erfolgreichen Netzwerkbeladung oder - erstellung. Auf Stufe 2 oder höher nimmt die Bedeutung der gedruckten Information allmählich ab. Vor der ausführlichen Erläuterung der start () - Funktion, die recht langwierig ist, muss ich Ihnen noch einige Funktionen zeigen, die den Netzwerk-Eingang vorbereiten und die aktuellen Netzwerke betreiben sollen: Mit der Funktion annprepareinput () wird der Input-Name für die Netzwerke vorbereitet (Also der Name). Der Zweck ist ganz einfach, aber das ist der Punkt, an den ich Sie erinnern muss, dass die Eingangsdaten ordnungsgemäß normalisiert werden müssen. Es gibt keine anspruchsvolle Normalisierung in diesem Fall, ich habe einfach die MACD-Haupt - und Signalwerte verwendet, die den gewünschten Bereich niemals auf den erfassten Daten überschreiten. In dem echten Beispiel solltest du wahrscheinlich mehr Aufmerksamkeit auf dieses Problem legen. Wie Sie vermutlich vermuten könnten, die richtigen Eingabeargumente für die Netzeingabe auszuwählen, ist die Codierung, das Zerlegen und die Normalisierung einer der wichtigsten Faktoren für die neuronale Netzwerkverarbeitung. Wie ich schon erwähnt habe, hat die Fann2MQL die Fähigkeit, die normale Funktionalität von MetaTrader zu erweitern, das ist eine parallele multithreaded Verarbeitung von neuronalen Netzwerken. Das globale Argument Parallel steuert dieses Verhalten. Die Funktion runanns () führt alle initialisierten Netzwerke aus und erhält die Ausgänge von ihnen und speichert im AnnOutput Array. Annsrunparallel-Funktion ist verantwortlich für die Handhabung des Auftrags auf multithreaded Weise. Es nennt das f2mrunparallel (), das als erstes Argument die Anzahl der zu verarbeitenden Netzwerke annimmt, das zweite Argument ist ein Array, das Handles für alle Netzwerke enthält, die Sie ausführen möchten, wobei der Input-Vektor als drittes Argument vorhanden ist. Alle Netzwerke müssen auf den gleichen Eingangsdaten laufen. Das Erhalten der Ausgabe aus dem Netzwerk erfolgt durch mehrere Aufrufe zu f2mgetoutput (). Jetzt sehe ich die start () - Funktion: Ill beschreibe es kurz, wie es ganz gut kommentiert ist. Die handelsübliche () prüft, ob es erlaubt ist, zu handeln. Grundsätzlich prüft es die Variable AnnsLoaded, die angibt, dass alle anns ordnungsgemäß initialisiert wurden, dann prüft sie auf den richtigen Zeitrahmen Zeitraum minimalen Kontostand und am Ende erlaubt, nur auf den ersten Tick einer neuen Bar zu handeln. Die nächsten beiden Funktionen, die zur Vorbereitung der Netzeingabe und zum Ausführen der Netzwerkverarbeitung verwendet werden, wurden nur wenige Zeilen oben beschrieben. Als nächstes berechnen wir und setzen Variablen für die spätere Bearbeitung der MACD-Werte von Signal und Hauptleitung für die letzte Aufbaustufe und die vorherige. Der aktuelle Balken wird weggelassen, da er noch nicht aufgebaut ist und wahrscheinlich neu gezeichnet wird. Das SellSignal und das BuySignal werden entsprechend dem MACD-Signal und dem Mainline Crossover berechnet. Beide Signale werden für die lange und kurze Positionsverarbeitung verwendet, die symmetrisch sind, so dass Ill nur den Fall für longs beschreiben. Die Variable LongTicket enthält die Ticketnummer der aktuell geöffneten Position. Wenn es gleich -1 ist, wird keine Position geöffnet, wenn das BuySignal gesetzt ist, was auf eine gute Gelegenheit hinweisen könnte, eine lange Position zu öffnen. Wenn die Variable NeuroFilter nicht gesetzt ist, wird die lange Position geöffnet und das ist der Fall ohne die neuronale Netzwerkfilterung von Signalen - die Bestellung wird zum Kauf gesendet. An dieser Stelle soll die Variable LongInput den von annprepareinput () erstellten InputVector zur späteren Verwendung merken. Wenn die LongTicekt-Variable die gültige Ticketnummer enthält, prüft die EA, ob sie noch geöffnet ist oder durch den StopLoss oder TakeProfit geschlossen wurde. Wenn die Bestellung nicht geschlossen ist, geschieht nichts, aber wenn der Auftrag geschlossen ist, wird der Trainoutput-Vektor, der nur einen OTput hat, berechnet, um den Wert von -1 zu halten, wenn der Auftrag mit Verlust beendet wurde oder 1, wenn der Auftrag mit Gewinn abgeschlossen wurde . Dieser Wert wird dann an die anntrain () - Funktion übergeben und alle für die Handhabung der Long-Position verantwortlichen Netzwerke werden damit trainiert. Als Eingangsvektor wird die Variable LongInput verwendet, die den InputVector zum Zeitpunkt des Öffnens der Position hält. Auf diese Weise wird das Netzwerk gelehrt, welches Signal Gewinn bringt und welches nicht ist. Sobald Sie ein geschultes Netzwerk haben, schaltet das NeuroFilter auf true die Netzwerkfilterung. Das annwiselong () verwendet das neuronale Netzwerk, das als Mittelwert der Werte berechnet wird, die von allen Netzwerken zurückgegeben werden, die die lange Position behandeln sollen. Der Delta-Parameter wird als Schwellenwert verwendet, der anzeigt, dass das gefilterte Signal gültig oder nein ist. Wie viele andere Werte wurde es durch den Prozess der Optimierung erhalten. Jetzt, sobald wir wissen, wie es funktioniert Ill zeigen Ihnen, wie es verwendet werden kann. Das Testpaar ist natürlich EURUSD. Ich habe die Daten von Alpari benutzt. Umwandlung in M5 Zeitrahmen. Ich habe den Zeitraum von 2007.12.31 bis 2009.01.01 für Trainingsoptimierung und 2009.01.01-2009.03.22 für Testzwecke verwendet. Im ersten Versuch habe ich versucht, die profitabelsten Werte für StopLoss, TakeProfit, SlowMA, FastMA und SignalMA Argument zu erhalten, die ich dann in die Datei NeuroMACD. mq4 kodierte. Der NeuroFIlter wurde ausgeschaltet sowie SaveAnn. Die AnnsNumber wurde auf 0 gesetzt, um eine neuronale Verarbeitung zu vermeiden. Ich habe den genetischen Algorithmus für den Optimierungsprozess verwendet. Sobald die Werte erhalten wurden, sah der daraus resultierende Bericht wie folgt aus: Bericht über Trainingsdaten nach der grundlegenden Parameteroptimierung. Wie Sie sehen können, habe ich diese EA auf dem Mini-Konto mit der Losgröße von 0,01 und dem Anfangs-Gleichgewicht von 200 laufen lassen. Allerdings können Sie diese Parameter entsprechend Ihren Account-Einstellungen oder Einstellungen ändern. An diesem Punkt haben wir genug profitable und verlieren Trades, so dass wir die SaveAnn einschalten und die AnnsNumber auf 30 setzen konnten. Sobald ich das getan habe, laufe ich das Tester noch einmal. Das Ergebnis war genau das gleiche mit der Ausnahme, dass der Prozess viel langsamer war (als Folge der neuronalen Verarbeitung) und der Ordner C: ANN wurde mit den trainierten Netzwerken belegt, wie auf dem Bild unten gezeigt. Vergewissern Sie sich, dass der Ordner C: ANN vor diesem Lauf existiert. Der Ordner C: ANN. Sobald wir Netzwerke trainiert haben, ist es Zeit zu testen, wie es sich verhält. Zuerst probiere es die Trainingsdaten aus. Ändern Sie den NeuroFilter auf true und SaveAnn auf false und starten Sie den Tester. Das Ergebnis, das ich erhalten habe, ist unten gezeigt. Beachten Sie, dass es etwas für Sie Fall variieren kann, da es irgendeine Zufälligkeit innerhalb von Netzwerken in Neuron-Anschlussgewichte gibt, die im Netzwerk-Initialisierungsprozess bereitgestellt werden (in diesem Beispiel habe ich explizite Aufruf von f2Mrandomizeweights () innerhalb von annload ()) verwendet. Ergebnis bei Trainingsdaten mit eingeschaltetem Signal neuronaler Filterung. Der Nettogewinn ist etwas größer (20,03 gegenüber 16,92), doch der Profitfaktor ist viel höher (1,25 gegenüber 1,1). Die Anzahl der Trades ist viel weniger (83 vs 1188) und die durchschnittliche aufeinanderfolgende Verlustzahl wird von 7 auf 2 gesenkt. Allerdings zeigt es nur, dass die neuronale Signalfilterung funktioniert, aber es sagt nichts darüber, wie es auf Daten arbeitet, die nicht verwendet wurden Während des Trainings. Das Ergebnis, das ich aus der Testphase (2009.01.01 - 2009.30.28) erhalten habe, ist unten gezeigt: Ergebnis aus Testdaten mit neuronaler Filterung wurde aktiviert. Die Anzahl der ausgeführten Trades ist recht niedrig und es ist schwer, die Qualität dieser Strategie zu erzählen, doch ich wollte Ihnen nicht zeigen, wie Sie die besten profitablen EA schreiben, aber um zu erklären, wie Sie neuronale Netzwerke in Ihrem MQL4-Code nutzen können. Der wirkliche Effekt der Verwendung von neuronalen Netzen in diesem Fall ist nur zu sehen, wenn die Ergebnisse der EA auf Testdaten mit NeuroFilter ein - und ausgeschaltet werden. Unten ist das Ergebnis aus der Testdatenperiode ohne neuronale Signalfilterung: Ergebnisse aus Testdaten ohne neuronale Filterung. Der Unterschied ist ganz offensichtlich. Wie Sie sehen können, die neuronale Signal-Filterung drehte die Verlieren EA in eine rentable ein Fazit Ich hoffe, dass Sie aus diesem Artikel gelernt haben, wie man neuronale Netze in MetaTrader verwenden. Mit Hilfe von einfachem, kostenlosem und opensource Paket Fann2MQL können Sie ganz einfach die neuronale Netzwerkschicht in praktisch jedem Expert Advisor hinzufügen oder mit dem Schreiben eines eigenen, das ganz oder teilweise auf neuronalen Netzwerken basiert. Die einzigartige Multithreading-Fähigkeit kann Ihre Verarbeitung oftmals beschleunigen, abhängig von der Anzahl Ihrer CPU-Kerne, besonders bei der Optimierung bestimmter Parameter. In einem Fall verkürzte es die Optimierung meiner Verstärkung Lernen basierte EA Verarbeitung von ca. 4 Tage bis nur 28 Stunden auf einer 4-Kern-Intel-CPU. Während des Schreibens dieses Artikels habe ich beschlossen, Fann2MQL auf seine eigene Website zu setzen: fann2mql. wordpress. Dort finden Sie die aktuelle Version von Fann2MQL und eventuell alle zukünftigen Versionen sowie die Dokumentation aller Funktionen. Ich verspreche, diese Software unter GPL-Lizenz für alle Releases zu behalten, also wenn du mir irgendwelche Kommentare, Feature-Anfragen oder Patches schickst, die ich interessant finde, findest du die nächsten Releases. Bitte beachten Sie, dass dieser Artikel nur die sehr grundlegende Verwendung von Fann2MQL zeigt. Da dieses Paket nicht viel mehr ist als FANN können Sie alle Werkzeuge nutzen, die für die Verwaltung von FANN-Netzwerken ausgelegt sind, wie: Und theres viel mehr über FANN auf der Fast Artificial Neural Network Library Homepage: leenissen. dkfann Post Scriptum Nach dem Schreiben dieses Artikels habe ich gefunden Ein unbedeutender Fehler in NeuroMACD. mq4. Die OrderClose () - Funktion für die Short-Position wurde mit der Long-Position-Ticketnummer gefüttert. Es führte zu einer schiefen Strategie, die eher Shorts und enge Longs halten würde: In der richtigen Version des Skripts habe ich diesen Fehler behoben und die OrderClose () Strategie überhaupt entfernt. Dies änderte nicht das Gesamtbild des Einflusses der neuronalen Filterung auf die EA noch die Balance Kurve Form war ganz anders. Sie können beide Versionen dieser EA zu diesem Artikel beigefügt finden. MetaNeural Expert Advisor - Neuronales Netzwerk-Komitee EA Ich habe einige Programmierung für ein Handelsunternehmen eine Weile zurück und vor kurzem haben sie eine Produktionsversion ihres Handelssystems für Metatrader entwickelt. Es funktioniert überraschend gut und in dieser skizzenhaften Welt der Betrüger wollte ich das nur da draußen ausstellen, was ich weiß. Neuronale Netze - seine Art von einem neuen Feld für Einzelhändler auf der kleinen Geld-Ebene, weil es so viel Geld und Zeit, um profitable neuronale Netzwerk-Handelssysteme zu entwickeln, aber ich glaube, das ist, wo die Branche geht. Wer auf die automatisierte Trading-Meisterschaft achtet, kann sich vor einigen Jahren noch besser erinnern, es hat alle anderen aus dem Wasser gesprengt und neuronale Netze auf die Karte gelegt - das Problem ist, niemand wusste, wie man sie macht Programmierkenntnisse, wie ich aus erster Hand und ehrlich gesagt die meisten der Metatrader automatisierten Handelssysteme sind schlecht scripte Betrügereien. Youll erinnern sich, dass der Better EA-Entwickler mit einem Komitee von neuronalen Netzwerken zusammenarbeitet, um zusammenzuarbeiten, um die komplexen Muster auf dem Markt zu verarbeiten und erstaunlich genaue Trades zu produzieren, ist die Metaneural EA auf dem gleichen Konzept gebaut, der einzige Unterschied ist, dass Sie es tatsächlich kaufen können Versuchen Sie es selbst. Es heißt die Metaneural EA von Metaneural Engineering, check it out, wenn youre Interesse an der nächsten Entwicklung des Einzelhandels und vielleicht automatisierten Handel im Allgemeinen. Ihr Endprodukt verwendet viele der gleichen Grundlagen, die in diesem mql5 Artikel vorgestellt werden, wenn youre interessiert an neuronaler Netzentwicklung: mql5enarticles236 Mitglieder müssen mindestens 0 Gutscheine haben, um in diesem Thema zu posten. 0 Händler jetzt ansehen Forex Factoryreg ist ein eingetragenes Warenzeichen. Finally ein REAL Neuronales Netzwerk EA Free - Etwas Neues Kommerzielles Mitglied Mitglied seit Sep 2008 911 Beiträge Hallo Alle, es war eine Weile. Ich nehme normalerweise nicht so lange Pausen von der Teilnahme an diesem Forum, aber seit über einem Jahr habe ich an einem sehr intensiven Projekt gearbeitet und nach einem Jahr der Vorwärtsprüfung Im hier, um es mit euch allen zu teilen. Im Freunde mit vielen professionellen Händlern und einem Haufen von uns zusammen, kombiniert unsere Kompetenz und erstellt ein neuronales Netzwerk automatisiertes System für Metatrader, die tatsächlich funktioniert. Da waren sich bewusst, dass die meisten EAs absolut wertlos oder schlechter sind, Betrügereien, dachten wir, dass wir für den durchschnittlichen Einzelhändler von den Menschen, die tatsächlich vertraut werden können, etwas Einzigartiges bieten. Diese Gruppe heißt Metaneural. Weve verwendet neuronale Netze und wandte sie an den Handel Forex erfolgreich in der Vergangenheit und beschlossen, diese Methode in ein Metatrader-System zu übersetzen. Es ist weithin bekannt, dass die großen Handelsfirmen und Hedge-Fonds anspruchsvolle künstliche Intelligenz und nuerale Netzwerksysteme nutzen, um von den Finanzmärkten mit staffelnder Genauigkeit zu profitieren. Wir dachten, warum kann ich diese Macht auch nicht für uns zur Verfügung haben - die kleinen Geldinvestoren So machte ich eine Pause von all meinen anderen Aktivitäten und arbeitete hart mit Metaneural, um dieses System zu entwickeln, das ich glaube, das einzige echte neuronale Netzwerk EA zu sein. In der Tat, es muss nicht einmal eine EA sein, kann der Code in C geschrieben werden, um genau die gleiche Weise in Tradestation, Esignal, Neuroshell oder jede Plattform, die DLL-Import und Datenerfassung ermöglicht, weil die neuronale Netzwerk-Erstellung geschieht in Neurolösungen Ive machte Indikatoren und Handelssysteme für die forexfactory Gemeinschaft seit Jahren, also wollte ich euch Jungs die einzige freie Version des Metaneural EA im Internet geben. Ich möchte Ihr Feedback und Eindrücke bekommen. Wenn dieser Thread gut geht und sich nicht ablenken lässt, verlängere ich den Versuch. Ive hatte Spaß, den Forex-Markt mit den großen Köpfen auf diesem Forum seit Jahren zu entschlüsseln und es ist mir eine Freude, zurück zu geben. Neuronale Netze in EAs ist die Zukunft, ich hoffe, ihr könnt dies erkennen und eure eigenen Systeme entwickeln. Der erste Schritt bei der Schaffung eines künstlichen neuronalen Netzwerk Gehirn ist es, die Daten zu sammeln, um die die Struktur des Gehirns gebildet werden. Da wir versuchen, ein Gehirn zu schaffen, das wissen wird, wie man die Märkte tauscht, müssen wir Marktdaten sammeln. Allerdings können wir nicht einfach eine Masse von Daten sammeln und es in unsere neuronale Maschine ablegen, um die Struktur unseres Gehirns zu schaffen. Wir müssen die Daten in dem Format sammeln, in dem wir das Gehirn verarbeiten wollen, um diese Daten zu verarbeiten und schließlich das gleiche Format, in dem wir es schaffen wollen, eine Ausgabe zu erzielen. Mit anderen Worten, wir haben nicht nur unserem Gehirn erzählt, was zu denken ist, Aber wir müssen es sagen, wie wir denken können, indem wir diese Rohdaten in eine intelligente Gestaltung formulieren. In diesem Fall ist unsere verständliche Konfiguration Muster. Wir sammeln Daten in Segmente, jedes Segment besteht aus einer Reihe von Stangen, die vom Händler in unserem eigenen Sammlungsindikator gesetzt werden, der mit all unseren Paketen geliefert wird. Diese Gruppierung von Stäben wird in Bezug auf die nächste Bar gesammelt, die nach der Gruppierung kommt - wir nennen dies die zukünftige Bar. Wenn die Marktdaten sammeln, ist die zukünftige Bar bekannt, denn es sind alle historischen Daten, es ist die nächste Bar nach der Gruppierung. Die Idee ist, dass das neuronale Netzwerkhirn komplexe Muster in der Balkengruppierung findet und die gesammelten Informationen, einschließlich des nächsten Taktes nach der Gruppierung, verwendet, um zu bestimmen, welche komplexen Muster dem Ergebnis des nächsten Taktes vorausgehen. Während des eigentlichen Handels wird das Ergebnis der zukünftige Stab sein, der es möglich macht, mit einer hohen Genauigkeit die Richtung des Marktes zu kennen, bevor es passiert. Die gesammelten Daten werden in eine Tabellenkalkulation extrahiert, die die Preisdaten als offen, hoch, niedrig, nah (OHLC) anzeigt. Der OHLC jedes Stabes wird separat gesammelt und in seine eigene Säule gelegt. Im obigen Beispiel repräsentiert jede Zeile insgesamt 3 Takte. Daher stellen die Spalten Hunderte oder Tausende von Stäben dar, die in die Geschichte zurückgeführt werden. Zusätzlich zu OHLC können Sie auch die Werte aus fast jedem Indikator sammeln, den Sie auswählen, was im Wesentlichen dazu führen wird, dass der Indikator die Fähigkeit ist, auf der Grundlage veränderter Marktbedingungen zu denken und vorherzusagen Der nächste Wert. Neuronales Netzwerk Aufbau und Schulung Nun, da wir unsere gesammelten Daten haben, in eine Tabellenkalkulation in einer intelligenten Konfiguration extrahiert, können wir sie in unsere neuronale Netzwerk-Engine laden, die die Struktur des künstlichen Gehirns kreieren, trainieren und ihre Genauigkeit vorher testen wird Die Struktur zu retten. Sobald die gesammelten Daten in das Netzwerk-Building-Programm importiert werden, erhalten Sie die Wahl, welche Bits von Daten, die Sie verwenden möchten, um Ihr Gehirn zu bauen. Dies ist ein wichtiges Merkmal, weil es dem Benutzer ermöglicht, viele verschiedene Strategien zu erstellen, die auf der Grundlage aller Daten beruhen. Was im Wesentlichen in diesem Schritt getan hat, ist zu bestimmen, was der Motor verwenden wird, um die komplexen Muster zu erstellen, die früher erwähnt wurden, was letztlich die Projektionsfähigkeit des neuronalen Netzes EA entschieden wird. Zum Beispiel, sagen Sie, dass Sie dem neuronalen Netz erzählen wollten, nur nach Mustern in den offenen Preisen von Stäben in Bezug auf die Indikatorwerte aus Ihrem Lieblingsindikator zu suchen. Sie wählten dann Ihre Anzeige im Kollektor aus und wählen nur die offenen und Dateneingaben in der oben dargestellten Gebäudesoftware. Sie können auch alle Eingaben auswählen, mit Ausnahme der Ausgabe-Spalte, die Ihren Ausgangswert bedeutet. Wenn Sie alle Eingaben auswählen, wird das komplexeste Lernmuster erstellt und damit Ihr Gehirn auf viele verschiedene Szenarien reagieren können. Sobald die gewünschten Ein - und Ausgänge ausgewählt sind, wird die Software die Struktur Ihres neuronalen Netzwerk-Gehirns erstellen und Sie können damit beginnen, es zu trainieren. Ein Teil der gesammelten Daten wird beiseite gesetzt und verwendet, um die Genauigkeit Ihres künstlichen Gehirns zu trainieren und zu testen. Sie werden sehen, dass die gewünschte Ausgabe mit den Testdaten übereinstimmt, wie sie es lernt. Sobald dieser Vorgang abgeschlossen ist, können Sie das strukturierte künstliche Gehirn in Form einer DLL exportieren, die von der MetaNeural EA verwendet wird. Sobald das Gehirn gebaut, geschult, getestet und als DLL exportiert wird, kannst du mit einem automatisierten neuronalen Netzwerk Gehirn beginnen, das komplexe Muster sehen wird, die für einen Menschen unmöglich sind. Holen Sie sich die Metaneural EA FREE jetzt durch die Finanzierung eines Kontos bei FinFX mit jedem Betrag und mit unserem Trade Kopierer Service, um unsere professionellen Gewinnen Trades in Ihrem Konto spiegeln. Nachdem 50 volle Lose gehandelt werden, erhältst du die Metaneural EA mit voller Funktionalität für FREIE Konten muss mit dem Link finanziert werden, der im Preisabschnitt der Metaneural Aufstellungsort zur Verfügung gestellt wird. Platzieren Sie diese Dateien in den folgenden Ordnern in Metatrader: Expert Advisor - Metatrader 4experts Collector Indicator (DatacollectorV2a) - Metatrader 4expertsindicators Neuronale Netzwerk Indikator (Metaneural NN Indicator) - Metatrader 4expertsindicators MQLLock und MT4NSAdapter DLL Dateien - Metatrader 4expertsbibliotheken Sie müssen Neurosolutions 6 und installieren Visual Studio 6 für sie arbeiten, Anleitungen zu diesen Installationen finden Sie in der sehr detaillierten Anleitung zu diesem Beitrag. SIE MÜSSEN DAS HANDBUCH LESEN Ja, es kann auf mehrere Währungen gleichzeitig angewendet werden, weil es auf jeder Währung individuell geschult werden kann und eine neuronale Netzwerkstruktur für jede Währung erstellt werden kann. I would say the only broker dependency would be the integrity of their price feed, the more stable and consistent their feed the better the training data will be and subsequently the trades. Were not scalping necessarily so execution speed is not very important. Thanks for your interest. Congratulations on developing a system which gives healthy returns. Always better than wonder EAs which usually end up blowing the account. I am a commercial member myself sharing my Fibonacci Makeover system (ForexFibs ) here so I can understand why you are offering a Free EA. My question is can this EA be applied to multiple currencies as it is based on Real Neural Networks Is it dependent on broker and execution speed


No comments:

Post a Comment