К основному контенту

Knuth moving average


Abaixo você pode ver meu método C para calcular Bandas Bollinger para cada ponto (média móvel, banda ascendente, banda descendente). Como você pode ver, esse método usa 2 para loops para calcular o desvio padrão móvel usando a média móvel. Ele costumava conter um loop adicional para calcular a média móvel nos últimos n períodos. Este eu poderia remover adicionando o novo valor de ponto a totalaverage no início do loop e removendo o valor do ponto i-n no final do loop. Minha pergunta agora é basicamente: Posso remover o loop interno restante de uma maneira similar que eu consegui com a média móvel perguntada em 31 de janeiro de 13 às 21:45 A resposta é sim, você pode. Em meados dos anos 80, desenvolvi apenas um algoritmo desse tipo (provavelmente não original) no FORTRAN para uma aplicação de monitoramento e controle de processo. Infelizmente, isso aconteceu há mais de 25 anos e não me lembro das fórmulas exatas, mas a técnica foi uma extensão da média móvel, com cálculos de segunda ordem em vez de apenas linear. Depois de olhar para o seu código, penso que posso descobrir como eu fiz isso naquela época. Observe como seu loop interno está fazendo uma Soma de Quadrados: da mesma forma que sua média deve ter originalmente uma Soma de Valores. As únicas duas diferenças são a ordem (seu poder 2 em vez de 1) e que você está subtraindo a média Cada valor antes de você marcar. Agora, isso pode parecer inseparável, mas na verdade eles podem ser separados: agora o primeiro termo é apenas uma Soma de Quadrados, você lida com a mesma maneira que você faz a soma de Valores para a média. O último termo (k2n) é apenas a média ao quadrado do período. Como você divide o resultado pelo período de qualquer maneira, você pode simplesmente adicionar o novo quadrado médio sem o loop extra. Finalmente, no segundo termo (SUM (-2vi) k), desde SUM (vi) total kn, você pode alterá-lo para este: ou apenas -2k2n. Que é -2 vezes o quadrado médio, uma vez que o período (n) é dividido novamente. Então, a fórmula combinada final é: (certifique-se de verificar a validade disso, já que eu estou derrubando o topo da minha cabeça) E incorporar seu código deve ser algo assim: Obrigado por isso. Eu usei isso como base de uma implementação em C para o CLR. Descobri que, na prática, você pode atualizar de forma que newVar seja um número negativo muito pequeno, e o sqrt falhar. Introduzi um if para limitar o valor a zero para este caso. Não é idéia, mas estável. Isso ocorreu quando cada valor na minha janela tinha o mesmo valor (usei um tamanho de janela de 20 e o valor em questão era 0,5, caso alguém pretendesse tentar reproduzir isso). Ndash Drew Noakes 26 de julho 13 às 15:25 Ive Usou common-math (e contribuiu para essa biblioteca) para algo muito parecido com isso. Sua fonte aberta, portar para C deve ser fácil como torta comprada na loja (você tentou fazer uma torta do zero). Confira: commons. apache. org/math/api-3.1.1/index. html. Eles têm uma classe StandardDeviation. Vá para a cidade respondeu Jan 31 13 às 21:48 Você já esqueci Desculpe, eu não tinha a resposta que você estava procurando. Eu definitivamente não queria sugerir portar toda a biblioteca. Apenas o código mínimo necessário, que deveria ser algumas centenas de linhas ou assim. Note-se que não tenho ideia do que as restrições legais / de direitos autorais apache têm nesse código, então você deve verificar isso. No caso de você persegui-lo, aqui está o link. De modo que o Variance FastMath ndash Jason Jan 31 13 às 22:36 A informação mais importante já foi dada acima --- mas talvez isso ainda seja de interesse geral. Uma pequena biblioteca Java para calcular média móvel e desvio padrão está disponível aqui: github / tools4j / meanvar A implementação é baseada em uma variante do método Welfords mencionado acima. Métodos para remover e substituir valores foram derivados que podem ser usados ​​para mover o valor de janelas. Estou tentando encontrar uma maneira de calcular uma média cumulativa em movimento sem armazenar a contagem e os dados totais recebidos até agora. Eu criei dois algoritmos, mas ambos precisam armazenar a contagem: dados médios (dados antigos velhos) dados próximos (próxima contagem anterior) / próxima contagem média média média média (próxima data - média anterior) / próxima contagem O problema com esses métodos é esse A contagem fica maior e maior, resultando em perda de precisão na média resultante. O primeiro método usa a contagem antiga e a próxima contagem, que são obviamente separadas. Isso me fez pensar que talvez exista uma maneira de remover a contagem, mas infelizmente não consegui encontrá-la. No entanto, conseguiu um pouco mais, resultando no segundo método, mas ainda contagem está presente. É possível, ou eu só estou procurando o impossível, perguntou: 28 de setembro 12 às 8:46

Комментарии

Популярные сообщения из этого блога

Análise técnica em forex trading

OANDA usa cookies para tornar nossos sites fáceis de usar e personalizados para nossos visitantes. Os cookies não podem ser usados ​​para identificá-lo pessoalmente. Ao visitar o nosso site, você aceita o uso de cookies da OANDA8217 de acordo com nossa Política de Privacidade. Para bloquear, excluir ou gerenciar cookies, visite aboutcookies. org. A restrição dos cookies impedirá que você se beneficie de algumas das funcionalidades do nosso site. Baixe o nosso Mobile Apps Select conta: ampltiframe src4489469.fls. doubleclick. net/activityisrc4489469typenewsi0catoanda0u1fxtradeiddclatdcrdidtagforchilddirectedtreatmentord1num1 mcesrc4489469.fls. doubleclick. net/activityisrc4489469typenewsi0catoanda0u1fxtradeiddclatdcrdidtagforchilddirectedtreatmentord1num1 width1 height1 frameborder0 styledisplay: nenhum mcestyledisplay: noneampgtamplt / iframeampgt Análises técnicas para Forex Traders Introdução à Análise Técnica Bandas de Bollinger. Índice de Força Relativa. Osciladores estocásticos. R...

Etoro forex trading review

Revisão do eToro Plataforma de negociação social inovadora O eToro se distingue dos corretores tradicionais de divisas, conectando você com milhares de outros comerciantes para discutir e compartilhar suas idéias comerciais. Ao aproveitar a sabedoria das multidões, a eToro pretende fazer de você um investidor mais inteligente. À medida que você segue outros comerciantes e vice-versa, existe uma comunidade de abertura e intercâmbio de conhecimento em um espaço onde tradicionalmente os líderes de lábios apertados costumavam dominar. Copie as estratégias de negociação com a plataforma Openbook Talvez mais poderosa do que a forma como a eToro faça a negociação forex social é como eles permitem que você automatize sua negociação copiando outras posições de comerciantes8217. A plataforma Openbook permite que você aloque partes do seu portfólio para copiar outras estratégias do comerciante8217 e faça automaticamente decisões de compra ou venda com base em suas ações. Esta abordagem diferente ...

Intraday trading strategies for forex

Forex Trading Strategies Um dos meios mais poderosos de ganhar um comércio é o portfólio de estratégias de negociação Forex aplicadas por comerciantes em diferentes situações. Seguir um sistema único o tempo todo não é suficiente para um comércio bem-sucedido. Cada comerciante deve saber como enfrentar todas as condições do mercado, o que, no entanto, não é tão fácil e exige um profundo estudo e compreensão da economia. Para ajudá-lo a atender às suas necessidades educacionais e criar seu próprio portfólio de estratégias de negociação, a IFC Markets fornece a você recursos confiáveis ​​em negociação e informações completas sobre todas as estratégias de negociação forex populares e simples aplicadas por comerciantes bem-sucedidos. As estratégias de negociação que representamos são adequadas para todos os comerciantes que são novatos no comércio ou querem melhorar suas habilidades. Todas as estratégias classificadas e explicadas abaixo são para fins educacionais e podem ser aplicadas por...