Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Il n'est pas toujours nécessaire de normaliser, qui dit que la grille PEUT et DOIT fonctionner uniquement avec 0 et 1 ?
Je peux joindre une grille simple avec un exemple (malheureusement, je n'ai pas de matériel sous la main pour le moment) - je le ferai plus tard.
où un simple NN résout ce problème sans préparation des données avec normalisation
malheureusement, ce n'est pas la source
l'exemple que j'ai donné, cependant ! c'est comme si c'était déjà normalisé.
la condition a deux plages
1 0-100
2 10-30
il suffit de trouver le rapport de la position dans une plage - qui est connue pour
Il s'agit essentiellement d'une mise à l'échelle.
La normalisation est presque toujours nécessaire. Les données doivent être comprises dans la plage de définition de la fonction d'activation.
Dans le script, la sigmoïde est [-1;+1]. Si vous le remplacez par, disons, une exponentielle... ou racine carrée.
http://www.statsoft.ru/home/portal/applications/NeuralNetworksAdvisor/Adv-new/ActivationFunctions.htm
http://www.statsoft.ru/statportal/tabID__32/MId__141/ModeID__0/PageID__354/DesktopDefault.aspx
voici un exemple de création de réseau ... L'entrée est BASSE, c'est-à-dire qu'il n'y a pas de normalisation.
http://www.statsoft.ru/statportal/tabID__32/MId__141/ModeID__0/PageID__354/DesktopDefault.aspx
voici un exemple de création de réseau ... L'entrée est BASSE, c'est-à-dire qu'il n'y a pas de normalisation.
L'utilisation de données non normalisées est parfois très utile. Ils ne perdent pas leur caractère informatif, qui peut être perdu lors des transformations.
Et il n'existe pas de mécanisme formel pour déterminer le caractère informatif de l'échantillon de formation...
D'ailleurs, l'article ne montre nulle part quelle fonction d'activation est utilisée. Apparemment, quelque chose avec la zone de définition [-inf;+inf] ou [0;+inf] ...
changé un peu le programme !
modification légère du format de sortiemaintenant SCRIPT considère qu'il est de son devoir de calculer les données de sortie avec une grande précision.
Bien entendu, le programme n'est pas universel mais spécialisé pour un certain nombre d'entrées et de sorties.
mais la taille de la couche cachée ! est ajustée dans le processus d'apprentissage
la prochaine version - j'essaierai de le rendre flexible dans le nombre d'entrées et de sorties
et en cas de succès, j'ajouterai un algorithme génétique
dont le but sera de tuer les NEURONS avec un grand nombre d'erreurs
et reproduire les neurones avec peu d'erreurs !
c'est-à-dire, essentiellement, rechercher les neurones de la matrice qui ont le moins d'erreurs et les sélectionner pour les remplacer.
ces neurones qui se sont mal comportés...
1 Le taux d'apprentissage est actuellement faible
2 Changement - le nombre de neurones cachés du 1er niveau est aléatoire sans logique
3 Arrête le processus d'apprentissage s'il obtient une précision élevée sur les échantillons de données d'entrée et de sortie.
Comment puis-je l'utiliser ? J'ai mis un script sur le tableau, des piles de chiffres ont commencé à se réécrire... Que disent ces chiffres ?
Comment puis-je l'utiliser ? J'ai mis un script sur le tableau, des piles de chiffres ont commencé à se réécrire... Que disent ces chiffres ?
Pourquoi en avez-vous besoin ? J'ai mon propre algorithme d'AG, mais j'ai à peine compris le code - j'ai besoin de temps pour comprendre où placer les entrées, comment les sortir, quand acheter et régler et si je peux le faire tout court ? Ou êtes-vous ici pour le Graal?
Comment puis-je l'utiliser ? J'ai mis un script sur le tableau, des piles de chiffres ont commencé à se réécrire... Que disent ces chiffres ?
Pourquoi en avez-vous besoin ? J'ai mon propre algorithme d'AG, mais je n'ai pratiquement rien compris au code. J'ai besoin de temps pour comprendre où placer les entrées, comment les retirer et quand les acheter, le cas échéant ? Ou peut-être que vous cherchez le Graal ici ?
Blast , ne cherchez pas un conseiller expert ou un indicateur - c'est loin d'être le cas.
Il s'agit plutôt d'une étude des principes d'un réseau neuronal dans MQL4.
---
en général, il est raisonnable de l'écrire en C++ sous forme de DLL, ou d'autres langages rapides
Loknar - c'estjuste une modification du script depuis le début pour essayer d'obtenir des résultats plus précis.
--
d'ailleurs j'ai essayé d'ajouter une couche :-), sans parler des entrées et sorties ... l'algorithme d'apprentissage des tuyaux meurt à tout moment...
---
vous voulez essayer quelque chose comme
3 sorties
la sortie n'est pas seulement 0 ou 1 ou -1 0 +1 mais une gamme
x 0 0 - acheter tenir
0 x 0 - plat (sortie achat ou vente)
0 0 x vendre - tenir vendre
où x n'est pas 0 ou 1 mais a un certain écart dans une certaine fourchette, par exemple -1.000 0.000 +1.000
c'est-à-dire qu'il peut prendre une valeur de 0,1122 ou -0,012.
la combinaison de trois sorties est analysée pour le franchissement des limites.
entrées 9 sur chaque tranche horaire - prendre M1 M5 M15 M30 H1 H4 54 entrées au total
nous alimentons la différence entre les moyennes 3 5 8 13 21 34 55 89 144 233 sur chaque traf
total 3-5 5-8 8-13 13-21 21-34 34-55 55-89 89-144 144-233 au total 9 par période de temps
on obtient une sorte de VERIABLE des moyennes dans la vue en grille... :-) dans la matrice
quand nous avons quelque chose comme le modèle 2 3 4 5 6 7 8 9 10 11 le ventilateur est complètement ouvert vers le haut le jugement est Vendre
quand nous avons -2 -3 -4 -5 -6 -7 -8 -9 -10 -11, le modèle est complètement ouvert vers le bas - BAY
Les chiffres sont arbitraires et parfois un modèle -1 -3 -7 -10 -15 -20 -30 -40 -80 sur une période plus longue---
un échantillon de formation de quelque chose comme
1 2 1 0 -3 2 3 0 4 M1
-1 2 -1 0 1 2 3 0 -4 M5
...
........................ H4
Préparation des données pour la formation
Comment puis-je l'utiliser ? J'ai mis un script sur le tableau, des piles de chiffres ont commencé à se réécrire... Que disent ces chiffres ?
Pourquoi en avez-vous besoin ? J'ai mon propre algorithme d'AG, mais j'ai à peine compris le code - j'ai besoin de temps pour comprendre où placer les entrées, comment les retirer et quand les acheter, le cas échéant ? Ou bien avez-vous choisi le Graal ?
Au départ, j'aime l'idée des réseaux neuronaux. Tout ce que je sais à ce sujet, c'est qu'en ayant 1000 points, d'une manière ou d'une autre, le réseau convergera vers un point... et que l'autotrading a été gagné avec un EA basé sur l'algorithme de réseau. J'ai l'intention de créer ma propre version d'un tel réseau mais à ce stade, je ne comprends rien ni à mql4 ni aux réseaux neuronaux.
Par conséquent, je vais d'abord mettre ma stratégie dans Expert Advisor pour apprendre mql4. Et ensuite, je commencerai à penser aux réseaux.
J'ai téléchargé votre version juste par intérêt. C'est la première fois que je rencontre de telles choses. Je ne comprends pas le fonctionnement de ces réseaux. Je n'ai aucune idée du fonctionnement de ces réseaux, c'est pourquoi je me pose de telles questions.
Je serai heureux de recevoir toute référence sur des sujets similaires qui, à votre avis, méritent l'attention !
CE RÉSEAU
changé un peu le logiciel !
a modifié quelque peu le format d'affichage de.maintenant SCRIPT considère comme un devoir de calculer avec une grande précision les données de sortie
le programme n'est pas universel mais spécialisé pour le nombre d'entrées et de sorties
mais la taille de la couche cachée ! est ajustée dans le processus d'apprentissage
la prochaine version - j'essaierai de le rendre flexible dans le nombre d'entrées et de sorties
et en cas de succès, j'ajouterai un algorithme génétique
dont le but sera de tuer les NEURONS avec un grand nombre d'erreurs
et reproduire les neurones avec peu d'erreurs !
c'est-à-dire, essentiellement, rechercher les neurones de la matrice qui ont le moins d'erreurs et les sélectionner pour les remplacer.
ces neurones qui se sont mal comportés...
1 Le taux d'apprentissage est actuellement faible
2 Changer - le nombre de neurones cachés du 1er niveau est aléatoire sans logique
3 Arrêtez l'apprentissage s'il obtient une grande précision sur les données d'entrée et de sortie.
LE MÊME RÉSEAU mais écrit en Microsoft Visual C++ 6.0
La vitesse est supérieure de plusieurs ordres de grandeur à celle de MQL4.
l'algorithme est inchangé, le transfert de MQL4 vers C++ est aussi simple que possible sans utiliser d'objets de classe
Une autre option mais sur MQL
J'essaie juste de travailler sur M1 qui montre la direction de la tendance actuelle.
sortie le 3, en théorie vous ne pouvez pas enseigner au démarrage - mais prendre immédiatement les poids prêts - enseigner à l'avance
---
9 entrées auxquelles on applique la différence normalisée de muwings
---
out-1 out-2 out-3 sortie
0,9 0,01 0,01 tendance vers le haut
0,01 0,9 0,01 flet
0,01 0,01 0,9 tendance à la baisse
---
Je prévois d'ajouter 3-4 échéances et de les compter toutes en même temps !
Le PNN, lorsqu'il est déjà pesé, fonctionne très rapidement.
---
Code de test expérimental - ne me donnez pas de coup de pied.