Tuesday 11 July 2017

Metereural Forex Broker


MetaTrader 4 - Beispiele für Neuronale Netze in MetaTrader Einführung Viele von Ihnen haben wahrscheinlich die Möglichkeit der Verwendung von neuronalen Netzwerken in Ihrem EA betrachtet. Dieses Thema war besonders nach dem Jahr 2007 Automated Trading Championship und dem spektakulären Gewinn von Better mit seinem System auf neuronale Netze basiert sehr heiß. Viele Internet-Foren wurden mit Themen im Zusammenhang mit neuronalen Netzwerken und Forex-Handel überflutet. Leider ist das Schreiben nativer MQL4-Implementierung von NN nicht einfach. Es erfordert einige Programmierkenntnisse und das Ergebnis wäre nicht sehr effizient, besonders wenn youd wie Sie Ihr Endergebnis in Tester auf große Anzahl von Daten zu testen. In diesem Artikel zeigen wir Ihnen, wie Sie die frei verfügbare (unter LGPL), renommierte Fast Artificial Neural Network Library (FANN) in Ihrem MQL4-Code verwenden können, ohne dabei bestimmte Hindernisse und Einschränkungen zu vermeiden. Weiter gehe ich davon aus, dass der Leser mit künstlichen neuronalen Netzwerken (ann) und Terminologie in Bezug auf dieses Thema vertraut, so krank konzentrieren sich auf praktische Aspekte der Verwendung bestimmter Umsetzung von ann in MQL4 Sprache. FANN-Funktionen Um die Möglichkeiten der FANN-Implementierung zu verstehen, müssen Sie 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 auszuführen. Das erstellte und trainierte Netzwerk kann dann in einer Datei gespeichert und später für eine weitere Verwendung wiederhergestellt werden. Um ein ann zu erstellen, muss man fanncreatestandard () verwenden. Lets see seine Syntax: Wo numlayers die Gesamtzahl der Schichten einschließlich der Eingabe-und Output-Layer darstellt. Das lNnum und die folgenden Argumente repräsentieren die Anzahl der Neuronen in jeder Ebene, beginnend mit der Eingabeschicht und endend mit der Ausgabeschicht. Um ein Netzwerk mit einer versteckten Schicht mit 5 Neuronen, 10 Eingängen und 1 Ausgang zu erstellen, müsste man es wie folgt aufrufen: Nach der Erstellung der Ann wird die nächste Operation mit einigen Ein - und Ausgangsdaten trainiert. Die einfachste Trainingsmethode ist ein inkrementales Training, das durch die folgende Funktion erreicht werden kann: Diese Funktion nimmt den von fanncreatestandard () zurückgegebenen Zeiger auf struct fann und sowohl den Eingangsdatenvektor als auch den Ausgangsdatenvektor. Die Eingabe - und Ausgabevektoren sind vom Array vom Fankype-Typ. Diese Art ist in der Tat ein Doppel-oder Float-Typ, je nachdem, wie die FANN zusammengestellt wird. In dieser Implementierung werden die Eingangs - und Ausgangsvektoren Arrays von Doppelpunkten sein. Sobald die Ann geschult ist, würde das nächste gewünschte Merkmal sein, dieses Netzwerk auszuführen. Die Funktion implementieren, die wie folgt definiert ist: Diese Funktion nimmt den Zeiger auf struct fann, die das zuvor erstellte Netzwerk und einen Input-Vektor des definierten Typs (double array) darstellt. Der zurückgegebene Wert ist ein Ausgangsvektorarray. Diese Tatsache ist wichtig, da für ein Versorgungsnetzwerk immer ein Elementarray mit dem Ausgangswert und nicht dem Ausgangswert selbst erhalten wird. Leider verwenden die meisten FANN-Funktionen einen Zeiger auf eine struct fann, die die Ann darstellt, die nicht direkt von MQL4 behandelt werden kann, die Strukturen nicht als Datentypen unterstützt. Um diese Einschränkung zu vermeiden, müssen wir das in irgendeiner Weise einpacken und uns vor MQL4 verstecken. Die einfachste Methode besteht darin, ein Array von struct fann Zeigern mit den richtigen Werten zu erstellen und sie mit einem Index zu verweisen, der durch eine int-Variable dargestellt wird. Auf diese Weise können wir den nicht unterstützten Variablentyp durch einen unterstützten ersetzen und eine Wrapper-Bibliothek erstellen, die einfach in den MQL4-Code integriert werden kann. Das FANN rund um verteilen Meiner Meinung nach unterstützt MQL4 keine Funktionen mit variablen Argumenten, so dass wir auch damit umgehen müssen. Wenn andererseits die C-Funktion (mit 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 resultierende Wrapper-Funktion würde folgendermaßen aussehen: Wir haben den fann mit f2M (der für FANN TO MQL steht), die statische Anzahl von Argumenten (4 Ebenen) verwendet und der zurückgebende Wert ist nun ein Index für das interne Array von anns, das das struct enthält Die von FANN für den Betrieb benötigt werden. Auf diese Weise können wir diese Funktion einfach aus MQL-Code aufrufen. Das gleiche gilt für: Last, but not least ist die Tatsache, dass Sie Ihr einmal erstelltes ann durch den Aufruf zu zerstören: Um Freigabe Ann Handles sollten Sie Netzwerke in umgekehrter Reihenfolge zu zerstören, als sie erstellt wurden. Alternativ können Sie: Im Im ziemlich sicher einige von Ihnen vielleicht lieber, um ihre geschultes Netzwerk für die spätere Verwendung mit speichern: Natürlich kann das gespeicherte Netzwerk später geladen werden (oder eher neu erstellt) mit: Sobald wir die grundlegenden Funktionen, die wir versuchen könnten, kennen Verwenden Sie das in unserem EA, aber zuerst müssen wir das Fann2MQL Paket installieren. Installieren von Fann2MQL Um die Verwendung dieses Pakets zu erleichtern, habe ich das msi-Installationsprogramm erstellt, das den gesamten Quellcode sowie vorkompilierte Bibliotheken und die Fann2MQL. mqh-Header-Datei enthält, die alle Fann2MQL-Funktionen deklariert. Das Verfahren der Installation ist recht 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 das Standard-Programm FilesFann2MQL verwenden oder direkt in Ihr Meta Traderexperts Verzeichnis installieren. Die spätere wird alle Dateien direkt an ihre Plätze sonst youll müssen sie manuell zu kopieren. Installation von Fann2MQL, Schritt 2 Das Installationsprogramm stellt Dateien in folgende Ordner ein: Wenn Sie sich für die Installation im dedizierten Fann2MQL-Ordner entscheiden, kopieren Sie bitte den Inhalt der zugehörigen Unterordner und Bibliotheken in das entsprechende Verzeichnis des Meta Traders. Das Installationsprogramm installiert auch die FANN-Bibliothek in Ihrem Systembibliothekenordner (Windowssystem32 in den meisten Fällen). Der src-Ordner enthält den gesamten Quellcode von Fann2MQL. Sie können den Quellcode lesen, der eine ultimative Dokumentation ist, wenn Sie mehr Informationen über die Interna benötigen. Sie können den Code auch verbessern und zusätzliche Eigenschaften hinzufügen, wenn Sie mögen. Ich ermutige Sie, schicken Sie mir Ihre Patches, wenn Sie etwas Interessantes umzusetzen. Verwenden von neuronalen Netzwerken in Ihrem EA Sobald die Fann2MQL installiert ist, können Sie beginnen, Ihre eigene EA oder Indikator zu schreiben. Theres viel der möglichen Nutzung von NN. Sie können sie zur Prognose zukünftiger Preisbewegungen nutzen, aber die Qualität solcher Vorhersagen und die Möglichkeit, sie wirklich zu nutzen, ist zweifelhaft. Sie können versuchen, Ihre eigene Strategie mit Reinforcement Learning Techniken, sagen ein Q-Learning oder etwas ähnliches zu schreiben. Sie können versuchen, NN als Signalfilter für Ihre heuristische EA verwenden oder kombinieren Sie alle diese Techniken und was auch immer Sie wirklich wollen. Youre begrenzt durch Ihre Fantasie nur. Hier zeige ich Ihnen ein Beispiel für die Verwendung von NN als einfachen Filter für Signale, die von MACD erzeugt werden. Bitte betrachten Sie es nicht als wertvolle EA, sondern als Beispielanwendung von Fann2MQL. Während der Erläuterung der Art und Weise der Beispiel EA: NeuroMACD. mq4 funktioniert Ill zeigen Ihnen, wie die Fann2MQL effektiv in MQL verwendet werden kann. Das allererste für jeden EA ist die Deklaration der globalen Variablen, definiert und enthält Abschnitt. Hier ist der Anfang von NeuroMACD, der diese Dinge enthält: Der Befehl include sagt, die Fann2MQL. mqh-Header-Datei zu laden, die die Deklaration aller Fann2MQL-Funktionen enthält. Danach stehen alle Fann2MQL-Paketfunktionen für das Skript zur Verfügung. Die ANNPATH-Konstante definiert den Pfad zum Speichern und Laden von Dateien mit geschulten FANN-Netzwerken. Sie müssen diesen Ordner erstellen, d. H. C: ANN. Die NAME-Konstante enthält den Namen dieses EA, der später zum Laden und Speichern von Netzwerkdateien verwendet wird. Die Eingabeparameter sind ziemlich offensichtlich, und jene, die arent sind, werden später erläutert, sowie globale Variablen. Der Eintrittspunkt jedes EA ist seine 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. Als auch 3 Sätze von verschiedenen Argumenten verwenden wir wollen, dass es durch 3 teilbar ist. AnnPath wird berechnet, um die EA NAME und MagicNumber widerspiegeln. Die aus dem SlowMA berechnet wird. FastMA - und SignalMA-Eingangsargumente, die später für die MACD-Anzeigesignalisierung verwendet werden. Sobald es die AnnPath kennt, versucht die EA, neuronale Netze mit annload () - Funktion zu laden, die Ill unten beschreiben. Die Hälfte der geladenen Netze ist für die Langpositionsfilterung und die andere Hälfte für Kurzschlüsse bestimmt. Die Variable AnnsLoaded wird verwendet, um anzuzeigen, dass alle Netzwerke korrekt initialisiert wurden. Wie Sie wahrscheinlich bemerkt haben, dieses Beispiel EA versucht, mehrere Netzwerke zu laden. Ich bezweifle es wirklich notwendig in dieser Anwendung, aber ich wollte Ihnen zeigen, das volle Potenzial von Fann2MQL, die Handhabung mehrere Netzwerke zur gleichen Zeit und kann sie parallel unter Ausnutzung von mehreren Kerne oder CPUs verarbeiten. Um es zu ermöglichen, nutzt Fann2MQL die Intel Threading Building Blocks Technologie. Mit der Funktion f2Mparallelinit () wird diese Schnittstelle initialisiert. Hier ist die Art und Weise, wie ich Netze initialisiert habe: Wie Sie sehen können, wenn die 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 sollte (Einschließlich Eingang und Ausgang), AnnInput-Eingänge, AnnInput-Neuronen in der ersten verborgenen Schicht, AnnInput21-Neuronen in der zweiten versteckten Schicht und 1 Neuron in der Ausgabeschicht. F2Msetactfunctionhidden () wird verwendet, um die Aktivierungsfunktion von ausgeblendeten Layern auf SIGMOIDSYMMETRICSTEPWISE einzustellen (siehe FANN Dokumentation von fannactivationfuncenum) und das gleiche gilt für die Ausgabeschicht. Dann gibt es den Aufruf von f2mrandomizeweights (), mit dem Neuron-Verbindungsgewichte im Netzwerk initialisiert werden. 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 haben Sie wahrscheinlich die Funktion debug () bemerkt, die ich ein paar Mal verwendet habe. Es ist eine der einfachsten Methoden, um die ausführliche Ebene Ihrer EA zu ändern. Zusammen mit ihm und dem Eingangsparameter DebugLevel können Sie die Art und Weise einstellen, wie Ihr Code die Debug-Ausgabe erzeugt. Wenn das erste Argument der debug () - Funktion, die Debug-Ebene höher als DebugLevel ist, erzeugt die Funktion keine Ausgabe. Wenn sein unterer Wert gleich der Textfolge ist, wird gedruckt. Wenn die Debug-Ebene 0 ist, wird die Zeichenfolge ERROR: an den Anfang angehängt. Auf diese Weise können Sie Debug-Dateien, die von Ihrem Code erzeugt werden, auf mehrere Ebenen aufteilen. Die wichtigsten sind wahrscheinlich Fehler, so dass sie der Ebene 0 zugeordnet sind. Sie werden gedruckt, es sei denn, Sie senken Ihre DebugLevel auf unter 0 (was nicht empfohlen wird). Auf der Ebene 1 werden einige wichtige Informationen gedruckt, wie die Bestätigung der erfolgreichen Netzwerkbeladung oder der Erstellung. Auf Stufe 2 oder höher nimmt die Bedeutung der gedruckten Information allmählich ab. Vor der ausführlichen Erklärung der start () - Funktion, die sehr langwierig ist, muss ich Ihnen einige weitere Funktionen zeigen, die für die Vorbereitung der Netzeingabe und das Ausführen der eigentlichen Netzwerke bestimmt sind: Die Funktion annprepareinput () wird verwendet, um den Input-Namen für die Netzwerke vorzubereiten (Also der Name). Der Zweck davon ist ganz einfach, aber das ist der Punkt muss ich Sie daran erinnern, dass die Eingabedaten korrekt normalisiert werden müssen. Es gibt keine anspruchsvolle Normalisierung in diesem Fall habe ich einfach die MACD-Haupt-und Signalwerte, die nie überschreiten den gewünschten Bereich auf den Rechnungsdaten. In dem realen Beispiel sollten Sie wahrscheinlich mehr Aufmerksamkeit auf dieses Problem zu zahlen. Wie Sie vermutlich vermuten, die richtige Eingabe Argumente für Netzwerk-Eingang, Codierung, Zerlegung und Normalisierung ist einer der wichtigsten Faktoren in der neuronalen Netzwerk-Verarbeitung. Wie ich schon erwähnt habe, hat die Fann2MQL die Fähigkeit, die normale Funktionalität von MetaTrader zu erweitern, dh die parallele Multithread-Verarbeitung neuronaler Netzwerke. Das globale Argument Parallel steuert dieses Verhalten. Die runanns () - Funktion führt alle initialisierten Netzwerke aus und erhält die Ausgänge von ihnen und speichert sie im AnnOutput-Array. Die Funktion "annsrunparallel" ist verantwortlich für die multithreaded-Verarbeitung des Jobs. Es ruft die f2mrunparallel () auf, die als erstes Argument die Anzahl der zu verarbeitenden Netzwerke annimmt, das zweite Argument ist ein Array mit Handles für alle Netze, die Sie ausführen möchten, um den Eingabevektor als drittes Argument zu liefern. Alle Netze müssen auf den gleichen Eingangsdaten laufen. Die Ausgabe des Netzwerks erfolgt über mehrere Aufrufe zu f2mgetoutput (). Jetzt sehen wir die start () - Funktion: Ill beschreiben es kurz, da es sehr gut kommentiert ist. Die tradeallowed () prüft, ob sie handeln darf. Grundsätzlich überprüft es die AnnsLoaded-Variable, die angibt, dass alle Anns ordnungsgemäß initialisiert wurden, dann prüft für den richtigen Zeitrahmen Zeitraum minimalen Kontostand und am Ende erlaubt es, nur am ersten Tick einer neuen Bar zu handeln. Als nächstes wurden zwei Funktionen, die verwendet werden, um die Netzwerkeingabe vorzubereiten und die Netzwerkverarbeitung auszuführen, nur wenige Zeilen oben beschrieben. Als nächstes berechnen und setzen wir Variablen für die spätere Verarbeitung der MACD-Werte von Signal - und Hauptleitung für die letzte Aufbauleiste 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 Hauptnetz-Crossover berechnet. Beide Signale werden für die Long - und Short-Positionsverarbeitung verwendet, die symmetrisch sind, also beschreiben wir nur den Fall für longs. Die LongTicket-Variable enthält die Ticketnummer der aktuell geöffneten Position. Wenn er gleich -1 ist, wird keine Position geöffnet, wenn das BuySignal gesetzt ist, das eine gute Gelegenheit für eine lange Position anzeigen könnte. Wenn die Variable NeuroFilter nicht gesetzt ist, wird die Long-Position geöffnet und das ist der Fall ohne die neuronale Netzwerk-Filterung von Signalen - die Bestellung wird gesendet, um zu kaufen. An dieser Stelle soll die Variable LongInput den InputVector berücksichtigen, der von annprepareinput () für die spätere Verwendung vorbereitet wird. Wenn die LongTicekt-Variable die gültige Ticketnummer enthält, prüft das EA, ob es noch geöffnet ist oder wurde durch den StopLoss oder TakeProfit geschlossen. Wenn die Bestellung nicht abgeschlossen ist, geschieht nichts, wenn der Auftrag jedoch geschlossen ist, wird der Trainingsvektor, der nur einen Ottput hat, den Wert -1, wenn der Auftrag mit Verlust abgeschlossen wurde, oder 1, wenn der Auftrag mit Gewinn geschlossen wurde, berechnet . Dieser Wert wird dann an die anntrain () - Funktion übergeben und alle Netzwerke, die für die Handhabung der Long-Position verantwortlich sind, werden damit trainiert. Als Eingabevektor 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. Sobald Sie ein geschultes Netzwerk haben, schaltet der NeuroFilter auf "true" um die Netzwerkfilterung zu aktivieren. Die annwiselong () verwendet das neuronale Netzwerk, das als Mittelwert von Werten berechnet wird, die von allen Netzwerken zurückgegeben werden, die für die Verarbeitung der Langposition gedacht sind. 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 verwendete die Daten von Alpari. Konvertiert in M5 Zeitrahmen. Für Testzwecke habe ich den Zeitraum 2007.12.31 bis 2009.01.01 für Trainingoptimierung und 2009.01.01-2009.03.22 verwendet. Im allerersten 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 codiert habe. Der NeuroFlter wurde ausgeschaltet sowie SaveAnn. Wurde die AnnsNumber auf 0 gesetzt, um eine neuronale Verarbeitung zu vermeiden. Ich habe den genetischen Algorithmus für die Optimierung verwendet. Sobald die Werte erhalten wurden, sah der resultierende Bericht wie folgt aus: Bericht über die Trainingsdaten nach der grundlegenden Parameteroptimierung. Wie Sie sehen können, habe ich diese EA auf dem Mini-Konto mit der Lot-Größe von 0,01 und dem Anfangs-Saldo von 200 ausgeführt. Allerdings können Sie diese Parameter entsprechend Ihren Account-Einstellungen oder Einstellungen abstimmen. An diesem Punkt haben wir genug profitable und verlieren Trades, so konnten wir die SaveAnn einschalten und die AnnsNumber auf 30 setzen. Einmal getan, so laufe ich das Tester noch einmal. Das Ergebnis war genau das gleiche mit Ausnahme der Tatsache, dass der Prozess viel langsamer war (als Ergebnis der neuronalen Verarbeitung) und der Ordner C: ANN wurde mit den trainierten Netzwerken, wie auf dem Bild unten gezeigt bevölkert. Stellen Sie sicher, dass der Ordner "C: ANN" vor dem Ausführen des Ordners "C: ANN" existiert. Sobald wir die Netzwerke trainiert haben, um zu testen, wie es sich verhält. Zuerst versuchen Sie es auf die Trainingsdaten. Ä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 möglicherweise etwas für Sie Fall variieren, da es einige Zufälligkeit in Netzwerken in Neuron-Anschlussgewichte bei der Netzwerk-Initialisierung (in diesem Beispiel habe ich explizite Aufruf von F2Mrandomizeweights () innerhalb annload ()). Das Ergebnis der Trainingsdaten mit eingeschalteter Signalneuralfilterung. Der Reingewinn ist etwas größer (20,03 vs. 16,92), doch ist der Gewinnfaktor deutlich höher (1,25 gegenüber 1,1). Die Anzahl der Trades ist viel geringer (83 vs 1188) und die durchschnittliche aufeinanderfolgende Verlusten Zahl wird von 7 auf 2 gesenkt. Allerdings zeigt es nur, dass die neuronale Signal-Filterung funktioniert, aber es sagt nichts darüber, wie es auf Daten, die nicht verwendet wurden, arbeitet Während des Trainings. Das Ergebnis, das ich aus dem Testzeitraum (2009.01.01 - 2009.30.28) erhalten habe, ist nachfolgend dargestellt: Ergebnis aus Testdaten mit Neuronalfilterung eingeschaltet. Die Anzahl der ausgeführten Trades ist recht niedrig und es ist schwer, die Qualität dieser Strategie zu erzählen, aber ich war nicht dabei, Ihnen zu zeigen, wie die besten profitablen EA zu schreiben, sondern zu erklären, wie Sie neuronale Netze in Ihrem MQL4-Code verwenden könnten. Die wirkliche Wirkung der Verwendung von neuronalen Netzwerken in diesem Fall kann nur gesehen werden, wenn die Ergebnisse der EA auf Testdaten mit NeuroFilter ein-und ausschalten verglichen. Unten ist das Ergebnis der Testdatenperiode ohne neuronale Signalfilterung: Ergebnisse aus Testdaten ohne Neuronalfilterung. Der Unterschied ist ganz offensichtlich. Wie Sie sehen können, die neuronale Signal-Filterung der verlierenden EA in eine rentable ein Fazit Ich hoffe, dass Sie aus diesem Artikel gelernt haben, wie man neuronale Netze in MetaTrader verwenden. Mit Hilfe der einfachen, kostenlosen und opensource Paket Fann2MQL können Sie leicht hinzufügen, die neuronale Netzwerk-Ebene in praktisch jedem Expert Advisor oder starten Sie Ihre eigenen, die vollständig oder teilweise auf neuronale Netze basiert schreiben. Die einzigartige Multithreading-Fähigkeit kann Ihre Verarbeitung beschleunigen, je nach Anzahl der CPU-Kerne, besonders bei der Optimierung bestimmter Parameter. In einem Fall verkürzte es die Optimierung meiner Reinforcement Learning basierten EA-Verarbeitung von etwa 4 Tagen auf nur 28 Stunden auf einer 4-Core Intel CPU. Während des Schreibens dieses Artikels habe ich beschlossen, Fann2MQL auf seiner eigenen Website: fann2mql. wordpress setzen. 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 Versionen zu halten, so dass, wenn Sie mir Kommentare, Feature-Anfragen oder Patches, die ich interessant finden Sie sicher sein, es zu finden nächste Releases. Bitte beachten Sie, dass dieser Artikel nur die sehr grundlegende Verwendung von Fann2MQL zeigt. Da dieses Paket ist nicht viel mehr als FANN können Sie alle Werkzeuge für die Verwaltung von FANN-Netzwerken, wie verwenden: 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 einer Long-Position-Ticketnummer gespeist. Es resultierte in einer schiefen Strategie, die eher Shorts und schließen longs: In der korrekten Version des Skripts habe ich diesen Fehler behoben und entfernt die OrderClose () - Strategie überhaupt. Dies änderte nicht das Gesamtbild des Einflusses der neuronalen Filterung auf die EA, aber die Bilanzkurvenform war ganz anders. Sie finden beide Versionen dieser EA zu diesem Artikel beigefügt. Disclaimer und Risiko-Warnung. Bitte lesen Sie. Risikowarnung. Trading Devisen auf Margin trägt ein hohes Maß an Risiko, und kann nicht für alle Anleger geeignet. Der hohe Grad der Hebelwirkung kann sowohl gegen Sie als auch für Sie arbeiten. Vor der Entscheidung, in Devisen zu investieren, sollten Sie sorgfältig überlegen Sie Ihre Anlageziele, Erfahrung und Risikobereitschaft. Die Möglichkeit besteht, dass Sie einen Verlust von einigen oder allen Ihrer anfänglichen Investition zu erhalten und daher sollten Sie nicht Geld investieren, die Sie nicht leisten können, zu verlieren. Sie sollten sich bewusst sein, alle Risiken im Zusammenhang mit Devisenhandel und suchen Beratung durch einen unabhängigen Finanzberater, wenn Sie Zweifel haben. Haftungsausschluss Alle Informationen auf dieser Website ist unserer Meinung nach die Meinung unserer Besucher und kann nicht die Wahrheit widerspiegeln. Bitte nutzen Sie Ihre eigenen guten Urteilsvermögen und suchen Sie Ratschläge von einem qualifizierten Berater, bevor Sie glauben und akzeptieren alle Informationen auf dieser Website veröffentlicht. Wir behalten uns das Recht vor, Beiträge zu löschen, zu bearbeiten, zu verschieben oder zu schließen. Anzeigen Warnung Anzeigenlinks werden auf der gesamten Website angezeigt. Einige Seiten auf der Website können Affiliate-Links für Produkte enthalten. Diese Anzeigen andor-Links geben nicht die Meinung, die Billigung oder das Zusammentreffen dieser Website oder der angeschlossenen Parteien wieder. Die FPAs-Bewertungen werden niemals durch Werbung beeinflusst. Einige Anzeigen könnten potenziell irreführende und unausgewogene Forderungen und Informationen enthalten, die möglicherweise nicht die Risiken und sonstigen wichtigen Aspekte des spekulativen Handels offen legen. Spammers be Warned Wenn Sie die FPAs Foren oder Rezensionen Spam, behalten wir uns das Recht vor, Ihren Beitrag in irgendeiner Weise bearbeiten wir bitte, um über Sie lustig zu machen. Durch die Spamming-Nutzung erklären Sie sich damit einverstanden, dass wir keinerlei Rechtsbehelfe oder sonstige Maßnahmen gegen den FPA oder seine Mitarbeiter für irgendetwas erledigen, das wir mit oder mit Ihrem Spam durchführen. AGB Datenschutz Werben Kontakt Über ForexPeaceArmy hat Werbung und Affiliate-Beziehungen mit einigen der Unternehmen auf dieser Website erwähnt und kann entschädigt werden, wenn Leser folgen Links und Anmelden. Wir sind verpflichtet, die fairen Umgang mit Rezensionen und Beiträge unabhängig von diesen Beziehungen. Kopieren Sie Copyright ForexPeaceArmy. Alle Rechte Vorbehalten.8482Forex Peace Army, ForexPeaceArmy, FPA und das FPA-Schild-Logo sind alle Marken der Forex Peace Army. Alle Rechte gemäß US-amerikanischem Recht und internationalem Recht. Forex Peace Army setzt auf Bannerwerbung, um es kostenlos für alle. Sie können auch helfen - bitte beachten Sie deaktivieren AdBlocker beim Surfen auf unserer Website. Danke von unserer Händlergemeinschaft :-)

No comments:

Post a Comment