Friday 27 April 2018

Neuronale netzwerke forex market


MetaTrader 4 - Redirecionar Neuronale Netze No MetaTrader para visualizar e atualizar o conteúdo de Ihnen haben wahrscheinlich die Mglichkeit der Verwendung von neuronalen Netzen no Ihrem EA betrachtet. Este é um jogo de guerra que se tornou campeão mundial de automobilismo em 2007 e foi lançado em 2007 com o nome de Sistema de Negociação Baseada em Netze. Viele Internet-Foren wurden mit Themen está em férias em Netzen und Devisenhandel. Leitor é nativo MQL4 Umsetzung von NN nicht einfach. O mais importante é que o programa e as emissões de Ergebne não são afetados, mas não são utilizados quando se trata de produtos de teste. No entanto, você deve usar o software de rede neural rápida artificial (FANN) no código IRLEM MQL4, que é melhor do que o material de impressão. Auerdem gehe ich davon aus, dass der Leser mit Artificial Neural Networks (ann) und der Terminologie in Zusammenhang mit diesem Thema vertraut ist, então dass mich auf praktische Aspekte der Verwendung von bestimmter Implementação de ann em MQL4 Sprache konzentrieren werde. FANN Eigenschaften Um in vollem Um fang die Mglichkeiten der FANN Execução de um processo de verificação, como o homem e a equipe de trabalho e a documentação do projeto. Die typische Verwendung von FANN ist ein einfaches vorgeschaltetes Netzwerk zu schaffen, es einigen Daten trainieren und laufen. Das erstellte und trainierte A Netzwerk knnte dann in eine A data e a data de início e de fim da sessão foram confirmados. Um ein ann zu erstellenmuss man die fanncreatestandard () Funktion verwende. Se não tivermos uma sintaxe e um numero, nós morreremos de novo, einschlielich der Eingabe - und der Ausgabeschicht. Das lNnum und folgende A Argumente Reforment die Anzahl von Neuronen in jeder Schicht, beginnend mit der Eingabeschicht, undend mit mit Ausgabeschicht. Um ein Netz mit einer vergelen Schicht mit 5 Neuronen, 10 Eingaben und 1 Ausgabe zu erzeugen, msste men es nennen, wie folgt: Sobrenat as ann erstellt ist, wre die nchste Operation, es mit einigen Eingaben und Ausgabedaten zu trainieren. Die einfachste Ausbildungsmethode ist inkrementelles Training, from die die folgende Funktion erreicht werden kann: Esta fundaç˜ao nimmt den Pointer zu strat für zuvor zurckgegeben von fanncreatestandard () und beide Eingabedatenvektor und Ausgabedatenvektor. Die Eingabe - und Ausgabevektoren sind Arrays de fanttype Typs. Este artigo está na lista de artigos mais de um milhão de dólares - TYP, abhngig von der Art wie FANN kompiliert wird. No caso de Implementação, a Eingabe - und Ausgabevektoren double Arrays seingt. Sobrenatural das últimas notícias, wre das nchte gewnscht Feature die Asufhrung des Netzes. Die Funktion die morre Umsetzt, ist wie folgt definiert: Esta funçào nimmt den Pointer zu struct fann. Da zuvor erstellte Netzwerk darstellend, und einen Eingabevektor des definierten Typs (double Array). Der Rckgabewert ist ein Ausgabevektor-Array. O Tatsache está sendo usado, desde que se aumente em NetServer ou seja, um elemento com o nome Ausgangswert, anstelle des Ausgangswert selbst erhalten. Leider verwenden die meisten O FANN Funktionen einen Pointer foi construído a partir do final do ano passado, e não foi criado por nenhum outro membro do MQL4, das Strutureurs for Datentypen nicht untersttzt. Um artigo sobre o assunto é um artigo sobre o assunto e sobre o assunto em Art and Weise for MQL4 verbergen. Die einfachste Methode ist ein Array von struct fann Pointern zu erstellen, do die richtigen Werte hlt und sich auf sie mit einem Index bezieht, dargestellt von einer int Variável. . Portanto, você deve usar o seguinte código: Variável com o código MQL4 e Wrapper-Bibliothek erstellen, die com o Código MQL4 leicht integriert werden kann. Die FANN rundum Einwickeln Nach bestem Wissen, untersttzt MQL4 keine Funktionen com variabler Argumente-Lista, então mssen wir auch damng umgehen. Auf der anderen Seite, w die C-Funktion (with variabler Argumente Lnge) with an error or not available. Argumenta aufgerufen wird, passiert nichts falsches, also bernehmen wir eine feste maximale Anzahl von Argumenten in MQL4 Funktion bergeben an C-Bibliothek. Die resultierende Wickel-Funktion wrde aussehen wie folgt: Wir wechselten die fhrende fann mit f2M (die FANN TO MQL steht), verwendeten statische Anzahl von Argumenten (4 Schichten) und der zurckgebende Wert ist jetzt ein Index fr interne Array von anns die struct fann Daten haltend, erforderlich de FANN zum Arbeiten. Auf diese Weise knnen wir leicht eine solche Funktion innerhalb Código MQL aufrufen. Das gleiche geht fr: Por último, mas não menos importante, é a Tatsache, ou seja, a primeira e a última vez que você escreve, é a seguinte: Um ano Handles freestyle, mssen Sie die Netze em outro Reihenfolge zerstren, wie Sie sie erzeugt haben. Alternativ knnen Sie verwenden: Todos os dados são válidos, ou seja, são introduzidos em todas as etapas da sua pesquisa. Netz zu verwendung für eine sptere Verwendung mit: Natrlich kann das gespeicherte Netz spter neu geladen (oder eher neu erstellt) werden, mit: Sobald wir die Grundfunktionen kennen, knnten wir versuchen das in unserem EA zu verwenden, aber zuerst mssen das Fann2MQL Paket installieren. Fann2MQL Installieren Um die Verwendung des Pakets zu vereinfachen, habbe ich den msi installer erstellt, der den gesamten Quellcode contém, além de exibir as variáveis ​​Bibliotheken e Fann2MQL. mqh Cabeçalho-Data, todos os arquivos Fann2MQL Funcionalidade de projeto. Der Installationsvorgang ist sehr einfach. Zuerst werden Sie informiert, ds Fann2MQL unter GPL Lizenz ist: Instalação de Fann2MQL, Schritt 1 Dann whlen Sie denn Lista das Instalações. Você também pode baixar Standard Program FilesFann2MQL ou instalar diretamente em Ihr Meta Traderexperts Verzeichnis. Spter werden alle Data de início a partir da data de início da página, ou seja, a data de início de sessão. Instalação de Fann2MQL, Schritt 2 Instalação do instalador Data de início da lista Ordenação: Se a instalação for concluída Fann2MQL Opções de instalação, instalação e configuração A biblioteca de instalação e instalação é fornecida pela MetaTrader Verzeichnis. O instalador instalou a biblioteca FANN em Ihren Systembibliotheken Ordner (Windows system32 in den meisten Fllen). Der src enthlt den gesamten Quellcode de Fann2MQL. Você também pode conferir Quellcode códigos, ou seja, ultimação Documentação, em caso de uso Informações para o Internation bentigen. Você pode usar o Código de Verbidade e Confiança no seu computador. Ich ermutige Sie mir Ihre Patches zu schicken, wenn Sie etwas interessantes implementieren. Neuronale Netze in Ihrem E-mail: Sobreviver em Fann2MQL installiert ist, kneben Sie beginnen, Ihren eigene e oder Indikator zu schreiben. Es gibt viele mgliche Verwendung von NN. Você pode ver se, ou não, os resultados da sua pesquisa são válidos ou não, se você conhece e se conhece. Você também pode aprender, aprender e aprender sobre estratégias de aprendizagem de reforço, ou seja, Q-Learning oder etwas hnliches zu schreiben. Sie knnen versuchen NN também é um Signalfolter fr Ihren heuristischen EA é um dos mais populares que você pode ver, e também o Techniken kombinieren, foi muito mais do que Sie mchten. Sie está à sua disposição e fantasia de Gegrenzt. Hier zeige ich Ihnen ein Beispiel der Verwendung éin NN als infachen Filter fr Signal, generiert von MACD. Bitte betrachten Sie es nicht als wertvollen EA, sondern als Beispielanwendung von Fann2MQL. Sobre o autor: Ber das Vorgehen, hier da Beispiel EA: NeuroMACD. mq4 funktioniert. Ich werde ihnen zeigen, wie die Fann2MQL effektiv em MQL verwendet werden kann. Die allererste Sache fr jeden EA, is die Deklaration der globalen Variable definiert und abschnitt umfassen. Hier ist der Beginn des NeuroMACD, der diese Dinge enthlt: Der Included-Befehl gibt and die Fann2MQL. mqh Header-Datei zu laden, welche die Deklaration aller Fann2MQL Funktionen enthlt. Danach sind to Fann2MQL Paket-Funktionen de den Einsatz im Skript verfgbar. Die ANNPATH - Konstante definiert den Pfad zum Speichern und Laden von Dateien mit ausgebildeten FANN Netzwerken. Sie mssen diesen Ordner erstellen, d. h. C: ANN. Die NAME - Konstante enthlt den Namen, EA, der Spart fr das Laden e Speichern Netzwerk-Dateien verwendet wird. Eingabeparameter sind ziemlich offensichtlich und die is nicht sind, werden spter erlutert, sowie globale Variablen .. O Einstiegspunkt de jeden EA ist seine init () Funçtion: Zunchst wird geprft, obd EA a den den richtigen Zeitrahmen angewendet wird. Die AnnInputs Variável enthlt die Anzahl der neuronalen Netzwerkeingnge. Da wir drei Stze von verschiedenen Argumenten verwenden werden, soll te teilbar durch 3 sein. AnnPath wird berechnet zum Reflektieren de EA NAME e MagicNumber. die aus den SlowMA. FastMA e SignalMA Eingabeargumenten berechnet wird, die spter fr die MACD-Indikator Signal verwendet werden. Sobrenomes do processo AnnPath, com base em dados neuronais. Data de publicação do relatório () Data de emissão: Data de emissão:. Die Hlfte der geladenen Netze ist fr die Long-Position Filterung gedacht und die ande Hlfte fr Shorts. Die AnnsLoaded Variável wird verwendet um dado Tatsache anzuzeigen, dass todo o Netze korrekt initialisiert wurden. Wie Sie wahrscheinlich bemerkt haben, já não está disponível. Para mais informações, visite nosso site. Ich bezweifle, dass es in dieser Atingir wirklich notwendig ist, aber ich wollte Ihnen das volle Potenzial von Fann2MQL zeigen, die mehrere Netzwerke gleichzeitig handhabt und kann sie parallel verarbeiten kann, unter Ausnutzung von mehreren Processar CPUs. Um exemplo é o Fann2MQL dado à tecnologia Intel Building Blocks Threading. Die Funktion f2Mparallelinit () wird verwendet, die ein Schnittstelle zu initialisieren. Hier ist der Weg, den ich zum Inicializieren der Netze verwendet habe: Wie Sie hehen knenen, wenn die f2Mcreatefromfile () versagt, was durch den negativen Rckgabewert angezeigt wird, wird das Netzwerk mit der f2Mcreatestandard () Criado com o argumento de darauf hinweist, dass Das erstellte Netzwerk 4 Schichten (einschlielich Ein - und Ausgabe) haben sollte, AnnInput / 21 Neuronen in der zweiten verborgenen Schicht und 1 Neurons in der Ausgabeschicht. in der Eingnge haben sollte, AnnInput Neuronen in derstenen verborgenen Schicht, f2Msetactfunctionhidden () wird verwendet, um die A documentação para a criação de um banco de dados sobre a SIGMOIDSYMMETRICSTEPWISE einzustellen (a FANN Dokumentation von fannactivationfuncenum) e a versão completa do documento Ausgabeschicht. Dann gibt es den Aufruf an f2mrandomizeweights (). die verwendet wird neuron Verbindungsgewichte innerhalb des Netzes zu initialisieren. Hier habe ich den Bereich von lt-0,4 0,4gt verwendet, Sie knnen aber jeder andere verwenden, abhngig von Ihrer Anwendung. Um dureer Stelle haben Sie wahrscheinlich die Funktion depurar () bemerkt, die ich ein paar Mal verwendete. Es is to ein derachinfstenen Methoden, um die Verbose Ebene Ihres EA zu ndern. Com o mesmo nome e valores, você também pode encontrar o DebugLevel no Sie die Art und Weise, ou seja, código Ihr die Debug-Ausgabe produzi. Daqui a Argument der Funktion debug (). O nível de depuração está no nível DebugLevel erzeugt die Funktion keine Ausgabe. Se você não está interessado, por favor veja o texto String string ausgegeben. Se você está em Debug-Level 0, wird dieser String ERRO: an den Beginn angehangen. Auf diese Weise knen Debug von Ihrem Code é uma aplicação para o efeito Ebenen aufteilen. O que você está querendo dizer sobre Fehler, então é verdade que ele é Ebene 0 zugeordnet sind. Você viu este item, ou seja, ele está desabilitado como segue 0 senão (foi agora gerado). Auf Ebene 1 werden einige wichtige Informações como, por favor, atualize as imagens do Ladens des Netzes oder Erzeugung. Auf Stufe 2 oder hher nim die Bedeutung von gedruckten Informações allmhlich ab. Vor der ausfhrlichen Erluterung der start () A funktion, die sehr lang ist, muss ich Ihnen einige weitere Funktionen zeigen, die dazu gedacht are die Netz Eingabe vorzubereiten und die tatschlichen Rede de ausências: Die Funktion annprepareinput () wird verwendet, hum den Eingabenamen fr die Netze vorzubereiten (daher der Name). O Zweck é recht einfach, aber das ist Punkt an den ich Sie é erinnern muss, dass die Éingabedaten richtig normalisiert werden mssen. Por favor, especifique o nome do usuário para obter informações mais recentes sobre a queda, incluindo o endereço MACD e sinal de saída, o que significa que você não está autorizado a fazer isso. Em realidade, você deve ter escrito Sie wahrscheinlich mehr Aufmerksamkeit auf die Thema legen. Wie Sie wahrscheinlich vermuten, is die Auswahl der richtigen Eingabeargumente fr Netzeingabe, es Codieren, ist Zersetzung und Normalisierung einer der wichtigsten Faktoren be neuronalen Netz-Verarbeitung. Wie ich bereits erwhnte, hat die Fann2MQL die Fhigkeit die normale Funcionalidade do MetaTrader para o futuro, foi o paralelo multithreaded Verarbeitung von neuronalen Netzen ist. Das globale Argument Parallel steuert dieses Verhalten. Runas () Funktion fhrt alle initialisierten O Netze aus und erhlt die Ausgabrn von ihnen und speichert in dem AnnOutput Array. A experiência está em paralelo. Sie ruft die f2mrunparallel () a die, die die Anzahl von zu verarbeitenden Netzen zu verarbeiten als ein erstes Argumento nimmt, das zweite Argumento ist ein Array mit Handles de Netze die Sie ausfhren wollen, die Bereitstellung des Eingabevektor ist ein drittes Argumento. Todos os Netz mssen auf den gleichen Eingabedaten ausgefhrt werden. Der Empfang der Ausgabe der dem Netz erfolgt durch mehrere Aufrufe von f2mgetoutput (). Betrachten wir nun die start () Funktion: Ich beschreibe es kurz, da es recht gut kommentiert ist. Die tradeallowed () berprft, ob es der Handel erlaubt ist. Im Grunde ist es berprft die AnnsLoaded Variável, morrem de medo, não são mais ricos, não são iniciados, não perdem mais, não perdem mais, não têm mais recursos e não têm prazo. Die nchsten zwei Funktion werden verwendet Netzeingabe vorzubereiten und die O Netz-Verarbeitung auszufhren, wurden nur ween Zeiter weiter oben beschrieben. O mesmo acontece com o computador e o filtro de dados na tabela de variação, o MACD Werte der Signal - und Haupte-linie fr den zuletzt aufgebauten Balken und den vorherigen. No entanto, a regra geral é a seguinte: Die SellSignal und BuySignal werden entsprechend der MACD Signal - und Haupt-Linie Kreuzung berechnet. Você pode usar as seguintes formas de pagamento: As posições, as configurações simétricas, também podem ocorrer. Die LongTicket Variável Incluida Die Ticketnummer der aktuell geffneten Posição. Wenn es gleich zu -1 ist, wird keine Posição geffnet, então, quando ComprarSignal gesetzt ist, knede das auf eine gute Mglichkeit hinweisen eine Long-Position zu ffnen. Com a variável NeuroFilter nicht gesetzt ist, wird die geofnet de posição longa e queda de queda, o Neurônio da rede Netz Filterung der Signale - ordem de morte. Um dado de Stelle soll morre LongInput Variável morre um annprepareinput () fr eine sptere Verwendung vorbereiteten InputVector erinnern. Wenn LongTicekt Variable die die Ticket-Nummer hlt, Prft der EA om s ine sta is d ue oder durch StopLoss oder TakeProfit geschlossen wurde. Quando a Ordem não é necessária, não é válida, se a Ordem não é válida para a saída do trem, não é usada, não é válida Ausgabe o chapéu, não é válida para a Wert von -1 não é necessária para a Ordem Ordem com a Verlust não é perdida, mas sim Ordem Com o Gewinn, você pode ver o que você está fazendo () Funktion bergeben und alle verantwortlichen Netze fr den Umgang mit Long-Positionen sind mit ihm trainiert. A partir de agora, você pode usar o Longwift variável LongInput, morra o InputVector no Moment des fnnens der Position hlt. Auf diese Weise wird das Netz, welches Signal Gewinne erbringt e welches ist es nicht. Sobrenomes e ausências de Netz, é o primeiro teste de NeuroFilter no arquivo true das Netz. The annewiselong () verwendet neuronale Netz weise berechnet and is Mittelwert der von allen Netzen zurckgegebenen Werte mit Bedeutung in die Behandlung einer Long-Position. wird unter Verwendung des neuronalen Netzes weise als Mittelwert der Werte von allen Redesenvolvido, redesenhado Long-Position zurck berechnet. Der Delta Parâmetro wird als ein Schwellenwert verwendet, das anzeigt, dass das gefilterte Signal gltig od nicht nicht. Wie viele andere Werte wurde er durch den Prozess der Optimierung erhalten. A freira, sob a luz do dia, é funktioniert, werde ich Ihnen zeigen, wie es verwendet werden kann. Das Testpaar ist natrlich EURUSD. Eu sou benutzte die Daten von Alpari. zu M5 Zeitrahmen konvertiert. Ich nutzte die Zeit von 31.12.2007 para 01.01.2009 fr Die Ausbildung / Optimierung und 01.01.2009-22.032009 fr Testzwecke. Mais informações estão disponíveis no nosso site, a caixa de lucro está disponível em StopLoss, TakeProfit, SlowMA, FastMA e SignalMA Argumento, a data, a data de lançamento do NeuroMACD. mq4 Datei codiert habe. Der NeuroFIlter wurde ebenfalls ausgeschaltet, sowie SaveAnn. die AnnsNumber wurde auf 0 gesetzt um neuronale Verarbeitung zu vermeiden. Ich benutzte den genetischen Algorithmus fr Optimierungsprozess. Sobald die Werte empfangen würden, sah der resultierende Bericht wie folgt aus: Bericht de Trainigsdaten nach grundlegender Parameteroptimierung. Como você está usando, você tem EA no Mini-Konto com o Lot-Gre de 0.01 und einer Anfangseinzahlung von 200 eingesetzt. Você não pode utilizar Parâmetros de pesquisa ou de compra Se você é um proprietário ou não, você pode comprar ou vender Negócios, por isso, é importante salvar e ganhar dinheiro em 30 dias. Ista getan, lasse ich den Teaster noch einmal durchlaufen Das Ergebnis war genau das gleiche, à der der Tatsache, dass der Prozess sehr viel langsamer war (als Folge der neuronalen Verarbeitung) und den Ordner C: ANN würde mit den trainierten Netzwerken besiedelt, wie unten auf dem Bild gezeigt. O que você está procurando é o seguinte: ANN Ordner vor diesem Durchlauf vor dem existiert Der C: ANN Ordner. Sobald wir Netze trainiert haben, ist es Zeit, já testen wie es sich verhlt. Você está relacionado com wir es den trainingsdaten. ndern Sie den NeuroFilter zu true und SaveAnn zu false e starten Sie den Tester. Das Ergebnis, das ich erhalten haben, wird unten gezeigt. Beachie Sie, dass es leicht fr Sie Fall, unterschiedlich, wein knnte, da es einige, Zuflligkeit internhalb Netzwerke in Verbindung Gewichten Neuron is it be Netzwerk Initialisierung vorgesehen (in diesem Beispiel, das explicações ditas Aufruf f2Mrandomizeweights verwendet () innerhalb annload (). Ergebnis erhalten auf Treinamentos periódicos com Neurologador de Sinais Filterung aktiviert Der Nettogewinn ist etwas grer (20,03 gegenber 16,92), doch der Gewinnfaktor ist viel hher (1,25 gegenber 1,1).Mes Anzahl der Trades ist viel weniger (83 contra 1188) und die durchschnittlich aufeinanderfolgende Verificado por Anaishl em 7 de 2 de acordo com a sua opinião sobre este assunto. Signalfilterung funktioniert, aber es sagt nichts darber, wie sie auf Daten arbeitet, die nicht für wirden whrend whrend des Trainings. Das Ergebnis, das ich aus O teste foi testado em (01.01.2009 - 20.03.2009) is un darbersellt: Ergebnis erhalten von Testdaten mit neuronaler Filterung aktiviert Die Anzahl der ausgefhrten Tra O que há de melhor em gerenciá-lo, e que é melhor do que o homem, que é melhor do que o que você está procurando, mas que é melhor do que você pode alugar, não é mais do que você não sabe, mas você não sabe o que fazer com o código MQL4. Der wirkliche Effekt der Verwendung von neuronalen O Netzen in diesem pode ser usado para verificar a data, a data de teste e a data de teste e a data de início da pesquisa NeuroFilter ein - und ausgeschaltet. Im Folgenden ist das erhalten Ergebnis der Testdatenpernode oe neuronale Signalfilterung: Ergebnisse von Testdaten ohne neuronale Filterung. Der Unterschied ist sehr offensichtlich. Como você está, você pode usar o Neurônio para verificar se há ou não um agente de pesquisa, ou seja, o que você está procurando em Como funciona o projeto, ou o homem neuronal Netze no MetaTrader verwendet. Com a ajuda de um programa gratuito e de código aberto, você pode entrar em contato com a equipe de suporte técnico da Netzschicht no banco de dados do Expert Advisor. Você pode obter mais informações sobre este assunto em um dos seguintes sites: Netzen basiert. Die einzigartige Multi-Threading-Fhigkeit kann Ihre Verarbeitung viele Male beschleunigen, abhrngig von der Anzahl der CPU-Kerne, in particular with bestimmte Parameter optimiert werden. Em einem Fall hat es die Optimierung meiner Reforço Aprendizado baseado em EA Verarbeitung de 4 Tagen auf 28 Com um processador de 4-Kern Intel CPU. Whrend des Schreibens dieses Artikels habe ich mich entschlossen Fann2MQL auf der eigenen Site da Web: fann2mql. wordpress /. Sie finden dort die neueste Version de Fann2MQL und mglicherweise to all zuknftigen Versionen fowie die Documentation all Funktionen. Ich verspreche, este é um software de várias versões GPL-Lizenz zu halten, então, se você quiser enviar comentários, Feature-Anfragen oder Patches, o que interessa mais, consulte Sie sicher, es in nchsten Versionen zu finden. Bitte beachten Sie, dass dieser Artikel nur die sehr grundlegende Verwendung von Fann2MQL zeigt. Da dieses Paket nicht viel mehr ist als FANN, kn en S S W W W W W W W F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F Biblioteca de Rede Neural Artificial Rápida: leenissen. dk/fann/ Post Scriptum Nach dem Schreiben dieses Artikels habe ich einen unedeutenden Fehler in NeuroMACD. mq4 gefunden. Die OrderClose () Funktion fr Posições Curtas com o Ticket-Nummer de Long-Positionen gespeist. Esforçou-se como uma estratégia, foi mais no Riching do que o Shorts e os Prazeres da Vida: In the korrekten Versão do livro de dicas do autor Fehler behoben und die OrderFechar () Strategie insgesamt entfernt. O chapéu das Nações Unidas para a Einflusses neuronal Filterung nicht verndert, noch war die é Kontostandkurve vllig anders. Você pode encontrar versões anteriores e posteriores à EA. bersetzt aus dem Englischen von MetaQuotes Software Corp. Originalartikel: mql5 / pt / articles / 1565MetaTrader 5 - Buscar Neuronale Netzwerke: Von der Theorie zur Praxis Einleitung Heutzutage hat sicherlich jeder Trader de schon einmal etwas von einem neuronalen Netzwerk gehrt - we we we wie cool ist, diese zu benutzen. Die Mehrheit scheint zu glauben, dass es sich bei jenen, die mit neuronalen Netzwerken operieren, omirgendwelche bermenschen handeln wrde. Mithilfe des vorliegenden Produtos acabados para serem utilizados, bem como para a arquitectura e para a produção de redes electrónicas Aplicações e aplicações Nutzanwendungen nherzubringen. Das Konzept eines neuronalen Netzwerks Neuronálises mestras Netzwerke zhlen zu den Bereichen der Knstlichen Inteligência-investigação, in denver Unternommen wird, ein menschliches Nervensystem - samt seiner Befhigung zu lernen und zu adaptieren - zu simulieren. O que fazer é neuronale knstliche Netzwerke aus knstlichen Neuronen. Die Struktur eines Neuron kann als eine Komposition folgender Einheiten dargestellt werden: Neuronale Netzwerke weisen eine ganze Reihe um Eigenschaften auf, von denen die wichtigste die ist, dass es lernfhig ist. Der Lernprozess basiert letztendlich darauf, die Gewichte zu verndern. The Net Input wird dann durch die De Aktivierungsfunktion - auf die ich spter noch genauer einghen werde - in den Transformador de saída. O Zusammengefasst ist ein neuronales Netzwerk também é uma arte de Blackbox, inclui entradas de sinais e um resultado final. Hier wen ein mehrschichtiges neuronales O Netzwerk betrachten. Dieses enthlt folgende Komponenten: Die Input-Schicht dient dazu, die Daten ber as Netzwerk zu verteilen. Sie fhrt allerdings, selbst keine Berechnungen durch. Die Outputs é uma Schicht send Signal e uma última Schicht (é um produto de saída) Die Output-Schicht, é uma solução normal (manchmal auch mehr) Neurônio (en) und generiert den Saída de produtos neuronais para Netzwerks. Dieses Signal bildet die Grundlage die zuknftige Steuerlogik des Expert Advisors Die ausgeblendeten Schichten sind Schichten eine Standardneurons, die Signal von der Input-output Saída-Schicht senden. Dessen Input ist der Output der Schneider Schicht, whrend dessen Outputs Input input for Schneck fungiert. Este documento não está disponível no Nederlands Nederlands mit Netzwerk mit zwei ausgeblendeten Schichten. Todos os direitos reservados a neuronale Netzwerke mit mehr ausgeblendeten Schichten geben. Normalisierung der Eingabedaten Die Normalisierung der Eingabedaten ist ein Prozess, bei dem alle Eingabedaten normalisiert werden. As quedas são normais e duram o tempo, as pessoas morrem. Sobre nós Worten: Wie knen wir Werte miteinander vergleichen, die verschiedene Grenordnungen aufweisen Die Normalisierungsformel sieht in standard Standardform folgendermaen aus: Lassen Sie mich das an einem Beispiel erklren: Nehmen wir an, wir haben die Eingabedaten mit mit Bereich 0,10, então dourada 0 und 10. Nun reduzier wir die Daten auf den Bereich 0,1, então continue com 0 und 1. Setzen wir nun diese Werte in die Formel ein, então wir normierte Werte fr jæd beliebige x der Eingabedaten n ermitteln. Und so sieht of Ganze, if in MQL5 implementiert wiref: Zunchst spezifizieren wir das obere und untere Limit des Output-Werts, wod wir wirte werte da Indikator-Minimum und-Maximum erenlten (Daten vom Indikator zu kopieren, wir hier weggelassen , aber beispielsweise die 10 letzten Werte mglich). Schlielich normalisier wir ein jede Input-Element (Indikatorwerte der verschiedenen Balken) e speichern die Ergebnisse in einem Array fr den spteren Gebrauch. Aktivierungsfunktionen Die Aktivierungsfunktion ist ein Funktion, die den Saída ein Neuron berechnet. Der Input, den es erhlt, reprsentiert die Summe aller Input-Produkte und ihrer entsprechenden Gewichte (kurz: gewichtete Summe). Abb. 3. Das knstliche neuronale Netzwerk mit einer skizzierten Aktivierungsfunktion. Die Aktivierungsformel sieht in ihrer Standardform folgendermaen aus: Ista die Aktivierungsfunktion ist die gewichtete Summe, die in der ersten Fase der Saída-Berechnung eines Neurons erhalten wird Ist ein Schwellenwert der Aktivierungsfunktion. Dieser spielt lediglich die Hard Threshold-Funktion eine Boundutung und ist in Funktion gleich 0. Zu den Haupttypen von Aktivierungsfunktionen zhlen: Die Sprung - oder H ard Threshold-Funktion. Diese Funktion wird durch die folgende Formel beschrieben: As quedas morrem de forma mais completa do que o resto do mundo. Wert ist, so gibt die Aktivierungsfunktion 0 zurck. É melhor dizer, por favor, faça um zurck. Die die Sigmoidfunktion beschreibende Formel sieht wie folgt aus aust: Sie wird of bei mehrschichtigen neuronalen Netzwerken und and Netzwerken mit kontinuierlichen Signalen verwendet. Die Gltte als die die Kontinuitt der Funktion sind sehr Eigenschaften positivo. Der Tangens Hyperbolicus. A Eine Funktion, die ebenfalls in der Verbindung mit Netzwerken mit kontinuierlichem Signal verwendet wird. Ehhe Eigenheit: Sie kann negative Werte ausgeben. Die Form einer Aktivierungsfunktion ndern Im vorhergehenden Teil haben wir uns mit den Aktivierungsfunktionstypen auseinandergesetzt. Allerdings gibt es noch eine weitere wichtige Sache zu diskutieren - die Steigung einer Funktion (Agenermen de limite máximo-unktionen). Se não quiser morrer, Sigmoidfunktion noch einmal genauer an. O funktionsgraph weist darauf hin, dass die Funktion ber dem Wertebereich -5,5 glatt wird. Lassen Sie uns die Existenz eines Netzwerks annehmen, das aus en Neuron mit 10 Inputs in einem Output besteht. Freira wollen wir morrem oberen e unteren Variablenwerte berechnen. Entrada Jeder wird einen normalisierten Wert - z. B. im Bereich -1,1 - annehmen (wie bereits em Normalisierung der Eingabedaten erwhnt). Wir werden die negativen Eingabewerte verwenden, da es s um eine - selbst bei einem negativen Argument - differenzierbare Funktion handelt. O Gewichte werden dabei demoselben Bereich entnommen. Durch alle mglichen Input-bewiehungsweise Gewicht-Kombinationen erhalten wir die Extremwerte im Bereich von -10,10: Em MQL5 wird die Formel folgendermaen aussehen: Nun mssen wir die Aktivierungsfunktion im identifizierten Bereich zeichnen. Die Sigmoidfunktion soll uns an dieser Stelle als Beispiel dienen. Der einfachste Weg ist dabei die Verwendung von Excel. Você também pode verificar o que está dizendo, ou seja Argumentwert auerhalb des Bereichs -5,5 keinerlei Effekt auf die Ergebnisse ausbt. Dutti deutet darauf hin, dass der Wertebereich unvollstndig ist. Lassen Sie uns versuchen, morre zu beheben. Wir werden den Argument einen zustzlichen Koeffizienten hinzufgen, der es und erlaubt, den Wertebereich zu vergrern. Abb. 5. Der Excel-Graph der Sigmoidfunktion mit zustzlichem Koeffizienten Lassen Sie nun noch einmal einen Blick auf die Graphen werfen. Você também pode gostar de usar (0.4) hinzugefgt, der die Form der Funktion chapéu verndert. Vergleicht man die Tabellenwerte, so scheinen sie jetzt wesentlich gleichmiger verteil zu sein. O conceito de ervilha também foi adotado como garantia: Lassen Sie uns erneut die hyperbolische Tangensfunktion betrachten. Dabei wollen wir - im Gegensatz zu vorherigen Funktionen - auf die Theorie verzichten und uns direkt der Praxis widmen. Der einzige Unterschied besteht darin, dass der Output im Bereich -1,1 liegen kann. Veja mais sobre: ​​Summe Werte im Bereich -10,10 annehmen. Abb. 6. Der Excel-Graph der hyperbolischen Tangensfunktion mit zustzlichem Koeffizienten Der Graph zeigt, dass die Form der Funktion aufgrund der Verwendung des zustzlichen Koeffizienten d 0.2 verbessert worden ist. Os dados também são válidos para todos os casos: A data é a seguinte: A forma e a expressão é a seguinte: Aktivierungsfunktion ndern beziehungsweise verbessern. Lassen Sie uns nun zur praktischen Anwendung kommen. Zunchst werden wir versuchen, die Berechnungen des Net Inputs des Neurons zu implementieren. Daraufhin fgen wir die Aktivierungsfunktion hinzu. Erinnern wir uns noch einmal an die Formel zur Berechnung des Net Inputs eines Neurons: Sehen wir es uns ein wenig genau an: Wir haben damit begonnen, eine Variable, um den Net Input des Neurons zu speichern, als auch zwei Arrays zu definieren: Eingaben und Gewichte Diese Variablen wurden bereits zu Anfang definiert, unabhngig aller Funktionen, um ihnen eine globale Reichweite zu verleihen (Zugriff innerhalb des gesamten Programms mglich) In der OnInit() - Initialisierungsfunktion (jeder andere Funktion wre ebenso denkbar) haben wir das Input - sowie das Gewicht-Array befllt. Hierauf folgte die Summing Loop, nlt3. da wir nur drei Eingaben und drei entsprechende Gewichte haben. Dann haben wir gewichtete Eingabewerte hinzugefgt und haben diese in der Variable gespeichert. Die erste Aufgabe ist somit beendet - und wir haben eine Summe erhalten. Jetzt ist die Aktivierungsfunktion dran. Unten befindet sich der Code zur Berechnung von Aktivierungsfunktionen (siehe Aktivierungsfunktionen ). Der Graph einer Sprung - oder Hard Threshold-Funktion Die hyperbolische Tangensfunktion Die Endmontage Um die Implementation einfach zu gestalten, werden wir uns ein Netzwerk vornehmen, das nur ein einziges Neuron aufweist. Die Bezeichnung Netzwerk mag bei der Verwendung nur eines einzigen Neurons eventuell ein wenig gewagt erscheinen, allerdings geht es uns an dieser Stelle ums Prinzip. Denn schlielich besteht ein mehrschichtiges neuronales Netzwerk aus den selben Neuronen, wobei der Output der vorherigen Neuronenschicht als Input fr die nachfolgende fungiert. Wir werden eine leicht modifizierte Version des Expert Advisors verwenden (Entwicklung und Einfhrung: Schnelleinstieg oder Kurzanleitung fr Anfnger Wir werden daher beispielsweise den Trendindikator des Gleitenden Durchschnittswerts durch den Relative-Strength-Index - Oszillator ersetzen. Informationen betreffend die Parameter eines Indikators und ihre Sequenz finden sich in der eingebauten Hilfe. Zunchst einmal mssen wir unser Netzwerk trainieren. Lassen Sie uns hierfr die Gewichte optimieren. Abb. 7. Strategietester mit dem erforderlichen Set an Parametern Wir werden die Optimierung anhand folgender Parameter vornehmen: Datum - z. B. seit dem Anfang des Jahres Je lnger der Zeitrahmen, umso geringer das Auftreten einer Kurvenanpassung und umso bessere Ergebnisse. Ausfhrung - normal, nur Erffnungskurse. Es gibt keinen Grund fr einen Test, der alle Modi umfasst, da unser EA lediglich die letzten 10 Indikatorwerte bentigt (Whrungswert ausgenommen). Optimierung kann so eingestellt werden, d ass sie den langsamen vollstndigen Algorithmus verwendet. Eine genetische Optimierung verspricht hingegen schnellere Resultate, was besonders bei der Bewertung eines Algorithmus Vorteile bietet. Falls das Ergebnis zufriedenstellend ausfllt, knnen Sie ferner versuchen, den langsamen vollstndigen Algorithmus zu verwenden, um noch genauere Ergebnisse zu erzielen. Vorwrts von 1/2 erlaubt es Ihnen zu beurteilen, wie lange Ihr EA die erhaltenen Resultate generieren kann, bis die nchste Optimierung fllig wird. Zeitrahmen und Whrungspaar knnen nach eigenem Ermessen gewhlt werden. Abb. 8. Optimierung der Parameter und ihrer entsprechenden Bereiche Die Optimierung wird unter Bercksichtigung aller Gewichte und ihrer Bereiche durchgefhrt. Starten Sie die Optimierung, indem Sie in den Einstellungsreiter zurckkehren und den Start-Button drcken. Abb. 9. Infolge der Optimierung erhaltene Daten Nachdem die Optimierung abgeschlossen ist, whlen wir den erfolgreichen Test mit dem maximalen Profitwert im Optimierungsergebnisse-Reiter aus (um nach Parametern zu sortieren, klicken Sie bitte auf den entsprechenden Spaltenkopf). Sie knnen danach auch andere Parameter auswerten und den entsprechenden erfolgreichen Test auswhlen, falls gewnscht. Mit einem Doppelklick auf den bentigten Vorgang initiieren Sie einen Test der Ergebnisse, die im Ergebnis - beziehungsweise Graphen-Reiter angezeigt werden. Abb. 10. Testbericht Abb. 11. Bilanzchart Abb. 12. Trading-Performance des Expert Advisors Nun liegen uns also endlich die finalen Ergebnisse vor - und die sind fr den Anfang gar nicht bel. Bedenken Sie an dieser Stelle bitte, dass wir nur ein Neuron zur Verfgung hatten. Das Beispiel war zweifellos uerst primitiv, dennoch lsst sich nicht leugnen, dass sich selbst damit Profite machen lassen. Vorteile eines neuronalen Netzwerks Lassen Sie uns nun einen EA, der sich einer normalen Logik bedient, und einen, der auf ein neuronales Netzwerk zurckgreifen kann, miteinander vergleichen. Wir werden die Optimierungs - und Testergebnisse eines herkmmlichen, mit dem Terminal ausgelieferten MACD-EAs und eines EAs, der auf einem neuronalen Netzwerk basiert, miteinander vergleichen. Take Profit und Trailing Stop-Werte werden bei der Optimierung nicht bercksichtigt, da sie dem neuronalen Netzwerk-EA nicht zur Verfgung stehen. Beide zu testende Expert Advisors basieren auf dem MACD-Indikator (Moving Average Convergence-Divergence) und den folgenden Parametern: Zeitraum fr den schnellen gleitenden Durchschnittswert: 12 Zeitraum fr den langsamen gleitenden Durchschnittswert: 26 Zeitraum fr die durchschnittliche Differenz . 9 Preistyp . Schlussnotierung. Sie haben ferner die Mglichkeit, das bentigte Whrungspaar und den Zeitraum zu ndern. Wir werden dies im vorliegenden Fall jedoch nicht tun: EURUSD, H1. Die Testperiode ist in beiden Fllen identisch: die Erffnungskurse seit dem Anfang des Jahres. Abb. 13. Vergleich der Schlsseleigenschaften Dieser Artikel hat die wichtigste Punkte abgedeckt, die Sie wissen mssen, wenn Sie einen EA konzipieren wollen, der auf ein neuronales Netzwerk zurckgreift. Wir haben die Struktur eines Neurons als auch eines neuronalen Netzwerks kennengelernt, es wurden Aktivierungsfunktionen und Methoden umrissen, mit denen man ihre Form verndern kann, als auch der Prozess einer Optimierung sowie einer Normalisierung von Eingabedaten skizziert. Auerdem haben wir einen EA, der sich einer normalen Logik bedient, mit einem, der auf einer neuronalen Netzwerk-Logik basiert, vergleichen. bersetzt aus dem Russischen von MetaQuotes Software Corp. Originalartikel: mql5/ru/articles/497Wertpapier Forum: Knstliche neuronale Netzwerke Gruppe: Benutzer Beitrge: 7 Registriert: 15. September 05 Geschrieben 08. Januar 2012 - 01:38 also ich habe verschiedene Netze verwendet, feed-forward und rekursive. Insgesamt habe ich momentan etwa 300 verschiedene Netze dokumentiert und trainiert. Dabei unterscheiden sie sich hinsichtlich ihrer Struktur, d. h. Anzahl der Schichten und Neuronen, und der verwendeten Inputs. Ich bin noch ganz am Anfang und noch sehr viel am probieren, das eine Netze existiert also noch nicht. Die neusten Netze liegen bei 252ber 55 (vereinzelt knapp 60) Trefferquote (also DAX steigt/sinkt am n228chsten Tag), sehe aber hier noch etwas Potential nach oben. Inputs sind verschiedene Indizes (DJ, Nikkei. ), Wechselkurse und andere Konjunkturdaten, insgesamt mehrere Dutzend. Die Schwierigkeit liegt an der Datenvorbereitung, so gelang es mir bisher zum Beispiel noch nicht Roh246lpreise ab 1995 auf t228glicher Basis zu finden und zu integrieren. Dies nur als Beispiel, tats228chlich habe ich noch viele weitere Ideen f252r Inputs, welche ich nach und nach integrieren werde. Als Grundlagenpaper eignet sich vielleicht dieses: Using Neural Networks to Forecast Stock Market Prices Gibt einen guten 220berblick 252ber verschiedene Ans228tze. Vielleicht noch zur Erkl228rung, weswegen ich nach der optimalen Handelsstrategie f252r die Netze suche: Ich m246chte das Ganze gerne direkt anwendungsorientiert gestalten, um Zeit einzusparen. Die Inputs/Outputs sollten daher richtig gew228hlt werden, daher frage ich mich auch, wie es sich mit dem Future-DAX-Kurs und den Real-DAX-Kurs (den ich auf Yahoo finde und ich zum trainieren der Netze verwende) verh228lt. Versuche mich derzeit etwas einzulesen, aber tue ich mich dabei noch etwas schwer. Verstehe zum Beispiel nicht, weswegen sich der Future-Kurs meist oberhalb des reellen Kurses, sich aber auch unterhalb befinden kann. Vielen Dank und Gr252223e, Hoobee Dieser Beitrag wurde von Hoobee bearbeitet: 08. Januar 2012 - 01:41 Geschrieben 08. Januar 2012 - 08:18 Vielleicht noch zur Erklrung, weswegen ich nach der optimalen Handelsstrategie fr die Netze suche: Ich mchte das Ganze gerne direkt anwendungsorientiert gestalten, um Zeit einzusparen. Die Inputs/Outputs sollten daher richtig gewhlt werden, daher frage ich mich auch, wie es sich mit dem Future-DAX-Kurs und den Real-DAX-Kurs (den ich auf Yahoo finde und ich zum trainieren der Netze verwende) verhlt. Versuche mich derzeit etwas einzulesen, aber tue ich mich dabei noch etwas schwer. Verstehe zum Beispiel nicht, weswegen sich der Future-Kurs meist oberhalb des reellen Kurses, sich aber auch unterhalb befinden kann. Wenn du am Ende eh nicht den DAX handelst sondern ein Derivat, dann erschliet sich mir nicht, warum du berhaupt eine Vorhersage fr den DAX treffen willst. Normalerweise will man wissen, wie sich das Papier entwickelt, das man auch handelt. Bei 55 Prozent (wie hast du die denn ermittelt) wrde das heien, dass von 100 Trades 45 in Verlust enden. Das klingt fr mich aber ehrlich gesagt nach der typischen Baseline. Da der DAX seit 1990 einen Aufwrtstrend hat, sind also steigende Kurse sowieso hufiger als Fallende, damit brauchst du aber kein KNN um zu wissen, dass die Kurse am nchsten Tag hher liegen als am Tag zuvor. Mit dieser Prmisse kann dich jeder der Buy and Hold macht zu geringeren Kosten outperfomen, weil er weniger Trades macht und ein geringeres Risiko eingehen muss. Was dein KNN also vorhersagen muss, damit es Sinn macht, ist nicht nur die Richtung der Kurse, sondern auch wie gro die Rendite zum Vortag ist. Dir ntzt es nmlich nichts, wenn der DAX 0,1 Prozent hher schliet, du aber erst mit einem Plus von 0,3 Prozent Geld verdienst. Da hast du nmlich nach Kosten wieder einen Verlust und deine 55 Prozent entwickeln sich ziemlich schnell zu 40 Prozent. Trading ist fr mich keine Strategie sondern Arbeit -- Zeit gegen Geld. Ich investiere in Aktien, um meine finanzielle Unabhngigkeit zu erreichen und von Dividenden Leben zu knnen. Dazu verfolge ich meine Strategie der Auswahl an Assets, die mein Vermgen steigern und mein passives Einkommen verbessern. Mein Anlagehorizont betrgt mindestens 5 bis 10 Jahre. Ich orientiere mich dabei verstrkt an Value-Werten mit starken Wachstumsaussichten, die sich fr Buy and Hold eigenen. Ein wichtiges Kriterium fr die Auswahl ist besonders der positive Cashflow des Unternehmens und die Dividenden-Rendite. 10 Hoobee Gruppe: Benutzer Beitrge: 7 Registriert: 15. September 05 Geschrieben 08. Januar 2012 - 11:05 H. B. Danke f252r die Erkl228rung, glaube das habe ich nun verstanden StockJunky Ich hab den DAX-Kurs von Yahoo gew228hlt, da es sich anfangs nur um eine Spielerei (bei der es auch immer noch bleiben kann) gehandelt hat und ich nur mal prinzipiell testen wollte, ob das funktionieren k246nnte, oder nicht. An Derivate habe ich zu dem Zeitpunkt noch gar nicht gedacht, weswegen ich hier ja auch nachfrage, wie man mit dem System, so wie es ist, erfolgreich handeln k246nnte. Getestet habe ich folgenderma223en: - zu Beginn habe ich Aussagen 252ber den Dow Jones treffen wollen (positiv/negativ am n228chsten Tag), habe dann 252ber mehrere Tausend Tage das Netz trainiert und im Anschluss f252r knapp 1000 Tage getestet. Dabei Habe ich die Outputs in quot0quot f252r negativ und quot1quot f252r positiv ausgewertet und die vorhandenen Werte (wie sich der DJ wirklich entwickelt hat) auch. Ein einfacher Vergleich zeigte dann schon schnell, dass die Netze praktisch immer 252ber 50 treffen, also richtig liegen bei plus oder minus - angespornt durch die positiven Ergebnisse (immerhin 246fters richtig als falsch 252ber einen Zeitraum von knapp 3 Jahren - ohne Re-Training) aus dem DJ habe ich das ganze auf den DAX umgem252nzt, mehr Trainingstage und daf252r weniger Testtage ( 320) genommen, wie oben beschrieben getestet, und erreiche mittlerweile gt55 Das 55 Prozent nur knapp 252ber 50 Prozent sind und vielleicht mit Orderkosten die quotBaselinequot bilden ist mir klar, unter 60 Prozent Ergebnisse aus den Trockentests wird nichts weiter passieren. Jedoch spiele ich seit Jahren Poker und dabei habe ich die Einstellungen gewonnen, dass wenn ich 246fters richtig als falsch liege ich durchaus gewinne (Geplant ist nat252rlich tats228chlich Aussagen 252ber Prozente zu treffen, wie gesagt, mache das Ganze erst seit Dezember und muss noch viel lernen und lesen) Oder so gesagt:8220In this business, if you8217re good, you8217re right six times out of 10. You8217re never going to be right nine times out of 10.8221 (Zitat von Peter Lynch). Dieser Beitrag wurde von Hoobee bearbeitet: 08. Januar 2012 - 11:07 11 etherial Gruppe: Benutzer Beitrge: 3.546 Registriert: 26. Februar 07 Geschrieben 08. Januar 2012 - 19:09 Bei 55 Prozent (wie hast du die denn ermittelt) wrde das heien, dass von 100 Trades 45 in Verlust enden. Das klingt fr mich aber ehrlich gesagt nach der typischen Baseline. Da der DAX seit 1990 einen Aufwrtstrend hat, sind also steigende Kurse sowieso hufiger als Fallende, damit brauchst du aber kein KNN um zu wissen, dass die Kurse am nchsten Tag hher liegen als am Tag zuvor. Ich habs mal mit den Daten seit 1990 ausgerechnet: - 52 steigende Kurse - 48 fallende Kurse Ich hab dann mal zum Spa ein paar simple Strategien angewendet: - Gehe immer von steigender Entwicklung aus - 52 Treffer, 48 Fehler - Nimm stets an, dass die Entwicklung von gestern sich heute fortsetzt - 51 Treffer, 49 Fehler - Nimm stets an, dass eine Entwicklung die zwei Tage andauerte auch einen dritten andauert (in anderen Flle gehe von steigenden Kursen aus) - 51,5 Treffer, 48,5 Fehler Ich wrde dir allerdings beipflichten, dass 55 Treffer zu schlecht sind - insbesondere dann, wenn noch nichtmal klar ist mit welcher Signifikanz das aufgeht. Was dein KNN also vorhersagen muss, damit es Sinn macht, ist nicht nur die Richtung der Kurse, sondern auch wie gro die Rendite zum Vortag ist. Dir ntzt es nmlich nichts, wenn der DAX 0,1 Prozent hher schliet, du aber erst mit einem Plus von 0,3 Prozent Geld verdienst. Da hast du nmlich nach Kosten wieder einen Verlust und deine 55 Prozent entwickeln sich ziemlich schnell zu 40 Prozent. Bei Futures treten die Transaktionskosten in den Hintergrund. Wer sich einen Eindruck von der Mchtigkeit Neuronaler Netze machen mchte kann ja mal das hier ausprobieren phi-t. de/mousegame/. Geschrieben 03. Februar 2012 - 23:42 Ich besch228ftige mich nun seit ein paar Wochen mit k252nstlichen neuronalen Netzwerken, welche ich im Laufe meines (ingenieurwissenschaftliches) Studiums kennengelernt habe, um Vorhersagen auf den DAX zu erzielen. Momentan teste ich nur ob ich ein Plus oder Minus f252r den n228chsten Tag vorhersagen kann. Dabei habe ich das Netzwerk 252ber gt1000 Tage trainiert und teste im Anschluss mit 300 Tagen . welche dem Netz zum ersten Mal gezeigt werden. Dabei erziele ich eine Trefferquote von 55. Das Netz liegt also 246fters richtig, als falsch. also ich habe verschiedene Netze verwendet, feed-forward und rekursive. Insgesamt habe ich momentan etwa 300 verschiedene Netze dokumentiert und trainiert. Je nachdem, wie du das gemacht hast, k246nntest du auch in eine statistische Falle getappt sein. Du hast evtl. quotzu vielequot Netze ausprobiert und die Beschreibung, wie du sie testest, klingt zun228chst mal nach einem wenig geeigneten Testverfahren. Wenn alle Netze jeweils nur einem einzigen Test unterliegen und du massenweise Netze testest, wird da mit hoher Wahrscheinlichkeit irgendwann auch ein Netz dabei sein, das aus den Lerndaten Regeln ableitet, die sehr gut zu diesen speziellen Testdaten passen. Hier w228ren erweiterte Testverfahren angemessen, wie z. B. Cross-validation. Aber auch sie eliminieren die M246glichkeit dieser quotFallequot nicht, sie machen sie nur unwahrscheinlicher. Und wenn du dann weiter viele unterschiedliche Netze damit testest, steigerst du die Wahrscheinlichkeit wieder, blo223 ein Netz gefunden zu haben, das deinen Test besteht, aber nicht in der Realit228t funktioniert. Das ist wie mit statistischen Tests, wo man eine Regelm228223igkeit finden will, die mit 95-iger Wahrscheinlichkeit in den Daten vorhanden ist. Macht man eine Untersuchung und die Regelm228223igkeit best228tigt sich, ist das ok. Macht man aber 100 Untersuchungen und findet dabei 5 best228tigte Regelm228223igkeiten, kann man das Ergebnis getrost in die Tonne kloppen. F252r so viele Untersuchungen muss man die Signifikanzh252rde entsprechend anheben. Eventuell habe ich aber deine Beschreibungen auch falsch aufgefasst - soll jedenfalls nur so ein Hinweis von einem auf kognitive Systeme spezialisierten Informatiker sein. Im 220brigen sind aus meiner Sicht mittlerweile SVMs (mit nicht-linearen Kernels) f252r solche Anwendungen interessanter als neuronale Netze, da sie etwas beherrschbarer als NNs sind und deren Optimierung auf besseren theoretischen Grundlagen fu223t. Ich hatte gerade etwas Zeit und habe mal nachgerechnet, wie gro223 die Wahrscheinlichkeit ist, dass eine zuf228llige bin228re Folge mit einer vorgegebenen anderen Folge der L228nge 300 in mindestens 165 Bits (also 55) 252bereinstimmt. Wenn ich mich nicht t228usche, liegt sie bei ca. 4,695. Das hei223t, man braucht im Schnitt 22 Versuche, um diese 220bereinstimmung zu erreichen. Wenn du 300 Netze (d. h. Versuche) daf252r gebraucht hast, hattest du sogar richtig quotPechquot. Statistisch h228ttest du schon nach 22 Netzen ein Netz bekommen m252ssen, das deinen 300-Tage-Test zuf228llig zu mindestens 55 besteht. Wenn ich deinen Testaufbau also richtig verstanden habe, ist das Ergebnis bisher nicht statistisch signifikant. Dieser Beitrag wurde von ipl bearbeitet: 04. Februar 2012 - 01:21

No comments:

Post a Comment