Saturday, 4 February 2017

Php Calculer Simple Mobile Moyenne

Moyenne mobile simple Le jour 9, il ya un grand pas dans la moyenne mobile simple, mais le prix a été constant à 17. Le prix bas au jour 4 provoque non seulement une chute de la moyenne mobile simple le jour 4, mais déforme également le déplacement Moyenne au jour 9 mdash causant un saut de valeur lorsque le bas prix est tombé de la période moyenne mobile. C'est ce qu'on appelle communément deux aboiements. Inscrivez-vous à notre liste d'envoi Lire le bulletin Colin Twiggs Trading Diary, avec des articles éducatifs sur le commerce, l'analyse technique, les indicateurs et les nouvelles mises à jour logicielles. J'utilise PHP et a récemment commencé à utiliser l'extension d'analyse technique TA-LIB pour calculer les indicateurs sur les données du cours. Je reçois ce que je considère comme un résultat étrange sur l'un des indicateurs les plus simples, la moyenne mobile simple. Et je n'ai pas compris la raison. J'ai posté une question semblable sur le forum TA-LIB, mais l'activité est très faible et je soupçonne que je ne pourrais pas obtenir une réponse dans un temps long, si du tout. Le SMA calcule la moyenne en fonction d'un nombre donné de points de données de prix précédents. Le problème que je rencontre est mieux illustré par un exemple. Disons que j'ai un ensemble de 10 points de données de prix et je voudrais calculer le SMA. Pour simplifier, utilisons une moyenne de 4. En calculant ceci, nous nous attendrions à un nouvel ensemble de 7 valeurs moyennes. Cependant, TA-LIB retourne 4 comme on le voit ci-dessous: Comme vous pouvez le voir, nous obtenons des nulls au début de l'ensemble, comme prévu. Cependant, nous manquons des points de données à la fin et le nombre de points de données manquants correspond toujours au nombre de points de données sur lesquels je fais la moyenne. Cela provoque un écart inatural à la fin lorsque je tracer la moyenne mobile sur mes données de prix. Toutes les idées sur ce qui se passe demandé Oct 18 14 à 16:05 Il s'avère que Ive fait une erreur stupide, pas étonnamment. J'ai réellement écrit ma propre fonction: Fonctionne bien, mais en comparant ses résultats avec les résultats de TA-LIB j'ai réalisé que le problème est une erreur d'analyse que j'ai faite avec les résultats de TA-LIB. La question que j'ai posée à l'origine est donc invalide. Erreur simple, waiste du temps, mais bon de savoir TA-LIB fonctionne comme je le veux to. When j'avais un problème semblable, j'ai fini par utiliser des tables temporaires pour une variété de raisons, mais il a rendu ce beaucoup plus facile Ce que j'ai fait Ressemble beaucoup à ce que vous faites, en ce qui concerne le schéma. Rendre le schéma quelque chose comme ID identité, startdate, enddate, valeur. Lorsque vous sélectionnez, effectuez une sous-sélection avg des 20 précédentes en fonction de l'ID d'identité. Ne le faites que si vous vous trouvez déjà en utilisant des tables temporaires pour d'autres raisons (j'ai touché les mêmes lignes à plusieurs reprises pour différentes métriques, il était donc utile d'avoir le petit jeu de données). D'après mon expérience, Mysql à partir de 5.5.x tend à ne pas utiliser d'index sur des sélections dépendantes, qu'il s'agisse d'une sous-requête ou d'une jointure. Cela peut avoir un impact très important sur les performances où les critères de sélection dépendants changent à chaque rangée. La moyenne mobile est un exemple de requête qui fait partie de cette catégorie. Le temps d'exécution peut augmenter avec le carré des lignes. Pour éviter cela, choisissez un moteur de base de données qui peut effectuer des recherches indexées sur des sélections dépendantes. Je trouve que postgres fonctionne efficacement pour ce problème. Réponse 2017 Stack Exchange, Inc


No comments:

Post a Comment