Devisenoptimierer V2 7




Devisenoptimierer V2 7Gordago, Forex kaufen. : Forex Optimierer Forex Optimizer -,, Forex. Aufrechtzuerhalten. Aufrechtzuerhalten. Forex Optimierer, Forex Optimierer. Forex Optimierer,, Forex Optimierer. Aufrechtzuerhalten. . Aufrechtzuerhalten. . ,. Aufrechtzuerhalten. . API. , Devisenoptimierer. : Devisenoptimierer Open Source. 2.7 Subversion: svn checkout trac. gordago. ru/svn/tags/2.7/ 2.8,,: svn ausprobieren trac. gordago. ru/svn/trunk/ Lite Update Entwickeln Lite Update Entwickeln -. Aufrechtzuerhalten. ,,. , - LiteUpdate LiteUpdate Entwickeln. Spracheditor Spracheditor -. LanguageManager () Spracheditor (). . :: Info at gordago dot com ICQ: 481186408 SnowCron SnowCron Neuronale Netze fur FOREX Trading In diesem Artikel: ein Beispiel fur die Nutzung unserer Neural Networks Software, um eine komplette neuronale Netzwerk Handelssystem zu schaffen. In diesem Beispiel wird die Cortex-integrierte Skriptsprache verwendet. So lesen Sie bitte zuerst die Skriptsprache. Mit Neuronalen Netzwerken zu schaffen FOREX Trading-Strategie In diesem kostenlosen Online-Tutorial finden Sie den vollen Zyklus der Verwendung neuronaler Netze (Cortex Neural Networks Software) fur Forex-Handel (oder Borsenhandel die Idee ist die gleiche). Sie lernen, Eingaben fur die kunstlichen neuronalen Netze zu wahlen. Und wie zu entscheiden, was als Ausgang zu verwenden. Hier finden Sie ein Beispiel fur ein fertiges Skript, das die neuronale Netzwerkoptimierung sowohl der Struktur des Neuronalen Netzes (Anzahl der Neuronen) als auch des Devisenhandelssystems ermoglicht (Stopverlust etc.) Die meisten Tutorials), werden Sie lernen, was als nachstes zu tun. Schlie?lich kann Cortex Neural Networks Software nicht tun, Echtzeit-Trading, mussen Sie etwas wie Trade Station, MetaQuotes oder MetaTrader verwenden. Wie portiere ich das Forex-Handelssystem von Cortex zu deiner bevorzugten Handelsplattform? Du musst mit DLLs, ActiveX-Steuerelementen und Low-Level-Programmen umgehen. Cortex Neural Networks Software kommt mit der einfach zu bedienenden Funktion, mit der Sie das entstandene (trainierte) Neuronale Netzwerk problemlos in die Skriptsprache Ihrer Handelsplattform portieren konnen. Keine DLLs, DDE, ActiveX oder andere Low-Level-Losungen - alles ist einfach und einfach. Wichtiger Hinweis: Dies ist NICHT ein wie Tutorial zu handeln. Stattdessen erfahren Sie, wie Sie Cortex Neural Networks Software verwenden. Aber Sie mussen noch Ihr eigenes Handelssystem erfinden. Die, die wir hier verwenden, ist kaum ein Ausgangspunkt und sollte nicht als Forexhandelsstrategie verwendet werden, wie 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 vereinfacht und kann nur als Darstellung der Handelsprinzipien verwendet werden. Gleicherma?en funktioniert das MACD-Handelssystem, das in vielen Tutorials zu finden ist, nicht mehr gut (wie sich die Markte geandert haben), ist aber dennoch ein gutes Beispiel fur den Einsatz von Indikatoren fur den mechanischen Handel. In zwei Worten: tun Sie Ihre eigene Analyse. Eine weitere wichtige Anmerkung: das Tutorial verwendet Beispiele, viele von ihnen. Um Ihr Leben zu erleichtern, habe ich sie alle, nicht nur Fragmente. Allerdings macht es den Text viel langer. Au?erdem gehe ich von der ersten, ungeschickt, Forex Trading System. Bis fortgeschritten, jedes Mal erklaren, was verbessert worden war und warum. Seien Sie geduldig oder springen Sie direkt zu dem Abschnitt, den Sie benotigen. Abschlie?ende wichtige Anmerkung: der Code ist nicht etwas, das in Stein gemei?elt wird, es konnte andern, wahrend dieser Text geschrieben wurde. Die endgultigen Versionen der Script-Dateien sind im Cortex-Archiv enthalten. Fallstricke von FOREX KAUF / SELL Signale: Was ist falsch mit einfachen Beispielen Im Cortex Neural Networks Software Benutzerhandbuch haben wir ein einfaches Beispiel fur ein aftifficial Neural Network verwendet. Vorhersage des Preises der GENZ-Aktie. Um herauszufinden, was falsch ist mit diesem Ansatz, lassen Sie uns das gleiche einfache Beispiel, mit MSFT. TXT, anstatt der GENZ. TXT (verwenden Sie 800 Datensatze in der Lern-Set, wie MSFT. TXT ist ein wenig kurzer, dann GENZ. TXT). Es wurde einfach nicht funktionieren Warum Der Grund wird offensichtlich, wenn Sie sich fragen: Was ist der Grund neuronale Netzwerk-Prognose der zukunftigen Werte kann auf dem ersten Platz getan werden Die Antwort ist: es ist das Lernen zu tun, was hei?t neuronale Netzwerk-Muster Anerkennung . Um Muster zu erkennen, und wenn es eine verborgene Logik in diesen Mustern gibt, dann wird sogar ein neues Muster (mit derselben Logik) erkannt. Das ist ein Trick - mit der gleichen Logik. Es gibt nicht einmal ein, aber drei Probleme hier. Zunachst einmal, wenn Sie sich den Aktienkurs von Microsoft ansehen, werden Sie feststellen, dass es im Lernteil unserer Daten und seitwarts - im Testteil hinuntergeht. So ist es moglich, dass sich die Logik geandert hat. Zweitens und noch wichtiger - WAS IST DAS MUSTER Du siehst, wenn wir das neuronale Netzwerk im Bereich von 10 - 100 lehrten und es dann in der 1 bis 3 Reihe vorstellten, sind es unterschiedliche Muster 10, 20, 30 und 1, 2, 3 ahneln dem menschlichen, weil - WEIL - wir diese Fahigkeit haben, durch zehn zu dividieren, wenn sie mit Zahlen mit null endet. Es ist, was eine Vorverarbeitung der Daten genannt wird, und standardma?ig kann das NN es nicht tun. Konnen wir es lehren Naturlich. Was ist es genau, mussen wir es lehren Dies ist die dritte, und die wichtigste. Wir brauchen nicht die Preisvorhersage Wir interessieren uns nicht Was wir brauchen, ist FOREX Verkaufssignale zu kaufen. Nun, warten Sie eine Minute Wir mussen a) unseren Eingang (sowohl Lernen und Testen) im gleichen Bereich haben, und wir brauchen b) in der Lage sein, um Entscheidungen zu treffen, die auf sie basiert Es ist nicht das, was wir nennen einen Indikator Bingo So, Das werden wir machen - wir werden einen Indikator aufbauen, um ihn dem NN als Input zuzufuhren, und wir werden versuchen, eine Vorhersage des Indikatorwerts und nicht des wertlosen Aktienkurses zu erhalten. In unserem ersten Beispiel werden wir Laden Sie Aktien-Zitate von der Festplatte, offnen Sie die Neural Network-Datei und starten Sie das Lernen - alle in einem automatisierten Modus. Erstellen Sie eine neue Skriptdatei (oder offnen Sie die Datei, die mit dem Cortex Neural Networks-Softwarearchiv geliefert wurde), und rufen Sie sie unter dem Namen nn. tsc an. Zuerst mussen wir die Preiswerte aus der MSFT. TXT-Datei herunterladen. Wir werden die CLV-Anzeige verwenden (siehe unten), aber um sie zu berechnen, brauchen wir Split-eingestellte Werte fur High und Low, nicht nur fur Close. Hier ist, wie sie zu bekommen. Stocks nn. tsc, Teil 1 Die erste Zeile weist den Pfad der StrStockPath-Variable zu, naturlich mussen Sie sie bearbeiten, wenn sich Ihre Datendatei im anderen Verzeichnis befindet. In der zweiten Zeile geben wir an, dass dieser Pfad nicht relativ (relativ zum Speicherort der Cortex. exe-Datei) ist. Der TABLE LOADER empfangt den Pfad, den leeren String fur die Startzeile, 1 -, um die erste Zeile (Spaltennamen), einen Teil der Fu?zeile der Datei zu uberspringen (die letzte Zeile in MSFT. TXT enthalt keine Daten) Auch angewiesen, die Spaltennummer 0 (und rufen sie arrDate), 2 (arrHigh), 3 (arrLow), 4 (arrC) und 6 (arrClose) zu laden. Eine ausfuhrliche Beschreibung von TABLE LOADER finden Sie im SLANG-Referenzhandbuch. Anschlie?end berechnen wir die Teilung, indem wir die Einstellung "Nah verstellt" beenden und diesen Wert verwenden, um den Wert "Niedrig" und "Hoch" einzustellen. Die MSFT. TXT-Datei enthalt die neuesten Daten FIRST, wahrend wir sie LAST mochten. Als Nachstes mussen wir einen Indikator erstellen. Lassen Sie uns sagen, es wird ein Close Location Value-Indikator sein, obwohl im realen Leben wurde ich wahrscheinlich mehr als ein Indikator als NN-Eingang. Der Wert Close Location Value wird wie CLV (Close - Low) - (High - Close)) / (High - Low) berechnet, wobei Close, Low und High fur das Intervall gelten, nicht unbedingt fur einen einzelnen Balken. Beachten Sie, dass wir es im Bereich 0 - 1 wollen, um es einfacher zu machen, unser NN s Bereich zu normalisieren (was wiederum 0-1 ist). Bestande nn. tsc, Teil 3 Als nachstes mussen wir eine Lag-Datei erstellen. Lassen Sie s Verzogerungen gleich 1, 2 verwenden. 9 (Details zu Dateifunktionen finden Sie im SLANG-Referenzhandbuch). Beachten Sie, dass das Dialogfeld "Cortex s NN" einfache Verzogerungen automatisch erzeugen kann (Sie konnen die Schaltflache Verzogerung generieren verwenden). Aber spater in diesem Text, werden wir mit komplexen Verzogerungen arbeiten (das hei?t, sie sind nicht 1, 2, 3. aber 1, 3, 64. was auch immer), so mussen wir den Code, der diese Aufgabe umgehen kann, zu schaffen Eine flexiblere Weise. Stocks nn. tsc, Teil 4 Mit der Lag-Datei sind wir bereit, unser erstes neuronales Netzwerk zu erstellen. Diese Funktion nimmt viele Parameter, also seien Sie vorsichtig. Allerdings ist der Code wirklich einfach. By the way, die meisten dieser Code kann entfernt werden, wenn Sie denken, Sie konnen Zahlen verarbeiten, anstatt sinnvolle Namen in Ihrem Code, aber das ware eine sehr schlechte Kodierung Praxis sein. Aktien nn. tsc, Teil 5 Nun, nachdem wir ein neuronales Netzwerk und die verzogerte Datei mit Daten haben, mussen wir das Netzwerk lehren. Die Lag-Datei (msft ind. lgg) hat 1074 Datensatze, daher ist es sinnvoll, 800 als Lern-Set zu verwenden und die verbleibenden 274 als Test-Set. Sie konnen naturlich eine Netzwerkdatei offnen und auf die Schaltflache Ausfuhren auf der Registerkarte Lernen klicken. Aber wie dies ist eine Einfuhrung in fortgeschrittene Cortex Neural Networks Software-Programmierung, lassen Sie uns verwenden SLANG in Skriptsprache statt. Der folgende Code bringt den modalen Dialog mit den Ann NN-Einstellungen auf. Beachten Sie, dass, wenn Sie ein Privileg haben mochten, auf die Schaltflache Ausfuhren zu klicken, die Bestande nn. tsc, Teil 6 andern mussen. BStartLearning kann 0 sein. In diesem Fall wartet der Dialog auf Ihre Eingabe oder 1 Lernen beginnt aytomatisch. Das bResumeScript, wenn gleich 1, wird das Skript wieder aufnehmen, wenn Sie den Dialog schlie?en, indem Sie auf die Schaltflache OK klicken. Das bReset wird verwendet, um das Netzwerk zuruckzusetzen, bevor das Lernen beginnt. Fuhren Sie das Skript aus, und warten Sie, bis der Epoch-Zahler 1000 uberschreitet, und klicken Sie dann auf Beenden. Klicken Sie auf Apply (Ubernehmen). Dies fuhrt den gesamten Datensatz (sowohl Lernen und Testen) uber die NN, und erstellen Sie die. APL-Datei, die sowohl die ursprungliche Input-Output und die NN-generierte Vorhersage, so konnen Sie leicht darstellen und gegeneinander kompatibel . Klicken Sie auf die Registerkarte Ausgabe, wahlen Sie msft ind. apl aus, klicken Sie auf Datei durchsuchen, markieren Sie die Felder und wahlen Sie das Feld Nein in der linken Liste aus, und halten Sie die STRG-Taste gedruckt, wahrend Sie mit der Maus auswahlen Das rechte Listenfeld. Klicken Sie auf Diagramm, um zu sehen, wie gut unsere Vorhersage ist. Gut. Es ist mehr oder weniger gut, von dem, was wir sagen konnen, indem wir es betrachten. Trotzdem nichts Au?ergewohnliches. Dies war nur ein Beispiel dafur, was Sie mit SLANG Scripting tun konnen und wie Sie die Routine-Aufgaben von Cortex automatisieren konnen. Allerdings haben wir bis jetzt nichts von Hand gemacht. Gut. Fast nichts, denn wenn Sie eine benutzerdefinierte Lag-Datei erstellen wollen, mit, sagen wir, Clv-100, Clv-50, Clv-25. Spalten, dann mussen Sie SLANG (oder Excel.) Verwenden, da Sie nicht in Cortex ohne Skripting tun konnen. FOREX Handelsstrategie: was zu optimieren Hier ist unser nachstes Problem. Brauchen wir eine gutaussehende Vorhersage, oder brauchen wir die, die wir verwenden konnen, um mit Gewinn zu handeln? Die Frage scheint seltsam, aber nur daruber nachdenken fur einen Moment. Lassen Sie uns sagen, wir haben eine sehr gute 1-Stunden-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, mussen wir tatsachlich handeln, wird ein einfacher Vergleich der mittleren Fehler, die von den beiden NNs wird nicht helfen. Der zweite Teil (des gleichen Problems) liegt in der Art, wie wir eine gute Vorhersage definieren. Lassen Sie uns sagen, wir haben ein Netzwerk, das die Vorhersage erzeugt, die 75 genau ist. Vergleichen Sie es mit dem NN, das 100 genaue Vorhersage produziert. Der letzte ist besser. Nun, DIVIDE die Ausgabe (Vorhersage) der 100 genaue NN von 10. Wir haben ein sehr ungenaues Netzwerk, da sein Signal nicht in der Nahe des Signals, das wir als eine gewunschte Ausgabe verwendet. Und doch kann es genauso verwendet werden, wie wir 100 genaue NN verwendet haben, alles, was wir tun mussen, ist, es zu multiplizieren, um 10 Siehe, die NN wird durch Abstimmung der mittleren quadratischen Fehler, und nicht die Korrelation, also zumindest in Theorie, eine bessere NN kann zeigen, schlechte Ergebnisse, wenn fur die tatsachliche Borse / Forex Trading verwendet. Um dieses Problem zu losen, mussen wir unsere NNs mit dem Handel testen und die Ergebnisse dieses Handels (Gewinn und Drawdowns) verwenden, um zu entscheiden, ob diese NN besser ist als die andere. Machen wir das. Lassen Sie s ein Programm, das verwendet werden konnen, um Feinabstimmung NN, und dieses Mal, durch Feinabstimmung, werden wir handeln die Ergebnisse. Neural Network Trading: Wenige kurze Notizen Zunachst einmal wird in unserem obigen Beispiel das automatische Lernen niemals aufhoren, da wir keine Anhaltekriterien angegeben haben. Im Dialog oder in der Funktion CREATE NN konnen Sie die min. (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. Ich verwende es nicht im Beispiel unten, zumindest nicht immer, denn ich plane das Lernen zu beobachten und auf STOP zu klicken, wenn ich denke, dass die NN bereit ist. Wenn Sie es im vollautomatischen Modus tun mochten, achten Sie auf diese Parameter. Zweite. Eine der Moglichkeiten, um ein Netzwerk kleiner, schneller und genauer, ist es, mit dem kleinen Netzwerk beginnen, und erhohen Sie es s Gro?e, Neuron von Neuron. Die Anzahl der Eingangsneuronen wird durch die Anzahl der Eingangsdatenspalten bestimmt (aber wir konnen sie auch variieren), und die Anzahl der Ausgangsneuronen sollte gleich der Anzahl der Ausgangsdatenspalten sein (normalerweise eine, aber nicht notwendigerweise ). Das bedeutet, dass wir die Anzahl der Neuronen in den ausgeblendeten Layern optimieren mussen. Auch, wie ich schon erwahnt, wissen wir nicht wirklich, welche Daten zu verwenden. Will Clv-256 (15 Tage verzogert) erhohen die Genauigkeit unserer Vorhersage Brauchen wir Clv-256 Wird es besser sein, beide von ihnen in der gleichen NN verwenden, oder wird das Hinzufugen Clv-256 Ruine unsere Leistung Mit verschachtelten Zyklen zu versuchen, verschiedene Input-Parameter konnen Sie: Erstellen Sie die NN, so wie wir es fur die Bestandsdaten (lassen Sie mich wiederholen, fur die NN gibt es keinen Unterschied zwischen Aktien und FOREX, es ist nur passiert, dass ich paar hochwertige Dateien fur Dateien haben FOREX, die ich verarbeiten mochte, beim Schreiben dieses Textes). Versuchen Sie verschiedene Kombinationen von Verzogerungen. Versuchen Sie verschiedene Anzahl von Neuronen in der ausgeblendeten Ebene. . Und verschiedene Kombinationen von verschiedenen Indikatoren. . und so weiter. Jedoch wenn Sie alle moglichen Kombinationen aller moglichen Parameter versuchen, erhalten Sie NIE Ihre Resultate, egal wie schnell Ihr Computer ist. Im folgenden werden wir einige Tricks verwenden, um Berechnungen auf ein Minimum zu reduzieren. Ubrigens kann es scheinen, dass wenn Sie von einem verborgenen Neuron beginnen, dann erhohen Sie es auf 2, 3 und so weiter, und an einem gewissen Punkt der Fehler (Qualitat der Vorhersage) oder der Gewinn (wenn Sie die NN durch testen Handel mit ihm) beginnt zu gehen, dann haben Sie Ihren Gewinner. Leider kann ich nicht beweisen, dass es nach dem ersten Auftritt keinen zweiten geben kann. Es bedeutet, dass der Fehler wie 100, 30, 20, 40, 50 gehen kann (es war nur auf seinem Minimum, rechts) und dann 30, 20, 10, 15. (das zweite Minimum). Wir mussen nur alle vernunftigen Zahlen testen. Dritte. Optimierung ist ein zweischneidiges Schwert. Wenn Sie Ihren Code zu optimieren, funktioniert es moglicherweise nicht au?erhalb der Daten, die Sie zur Feinabstimmung verwendet. Ich werde mein Bestes tun, um diese Falle zu vermeiden. Wenn Sie weitere Optimierungen an Ihrem Code oder NN vornehmen mochten, rate ich Ihnen, eine Recherche im Internet durchzufuhren, um mehr uber versteckte Probleme dieses Ansatzes zu erfahren. Ich werde auch auf die Glatte der Profitkurve achten. Der Gewinn, der wie 0, -500, 1000, -100, 10000 aussieht, kann gro? sein, aber der Profit 0, 100, 200, 300, 400. ist besser, da es weniger riskant ist. Wir konnen spater daruber reden. Schlie?lich, fur dieses Beispiel werden wir FOREX verwenden, anstatt Aktienkurse. Aus der Sicht der NN gibt es keinen Unterschied, und von meinem Punkt - Forex ist viel mehr Spa? zu handeln. Wenn Sie Aktien bevorzugen, kann der Code einfach geandert werden. Eine FOREX-Handelsstrategie zum Spielen Zuerst wollen wir einen Prototyp unseres Codes erstellen, der in Zukunft einfach optimiert werden kann. Es wird ein Handelssystem, das ein Neuronales Netzwerk zu handeln und produziert ein Diagramm (Gewinn gegen Handels-Nummer). Es wird auch kalkulieren Drawdown, als Ma? fur die Robustheit unseres Handelssystems. Forex nn 01.tsc, Teil 1 Der Hauptunterschied hier ist, dass wir Funktionen verwenden, anstatt alle Code in den Hauptblock des Programms. Auf diese Weise ist es viel einfacher zu verwalten. Zweitens haben wir eine TestNet-Funktion. Ich bin mit einem sehr einfachen Algorithmus des Handels. Die CLV-Anzeige ist auf 0 - 1 Intervall beschrankt (unsere Version von CLV ist), also wenn der Indikator den dBuyLevel kreuzt (siehe Code oben), kaufe ich, wenn er den dSellLevel uberquert, den ich verkaufe. Offensichtlich ist es nicht die beste Handelsstrategie, aber es wird fur unseren Zweck (nur fur jetzt) ??zu tun. Wenn Sie es verbessern wollen, hier sind einige Hinweise. Zuerst mochten Sie vielleicht ein System haben, das nicht IMMER auf dem Markt ist. Zweitens konnen Sie mehr als ein Kennzeichen als Eingaben und vielleicht mehr als ein NN verwenden, damit die Handelsentscheidung auf der Basis von wenigen vorhergesagten Indikatoren erfolgt. Wir werden einige Verbesserungen des Handelsalgorithmus spater hinzufugen. Wir verwenden einige Standardannahmen des FOREX-Handels: Spread ist 5 Punkte, Hebelade ist 100, min. Los ist 100 (Mini-FOREX). Lassen Sie uns einen Blick auf unser Handelssystem. Wieder einmal ist es ein uberdimensionaler. Ein wichtiger Hinweis: Der TestNn () wird zuletzt aufgerufen und hat Zugriff auf alle Variablen, die zu diesem Zeitpunkt erstellt wurden. Wenn Sie also eine Variable sehen, die ich verwende, ohne sie zu initialisieren, bedeutet das wahrscheinlich, dass sie in NewNn (), TeachNn () oder einer anderen Funktion initialisiert wurde, die vor TestNn () aufgerufen wurde. Um die Dinge zu erleichtern, werden Kommentare in den Code platziert. Forex nn 01.tsc, Teil 2 Wenige Worte uber den Drawdown. Es gibt wenige Weisen, es zu berechnen, und wir verwenden, was ich die ehrlichste betrachte. Der Drawdown ist ein Ma? fur die Instabilitat unseres Systems. Was ist eine Chance, dass es Geld verlieren lets sagen, dass der anfangliche Betrag 1000 ist. Wenn der Gewinn 100, 200, 300, 400 geht, ist der Drawdown 0. Wenn es 100, 200, 100. dann geht, ist der Drawdown 0.1 ( 10), da wir gerade einen Betrag verloren haben, der 1/10 der ursprunglichen Einzahlung (von 1200 bis 1100) entspricht. Ich wurde stark Ratschlage gegen den Einsatz von Handelssystemen mit gro?en Drawdowns. Auch hier nutze ich einen Drawdown, der mit variabler Losgro?e verwendet werden soll. Jedoch in den tatsachlichen Proben, die mit dem eBook kommen, sehen Sie eine andere Version: Wie Sie sehen konnen, hier verwenden wir immer 1000 (der Anfangsbetrag), um den Drawdown zu berechnen. Der Grund ist einfach: Wir verwenden immer die gleiche Losgro?e (kein Geldmanagement noch), so gibt es keinen Unterschied, wie viel Geld wir bereits auf unserem Konto angesammelt haben, sollte ein durchschnittlicher Gewinn konstant sein. Das schlimmste Szenario in diesem Fall sieht so aus: Von Anfang an (1000 auf Rechnung) verlieren wir Geld. Wenn wir 1000 verwenden, um den Drawdown zu berechnen, erhalten wir den schlechteren Drawdown. Das wird uns helfen, uns nicht zu betrugen. Zum Beispiel sagen wir, wir handelten fur einige Zeit, und wir haben 10.000 auf unserem Konto. Dann verlieren wir etwas Geld, und wir haben jetzt 8.000. Dann haben wir uns erholt und 12.000. Gutes Handelssystem Wahrscheinlich nicht. Lassen Sie s wiederholen die Logik wieder, da es sehr wichtig ist (und es wird noch wichtiger, wenn wir anfangen, Geld-Management). Wir handeln mit festen Gro?e Lose. Also, statistisch gesehen, gibt es keine Garantie, dass der maximale Verlust nicht am Anfang geschieht, wenn wir nur 1000 haben. Und wenn es passiert, haben wir -1000 (10.000 - 8.000), so ist das Handelssystem wahrscheinlich auch riskant. Wenn wir uber das Geldmanagement reden (vermutlich nicht in diesem Text), mussen wir einen anderen Ansatz zur Drawdown-Berechnung verwenden. Beachten Sie, dass in diesem Handelssystem, ich bin mit dem schlechteren moglichen Szenario: Ich bin mit High-und Verkauf, mit Low kaufen. Viele Tester folgen nicht diesen Regeln und schaffen Handelssysteme, die auf historischen Daten gut funktionieren. Aber im wirklichen Leben haben diese Handelssysteme sehr schlechte Leistung. Warum Werfen Sie einen Blick auf die Preisleiste. Es hat Open, High, Low und Close. Wei?t du, wie sich der Preis in der Bar bewegte. Also, lassen Sie uns sagen, Ihr Handelssystem generiert ein Kaufsignal, am unteren Rand der Preisleiste (wenn dLow Beachten Sie, dass ich mit dLotSize gleich 0,1 Lot (100) Dass es sich bei dem realen Handel um einen gro?en Vorteil handelt, wenn die Losgro?e in Abhangigkeit von dem Geld berechnet wird, das Sie haben, so etwas wie: forex nn 01.tsc, Teil 3 Allerdings tun wir hier das Testen und nicht den Handel Ist es viel einfacher zu tun, wenn die Losgro?e gleich ist (im Idealfall, fur dLotSize 100 erhalten wir eine gerade Linie, mit etwas positiver Steigung , Wahrend wir im Fall der einstellbaren Losgro?e einen Exponenten erhalten, der viel schwerer zu analysieren ist), spater werden wir Geldmanagementsysteme auf unser Handelssystem anwenden, aber noch nicht, nachdem wir mit dem letzten fertig sind Teil der Testfunktion, lassen Sie uns durch den Rest des Codes zu gehen. Die folgende Funktion erstellt eine CLV-Indikator. Es nimmt das Intervall als Parameter, was bedeutet, dass wir es oft nennen konnen, wahrend der Optimierung, die Ubergabe von verschiedenen Zahlen. Beachten Sie, dass ich die NN, die im 0 - 1-Intervall arbeitet. Die Daten konnen naturlich normalisiert werden, aber ich entschied mich, den Indikator durch 2 zu teilen und 0,5 hinzuzufugen, so dass er im Bereich von 0 - 1 liegt. Forex nn 01.tsc, Teil 4 Um eine Lag-Datei zu erstellen, konnen wir die Funktion CREATE LAG FILE verwenden. Alternativ konnen wir es durch explizite Bereitstellung aller erforderlichen Code. In diesem Fall haben wir mehr Kontrolle, und wir werden es brauchen, wenn wir anfangen, die Anzahl der zuruckgebliebenen Spalten und so weiter zu andern. Forex nn 01.tsc, Teil 5 Der Parameter nRemoveFirst ist wichtig. Viele Funktionen, wie Indikatoren, gleitende Durchschnitte, Lag-Generatoren, fur diese Angelegenheit, funktionieren nicht gut innerhalb der ersten Datensatze des Datensatzes. Lassen Sie uns sagen, wir haben MA (14) - was wird es Platz in den Datensatzen 1 - 13 So wahlen wir einfach entfernen Sie die ersten paar (unzuverlassige) Datensatze. Fur die NewNn, sowie fur alle Funktionen dieses Programms, mussen wir als Parameter nur ubergeben, was wahrend des Optimierungsprozesses geandert werden kann. Beispielsweise besteht keine Notwendigkeit, einen Sprung vor dem Parameter zu ubergeben, da er immer derselbe ist. Forex nn 01.tsc, Teil 6 Die TeachNn-Funktion bringt einfach den NN-Dialog auf. Forex nn 01.tsc, part 7 Schlie?lich benotigen wir eine Chartfunktion. Es ist nicht zwingend, aber es ist immer eine gute Idee, um zu sehen, wie unsere Gewinnlinie aussieht. Der folgende Code verwendet das XML, um ein Diagramm zu erstellen, also ist es eine gute Idee, das Tutorium zu lesen. Alternativ konnen Sie das Diagramm zeichnen, anstatt es in einer Datei zu speichern. Verwenden Sie dazu einen der Beispiele, die sich im Verzeichnis samples / scripts befinden. Schlie?lich konnen Sie den Code andern, um HTML, anstatt XML zu erzeugen. HTML ist leichter zu lernen, aber der Code selbst wird ein bisschen weniger lesbar sein. Forex nn 01.tsc, part 8 Kompilieren Sie das Skript und fuhren Sie es aus. Gut. Wie erwartet zeigte die Verwendung von 7 Stunden als Intervall fur den CLV sehr schlechte Ergebnisse: FOREX Handelsstrategien und Optimierung Der Grund fur die schlechten Ergebnisse ist ganz offensichtlich: Wir haben die Intervall, Stop Loss, Kauf und Verkauf Ebenen und andere Parameter, die waren Rein zufallig - wir haben uns nur das erste Mal ausgesucht Was passiert, wenn wir versuchen, einige Kombinationen FOREX Trading Signals: Was zu optimieren Vor allem durch Uberoptimierung der Kauf-und Verkauf Ebenen konnen wir unsere zukunftige Performance ruinieren. Allerdings konnen wir noch tune sie, vor allem, wenn die Performance ist fur enge Werte von Kauf-und Verkauf Grenzen zu schlie?en. Zum Beispiel, wenn wir -10 Gewinn zu kaufen Grenze gleich 0,3 haben, und 1000 Gewinn, wenn es 0,35 entspricht, dann gibt es wahrscheinlich einen glucklichen Zufall, und wir sollten nicht 0,35 fur unser Handelssystem, wie in Zukunft wird es wahrscheinlich nicht passieren aufs Neue. Wenn stattdessen haben wir -10 und 10 (anstelle von 1000), kann es sicherer zu verwenden. In der Regel sollte unser Trading-System fur WORSE mogliche Szenario, als ob wahrend des realen Handels die Leistung besser sein wird, dann wahrend des Tests werden wir uberleben, aber nicht umgekehrt. Wir konnen den Wert fur das Indikatorintervall variieren, sofern wir genugend Trades haben, so dass wir in Bezug auf die Statistik in der Performance eines Systems uberzeugt sein konnen. Wir konnen sicherlich variieren die Zahl der Neuronen, ich glaube nicht, dass es leicht uberoptimiert werden kann. Wir konnen die Anzahl der Eingange und Verzogerungen fur Eingange variieren. Es ist moglich, dies zu optimieren, aber es ist nicht sehr wahrscheinlich zu passieren. Und naturlich konnen wir verschiedene Indikatoren ausprobieren. Genaue FOREX-Signale: Wie zu optimieren Wie bereits erwahnt, wenn wir versuchen, alle moglichen Kombinationen, wird es ewig dauern. Also werden wir betrugen. Wir erstellen vordefinierte Satze von Parametern, die wir fur vernunftig halten und an das Programm weitergeben. Um so wenig Berechnungen wie moglich zu machen, ist es wichtig, dass Clv-1 und Clv-2 wichtig sind, aber was ist mit Clv-128 Und - wenn wir bereits Clv-128 haben, brauchen wir Clv-129 Wahrscheinlich nicht. So werden wir so etwas wie Clv-1, Clv-2, Clv-4, Clv-8 haben. Clv-128 mit nur wenigen Variationen, die unsere Berechnungszeit tausendmal kurzer machen wird. FOREX Professional System Trading: Kann es uberhaupt funktionieren Was genau ist es genau wollen wir vorhersagen Bis zu diesem Punkt haben wir 1-Stunden-Chart fur EURUSD verwendet, und wir waren die Vorhersage der nachsten bar s CLV. Wird der CLV 2 besser sein Was ist mit CLV 3 Auch angesichts der schlechten Performance unseres ersten Handelssystems ware es schon zu wissen, dass - zumindest in der idealen Welt - das Ziel (profitables Trading) erreicht werden kann. Um diese Fragen zu beantworten, lassen Sie s ein einfaches Testprogramm erstellen. Wir nehmen an, dass unsere Vorhersage 100 genau ist, und, basierend auf dieser Annahme, werden wir CLV N verwenden, nicht die NN vorhergesagt. Das ist richtig - wir nehmen Daten aus der Zukunft und nutzen sie statt der NN-Vorhersage. Dieser Ansatz wurde nicht im wirklichen Leben funktionieren, naturlich, aber bei leats, wird es geben uns einige Ideen, was zu erwarten. Wenn Sie die Ergebnisse betrachten, denken Sie bitte daran, dass wir keine fortgeschrittene Geldverwaltung verwenden, unsere Losgro?e ist auf ein Minimum von 100 festgelegt. Wenn Sie variable Losgro?en verwenden, werden die Ergebnisse dramatisch anders sein. Aber selbst bei einer Menge, die auf 0,1 gesetzt ist, konnen wir (unten) sehen, dass immer die Informationen aus der Zukunft ist ein ultimativer Handler Holly Graal. Forex nn 02.tsc, Teil 1 Sie kennen diesen Code bereits, er wurde in FOREX NN 01.TSC verwendet. Es verarbeitet das Laden von Daten. Der einzige Unterschied besteht in dem Teil, der die Liste der Dateien im Bilderverzeichnis erhalt und alle Dateien mit der Erweiterung. PNG loscht. Der Grund fur diesen Code ist einfach: Wahrend unserer Tests werden wir viele Tausenderbilder erstellen. Wir wollen nicht, dass sie hangen, nachdem wir fertig sind. Also am Anfang des Skripts loschen wir Bilder, die von anderen Skripten erstellt wurden. Forex nn 02.tsc, part 2 Nur ein paar Kommentare. Wir wollen nicht alle moglichen Werte fur zB CLV-Intervall ausprobieren. Stattdessen konnen wir ein Array erstellen, das nur Werte enthalt, die wir testen mochten. Dann (siehe unten) gehen wir durch dieses Array. Stop-Verluste sind wichtiger Bestandteil jeder Trading-Strategie, so habe ich beschlossen, sie auch zu variieren. Es ist jedoch eine gefahrliche Idee, da es leicht ist, das System zu uberoptimieren. Ich plane, verschiedene Werte fur Kauf - und Verkaufsniveaus zu prufen, aber es erfolgt im Zyklus, ohne Arrays zu verwenden. Anders als in unserem vorherigen Beispiel wollen wir eine gro?e XML-Datei mit vielen Bildern haben. Um dies zu tun, habe ich den Code verschoben, der den XML-Header und die Fu?zeile au?erhalb der Diagrammfunktion bildet. Lesen Sie eine der Online-XML-Tutorials fur Details. Beachten Sie, dass ich 0 als erste Verzogerung verwende, was bedeutet, dass ich zuerst den Indikator (CLV) teste, der nicht von der Zukunft verschoben wurde. Nur um eine Idee zu bekommen, wie gut Out-Trading-System ware ohne NN (schrecklich, ist das richtige Wort, es ist das ganze Geld verlieren). Cortex verwendet das Internet Explorer-Steuerelement, um XML-Seiten anzuzeigen. Wenn Seiten gro? werden, dauert es eine Menge Speicher. Wenn Ihr Computer nicht damit umgehen kann, sollten Sie stattdessen mehrere XML - oder HTML-Seiten erstellen. Im Falle von forex nn 02, sollte es kein Problem sein, da die Seite relativ kurz ist. Alternativ (das ist, was ich tue, in Skripten spater in diesem Text), erstellen Sie XML-Datei, aber nicht offnen Sie es von Cortex. Offnen Sie sie mit Internet Explorer stattdessen - im Gegensatz zu IE-Steuerelement verfugt der Internet Explorer nicht uber das Speicherproblem. Nun ist der Code, der verschiedene Kombinationen von Parametern versucht. Forex nn 02.tsc, part 3 Hier verwenden wir verschachtelte Zyklen. In jedem Zyklus sind wir assidning einige Variable (zum Beispiel nInterval fur den au?eren Zyklus). Auf diese Weise wird der Zyklus Werte von allen Elementen eines entsprechenden Arrays, eines in einer Zeit zuweisen. Dann wird innerhalb des Inneren der innere Zyklus verwendet, und so weiter, so dass alle Kombinationen aller Arrayelemente getestet werden. Im innersten Zyklus rufe ich die Test () - Funktion auf, um den Handel zu testen, und Chart (), um ein neues Bild zu einer Liste von Bildern hinzuzufugen, die auf der Festplatte gespeichert sind. Beachten Sie, dass dieses Diagramm () keine Bilder zeigt, bis alle Zyklen abgeschlossen sind. Die Funktionen Test () und CreateClv () sind fast dieselben wie im vorherigen Beispiel. Der einzige Unterschied ist, dass es mehr als einmal aufgerufen wird. Um es zu tun, rufe ich ARRAY REMOVE zu reinigen Arrays. Beachten Sie auch, dass wir nur erstellen Diagramme fur die Kombination von Parametern, die Handelssystem mit positivem Gewinn zu produzieren. Ansonsten rufen wir fortsetzen, um die Funktion Chart () zu uberspringen. Schlie?lich haben wir Take Profit jetzt, so dass unser Handelssystem ein bisschen flexibler sein kann. Sehr seltsam. Das ist es. Weiterlesen.