Monday 30 January 2017

Multicharts Déplacement Moyenne Croisement

Idéalement, vous souhaitez qu'un signal filtré soit à la fois lisse et sans retard. Lag cause des retards dans vos métiers, et le retard croissant dans vos indicateurs se traduisent généralement par des profits inférieurs. En d'autres termes, les arrivants tardifs obtenir ce qui reste sur la table après la fête a déjà commencé. C'est pourquoi les investisseurs, les banques et les institutions du monde entier demandent la Moyenne Mouvement Jurik Research (JMA). Vous pouvez l'appliquer comme n'importe quelle autre moyenne mobile populaire. Cependant, les JMA ont amélioré le timing et la fluidité vous étonnera. La ligne grise déchiquetée dans le graphique simule l'action de prix qui commence dans une fourchette de négociation faible, puis les écarts à une fourchette de négociation plus élevée. Comme personne n'aime attendre sur les lignes de côté, un filtre de réduction du bruit parfait (ligne verte) se déplacera en douceur le long du centre de la première fourchette de négociation, puis sauter au centre de la nouvelle gamme de négociation presque immédiatement. EasyLanguage amp PowerLanguage Tutorial 8211 Lesson 02 : Codage d'une moyenne mobile Création du premier indicateur réel et expansion des bases Après vous être familiarisé avec l'éditeur PowerLanguage dans le didacticiel PowerLanguage précédent 8211 leçon 01, nous allons maintenant construire sur cette base. Si vous n'avez pas lu la dernière leçon, je vous suggère de le faire d'abord, car elle peut vous aider à comprendre cette leçon. Let8217s commencer avec today8217s leçon maintenant. Ouvrez l'éditeur PowerLanguage et créez une nouvelle étude des indicateurs. Je vais nommer le mien ABCowerLanguage Lesson 02 8211 Moving Average afin que je puisse le trouver facilement dans mon éditeur plus tard. Le nom est totalement à vous, bien sûr, et vous pourriez même le changer plus tard. Comme le suggère la dernière partie du nom de l'indicateur, nous allons créer et tracer une moyenne mobile aujourd'hui. Vous avez probablement vu une moyenne mobile sur un graphique avant ou rappelez-vous la moyenne terme de mathématiques. L'utilisation principale pour les moyennes est comme un filtre pour lisser les données que vous entrez. L'image affiche une moyenne mobile 200 période simple qui donne un résultat très doux. L'inconvénient de cette finesse est que vous introduisez plus de décalage. Cela signifie que la moyenne devient moins sensible aux variations de prix. Si vous jetez un coup d'oeil à l'image suivante, vous verrez combien le comportement d'une moyenne mobile simple de 200 périodes est quand vous le comparez à la moyenne période verte 10. Ce dernier est beaucoup plus rapide en répondant aux changements de prix, mais à son tour il ya beaucoup plus 8220noise8221 dans la moyenne. Il existe de nombreux types de moyennes qui varient principalement dans l'impact de chaque point de données sur le résultat de la moyenne. Une moyenne mobile simple de 200 périodes va simplement calculer une sommation des 200 derniers points de données et la diviser par 200. Le résultat est une moyenne qui donne à chaque point de données la même influence (la même valeur) sur le résultat. La première barre et la dernière barre qui font partie de la moyenne sont toutes deux pondérées de la même façon pour le résultat. Deux autres moyennes proéminentes et couramment utilisés sont la Moyenne mobile exponentielle et la Moyenne mobile pondérée. Tous deux ont des coefficients de pondération plus élevés pour les points de données plus récents. Dans une moyenne mobile pondérée, la pondération diminue dans la progression arithmétique. Pour la moyenne exponentielle, elle diminuera exponentiellement, d'où le nom. Ce sera aussi théoriquement qu'il obtiendra pour aujourd'hui. Si vous voulez lire quelques détails supplémentaires sur les moyennes, vous pouvez commencer avec cet article de Wikipedia. Pour une meilleure compréhension de cette leçon, vous n'aurez pas besoin de ces informations supplémentaires. Let8217s commencent par coder notre moyenne. Notre indicateur ne doit pas seulement calculer une moyenne, mais il doit donner le résultat à un graphique. EasyLanguage a le mot réservé 8220Plot8221 pour cela et nous l'utiliserons pour le faire. Avant de commencer à programmer quelque chose it8217s toujours une bonne idée de prendre du recul et de réfléchir à ce que vous essayez d'accomplir et comment vous allez le faire. Comme cette étude n'est pas très complexe, il ya seulement quelques choses à penser. Lorsque les études deviennent plus complexes, vous pouvez économiser beaucoup de temps avec une bonne planification d'avance. Le but est une étude qui calcule et trace une moyenne mobile simple. Nous voulons être en mesure de modifier la longueur de la moyenne avec une entrée afin it8217s facile à personnaliser. Pour la moyenne, nous devons additionner la quantité de valeurs corrélées à l'entrée de longueur. Nous ne voulons pas écrire de code pour chaque entrée de longueur possible pour la sommation. Cela signifie que le code doit être capable de calculer toutes les entrées de longueur possibles sur ses propres. Avez-vous déjà une idée comment nous pourrions accomplir ceci? La réponse est que nous avons besoin d'une déclaration d'itération qui peut être exécutée à plusieurs reprises chaque barre pour un nombre spécifique de fois (notre entrée de longueur). Je sais que cela semble compliqué, mais ce sera assez simple. Nous allons utiliser le 8220for loop8221 pour cette tâche. Cette boucle répète une ou plusieurs instructions pour un nombre d'itérations défini par l'utilisateur. Le code EasyLanguage est exécuté de haut en bas et généralement de gauche à droite. Une fois qu'une ligne de code est exécutée, la ligne suivante est exécutée et ainsi de suite. Dans le cas où la ligne de code est le début d'une boucle, les lignes de code dans la boucle seront exécutées pour la quantité spécifiée. Ce n'est que lorsque la boucle est terminée que la ligne de code suivante après l'exécution de la boucle. Une boucle for regarde et fonctionne de la façon suivante: Une variable numérique sera incrémentée (ou décrémentée) avec chaque cycle à travers la boucle de sa valeur initiale à sa valeur finale. Cette image affiche une boucle de base avec une variable de compteur numérique (ii dans ce cas) et la valeur initiale de 0. Les itérations seront effectuées dix fois jusqu'à ce que le compteur ait atteint la valeur de 9. Ensuite, le bloc de boucle est exécuté le dernier Temps et sorti. Vous n'avez pas à incrémenter la valeur de compteur vous-même, le code de boucle prend soin de cela. La valeur du compteur actuel est mémorisée dans la variable du compteur. Vous pouvez donc y accéder pour chaque cycle de boucle et l'utiliser pour vos calculs. Ce sera pratique pour calculer notre moyenne. La boucle for peut également décrémenter le compteur à chaque itération. La valeur initiale dans cet exemple est 9, mais la boucle est exécutée dix fois jusqu'à ce qu'elle soit également sortie. Le compteur diminue simplement à chaque itération par un jusqu'à ce qu'il atteigne 0. Dans Easylanguage, vous pouvez facilement référencer les mots, variables et fonctions réservés aux données à partir d'une barre précédente. En utilisant un nombre entre crochets après le mot réservé, le calcul ou la variable renverra la valeur pour cette barre particulière. Le nombre augmente à partir de la barre actuelle (dont vous faites référence à 0) par incréments de un. Lorsque vous voulez stocker la valeur de la bar8217s précédente fermer dans une variable appelée PrevCloseValue vous pouvez le faire comme ceci: Nous voulons construire notre moyenne en utilisant la fermeture pour les dernières barres X. Où X est une entrée pour permettre plus de flexibilité. Vous savez déjà que nous voulons utiliser une boucle pour cela et nous venons de découvrir comment nous pouvons référencer les valeurs Close pour les barres précédentes. Cela devrait suffire à écrire le code pour la partie principale de notre indicateur. Let8217s continue en créant les sections d'entrée et de variable. Vous pouvez vous rappeler de la dernière leçon que l'utilisation de noms de variable significatifs est une bonne pratique de codage et peut vous épargner beaucoup de problèmes plus tard. Nous devons déclarer une entrée afin que nous puissions changer la longueur de notre moyenne sur le graphique. En plus de cela nous voulons une variable qui tient la sommation, un pour maintenir la valeur de compteur et un dernier pour stocker la valeur moyenne. Pour afficher la valeur sur le graphique, nous utiliserons le mot réservé Plot. Ceci est suivi par un nombre de sorte que vous êtes en mesure de faire la distinction entre les différentes parcelles. Ce qui est nécessaire car vous pouvez utiliser jusqu'à 999 parcelles dans Multicharts. Le mot réservé parcelle peut avoir plusieurs paramètres comme la couleur, la taille de la parcelle et un peu plus. Nous allons le garder simple ici et utiliser Plot1 avec seulement deux paramètres 8211 le premier pour l'expression numérique à tracer et un deuxième pour le nom que nous voulons assigner à l'intrigue. Le code final ressemblera à ceci: Après la compilation de ce code, nous sommes presque prêts à charger notre indicateur à un graphique dans Multicharts. Let8217s juste jeter un coup d'oeil aux propriétés de l'indicateur d'abord. Vous pouvez les trouver sous - gt Fichier - gt Propriétés ou en cliquant sur le symbole Propriétés dans le menu (il devrait être celui à gauche pour Compiler). Sous l'onglet Style, vous pouvez modifier la couleur, le style de ligne et l'épaisseur de l'intrigue que vous avez créée. Si vous accédez à l'onglet des propriétés, il y a plusieurs options à définir ou à cocher, mais pour l'instant, vous pouvez uniquement vous assurer que l'option 8220Same As Symbol8221 est cochée. Cela permettra de s'assurer que l'indicateur est appliqué directement sur votre graphique plutôt qu'un sous-diagramme. Maintenant, vous êtes prêt à appliquer l'indicateur à un tableau de votre choix. Lorsque vous avez un graphique ouvert dans la fenêtre principale de Multicharts, vous pouvez simplement insérer l'indicateur sur ce graphique. Lorsque l'indicateur est appliqué, le résultat doit être similaire à la capture d'écran ci-dessus. Cependant, ce doesn8217t semble bien que cela doesn8217t ressembler à une moyenne mobile à tous. La série de prix est presque une ligne plate et l'intrigue en provenance de notre indicateur ne fait qu'augmenter. Avec l'E-Mini SampP 500 étant dans la zone de 18217800 une valeur moyenne mobile de 10 bar pour ce marché de 182179528217647 n'est évidemment pas correct. Cela soulève un problème dans nos calculs. Avez-vous une idée de ce que le code manque? En fait, c'est juste un peu, mais très important détail, nous avons oublié d'ajouter. Nous devons ajouter quelque chose devant la boucle for. La boucle continue simplement d'ajouter les valeurs des dix barres précédentes à chaque nouvelle barre. C'est très bien et nous voulons qu'il fasse exactement cela, mais nous ne voulons pas qu'il ajoute les nouvelles valeurs aux anciennes valeurs. En d'autres termes, vous devez vous assurer que CloseValueSum doesn8217t contienne encore les anciennes valeurs lorsque la boucle for démarre. Avec l'ajout d'une ligne au code, le résultat est exactement ce que nous voulions atteindre. Nous pouvons également changer l'apparence de l'indicateur sur le graphique. En utilisant l'onglet style sous 8220Format Study8221, nous pouvons modifier le résultat visuel comme le style, la couleur et l'épaisseur de la ligne. Sous l'onglet 8220Inputs8221, vous trouverez l'entrée que vous avez créée et le réglage par défaut de la longueur. En chargeant une deuxième instance de l'étude et en utilisant une couleur et une longueur différentes, vous pouvez confirmer que l'étude donne un résultat différent avec une entrée de longueur différente. Si vous rencontrez des difficultés à trouver le bon correctif, n'hésitez pas à nous contacter avec votre solution et nous essaierons de vous aider en temps opportun. Je crains simplement de demander la solution de travail, mais vous devez au moins être en mesure de montrer que vous mettre un peu d'efforts pour trouver la solution, aussi. Comme un dernier indice, vous pouvez jeter un oeil à d'autres indicateurs ou fonctions moyennes et trouver une certaine inspiration pour le lien manquant là. J'espère que vous avez apprécié cette leçon de didacticiel Powerlanguage et je suis impatient de travailler avec vous dans le prochain.


No comments:

Post a Comment