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
А
malheureusement, cette observation est malheureuse...également remarquée...
SHOOTER pouvez-vous nous dire brièvement ce que les groupes de paramètres optimisent exactement ?
- x
- y
- z
- X
- Y
- Z
J'en comprends probablement une partie, mais je n'arrive pas encore à avoir une vue d'ensemble dans ma tête.Voici une autre bizarrerie, ou peut-être juste un problème.
Il s'avère que si maintenant F == 0 et qu'il n'y a aucune position ouverte - alors nous pouvons entrer dans le premier bloc d'abord, puis dans le second, ce qui conduira ensuite à des résultats incorrects.
Ou est-ce que je rate quelque chose ?
Probablement pas, cependant. On ne peut pas entrer dans les deux blocs en même temps parce qu'ils ne nous laissent pas entrer.
ne nous laisse pas entrer.
Je n'aime pas critiquer les choses qui fonctionnent. Je vais juste vous donner quelques critiques sur le code :
cpsb. Je ne prends pas les critiques comme des critiques, mais comme un guide pour l'action, c'est-à-dire pour lire au moins un peu du manuel MQL.
Accepté, mais probablement dans les travaux futurs. J'ai obtenu cette "écriture" après d'autres projets plus globaux et en raison de la faible résolution de mon moniteur de 12 pouces. Votre version est sans aucun doute meilleure, mais je devrais constamment faire défiler la liste en avant et en arrière. Mais comme je ne suis pas ici pour moi, je vais le répéter - je vais le garder à l'esprit.
Voir ci-dessus ! Bien que j'aime mes noms, il faut s'y habituer, comme on s'est habitué aux abréviations GOELRO, OBHSS, IMHO, etc. Si vous regardez bien, j'ai donné à certaines variables des noms plus ou moins significatifs, mais j'ai abrégé toutes les voyelles.
Je n'ai pas encore maîtrisé les variables. Lorsque vous écrivez du code à partir de zéro, vous n'avez aucune idée de l'endroit où se trouvera une variable, donc presque tout est global.
empiriquement ce n'est pas le cas, je me rappellerai où je l'ai rencontré - je pense que c'était dans la fonction BuSll ()
Je suis d'accord, corrigeons-le, encore une fois, quand on écrit un bloc à partir de zéro on n'a pas encore idée des paramètres qu'on va passer dans la fonction, et puis l'œil se "salit" et on ne fait pas attention à ces "broutilles" ;))
SHOOTER pouvez-vous nous dire brièvement ce que les groupes de paramètres optimisent exactement ?
La principale force motrice et directrice de l'Expert Advisor est la fonction notoire)) G12(). C'est cette fonction qui permet de calculer les directions préférentielles du commerce sur la base d'indicateurs. Mais une direction ne suffit pas - nous avons besoin de points d'entrée. Dans les "classiques", si sur un horizon temporel, soit on recherche des patrons, soit on fait correspondre l'indicateur lui-même s'il y a des paramètres externes, s'il y en a deux ou plus, ils sont aussi optimisés. J'ai essayé une autre méthode nouvelle pour moi NN
Voici cette fonction
double prcptrnAC(int q1,int q2,int q3,int q4,int pr,int at)
{double qw = (q1-50)+((q2-50)*iA_C(pr)+(q3-50)*iA_C(2*pr)+(q4-50)*iA_C(3*pr))/iA_C(1) ;
si (MathAbs(qw)>at) return(qw);else return(0);}
appelé perceptron et conçu pour obtenir.... quelque chose. Voici en détail quelques réponses à de nombreuses questions, et mieux que je ne l'aurais fait. Comment trouver une stratégie de trading rentable" et Recettes de réseaux neuronaux. Certes, je l'ai moi-même lu en diagonale et je suis devenu plus intéressant en étudiant le travail des autres ; voir ci-dessous.
Cet EA est "créé à partir" de MTS "Neural network + MACD" de Batohov, MTS "Сombo", "Combo_Right" & AI de Reshetov, PROphet de PraVedNiK,RSI_Test de zerkmax, auto_optimization.mqh d'Igor Malcev et quelques autres.
Voici une autre bizarrerie, ou peut-être juste un problème.
Il s'avère que si maintenant F == 0 et qu'il n'y a aucune position ouverte - alors nous pouvons entrer dans le premier bloc d'abord, puis dans le second, ce qui conduira ensuite à des résultats incorrects.
Ou peut-être que je ne comprends pas quelque chose ?
F == 0 uniquement dans les deux premières étapes d'optimisation, lorsqu'en plus de Delta_G12 il y a Trd_Up_X et Trd_Dn_Y.
Si les six étapes sont passées correctement et que les fichiers d'optimisation sont utilisés séquentiellement, alors F devrait toujours être égal à 1.
Et j'ai trouvé mon autre erreur en revoyant le code. Je constate que les dernières versions fonctionnent moins bien. Cette erreur est apparue dans les versions 7 et 9.
Quelqu'un a-t-il remarqué ?
Voici cette fonction
double prcptrnAC(int q1,int q2,int q3,int q4,int pr,int at)
{double qw = (q1-50)+((q2-50)*iA_C(pr)+(q3-50)*iA_C(2*pr)+(q4-50)*iA_C(3*pr))/iA_C(1) ;
si (MathAbs(qw)>at) return(qw);else return(0);}
une sorte de perceptron et destiné à obtenir.... quelque chose.
C'est un peu un mystère pour moi en ce moment. Bien sûr, je comprends ce qu'il fait et à quoi il sert. Mais la formule elle-même est quelque peu inhabituelle.
Le résultat du travail des neurones devrait être un nombre additionnant les entrées des neurones multipliées par les poids de ces entrées.
C'est-à-dire que, logiquement, cela devrait être quelque chose comme ce qui suit :
Il est clair que les deux sont une certaine fonction de 4 variables (ou est-ce 8 ?) qui est impliquée dans la recherche du maximum (équilibre résultant), mais c'est toujours bizarre :)
Cette fonction est toujours un mystère pour moi. Bien sûr, je comprends ce qu'il fait et pourquoi il le fait. Mais la formule elle-même est quelque peu inhabituelle.
Le résultat du travail des neurones devrait être un nombre additionnant les entrées des neurones multipliées par les poids de ces entrées.
Donc, logiquement, ça devrait être quelque chose comme ça :
Il est clair que les deux sont une fonction de 4 variables (ou est-ce 8 ?) qui est impliquée dans la recherche du maximum (équilibre résultant), mais c'est toujours bizarre :)
Vous avez donné une version simplifiée de la fonction, du moins c'est ainsi que je la comprends.
C'est ici qu'on en parle
MTS 'Sombo'.
Pour être honnête, il ne s'agit pas d'un réseau neuronal dans sa forme la plus pure. Tout d'abord, il manque une valeur seuil sans laquelle la capacité de division du NS est beaucoup plus faible. Deuxièmement, IMHO, il vaut la peine d'ajouter un seuil d'activation de la sortie. Qu'est-ce que cela signifie ? Pour ne renvoyer le signal à la négociation que si le seuil d'activation est dépassé. Par exemple :
double res = (w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4 // )/Close[0] - T); // Diviser par Close[0] pour unification
if (MathAbs(res) > ActivityThreshold) return(res); // ActivityThreshold -- seuil d'activation
Les versions antérieures utilisaient Close(0) dans la formule z1 du perceptron, mais dans les versions 7 et 9 Close(1). C'est de ça qu'on parle ?
Non, je ne pense pas qu'il s'agisse de cela, après tout il y a une règle pour travailler sur des barres formées.
Mais le fait que le drapeau Flq=faux ; un pour l'achat et un pour la vente influence fortement la répartition de ces directions de trading et donc les résultats.