Friday 10 February 2017

Moving Moyenne Code Source

MetaTrader 4 - experts Moyenne mobile - expert pour MetaTrader 4 L'expert en moyenne mobile pour la formation de signaux commerciaux utilise une moyenne mobile. L'ouverture et la fermeture des positions sont effectuées lorsque la moyenne mobile correspond au prix à la barre nouvellement formée (indice de barre égal à 1). La taille du lot sera optimisée selon un algorithme spécial. Le conseiller expert analyse la concordance de la moyenne mobile et du tableau des prix du marché. La vérification est effectuée par la fonction CheckForOpen (). Si la moyenne mobile rencontre la barre de telle sorte que la première est supérieure au prix Ouvert mais inférieure à la valeur proche, la position ACHAT sera ouverte. Si la moyenne mobile rencontre la barre de telle sorte que la première est inférieure au prix Ouvert mais supérieure à la valeur proche, la position VENTE sera ouverte. Money Management utilisé dans l'expert est très simple, mais efficace: le contrôle sur chaque volume de position est effectuée en fonction des résultats des transactions précédentes. Cet algorithme est implémenté par la fonction LotsOptimized (). La taille du lot de base est calculée sur la base du risque maximum autorisé: Le paramètre MaximumRisk affiche le pourcentage de risque de base pour chaque transaction. Il possède habituellement une valeur comprise entre 0,01 (1) et 1 (100). Par exemple, si la marge libre (AccountFreeMargin) équivaut à 20 500 et les règles de gestion du capital prescrivent un risque d'utilisation de 2, la taille du lot de base fera 20500 0,02 1000 0,41. Il est très important de contrôler la précision de la taille du lot et de normaliser le résultat avec les valeurs admissibles. Normalement, les lots fractionnaires avec l'étape de 0,1 sont autorisés. Une transaction ayant un volume de 0,41 ne sera pas exécutée. Pour normaliser, la fonction NormalizeDouble () est utilisée avec précision jusqu'à 1 caractère après le point. Il en résulte un lot de base de 0,4. Le calcul du lot de base sur la base de la marge libre permet d'augmenter les volumes d'exploitation en fonction de la réussite du commerce, c'est-à-dire le commerce avec le réinvestissement. C'est le mécanisme de base avec la gestion du capital obligatoire pour augmenter l'effetiveness du commerce. DecreaseFactor est la mesure dans laquelle la taille du lot sera réduite après la négociation non rentable. Les valeurs normales sont 2,3,4,5. Si les transactions précédentes ne sont pas rentables, les volumes suivants diminueront d'un facteur DecreaseFactor afin d'attendre la période non rentable. C'est le principal facteur dans l'algorithme de gestion du capital. L'idée est très simple: si le commerce est en croissance avec succès, l'expert travaille avec le lot de base de faire un profit maximum. Après la toute première transaction non rentable, l'expert réduira la vitesse jusqu'à ce qu'une nouvelle transaction positive soit faite. L'algorithme permet de désactiver la réduction de la vitesse, pour cela, il faut spécifier DecreaseFactor 0. Le montant des dernières transactions non rentables successives est calculé dans l'historique des transactions. Le lot de base sera recalculé sur cette base: Ainsi, l'algorithme permet de réduire efficacement le risque qui résulte d'une série de transactions non rentables. La taille du lot est obligatoirement vérifiée pour la taille minimale admissible du lot à la fin de la fonction, car Les calculs précédemment effectués peuvent donner lieu au lot 0: L'expert est principalement destiné à travailler avec la période quotidienne, et dans le mode de test - pour faire à prix de clôture. Il ne sera commercialisé qu'à l'ouverture d'une nouvelle barre, c'est pourquoi les modes de la modélisation de chaque tique ne sont pas nécessaires. Les résultats des tests sont représentés dans le rapport. Moyenne de la mobilité L'indicateur technique de la moyenne mobile indique la valeur moyenne du prix de l'instrument pour une certaine période de temps. Quand on calcule la moyenne mobile, on fait la moyenne du prix de l'instrument pour cette période. À mesure que le prix change, sa moyenne mobile augmente ou diminue. Il existe quatre types de moyennes mobiles: Simple (également appelé Arithmétique), Exponentiel. Lissé et pondéré. La moyenne mobile peut être calculée pour tout ensemble de données séquentiel, y compris les prix d'ouverture et de clôture, les prix les plus élevés et les plus bas, le volume des transactions ou tout autre indicateur. C'est souvent le cas lorsque l'on utilise des moyennes mobiles doubles. La seule chose où les moyennes mobiles de différents types divergent considérablement l'une de l'autre, est quand les coefficients de poids, qui sont affectés aux dernières données, sont différents. Dans le cas où nous parlons de moyenne mobile simple. Tous les prix de la période considérée sont égaux en valeur. La moyenne mobile exponentielle et la moyenne mobile pondérée linéaire attachent plus de valeur aux derniers prix. La façon la plus courante d'interpréter la moyenne mobile des prix est de comparer sa dynamique à celle du prix. Lorsque le prix de l'instrument s'élève au-dessus de sa moyenne mobile, un signal d'achat apparaît, si le prix tombe en dessous de sa moyenne mobile, ce que nous avons est un signal de vente. Ce système de négociation, basé sur la moyenne mobile, n'est pas conçu pour fournir une entrée sur le marché juste à son point le plus bas, et sa sortie à droite sur le pic. Il permet d'agir selon la tendance suivante: acheter peu après que les prix atteignent le fond, et vendre peu de temps après que les prix aient atteint leur sommet. Les moyennes mobiles peuvent également être appliquées aux indicateurs. C'est là que l'interprétation des moyennes mobiles des indicateurs est semblable à l'interprétation des moyennes mobiles de prix: si l'indicateur dépasse sa moyenne mobile, cela signifie que le mouvement ascendant des indicateurs devrait continuer: si l'indicateur tombe en dessous de sa moyenne mobile, Signifie qu'il est susceptible de continuer à aller vers le bas. Voici les types de moyennes mobiles sur le graphique: Moyenne mobile simple (SMA) Moyenne mobile exponentielle (EMA) Moyenne mobile lissée (SMMA) Moyenne mobile pondérée linéaire (LWMA) Vous pouvez tester les signaux commerciaux de cet indicateur en créant un expert Dans MQL5 Assistant. Calcul Simple moyenne mobile (SMA) Simple, en d'autres termes, la moyenne mobile arithmétique est calculée en résumant les prix de la fermeture de l'instrument sur un certain nombre de périodes simples (par exemple, 12 heures). Cette valeur est ensuite divisée par le nombre de ces périodes. SMA SOMME (FERMER (i), N) N SOMME somme CLOSE (i) période courante prix de clôture N nombre de périodes de calcul. Moyenne mobile exponentielle (EMA) La moyenne mobile exponentiellement lissée est calculée en ajoutant une certaine part du cours de clôture actuel à la valeur précédente de la moyenne mobile. Avec des moyennes mobiles exponentiellement lissées, les derniers prix de clôture ont plus de valeur. La moyenne mobile exponentielle de P-pourcentage ressemblera à: EMA (FERMER (i) P) (EMA (i - 1) (1 - P) D'une période précédente P le pourcentage d'utilisation de la valeur du prix. Moyenne mobile lissée (SMMA) La première valeur de cette moyenne mobile lissée est calculée comme étant la moyenne mobile simple (SMA): SUM1 SUM (CLOSE (i), N) La seconde moyenne mobile est calculée selon cette formule: SMMA (i) (SMMA1 (N-1) FERMER (i)) N Les moyennes mobiles successives sont calculées selon la formule ci-dessous: PREVSUM SMMA (i - 1) N SMMA (i) (PREVSUM - SMMA (i - 1) N SUM somme SUM1 somme totale des prix de clôture pour N périodes elle est comptée de la barre précédente PREVSUM somme lissée de la barre précédente SMMA (i-1) moyenne mobile lissée de la barre précédente SMMA (i) moyenne mobile lissée de la barre courante (Sauf pour le premier) FERMER (i) cours de clôture courant N période de lissage. Après conversion arithmétique, la formule peut être simplifiée: SMMA (i) (SMMA (i - 1) (N - 1) FERMER (i)) N Moyenne mobile pondérée linéaire (LWMA) Dans le cas de la moyenne mobile pondérée, De plus de valeur que les premières données. La moyenne mobile pondérée est calculée en multipliant chacun des cours de clôture dans la série considérée, par un certain coefficient de pondération: LWMA SUM (FERMER i) i, N) SOMME (i, N) SOMME (i, N) somme totale des coefficients de poids N période de lissage. I ont essentiellement un tableau de valeurs comme ceci: Le tableau ci-dessus est simplifié, Im collecte 1 valeur par milliseconde dans mon code réel et je dois traiter la sortie sur un Algorithme que j'ai écrit pour trouver le pic le plus proche avant un point dans le temps. Ma logique échoue parce que dans mon exemple ci-dessus, 0.36 est le vrai pic, mais mon algorithme regarderait en arrière et verrait le tout dernier nombre 0.25 comme le pic, car il y a une diminution à 0.24 avant lui. L'objectif est de prendre ces valeurs et de leur appliquer un algorithme qui les lisse un peu pour que je possède des valeurs plus linéaires. (C.-à-d.: Id comme mes résultats à curvy, pas jaggedy) On m'a dit d'appliquer un filtre exponentiel de moyenne mobile à mes valeurs. Comment puis-je le faire C'est vraiment difficile pour moi de lire les équations mathématiques, je traite beaucoup mieux avec le code. Comment puis-je traiter les valeurs dans mon tableau, en appliquant un calcul exponentiel de la moyenne mobile pour les égaliser? Demandé 8 février à 20:27 Pour calculer une moyenne mobile exponentielle. Vous devez garder un certain état autour et vous avez besoin d'un paramètre de réglage. Cela nécessite une petite classe (en supposant que vous utilisiez Java 5 ou plus tard): Instantiate avec le paramètre de décroissance que vous voulez (peut prendre l'accord doit être entre 0 et 1), puis utilisez la moyenne () pour filtrer. Lors de la lecture d'une page sur une récurrence mathématique, tout ce que vous avez vraiment besoin de savoir lorsque vous le transformer en code est que les mathématiciens aiment écrire des index dans des tableaux et des séquences avec des indices. (Theyve quelques autres notations ainsi, ce qui ne l'aide pas.) Cependant, l'EMA est assez simple car vous devez seulement se souvenir d'une vieille valeur aucune arrays compliqués d'état requis. Répondre févr. 8 12 at 20h42 TKKocheran: Pretty much. Notez que les premiers termes de la séquence moyenne sauteront un peu en raison des effets de frontière, mais vous obtenez ceux avec d'autres moyennes mobiles aussi. Cependant, un bon avantage est que vous pouvez envelopper la logique de la moyenne mobile dans le moyager et expérimenter sans déranger le reste de votre programme trop. Ndash Donal Fellows Feb 9 12 at 0:06 J'ai de la difficulté à comprendre vos questions, mais je vais essayer de répondre de toute façon. 1) Si votre algorithme a trouvé 0,25 au lieu de 0,36, alors il est faux. C'est faux parce qu'il suppose une augmentation ou une diminution monotone (qui monte ou monte toujours). Sauf si vous moyenne toutes vos données, vos points de données --- comme vous les présenter --- sont non linéaires. Si vous voulez vraiment trouver la valeur maximale entre deux points dans le temps, découpez votre tableau de tmin à tmax et trouvez le maximum de ce sous-tableau. 2) Maintenant, le concept de moyennes mobiles est très simple: imaginez que j'ai la liste suivante: 1.4, 1.5, 1.4, 1.5, 1.5. Je peux le lisser en prenant la moyenne de deux nombres: 1.45, 1.45, 1.45, 1.5. Notez que le premier nombre est la moyenne de 1,5 et 1,4 (deuxième et premier numéros) la deuxième (nouvelle liste) est la moyenne de 1,4 et 1,5 (troisième et deuxième liste ancienne) la troisième (nouvelle liste) la moyenne de 1,5 et 1,4 (Quatrième et troisième), et ainsi de suite. J'aurais pu faire la période trois ou quatre, ou n. Remarquez comment les données sont beaucoup plus lisses. Une bonne façon de voir les moyennes mobiles au travail est d'aller à Google Finance, sélectionnez un stock (essayez Tesla Motors assez volatile (TSLA)) et cliquez sur technicals au bas du graphique. Sélectionnez Moyenne mobile avec une période donnée, et Moyenne mobile exponentielle pour comparer leurs différences. Moyenne mobile exponentielle est juste une autre élaboration de cela, mais pondère les données plus anciennes moins que les nouvelles données, c'est une façon de biais le lissage vers l'arrière. Veuillez lire l'entrée de Wikipedia. Donc, c'est plus un commentaire qu'une réponse, mais la petite boîte de commentaire était juste à minuscule. Bonne chance. Si vous avez des problèmes avec les mathématiques, vous pourriez aller avec une moyenne mobile simple au lieu d'exponentielle. Donc, la sortie que vous obtenez serait les derniers termes x divisé par x. Pseudocode non testé: Notez que vous devrez manipuler les parties de début et de fin des données car clairement vous ne pouvez pas moyenne les 5 derniers termes lorsque vous êtes sur votre 2e point de données. En outre, il existe des moyens plus efficaces de calculer cette moyenne mobile (somme somme - la plus récente la plus récente), mais c'est pour obtenir le concept de ce qui se passe à travers. Réponse 2017 Stack Exchange, Inc


No comments:

Post a Comment