Tuesday, 17 October 2017

Neuronale Netzwerk Forex Indikatoren


GLOBAL TRADING SYSTEMS FOREX PREDICTION FOREX ROBOTER BINARY OPTIONEN ROBOTER BINARY OPTIONEN SIGNALE STOCK TRADING ROBOTER STOCK PREDICTION Forex Scalper Profit Progressor Roboter EA ist echte Multi-Markt-Zustand Roboter: Trending, nicht-Trending, flüchtig und nicht-flüchtig. Handel alle wichtigen Währungspaare. 50-100 Trades pro Tag. Profitieren Sie 250 pro Monat. Mit diesem komplexen Forex Robot Scalper EA Sie werden stabilen soliden Gewinn zu verdienen. Sehr Sicherheit für Rechnung. Für forex Anfänger oder fortgeschrittene Händler auch. Forex Indicator 3D Signale - Forex Signale Neue Generation Neue erweiterte Premium-Qualität 3D-Forex Signale Indikator. Die Forex Indicator basiert auf Neural Networks analysiert Markt in 3D-Dimensionen und generiert statistisch zuverlässige und genaue Forex Trading Signale in Echtzeit. Signale sind intuitiv, einfach zu bedienen und haben eine hervorragende Gewinnrate beibehalten. 500 Pips durchschnittlich Gewinn pro Monat. 60 Sekunden Binäre Optionen Signale Indikator (Metatrader basiert). 90 tägliche Win-Rate. 100 Signale pro Tag. 100 Profit pro 1 Stunde Nicht-Rebedruckung Einfach zu bedienen, arbeitet mit jedem Makler, irgendwelche Vermögenswerte. Genauigkeit mit echtem Handelskonto überprüft Basierend auf fortgeschrittenen Neuronalen Netzwerken Algorithmen. Haben Sie mit über 200 Binary Option Brokers getestet und zeigt stabile hohe Profit. Binäre Optionen Auto Trader 300 Gewinn pro Monat 100 Binärer Autohändler für Metarader-basierte Broker wie Core Liqudity Markets, NoaFX, GDMFX, GoMarkets, Grandcapital, WForex und andere. Basierend auf Neural Networks Algorithm. Eingebauter Account - und Risikomanagementsystem. 300 Gewinn pro Monat 100 Trades pro Tag 100 Automatisierte Binäroptionen Roboter für Web-basierte Broker Trades 60 Sekunden und 30 Sekunden Binäre Optionen. Hat eingebaute Einlagensicherung, Geld-Management-System. Führt automatisch Trades direkt zu Ihrem verknüpften Broker-Konto aus. 1500 FÜR 1 JAHR SUBSCRIPTION Auf der Suche nach profitable binäre Optionen Signale und Autotrader Es gibt UNGLAUBLICHE BINARY OPTION SIGNALEN, die Sie zu gewinnen. Binäre Optionen Signale Indikator (Metatrader 5 basiert). 90 tägliche Win-Rate. 50 Signale pro Tag. Nicht-blendende Arbeiten mit jedem Makler. Basierend auf neuronalen Netzwerken. 60 Sekunden Binäre Optionen Signale Indikator (NinjaTrader basiert). 90 tägliche Win-Rate, zuverlässige, gewinnende Handelssignale. 70 Signale pro Tag. Non-Repainting Super genaue Einfach zu bedienen, arbeitet mit jedem Makler, alle Vermögenswerte. Synchronisiert mit allen binären Optionen platfrom. Basierend auf neuronalen Netzwerken. Binäre Optionen Vorhersage und Handel Signal Indikator für Metatrader. Erzeugt 90 genaue, zuverlässige, gewinnbringende Handelssignale. Nicht-Blenden auf Basis des Neuronalen Netzwerk-Algorithmus. Arbeitet mit jedem Broker und jedem Zeitrahmen. Kann Benachrichtigung an mobile Geräte senden, dann handelt es sich um ein Signal. 10 und 15 Minuten Binäre Optionen Handelszeichen Indikator für Metatrader (MT4). 83 tägliche Win-Rate 30 Trading-Signale pro Tag 100 Non REPAINTING 100 ZUVERLÄSSIG Die Binary Options (BO) Signals Indicator berät Sie, wenn qualitativ hochwertige Handelsmöglichkeiten entstehen. Zeigt stabilen hohen Gewinn. Entspannen Sie sich, während das IQ Option Trade Copier Plugin an Ihrer Stelle handelt. IQ Option Trade Copier kopiert Trades von Metatrader direkt auf Ihre IQ Option Platform. Automatisiert jede gewinnbringende Strategie und erlaubt, auf vollen Autopiloten zu handeln. Kopien handeln sofort und zuverlässig. Binäre Optionen Handelskopierer. Kopiert Trades von Metatrader direkt auf Ihre Binary Options Platform und implementiert Trades auf Ihrem Broker Konto. Sofortig. Zuverlässig. Automatisiert jede rentable Strategie und erlaubt es, auf vollem Auto Pilot direkt von Metatrader zu handeln. Neuronale Netzwerke Forex Vorhersage Indikator für Metatrader. Erzeugt 90 genaue Handelssignale. Bis zu 250 Gewinn pro Monat Predicts hoch, niedrig, enger Preis, Preisbewegungsrichtung. 100 Nicht-Rüstarbeiten Arbeiten mit beliebigen Währungspaaren, beliebige Zeitrahmen. Es ist die beste Forex Scalping Roboter, die Sie verwenden können und können auch die kleinsten Trading-Konten in HUGE Konten in sehr schneller Zeit, ohne dass Sie einen Finger zu heben Forex Intraday Scalper EA analysiert den Forex-Markt für Sie, um den besten Eintrag zu finden und Ausgangspunkte 250 Gewinn pro Monat. Max. Drawdown 3.5. 100 automatisierten Handel. Intelligenter Devisenhandel Roboter (Forex Roboter oder EA) für Metatrader basierend auf Neuronale Netze und genetischen Algorithmus. Selbstlernen und sich selbst aktualisierender Roboter öffnet Positionen mit 90 Erfolgswahrscheinlichkeit. Metatrader - Interaktive Broker Trader Copier Bridge ist eine programmierbare Erweiterung für Trader Workstation (TWS), mit der Sie manuell oder automatisch direkt von Metatrader (MT4, MT5) handeln können. Automatisieren Sie Ihre Strategien für den Handel über Interactive Brokers. 300 Gewinn pro Monat. Max. Drawdown 7. 90 erfolgreiche Trades. 100 automatisierten Handel. Intelligenter Devisenhandel Roboter (Forex Roboter oder EA) für Metatrader auf der Grundlage von Neuronalen Netzwerken. Forex Robot Scalper zeigt eine große Anzahl von Trades pro Tag, mit minimalem Verlust-machen. Dukascopy Binär Optionen Roboter 50 Trades pro Tag 100 Automatisierte Binäroptionen Roboter für Dukascopy Broker Trades 60 Sekunden und 15 Minuten Binäre Optionen. Hat eingebauten Einlagensicherung, Risikomanagementsystem. 75-90 Win-Rate. 1500 FÜR 1 JAHR ABONNEMENT Metatrader Nadex Trade Copier kopiert Trades von MT4 direkt auf Ihre Nadex Trading Platform und implementiert Trades. Sofortig. Zuverlässig. Ermöglicht es, jede Handelsstrategie zu testen und zu automatisieren und auf dem vollen Autopiloten direkt von Metatrader zu handeln. Arbeit für irgendeinen Vermögenswert. Nadex Trading Robot ist eine vollautomatische Handelssoftware, die speziell für den Handel mit Nadex Binary Options entwickelt wurde. 100 Trades pro Tag 100 Automatisiert hat Einbauschalter, Geld-Management-System. Basierend auf Neural Networks risikoarme Strategie. 1500 FÜR 1 JAHR ABONNEMENT Nadex Signals and Prediction Indicator ist speziell für den kommerziellen Handel mit Nadex Binary Options konzipiert. 90 ITM Nadex Signale. 50 Signale pro Tag. Machen Sie konsequenten Gewinn mit dem besten und zuverlässigsten Nadex Signals Indicator. 90 genaue Bitcoin Vorhersage Indikator für Metatrader basierend auf Neural Networks Algorith. Erzeugt Streaming-Echtzeit-Vorhersagen und Trading-Signale. Der Indikator ist nicht neu lackiert. Predicts Preis, Preisbewegungsrichtung, erkennt Umkehrpunkte. IQ Option Roboter handelt Binär Optionen 100 automatisiert. 75-90 tägliche Gewinnrate 50-100 Trades pro Tag. Basierend auf Neural Networks Aalgorithm. Intelligente IQ Option Roboter erzeugt automatisch Signale, setup Losgröße, hat Account-Schutzsystem. Kopiere Trades instanly und zuverlässig zwischen verschiedenen Computern über Internet auf der ganzen Welt und zwischen verschiedenen MT4 Terminals auf dem gleichen Computer laufen. Kompatibel auf jeder MT4-Plattform mit jedem Forex Broker. Kopiere alle Arten Marktaufträge. Der Gold Trading Robot wurde für GOLD 1H und SILVER 1H entwickelt. 360 Gewinn pro Monat. Maximaler Drawdown 10. 90 Gewinnende Trades. 100 automatisierten Handel. Langfristige Strategie Jeder Auftrag wird durch Stop Loss geschützt und nimmt Profit. Voll optimierte Einstellungen. 90 genau. Erzeugt Echtzeit-Streaming-Handelssignale. Hat den Streaming-Live-Daten-Feed für alle Zeitrahmen installiert. Predicts Preis, Preisbewegungsrichtung, Trend, erzeugt Handelssignale. Keine Notwendigkeit zu installieren. Neue Signale werden dynamisch an das Echtzeit-Diagramm ausgeliefert. 260 FÜR 1 MONAT SUBSCRIPTION 90 genaue Forex Streaming Echtzeit-Preisvorhersage und Trading-Signal Software. 300 Pips garantieren jeden Monat. Vergleicht nicht Dased auf Neural Networks Algorith. Vollständig automatisierte Web-basierte Online Forex Predictor für Desktop-und mobile Geräte. 260 FÜR 1 MONAT SUBSCRIPTION 95 genau. Prognosen Preis, Preis Bewegungsrichtung, Trend, erzeugt Buysell Signale. Nicht-Lackierung Generiert Echtzeit-Streaming-Handelssignale. Hat das Streaming-Live-Daten-Feed installiert. Web-basierte Schnittstelle. Für Desktop - und Mobilgeräte. 260 FÜR 1 MONAT SUBSCRIPTION Loss Recovery Trader Roboter (EA) 100 automatisch wird Ihr Forex-Konto zu reparieren und Ihre verlorenen Positionen wiederherzustellen, wird Ihnen helfen, reduzieren und sogar beseitigen Ihre verlieren Trades. Setzen Sie einfach Ihren Handel, und unser Verlust-Wiederaufnahmen-Händler-Roboter tut den Rest für Sie. Binäre Optionen Handel Kopierer Brücke Kopieren Sie Gewinnen Trades, binäre Optionen Signale zwischen binäre Optionen Plattform. Instant Reliable 100 Automated Unterstützt statische Losgröße, dynamische Losgröße, Martingale. Kopiere Trades aus einer profitable Strategie von professionellen Händler und Geld verdienen. 75-80 tägliche Win-Rate 200 Signale pro Tag. Echtzeit-Streaming-Trading-Signale. Jedes Währungspaar, jede Ablaufzeit. Basierend auf neuronalen Netzwerken. Web-basierte Schnittstelle. Keine Notwendigkeit zu installieren. Neue Signale werden dynamisch an das Echtzeit-Diagramm ausgeliefert. 260 FÜR 1 MONAT SUBSCRIPTION Forex Multi Währung Scalper EA ist 100 automatisierte Trading Roboter können die besten Trades aus 28 Symbolen wählen. Basierend auf einer risikoarmen Strategie Sicherstellung, dass die Geschäfte zu den bestmöglichen Zeiten eingegeben werden. Führt Kaufhandel zu niedrigeren Preisen und verkauft Trades zu höheren Preisen. Kopiere profitable Handelssignale aus dem größten sozialen Netzwerk für Händler. Verbinden Sie die globale Gemeinschaft der Händler, finden Sie Ideen, die Sie mögen und kopieren Sie die besten Ideen und Signale direkt auf Ihr Trading-Konto und profitieren Sie mit unserem Tradingview Signale Kopierer Tool. Description: Zwei Forex - mit Indikator Neuron direkten Verteilungsnetz (Feedforward neaural Netzwerk), die Lernt durch rückseitige Ausbreitung von Fehlern (Backpropagation). Das Netzwerk wird über eine DLL-Datei, C-Quellcode, der angehängt ist, geladen. Neuron-Netzwerk ist nichts weiter als ein nichtlineares Modell als Funktion von Eingängen ausgegeben. Bei den Eingängen diente Nutzdaten, wie zB die Sample-Zeitreihen. Die Bedeutung der Ausgabe wird auch vom Benutzer gesetzt, zum Beispiel, Signale 1 kaufen 0 verkaufen. Die Struktur des Netzwerks, wieder vom Benutzer eingestellt. Das Netzwerk besteht aus einer direkten Verteilung - der Eingabeschicht (Eingangsschicht), deren Elemente Eingänge sind, versteckte Schichten (versteckte Schichten), bestehend aus Rechenknoten namens Neuron s und der Ausgabeschicht (Ausgabeschicht), die aus einem oder mehreren besteht Neuronen, Ausbeuten sind Ausbeuten über das Netzwerk. Alle Knoten benachbarter Schichten sind verknüpft. Diese Verbindungen heißen Synapsen. Jede Synapse hat ein Gewicht (Gewicht w i, j, k), die mit den durch Synapsen übertragenen Daten multipliziert werden. Daten bewegen von links nach rechts Eingänge vom Netzwerk zu seinen Ausgängen. Daher der Name Direktverteilungsnetz. Die Gesamtprobe dieses Netzwerks ist in der Abbildung unten dargestellt. Die Daten werden in zwei Schritten neuroniert: 1. 1. Alle Eingänge multipliziert mit dem entsprechenden Gewicht, werden hinzugefügt 2. 2. Dann hat die resultierende Menge die Aktivierung bearbeitet Funktion Neuron (Aktivierungs - oder Zündfunktion) und (Aktivierungs - oder Zündfunktion) und an den einzigen Ausgang geschickt. Die Bedeutung der Aktivierungsfunktion Neuron wie ist die Modellierung Arbeit Neuron und das Gehirn: Neuron wird nur ausgelöst, nachdem die Informationen eine bestimmte Schwelle erreicht hat. In den mathematischen Aspekten gibt es nur das Nichtlinearitätsnetzwerk. Ohne sie wäre Neuron Nettoverlust ein lineares autoregressives Modell (lineares Vorhersagemodell). Die gängige Aktivierungsfunktion Neuron ist eine Sigmoidfunktion f (x) 1 (1exp (-x)) f (x) 1 (1 exp (-x)) Die Schwelle der Aktivierung dieser Funktion ist 0. Diese Schwelle kann verschoben werden Auf der horizontalen Achse auf Kosten eines zusätzlichen Eintrittsneurons (Bias-Eingang) und nannte die Eingangsvorspannung (Bias-Eingang), der ein bestimmtes Gewicht in der gleichen Weise wie andere Eingänge Neuron zugeordnet ist. So ist die Anzahl der Eingänge, Schichten, Neuronen s in jeder Schicht und die Gewichte der Eingänge Neuron s gesamte Neuron Netzwerk, dh nichtlineare Modell, die es schafft. Um dieses Modell zu benutzen, musst du das Gewicht wissen Die Gewichte werden berechnet, indem das Netzwerk auf vergangene Daten trainiert wird, dh mit früheren Eingabedaten wurden bekannte Werte des Ausgangssignals bekannt. Die Gewichte des Netzwerks sind so optimiert, dass sie mit der Testlösung übereinstimmen. Typischerweise haben Eingaben in das Netzwerk mehrere Sätze von Eingangs - und entsprechenden Ausgabedaten und eine berechnete mittlere Fehlerabweichung der Ausgabe von dem Netzwerk-Test abgelegt. Das Trainingsnetzwerk soll dieses Problem durch die Optimierung der Gewichte reduzieren. Es gibt mehrere Optimierungsmethoden, unter denen der Hauptweg zurück Ausbreitung von Fehlern (ALO) und die Methode der genetischen Verbesserung. Angehängte Dateien: Train () Test (). Bibliothek BPNN. cpp Datei enthält zwei Funktionen: Train () und Test (). Train () ist entworfen, um das Netzwerk zu trainieren, um Eingangs - und Ausgangsdaten bereitzustellen. Test () dient zur Berechnung von Ausgabedaten auf Basis der Gewichte, die nach dem Ausführen von Zug () erhalten wurden. Eingabe (grüne Farbe) und Ausgang (blau) Parameter der Funktion Zug () sind: double inpTrain - Eingabe (älterer zuerst) double outTarget - Impressum (älteste zuerst) double outTrain - verlässt das Netzwerk nach dem Training int ntr - die Anzahl der Trainings Sätze von Input-Output int UEW - Verwalten von Tasten externe Werte zur Initialisierung der Gewichte (1 use extInitWt, 0 verwenden zufällige Zahlen) extInitWt - ursprüngliche Werte von Gewichten doppelte trainiertWt - die Werte der Gewichte nach dem Training int numLayers - Anzahl der Ebenen im Netzwerk Einschließlich Input, versteckte und Output int lSz - Array Größe numLayers, die die Anzahl der Neuronen s in jeder Ebene gehalten. LSz0 lSz 0 gibt die Anzahl der Netzeingänge int OAF an - ein Schlüsselelement bei der Aktivierung der Ausgangsneuron s (1 Funktion freigegeben, 0 nein) doppeltes LR - Geschwindigkeitsschulung doppeltes MF - das Moment der Lernrate int nep - die maximale Anzahl von Trainingsschritte (Epochen). Epoche besteht darin, alle Trainingseinheiten zu überprüfen. Double maxMSE - mittlerer Fehler, in dem das Lernen aufhört. Eingabe (grün) und Ausgang (blau) Parameter der Funktion Test () sind: doppelte InpTest - Eingangsdaten (ältere zuerst) double outTest - Impressum int nt - Sätze von Ein - und Ausgabedaten doppelte extInitWt - Originalwerte der Gewichte numLayers - number Von Ebenen im Netzwerk einschließlich Eingang, versteckte und Ausgabe int lSz - Array Größe numLayers, die die Anzahl der Neuronen s in jeder Ebene gehalten. L lSz 0 spezifiziert die Anzahl der Netzeingänge int OAF - ein Schlüsselelement bei der Aktivierung der Ausgangsneuron s (1 Funktion freigegeben, 0 nein) Bei der Aktivierung des Ausgangs Neuron s hängt die Art der Ausgabe ab. Sind die Ausgangssignale des Netzes binomisch (0 1), so müssen Sie die Aktivierungsfunktion (OAF 1) verwenden. Wenn die Ausgabe eine Preisvorhersage ist, ist die Aktivierungsfunktion in der Ausgabeschicht nicht erforderlich (OAF 0). Beispiele für Indikatoren verwendet neuron Netzwerk: BPNN Predictor. mq4 - Vorhersage zukünftiger Preise. Netzeingabeparameter sind die relativen Inkremente in den Preisen: x i Open testbar Open testbar delay i -1.0 wo Verzögerung ich aus der Fibonacci Serie genommen habe. Die Netzwerkausgabe wird eine relative Zunahme der zukünftigen Preise vorausgesagt. Die Aktivierungsfunktion in der Ausgabeschicht ist deaktiviert. Eingabeparameter sind ein Indikator extern int lastBar - Nummer der letzten Leiste extern int futBars - die Anzahl der zukünftigen vorausgesagten Stäbe extern int numLayers - Anzahl der Layer im Netzwerk inklusive Eingang, versteckt und ausgegeben extern int numInputs - die Anzahl der Netzeingänge extern Int numNeurons1 - die Anzahl der Neuronen s in einer Schicht Nummer 1 extern int numNeurons2 - die Anzahl der Neuronen s in der Schicht Nummer 2 extern int numNeurons3 extern int numNeurons4 extern int numNeurons5 extern int ntr - die Anzahl der Trainingssätze von input-output extern Doppelte LR - die Geschwindigkeit des Lernnetzes extern doppelter MF - Koeffizient der Zeit Lernnetzwerk extern int nep - die maximale Anzahl von Trainingsschritten (epochs) extern int maxMSEpwr - Exponent zur Berechnung des maximal zulässigen Mittelwertes quadratisches Fehler Lernen maxMSE 10 maxMSEpwr Buy-Selling Classificator. mq4 - buysell. Buy-Selling Classificator. mq4 - prädiktive Indikator kaufen Verkaufssignale. Wie im vorherigen Beispiel diente das eingegebene Netzwerk xiOpentestbarOpentestbardelayi-1.0 x i Open testbar Open testbar delay i -1.0 für bars, die in der Vergangenheit signalisiert zu kaufen oder zu verkaufen. Diese letzten Signale sind ideal als Eingangssignale, um einen bestimmten Gewinn zu erhalten. Netzwerk-Ausgangssignal ist 1 oder 0 kaufen verkaufen. Die Ausgabeschicht-Aktivierungsfunktion. Extern int lastBar - Nummer des letzten Talks extern int minProfit - der minimale Profit, um den idealen Einstiegspunkt in der Vergangenheit zu finden. Externe Doppelschwelle - die Schwelle für die Erkennung der Ausgangssignale als 0 oder 1 extern int numLayers - Anzahl der Ebenen in Das netzwerk mit eingabe, versteckt und ausgabe extern int numInput - die Anzahl der Netzeingänge extern int numNeurons1 - die Anzahl der Neuronen in einer Schichtnummer 1 extern int numNeurons2 - die Anzahl der Neuronen in der Schichtnummer 2 extern int numNeurons3 extern int NumNeurons3 extern int numNeurons4 extern int numNeurons4 extern int numNeurons5 extern int ntr - die Anzahl der Trainingssätze der Input-Outputs (abhängig von der Anzahl der Kaufsignale in der Vergangenheit, 0 wählt alle gültigen Signale) extern double LR - die Geschwindigkeit des Lernens Netzwerk extern doppelter MF - Koeffizient der Zeit Lernnetzwerk extern int nep - die maximale Anzahl von Trainingsschritten (epochs) extern int maxMSEpwr - Exponent zur Berechnung des maximal zulässigen mittleren quadratischen Fehlers Lernen maxMSE 10 maxMSEpwr Pfeil rechts von der Senkrechten Grüne Linien zeigen Kaufsignale an, die vom Netz für das Testen der zukünftigen Stäbe erzeugt werden. Die Pfeile links zeigen den optimalen Einstieg in die Vergangenheit. Installation von Dateien: Kopieren der angehängten DLL-Datei im C: Programmdateien MetaTrader 4 Expertenbibliotheken Ermöglicht die Verwendung von DLL im Metatrader: Tools - Optionen - Expertenberater - DLL-Importe zulassen Wenn die DLL-Datei nicht funktioniert, kompilieren Sie sich. Alle notwendigen Dateien sind in BPNN. zip. SnowCron Neuronale Netzwerke für FOREX Trading enthalten In diesem Artikel: ein Beispiel für die Nutzung unserer Neural Networks Software, um ein komplettes neuronales Netzwerk-Handelssystem zu schaffen. In diesem Beispiel wird die Cortex-integrierte Skriptsprache verwendet. Also lese bitte zuerst die Skriptsprache. Mit Neural Networks erstellen Sie FOREX Trading-Strategie In diesem kostenlosen Online-Tutorial finden Sie den vollständigen Zyklus der Verwendung von neuronalen Netzwerken (Cortex Neural Networks Software) für Forex Trading (oder Börsenhandel. Die Idee ist die gleiche). Sie lernen, wie man Eingaben für die künstlichen neuronalen Netze auswählt. Und wie man entscheidet was man als Ausgabe benutzt. Sie finden ein Beispiel für ein gebrauchsfertiges Skript, das es ermöglicht, neuronale Netzwerke zu implementieren, die sowohl die Struktur des Neuronalen Netzes (Anzahl der Neuronen) als auch das Forex Trading System (Stop Loss etc.) beenden. Endlich (der Teil, der nicht vorhanden ist Die meisten Tutorials), werden Sie lernen, was als nächstes zu tun. Immerhin kann Cortex Neural Networks Software nicht in Echtzeit handeln, du musst so etwas wie Trade Station, MetaQuotes oder MetaTrader verwenden. Wie man das FOREX-Handelssystem von Cortex zu deiner bevorzugten Handelsplattform portierst, musst du mit DLLs, ActiveX-Steuerelementen und Low-Level-Programmierung umgehen. Die Antwort ist NEIN. Cortex Neural Networks Software kommt mit der einfach zu bedienenden Funktion, mit der Sie das resultierende (trainierte) Neuronale Netzwerk problemlos in die Skriptsprache Ihrer Handelsplattform einbinden können. Keine DLLs, DDE, ActiveX oder andere Low-Level-Lösungen - alles ist einfach und einfach. Wichtiger Hinweis: Dies ist NICHT, wie man Tutorial handelt. Stattdessen sagt es Ihnen, wie man Cortex Neural Networks Software benutzt. Aber du musst noch dein eigenes Handelssystem erfinden. Die, die wir hier verwenden, ist kaum ein Ausgangspunkt und sollte nicht als Forex Trading-Strategie verwendet werden, wie es ist. Die Idee dieses Textes ist es, Ihnen beizubringen, NN-basierte Handelssysteme zu schaffen und sie an die Handelsplattform Ihrer Wahl zu portieren. Das Beispiel ist jedoch osimplified, und kann nur als die Darstellung der Trading-Prinzipien verwendet werden. Gleichermaßen, das MACD-Handelssystem, das in vielen Tutorials zu finden ist, funktioniert nicht mehr gut (wie die Märkte sich geändert haben), aber immer noch ein gutes Beispiel für die Verwendung von Indikatoren für den mechanischen Handel. In zwei Worten: mach deine eigene Analyse. Ein weiterer wichtiger Hinweis: Das Tutorial benutzt Beispiele, viele davon. Um dein Leben leichter zu machen, habe ich sie alle aufgenommen, nicht nur Fragmente. Allerdings macht es den Text viel länger. Auch gehe ich von der ersten, ungeschickt, Forex Trading System. Zu fortgeschrittener, jedes Mal erklären, was verbessert wurde und warum. Seien Sie geduldig oder springen Sie direkt zu dem Abschnitt, den Sie benötigen. Wichtige Anmerkung: Der Code ist nicht etwas in Stein geschnitzt, es könnte sich ändern, während dieser Text geschrieben wurde. Die endgültigen Versionen von Skriptdateien sind im Cortex Archiv enthalten. Fallstricke von FOREX KAUF VERKAUF Signale: Was ist falsch mit einfachen Beispielen In der Cortex Neural Networks Software Benutzer führen wir ein einfaches Beispiel für ein aftifficial Neural Network. Vorhersage des Preises der GENZ-Aktie. Um herauszufinden, was mit diesem Ansatz falsch ist, können wir das gleiche einfache Beispiel mit MSFT. TXT anstelle der GENZ. TXT (verwenden Sie 800 Datensätze im Lernset, da MSFT. TXT ist ein bisschen kürzer, dann GENZ. TXT). Es würde einfach nicht arbeiten Warum der Grund wird offensichtlich, wenn Sie sich fragen: Was ist der Grund neuronale Netzwerk-Vorhersage von zukünftigen Werten kann auf dem ersten Platz getan werden Die Antwort ist: Es lernt zu tun, was heißt neuronale Netzwerke Muster Anerkennung. Um Muster zu erkennen, und wenn es eine versteckte Logik in diesen Mustern gibt, dann wird sogar ein neues Muster (mit der gleichen Logik) erkannt werden. Das ist ein Trick - mit der gleichen Logik. Es gibt nicht einmal einen, sondern drei Probleme hier. Zunächst einmal, wenn man sich den Microsofts-Aktienkurs anschaut, werden Sie feststellen, dass es im Lernteil unserer Daten und seitwärts im Testteil hinunterging. So ist es möglich, dass sich die Logik verändert hat. Zweitens und noch wichtiger - WAS IST DAS MUSTER Sie sehen, wenn wir das neuronale Netz im Bereich von 10 - 100 unterrichtet haben und dann etwas im 1 bis 3 Bereich vorgestellt haben - sie sind verschiedene Muster 10, 20, 30 und 1, 2, 3 sehen ähnlich dem menschlichen aus - weil - wir haben diese Fähigkeit, um zehn zu teilen, wenn sie mit Zahlen endet, die mit null enden. Es ist, was heißt eine Vorverarbeitung der Daten, und standardmäßig kann die NN es nicht tun. Können wir es lehren. Was ist es genau, wir müssen es lehren. Dies ist das dritte und das wichtigste. Wir brauchen nicht die Preisvorhersage Wir interessieren uns nicht Was wir brauchen, ist FOREX kaufen verkaufen Signale. Nun, warten Sie eine Minute Wir brauchen ein), um unsere Input (sowohl Lernen und Testen) in der gleichen Bandbreite zu haben, und wir brauchen b) in der Lage sein, Handelsentscheidungen auf der Grundlage davon zu machen Es ist nicht das, was wir einen Indikator Bingo nennen Was wir tun werden - wir werden einen Indikator bauen, um es dem NN als Eingang zu füttern, und wir werden versuchen, eine Vorhersage des Indikatorwerts zu erhalten, nicht den wertlosen Aktienkurs. In unserem ersten Beispiel werden wir den Bestand belasten Zitate aus der Festplatte, öffnen Sie die Neuronale Netzwerk-Datei und starten Sie das Lernen - alles in einem automatisierten Modus. Erstellen Sie eine neue Skriptdatei (oder öffnen Sie die, die mit dem Cortex Neural Networks Software Archiv kam) und nennen Sie es stocksnn. tsc. Zuerst müssen wir die Preiswerte aus der MSFT. TXT-Datei herunterladen. Wir werden den CLV-Indikator verwenden (siehe unten), aber um es zu berechnen, brauchen wir Split-adjustierte Werte für High und Low, nicht nur für nahe. Hier ist, wie man sie bekommt Stocksnn. tsc, Teil 1 Die erste Zeile weist den Pfad der StrStockPath-Variablen zu, natürlich musst du sie bearbeiten, wenn sich deine Datendatei im anderen Verzeichnis befindet. In der zweiten Zeile geben wir an, dass dieser Pfad nicht relativ ist (relativ zum Speicherort der Datei Cortex. exe). Der TABLELOADER erhält den Pfad, den leeren String für die Startlinie, 1 - um die erste Zeile (Spaltennamen) zu überspringen, einen Teil der Datei-Fußzeile (die letzte Zeile in MSFT. TXT enthält keine Daten), wird auch angewiesen Um die Spaltennummer 0 zu laden (und sie anzurufen), 2 (arrHigh), 3 (arrLow), 4 (arrC) und 6 (arrClose). Eine vollständige Beschreibung von TABLELOADER finden Sie im SLANG-Referenzhandbuch. Dann berechnen wir Split, indem wir das Adjusted Close by Close teilen und diesen Wert verwenden, um Low und High einzustellen. Die MSFT. TXT-Datei enthält die neuesten Daten FIRST, während wir sie wollen LAST. Als nächstes müssen wir einen Indikator erstellen. Lets sagen, es wird ein Close Location Value Indikator sein, obwohl im wirklichen Leben würde ich wahrscheinlich mehr als einen Indikator als NN-Eingang verwenden. Der Close Location Value Indikator wird wie CLV ((Close - Low) - (High - Close)) (High - Low) berechnet, wobei Close, Low und High für das Intervall, nicht unbedingt für einen einzelnen Balken, Beachten Sie, dass wir es im 0 - 1 - Bereich wünschen, um es einfacher zu machen, auf unseren NNs Bereich zu normalisieren (was wiederum 0-1 ist). Stocksnn. tsc, Teil 3 Als nächstes müssen wir eine Lag-Datei erstellen. Lets use lags gleich 1, 2. 9 (Details zu Dateifunktionen siehe SLANG-Referenzhandbuch). Beachten Sie, dass der Cortexs NN-Dialog automatisch einfache Verzögerungen erzeugen kann (Sie können eine Schaltfläche "Verzögerung erzeugen" verwenden). Aber später in diesem Text werden wir mit komplexen Verzögerungen arbeiten (was bedeutet, sie sind nicht 1, 2, 3. aber 1, 3, 64. was auch immer), also müssen wir den Code erstellen, der diese Aufgabe behandeln kann Ein flexiblerer Weg. Stocksnn. tsc, Teil 4 Mit der Lag-Datei sind wir bereit, unser erstes neuronales Netzwerk zu schaffen. Diese Funktion nimmt viele Parameter, also sei vorsichtig. Allerdings ist der Code wirklich einfach. By the way, die meisten dieser Code kann entfernt werden, wenn Sie denken, Sie können Zahlen behandeln, anstatt sinnvolle Namen in Ihrem Code, aber das wäre eine sehr schlechte Codierung Praxis. Stocksnn. tsc, Teil 5 Nun, nachdem wir ein neuronales Netzwerk und die verzögerte Datei mit Daten haben, müssen wir das Netzwerk lehren. Die Lag-Datei (msftind. lgg) hat 1074 Datensätze, also ist es sinnvoll, 800 als Lern-Set zu verwenden, und die restlichen 274 als Test-Set. Sie können natürlich eine Netzwerkdatei öffnen und auf die Schaltfläche Ausführen auf der Registerkarte Lernen klicken. Aber da dies eine Einführung in fortgeschrittene Cortex Neural Networks Software Programmierung ist, können Sie SLANG builtin Skriptsprache verwenden. Der folgende Code bringt den modalen Dialog mit ann NN-Einstellungen auf. Beachten Sie, dass, wenn Sie ein Privileg haben möchten, auf die Schaltfläche "Ausführen" zu klicken, müssen Sie die stocksnn. tsc ändern, Teil 6 Das bStartLearning kann 0 sein. In diesem Fall wird der Dialog auf Ihre Eingabe warten, oder 1, dann das Lernen Wird aytomatisch beginnen. Der bResumeScript, falls gleich 1, wird das Skript wieder aufnehmen, wenn Sie den Dialog schließen, indem Sie auf die Schaltfläche OK klicken. Das bReset wird verwendet, um das Netzwerk zurückzusetzen, bevor das Lernen beginnt. Führen Sie das Skript aus und warten Sie, bis der Epochenzähler 1000 überschreitet, und klicken Sie dann auf Stopp. Gehen Sie auf die Registerkarte Übernehmen und klicken Sie auf Übernehmen. Dies führt den gesamten Datensatz (sowohl Lernen als auch Testen) durch den NN aus und erstellt die. APL-Datei, die sowohl die ursprüngliche Eingabe-Ausgabe als auch die NN-erzeugte Vorhersage enthält. Auf diese Weise können Sie sie leicht aufzeichnen und gegeneinander komprimieren . Gehen Sie auf die Registerkarte Ausgabe, wählen Sie die Datei msftind. apl aus, klicken Sie auf "Durchsuchen", wählen Sie "Felder" aus, wählen Sie "Nein" im linken Listenfeld aus und klicken Sie bei gedrückter STRG-Taste bei der Auswahl mit der Maus. Clv und NN: Clv in der Rechter Listenkasten. Klicken Sie auf Diagramm, um zu sehen, wie gut unsere Vorhersage ist. Gut. Es ist mehr oder weniger gut, von dem, was wir sagen können, indem wir es betrachten. Noch nichts Außergewöhnliches. Dies war nur ein Beispiel dafür, was man mit SLANG Scripting machen kann und wie man Cortexs Routineaufgaben automatisiert. Doch bis jetzt haben wir nichts getan, was du nicht von Hand machen kannst. Gut. Fast nichts, denn wenn du eine benutzerdefinierte Lag-Datei erstellen willst, mit, sagen wir, Clv-100, Clv-50, Clv-25. Spalten, dann musst du SLANG (oder Excel) verwenden, da man in Cortex nicht ohne Scripting eintreten kann. FOREX Trading Strategy: was zu optimieren Hier ist unser nächstes Problem. Brauchen wir eine gutaussehende Vorhersage, oder brauchen wir die, die wir verwenden können, um mit Profit zu handeln. Die Frage scheint seltsam, aber nur darüber nachdenken für einen Moment. Lass uns sagen, wir haben eine sehr gute 1-stündige Vorhersage. 95 genau. Dennoch, wie weit kann der Preis in einer Stunde gehen Nicht zu weit, ich habe Angst. Vergleichen Sie es mit der Situation, wenn Sie eine ziemlich ungenaue 10-Stunden-Vorhersage haben. Wird es besser sein, diese Frage zu beantworten, müssen wir eigentlich handeln, ein einfacher Vergleich der mittleren Fehler, die von den beiden NNs erzeugt werden, wird nicht helfen. Der zweite Teil (des gleichen Problems) ist in der Art, wie wir eine gute Vorhersage definieren. Lasst uns sagen, wir haben ein Netzwerk, das die Vorhersage erzeugt, was 75 genau ist. Vergleichen Sie es mit dem NN, das 100 genaue Vorhersage erzeugt. Der letzte ist besser. Nun, DIVIDE die Ausgabe (Vorhersage) der 100 genaue NN um 10. Wir haben ein sehr ungenaues Netzwerk, da sein Signal nirgendwo in der Nähe des Signals ist, das wir als gewünschte Ausgabe verwendet haben. Und doch kann es genauso verwendet werden, wie wir 100 genaue NN verwendet haben, alles, was wir tun müssen, ist es, es zu vervielfachen. Siehe, das NN wird erstellt, indem man den mittleren quadratischen Fehler und nicht die Korrelation, also zumindest in Theorie, eine bessere NN kann zeigen, schlechte Ergebnisse, wenn für die tatsächlichen Aktien Forex Trading verwendet. Um dieses Problem zu lösen, müssen wir unsere NNs mit dem Handel testen und die Ergebnisse dieses Handels (Gewinn und Drawdowns) nutzen, um zu entscheiden, ob dieser NN besser ist als der andere. Machen wir das. Lets erstellen ein Programm, das verwendet werden kann, um Feinabstimmung NN, und dieses Mal, durch Feinabstimmung, werden wir bedeuten, Handelsergebnisse. Neural Network Trading: Wenige Kurznoten Zuerst wird in unserem Beispiel oben das automatische Lernen niemals aufhören, denn wir haben keine Stop-Kriterien angegeben. Im Dialog oder in der CREATENN-Funktion können Sie die min. Fehler (wenn das NN es erreicht, stoppt es und wenn bResumeScript auf 1 gesetzt ist, wird der Dialog geschlossen und das Skript wird fortgesetzt). Auch yo kann die maximale Anzahl von Epochen oder beides liefern. Ich benutze es nicht im Beispiel unten, zumindest nicht immer, denn ich plane, das Lernen zu sehen und auf STOP zu klicken, wenn ich denke, dass das NN bereit ist. Wenn Sie es im vollautomatischen Modus machen möchten, achten Sie auf diese Parameter. Zweite. Eine der Möglichkeiten, um ein Netzwerk kleiner, schneller und genauer zu machen, ist mit dem kleinen Netzwerk zu beginnen und seine Größe zu erhöhen, Neuron durch Neuron. Die Anzahl der Eingangsneuronen wird zweifellos durch die Anzahl der Eingangsdatenspalten bestimmt (aber wir können sie auch variieren), und die Anzahl der Ausgangsneuronen sollte gleich der Anzahl der Ausgabedatenspalten sein (in der Regel eine, aber nicht notwendigerweise ). Dies bedeutet, dass wir die Anzahl der Neuronen in der versteckten Schicht (en) optimieren müssen. Auch, wie ich schon erwähnt habe, wissen wir nicht wirklich welche Daten zu verwenden. Wird Clv-15 (15 Tage verzögert) erhöhen die Genauigkeit unserer Vorhersage Brauchen wir Clv-256 Wird es besser sein, beide von ihnen in der gleichen NN zu verwenden, oder wird Clv-256 ruinieren unsere Leistung Mit verschachtelten Zyklen, um anders auszuprobieren Eingabe-Parameter, können Sie: Erstellen Sie die NN, wie wir es auch für die Bestandsdaten (lassen Sie mich wiederholen, für die NN gibt es keinen Unterschied zwischen Aktien und FOREX, es ist einfach passiert, dass ich habe einige hochqualitative Datendateien für FOREX, die ich beim Schreiben dieses Textes verarbeiten möchte). Versuchen Sie verschiedene Kombinationen von Lags. Versuche verschiedene Anzahl von Neuronen in der verborgenen Schicht. . Und verschiedene Kombinationen verschiedener Indikatoren. . und so weiter. Allerdings, wenn Sie alle möglichen Kombinationen aller möglichen Parameter ausprobieren, erhalten Sie NIE Ihre Ergebnisse, egal wie schnell Ihr Computer ist. Unten, wir werden ein paar Tricks benutzen, um die Berechnungen auf ein Minimum zu reduzieren. Übrigens kann es scheinen, dass wenn man von einem versteckten Neuron anfängt, dann erhöht es auf 2, 3 und so weiter, und irgendwann der Fehler (Qualität der Vorhersage) oder der Profit (wenn du den NN tust Handel mit ihm) beginnt zu gehen, dann haben Sie Ihren Gewinner. Unfortunately, I cannot prove, that after the first performance peak there can be no second one. It means, that the error may go like 100, 30, 20, 40, 50 (it was just at its minimum, right) and then 30, 20, 10, 15. (the second minimum). We just have to test all reasonable numbers. Third. Optimization is a two-edged sword. If you over-optimize your code, it may not work outside the data you used to fine-tune it. I will do my best to avoid this pitfall. If you want to do additional optimizations to your code or NN, I advise you to do a research in the Internet, to learn more about hidden problems of this approach. ALso, I am going to pay some attention to the smoothness of the profit curve. The profit that looks like 0, -500, 1000, -100, 10000 may be great, but the profit 0, 100, 200, 300, 400. is better, as it is less risky. We may talk about it later. Finally, for this example we are going to use FOREX, rather than stock prices. From the point of view of the NN there is no difference, and from my point - Forex is much more fun to trade. If you prefer stocks, the code can easily be modified. A FOREX Trading Strategy to play with First of all, lets create a prototype of our code, one that can easily be optimized in future. It is going to be a trading system, that uses a Neural Network to trade and produces a chart (profit against trade number). It will also calculate drawdown, as a measure of robustness of our trading system. forexnn01.tsc, part 1 The main difference here is that we use functions, instead of placing all the code in the main block of the program. This way it is much easier to manage. Second, we have a TestNet function. I am using a very simple algorithm of trading. The CLV indicator is confined to 0 - 1 interval (our version of CLV is), so when the indicator crosses up the dBuyLevel (see code above), I am buying, when it is crossing down the dSellLevel, I am selling. Obviously, it is not the best trading strategy, but it will do for our purpose (just for now). If you want to improve it, here are some pointers. First, you may want to have a system, that is not ALWAYS in the market. Second, you may want to use more than one indicator as inputs, and maybe, more than one NN, so that the trading decision is made based on few predicted indicators. We will add some improvements to the trading algorithm later. We use some standard assumptions of the FOREX trading: spread is 5 points, leverade is 100, min. lot is 100 (mini-FOREX). Lets take a look at our trading system. Once again, it is an oversimplified one. An important note: the TestNn() is called last, and it has access to all variables that were created to that point. So if you see a variable that I am using, without initializing it, it probably means that it was initialized in NewNn(), TeachNn() or some other function that was called prior to TestNn(). To make things easier, comments are placed in the code. forexnn01.tsc, part 2 Few words about the drawdown. There are few ways of calculating it, and we are using what I consider the most honest. The drawdown is a measure of instability of our system. What is a chance, that it will loose money Lets say the initial amount is 1000. If the profit goes 100, 200, 300, 400. the drawdown is 0. If it goes 100, 200, 100. then the drawdown is 0.1 (10), as we have just lost an amount, equal to 110 of the initial deposit (from 1200 to 1100). I would strongly advice against using trading systems with large drawdowns. Also, here I use a drawdown, that is to be used with variable lot size. However, in the actual samples, that come with the eBook, you will see another version: As you can see, here we always use 1000 (the initial amount) to calculate the drawdown. The reason is simple: we always use the same lot size (no money management yet), so there is no difference, how much money we have already accumulated on our account, an average profit should be constant. The worse possible scenario in this case looks like this: from the very beginning (1000 on account) we are loosing money. If we use 1000 to calculate the drawdown, we will get the worse drawdown. This will help us not to trick ourselves. For example, say, we traded for some time, and we have 10,000 on our account. Then we loose some money, and we now have 8,000. Then we have recovered, and got 12,000. Good trading system Probably not. Lets repeat the logic again, as it is very important (and it will become even more important, when we start doing money management). We trade using fixed size lots. So, statistically, there is no guarantee, that the maximum loss will not happen at the very beginning, when we only have 1000. And if it happens, we will have -1000 (10,000 - 8,000), so the trading system is probably too risky. When we talk about the money management (probably, not in this text), we will have to use different approach to drawdown calculation. Note, that in this trading system, I am using the worse possible scenario: I am buying using High and selling, using Low. Many testers do not follow these rules, and create trading systems, that work fine on historical data. But in the real life, these trading systems have very poor performance. Why Take a look at the price bar. It has Open, High, Low and Close. Do you know, how the price was moving inside the bar No. So, lets say, your trading system generated a buy signal, at the bottom of the price bar (if dLow Note that I am using dLotSize equal 0.1 lot (100). Obviously, in the real trading, you will benefit greatly, if the lot size is calculated depending on the money you have, something like: forexnn01.tsc, part 3 However, we are doing testing here, not trading. And for testing, we need, among other things, to see how smooth the profit curve is. This is much easier to do if the lot size is the same (in ideal situation, for dLotSize 100 we will get a straight line, with some positive slope, while in case of the adjustable lot size we will get an exponent, that is much harder to analyze). Later in this text, we will apply money management rules to our trading system, but not yet. After we are done with the last part of our testing function, lets walk through the rest of the code. The following function creates a CLV indicator. It takes the interval as a parameter, which means that we can call it many times, during the optimization, passing different numbers. Note, that I am using the NN that works in the 0 - 1 interval. The data can be normalized, of course, but I chose to divide the indicator by 2 and to add 0.5, so that it is in 0 - 1 range. forexnn01.tsc, part 4 To make lag file, we can use the CREATELAGFILE function. Alternatively, we can do it by explicitly providing all the necessary code. In this case, we have more control, and we are going to need it, if we begin varying number of lagged columns and so on. forexnn01.tsc, part 5 The nRemoveFirst parameter is important. Many functions, like indicators, moving averages, lag generators, for that matter, do not work well within the first few records of the dataset. Lets say we have MA(14) - what will it place in the records 1 - 13 So we choose to simply remove the first few (unreliable) records. For the NewNn, as well as for all functions of this program, we need to pass as parameters only what can be changed during optimization process. For example, there is no need to pass a skip before parameter, as it is always the same. forexnn01.tsc, part 6 The TeachNn function simply brings up the NN dialog. forexnn01.tsc, part 7 Finally, we need a charting function. It is not mandatory, but it is always a good idea to see what our profit line looks like. The following code uses the XML to produce a chart, so it is a good idea to read the tutorial. Alternatively, you can draw the chart, rather than saving it in a file. To do it, use one of the samples, that are in the samplesscripts directory. Finally, you can modify the code, to produce HTML, rather than XML. HTML is easier to learn, but the code itself will be a bit less readable. forexnn01.tsc, part 8 Compile and Run the script. Gut. As expected, using 7 hours as an interval for the CLV produced very poor results: FOREX Trading Strategies and Optimization The reason for the poor results is quite obvious: we used the Interval, Stop Loss, buy and sell levels and other parameters, that were purely random - we just picked first that came in mind What if we try few combinations FOREX Trading Signals: What to optimize First of all, by overoptimizing the buy and sell levels, we can ruin our future performance. However we still can tune them, especially, if the performance is close for close values of buy and sell limits. For example, if we have -10 profit at buy limit equal 0.3, and 1000 profit when it equals 0.35, then there is probably a lucky coincidence, and we should not use 0.35 for our trading system, as in future it will probably not happen again. If, instead, we have -10 and 10 (instead of 1000), it may be safer to use. Generally, our trading system should be built for WORSE possible scenario, as if during the real trading the performance will be better, then during the test, we will survive, but not the other way around. We can vary the value for the indicator interval, provided we have enough trades, so that we can be confident, in terms of statistics, in the performance of a system. We certainly can vary the number of neurons, I dont think it can be overoptimized easily. We can vary number of inputs and lags for inputs. It is possible to overoptimize this, but it is not very likely to happen. And, of course, we can try different indicators. Accurate FOREX Signals: How to optimize As have already been mentioned, if we start trying all possible combinations, it will take forever. So we are going to cheat. We will create pre-defined sets of parameters, that we think are reasonable, and pass them to the program. To make as few calculations as possible, note, that Clv-1 and Clv-2 are, probably, important, but what about Clv-128 And - if we already have Clv-128, do we need Clv-129 Probably, not. So we are going to have something like Clv-1, Clv-2, Clv-4, Clv-8. Clv-128 with just few variations, which will make our calculation time thousands times shorter. FOREX Professional System Trading: Can it work at all What is it exactly we want to predict Until this point we have used 1 hour chart for EURUSD, and we were predicting the next bars CLV. Will the CLV2 be better What about CLV3 Also, especially considering the poor performance of our first trading system, it would be nice to know, that - at least in the ideal world, the goal (profitable trading) can be achieved. To answer these questions, lets create a simple testing program. We assume, that our prediction is 100 accurate, and, based on this assumption, we will use CLVN, not the NN predicted one. Thats right - we are going to take data from the future, and to use them instead of the NN prediction. This approach wouldnt work in the real life, of course, but at leats, it will give us some ideas of what to expect. When looking at the results, please keep in mind, that we are not using any advanced money management, our lot size is set to a minimum 100. If you use variable lot sizes, results will be dramatically different. But even at a lot size set to 0.1 we can see (below) that getting the information from the future is an ultimate traders holly graal. forexnn02.tsc, part 1 You are already familiar with this code, it was used in FOREXNN01.TSC. It handles data loading. The only difference is in the part that obtains the list of files in the images directory and deletes all files with the. PNG extention. The reason for this code is simple: during our tests we are going to create many - may be, thousands - image files. We dont want them to hung around after we are done. So at the beginning of the script we are deleting images, created by other scripts. forexnn02.tsc, part 2 Just a few comments. We do not want to try all possible values for, for example, CLV interval. Instead, we can create an array, that contains only values we want to test. Then (see below) we will walk through this array. Stop losses are important part of any trading strategy, so I have decided to vary them as well. It is a dangerous idea, however, as it is easy to overoptimize the system. I am planning to test different values for buy and sell levels, but it will be done in cycle, without using arrays. Unlike in our previous example, we want to have a large XML file, containing many images. To do it, I have moved the code, that is forming the XML header and footer outside of the Chart function. Read one of the online XML tutorials for details. Note, that I am using 0 as the first lag, which means, that first I am testing the indicator (CLV) that was not shifted from the future. Just to get an idea, how good out trading system would be without NN (horrible, is the right word. It is loosing all the money). Cortex uses the Internet Explorer control to display XML pages. When pages grow large, it takes a lot of memory. If your computer cannot handle it, consider creating multiple XML or HTML pages, instead. In the case of forexnn02, it should not be a problem, as the page is relatively short. Alternatively (that is what I am doing in scripts later in this text), create XML file, but do not open it from Cortex. Open them using Internet Explorer instead - unlike IE control, the Internet Explorer does not have the memory problem. Now the code that is trying different combinations of parameters. forexnn02.tsc, part 3 Here, we are using nested cycles. In every cycle, we are assidning some variable (for example, nInterval for the outer cycle). This way the cycle will assign values of all elements of a corresponding array, one in a time. Then WITHIN it, the inner cycle is used, and so on, so that all combinations of all array elements are tested. In the innermost cycle, I am calling the Test() function, to test trade, and Chart() to add a new picture to a list of images saved on disk. Note, that this Chart() does not show any images, until all cycles are completed. The Test() and CreateClv() functions are almost the same as in the previous example. The only real difference is due to the fact that it is called more then once. To do it, I am calling ARRAYREMOVE to cleanup arrays. Also, notice, that we are only creating charts for the combinations of parameters, that produce trading system with positive profit. Otherwise, we call continue, to skip the Chart() function. Finally, we have Take Profit now, so our trading system can be a bit more flexible. forexnn02.tsc, part 4 The Chart() function was broken into two pieces. The header and the footer should be written to the XML file only once, so they were moved to the main part of the program. Also, I am using the counter, to save files under the different names. The information about parameters is written to the header of an image, so we can easily see which one it is. Finally, images are only saved for winning configurations, meaning the balance at the end should be more, then at the beginning. forexnn02.tsc, part 5 Run the program (it will take some time to complete). You will end up with a large XML page with images, one for each winning configuration. Some of the results are great, however, as we used data from the future, this system will not work in the real life. Actually, if you look at the Test() function, you will notice, that the cycle stops before we reach the last element of arrClose: for(nBar nRemoveFirst 1 nBar THIS IS C, just an example. As you can see, the code is really simple. Now lets do the same using the SLANG script. As in examples before, we will keep the overall structure of the code, so that this example looks familiar. The only difference is that instead of using the built-in APPLYNN function, we call the function of our own. The code that we do not use (such as cycles) is commented, but not removed. Note, that the logic behind it was discussed in Neural Networks and Stock Forex Trading article already. Briefly, the output of this script is formated to be compatible with the MQL, MetaTraders scripting engine. MetaTrader is a trading platform we use, if you want something different, like TradeStation, for example, you will have to alter the code to comply to its syntax. Then, in the following chapters, we are going to insert this code in the MetaTraders indicator, and to use it to trade. Porting script to trading platform The next step is not really required, but it is something, that may be useful. We are going to create a version of a tsc file (one above), but this time, we will use SLANG (Cortex scripting language) to emulate APPLYNN function. The reason is, in the next chapter we are going to port it to the scripting language of a MetaTrader trading platform, so it is a good idea to make sure everything works. After we run this function, we discover, that the result it produces is the same, as the forexnn05a produced, which means the code works fine. Note, that there is a difference at the beginning of the charts, as our NN does not try to process the data at the beginning (where lag is incomplete), while the built-in NN does not know about this problem. Of course, it doesnt affect the result, as the beginning of the chart is ignored by using the nRemoveFirst parameter in our script (set to 200, which is guaranteed to be larger, then our lag). Using third-party trading platform We have the NN that (more or less) can be used. We have the script, implementing this NN without calls to the Cortex-specific NN functions. Now we are going to port it to the trading platform that can be used for the real trading, which means it can contact brocker, place orders and earn (or loose) money. As a trading platform, I am going to use MetaTrader Disclaimer: I am not related to MetaQuotes in any way. I do not work for them, I am not their affiliate and so on. I use MetaTrader, ONLY because I like it. I find this program user-friendly, flexible and powerful, and not a monster. Also, it is free (compare to other packages of this class). The only (minor) problem is that it is not always easy to find the dealer using MT in your area. Then, when you do a research, you may find couple of brockers, with screenshots on their web sites, that look suspiciously familiar. Yes, they use MetaTrader, but they dont call it MetaTrader I have asked for clarification at the companys forum, and they have told me, that they dont reveal brockers using their services. Very strange. One of the brockers that is not hiding the fact they use MT, is Alpari. They will allow you to open a Demo account, so that you can trade in a real time, but without risking your money. Warning I am not going to recommeng services of Alpari. Once again, I am not being paid for that. Try their Demo account, and use your own judgement. Or you can start your own research at Internet forums. Finally, if you do not like the MT, you can probably follow the example below using TS, MS or some other trading platform. This is just an example. Our MT-based trading system will include two files, the indicator and an expert. This is the way they call it in MQL (scripting language of MT), and I am going to follow this naming convention. The indicator implements the neural network and draws a chart. An expert takes these data and does trading. As MetaTrader has a strategy tester, we will be able to test our strategy, to see how good it is. I will assume, that you are familiar with MQL programming, it is quite close to SLANG and tutorials can be found both at MetaQuotes and Alpari. Finally, I am using the code structure, that is borrowed from MetaQuotes forum, permission to use it the author of the corresponding posts had granted me permission to use fragments of his code. Also, as some of our MetaTrader code is the same for all experts and indicators, we moved it to a separate library file. MetaTraders libraries are nothing but includable files. This library takes care of synhronization, when two or more expert are trying to run in the same time, as well as of few other things. If you use MetaTrader, it will help you to create robust experts, in any case, the MQL language is easy to understand. mylib. mql, a helper library The code should look familiar, all I did was re-writing it, using slightly different language syntax of MQL. This indicator has two buffers, and draws two lines, one for the original NOC, and one for the NN-predicted NOC. For trading, you dont have to draw both indicator lines, of course (see MQL tutorials to learn how to do it), but I have decided to show them together, so you can compare. Another difference, that you should know about, is the way MT performs testing. It may, in some cases, be more accurate, then one we did (we did the worse case scenario). Of course, you can always to change the SLANG script from the examples above, to implement any logic you want. The result of our testing in MT is a bit better, then in Cortex, due to all these reasons. Keep in mind, that MT calculates the DD in a different way. I still think, that my way is better. In should be especially noted, that no additional optimization had been performed using MetaTraders optimizer. We have just plugged our MTS (mechanical trading system) in, and it worked as expected. Das ist es. You can now create Cortex Neural Network, optimize it to do trading, and to port it to the trading platform of your choice. Download Cortex Bestellen Cortex View Price List Sichtbarkeit ist für diese Seite sehr wichtig. If you like it please link to this URL2 - Forex Strategies - Forex Resources - Forex Trading-free forex trading signals and FX Forecast Neural Networks Indicator for Metatrader Neural Networks Indicator free download Free download Indicators Neural Networks indicator for Metatrader 4. All Indicators on Forex Strategies Resources are free. Here there is a list of download Neural Networks mq4 indicators for Metatrader 4. It easy by attach to the chart for all Metatrader users. Download an indicator. Extract from the file rar or zip. Copy Neural Networks Indicator mq4 to Metatrader Directory experts indicators Copy Neural Networks Indicator mq4 to Metatrader Directory experts indicators Start or restart your Metatrader Client Select chart and Timeframe where you want to test your indicator Search Custom Indicators in your Navigator mostly left in your Metatrader Client Right click on Neural Networks indicator mq4 Attach to a chart Modify settings or press ok Indicator Neural Networks mq4 is available on the chart For remove Neural NetWorks mq4 from Metatrader chart: select the chart where is the Indicator running in Metatrader Client, Right click into the chart Select the Indicator and delete

No comments:

Post a Comment