Esta questão já tem uma resposta aqui: Estou tentando calcular as médias móveis com crossover com datas variáveis. O meu banco de dados está estruturado: Por exemplo, Id gostaria de descobrir se o preço médio que retorna X dias é maior do que o preço médio retornando Y dias nos últimos dias Z. Cada um desses períodos de tempo é variável. Isso precisa ser executado para cada estoque no banco de dados (cerca de 3000 ações com preços que retornam 100 anos). Estou um pouco preso nisso, o que eu atualmente tenho é uma bagunça de subconsultas SQL que não funcionam porque eles não podem explicar o fato de que X, Y e Z podem ser todos os valores (0-N). Ou seja, nos últimos 5 dias, eu poderia estar procurando um estoque onde a média de 40 dias é de 5, ou os 5 40. Ou eu poderia estar olhando nos últimos 40 dias para encontrar ações onde a média móvel de 10 dias é de 30 Média móvel do dia. Esta questão é diferente das outras questões, pois há datas variáveis e curtas, bem como um termo variável. Pediu 27 de abril às 14:51 marcado como duplicado por Cheran Shunmugavel. Jean-Bernard Pellerin. Tikhon Jelvis. Akond. Roman C 28 de abril 13 às 9:01 Esta questão foi marcada como uma duplicação exata de uma questão existente. Por favor, veja estas postagens anteriores no Stackoverflow: estas postagens têm soluções para sua pergunta. Respondeu 27 de abril às 14:55 Esta questão é diferente das outras questões, pois há datas variáveis e curtas, bem como um termo variável. Ndash user1797484 28 de abril 13 às 13:46 Eu acho que a maneira mais direta de fazer uma média móvel no MySQL está usando uma subconsulta correlata. Aqui está um exemplo: você precisa preencher os valores para x e y. Por razões de desempenho, você quer um índice de preços (estoque, data, preço de fechamento). Se você tem uma opção para outro banco de dados, Oracle, Postgres e SQL Server 2012 oferecem soluções de melhor desempenho para esse problema. No Postgres, você pode escrever isso como: Se, em um gráfico, fizemos duas barras que são mais baixas do que as duas barras anteriores e trocamos uma linha de volta para uma barra da barra atual que é pelo menos tão baixa como A barra atual, haverá uma barra mais alta entre essas duas barras. A média móvel que eu gostaria seria de comprimento do período da barra alta até o comprimento da barra atual, inclusive. Então, se houver 5 barras daquela barra alta entre as duas barras quotadas, inclusive, o período de duração da MA de interesse seria 5. Se outra barra inferior fosse gerada e a barra alta entre essa e a barra antes disso fosse de Igualmente baixo preço foi o mesmo bar, então o período de duração do MA de interesse seria então 6. Existe um IndicatorEA que produz este MA ou poderia ser codificado Talvez até algo parecido fora seria um bom lugar para começar. sim, isso pode ser feito. Mas você precisa de um método para identificar os baixos e altos. Provavelmente o indicador irá pintar o último balanço. Se você olhar para o meu lado, você encontrará um indicador que faz quase o mesmo. Como faço para chegar ao lado. Alças e baixas combinadas: se a barra atual for menor do que as duas barras anteriores, desenhe uma linha de volta da barra atual para uma Bar que é pelo menos tão baixo. Em seguida, encontre a barra entre a barra atual e aquela barra histórica que foi pelo menos tão baixa que é maior do que todas as outras barras no meio. Essa é a barra de âncora. O número de barras da barra alta para a barra atual é o comprimento do período do MA. Se a próxima barra depois da barra atual for maior, o comprimento do período MA permanecerá o mesmo. Se for menor, do que você deve repetir todos os itens acima para a nova barra. Nesse caso, o indicador que você solicitou pintaria as últimas 3 barras. Ps, eu envie-lhe uma pm desde que colocar um link é considerado como advertindo aqui. Não tenho certeza se eu entendi seu método highlow. Se a barra atual for maior do que as duas anteriores, um aumento iniciado. Se a barra atual estiver mais baixa, as duas anteriores, uma descida, iniciou o período Ma, ajustada para o limite do balanço. Não consigo ver um sistema neste indicador: (A função Moeda Variável (Comprimento Variável) retorna a média móvel de um campo durante um período de tempo variável. Parâmetros ----------------- - Dados Os dados a utilizar na média. Este é tipicamente um campo em uma série de dados ou um valor calculado. Período O número de barras de dados para incluir na média, incluindo o valor atual. Por exemplo, um período de 3 inclui O valor atual e os dois valores anteriores. Período máximo O valor máximo que o Período pode conter. Os valores maiores requerem memória extra para ser reservada para esta função ser calculada. Nota: Um ponto final do parâmetro do Período pode ser simulado usando Lag Função para obter um valor anterior desta função. Veja as notas para a função Lag para obter mais informações. Função Valor ------------------------ A média móvel É calculado pela média dos valores anteriores ao longo do período, incluindo o valor atual. A média móvel no início de Uma série de dados não está definida até que haja valores suficientes para preencher o período especificado. Se o período for maior que o período máximo ou negativo, o valor não está definido. Se o período contiver um número fracionário, somente a parcela inteira será usada. Uso ----------- As funções de comprimento variável podem ser usadas em associação com outros cálculos, como Bars Since functions, para determinar os valores desde que ocorreu um evento. Por exemplo, a seguinte fórmula retornaria a média do campo High desde a maior alta nas últimas dez barras: MAVL (High, Add (BarsSinceHigh (High, 10). 1). 10) As médias móveis são úteis para suavizar noisy raw Dados, tais como preços diários. Os dados de preços podem variar muito do dia-a-dia, obscurecendo se o preço está subindo ou desce ao longo do tempo. Ao analisar a média móvel do preço, pode-se ver uma imagem mais geral das tendências subjacentes. Uma vez que as médias móveis podem ser usadas para ver tendências, elas também podem ser usadas para ver se os dados estão atrapalhando a tendência. Os sistemas Entryexit geralmente comparam dados com uma média móvel para determinar se ele está apoiando uma tendência ou iniciando uma nova. Consulte os sistemas de entrada de entrada de amostra para obter um exemplo de usar uma média móvel em um sistema de entrada de entrada.
No comments:
Post a Comment