Monday 10 July 2017

Média Em Rápida Velocidade C ++


Eu sei que isso é viável com o aumento de acordo com: Mas eu realmente gostaria de evitar usar o impulso. Eu mencionei e não encontrei nenhum exemplo adequado ou legível. Basicamente eu quero acompanhar a média móvel de um fluxo contínuo de um fluxo de números de ponto flutuante usando os 1000 números mais recentes como amostra de dados. Qual é a maneira mais fácil de alcançar isso, experimentei usar uma matriz circular, uma média móvel exponencial e uma média móvel mais simples e descobriu que os resultados da matriz circular adequavam minhas necessidades. 12 de junho 12 às 4:38 Se suas necessidades são simples, você pode tentar usar uma média móvel exponencial. Simplificando, você faz uma variável de acumulador e, à medida que seu código examina cada amostra, o código atualiza o acumulador com o novo valor. Você escolhe um alfa constante que está entre 0 e 1 e calcula isso: você precisa apenas encontrar um valor de alfa onde o efeito de uma determinada amostra dura apenas cerca de 1000 amostras. Hmm, na verdade, não tenho certeza de que isso é adequado para você, agora que eu já coloquei aqui. O problema é que 1000 é uma janela bastante longa para uma média móvel exponencial. Não tenho certeza se houver um alfa que espalhe a média nos últimos 1000 números, sem fluxo inferior no cálculo do ponto flutuante. Mas se você quisesse uma média menor, como 30 números ou mais, esta é uma maneira muito fácil e rápida de fazê-lo. Respondeu 12 de junho 12 às 4:44 1 na sua postagem. A média móvel exponencial pode permitir que o alfa seja variável. Assim, isso permite que ele seja usado para calcular médias base de tempo (por exemplo, bytes por segundo). Se o tempo desde a última atualização do acumulador for superior a 1 segundo, você deixa alfa ser 1.0. Caso contrário, você pode deixar alpha be (usecs desde a última atualização1000000). Ndash jxh 12 de junho 12 às 6:21 Basicamente eu quero acompanhar a média móvel de um fluxo contínuo de um fluxo de números de ponto flutuante usando os 1000 números mais recentes como uma amostra de dados. Observe que as atualizações abaixo atualizam o total como elementos como adicionados, evitando a trajetória O (N) cara para calcular a soma - necessária para a média - na demanda. Total é feito um parâmetro diferente de T para suportar, e. Usando um longo tempo quando totalizando 1000 long s, um int para char s, ou um duplo para float total s. Isso é um pouco falho em que numsamples poderia ultrapassar o INTMAX - se você se importar, você poderia usar um sinal não assinado por muito tempo. Ou use um membro extra de dados do bool para gravar quando o recipiente é preenchido pela primeira vez ao andar de bicicleta numsamples em torno da matriz (melhor então renomeado algo inócuo como pos). Respondeu 12 de junho 12 às 5:19 um assume que quotvoid operator (T sample) quot é realmente quotvoid operatorltlt (T sample) quot. Ndash oPless Jun 8 14 às 11:52 oPless ahhh. Bem manchado. Na verdade, eu quis dizer que ele seria um operador vazio () (amostra T), mas é claro que você poderia usar qualquer notação que você gostasse. Vou consertar, obrigado. Ndash Tony D 8 de junho 14 às 14: 27 Na minha aplicação comercial eu tenho ticks ao vivo dos preços das ações. Preciso manter a SMA. Vamos supor que eu quero SMA de 20 velas, onde a duração de cada vela é de 10 segundos. Isso significa que a cada 10 segundos eu tenho um ponto de verificação onde: eu encerro a vela atual e armazene o preço médio nos últimos 10 segundos. A média é (máximo - min) 2 Eu lanço uma vela nova e armazeno o último preço. Eu limpo a vela desactualizada. Eu atualizo o último preço da vela de formação atual e recalculo o SMA. Então, em qualquer marca, preciso recalcular SMA. Na maioria dos casos, apenas o preço da última vela é alterado (porque usamos o último preço). Uma vez por 10 segundos, eu preciso de um pouco mais de trabalho extra - preciso esquecer a média da vela desatualizada e armazenar a média da vela apenas criada. Você pode sugerir como implementar isso com menor latência. A baixa latência é um requisito primário. Pediu 28 de abril às 10:21 Não estou certo se esta é a abordagem que você está procurando, mas aqui está o pseudocódigo para SMAs muito rápidos. Média de Movimento Simples: Eu suponho que seus dados estão vindo na forma de algum fluxo e armazenados na localização de memória contínua (pelo menos com endereços mappáveis ​​continuamente). Assim, com duas adições e uma multiplicação (com 12000) você pode gerar médias móveis subsequentes para Os novos carrapatos. Média móvel exponencial: Essa é uma alternativa decente, como mencionado acima: Aqui não é realmente uma média móvel N-dia. É apenas uma média móvel ponderada com 87 pesos até os últimos N-dias, então quase N-dias é mais parecido. Nota sobre otimizações do compilador: note que ativar as opções SSE ou AVX, se disponível, habilitará uma aceleração maciça desses algoritmos, uma vez que vários cálculos podem ser produzidos em um único ciclo de CPU. Médias móveis avançadas rápidas (EMA) Estratégia Forex Aqui é um realmente fácil de usar. Siga a estratégia forex com base em médias móveis exponenciais rápidas. Deixe-me explicar-lhe como funciona. Eu também dou algumas opções sobre como fechar seus negócios por lucros. Indicadores: 5 médias exponenciais em movimento (5 EMA), 12 médias móveis exponenciais (12 EMA), 32 movimentos exponenciais Média (32 EMA) Prazos preferidos: 1 hora e acima Tarefas de negociação: Todos os pares de moeda preferencial: EURUSD, GBPUSD AUDA, USD, USDJPY EURJPY, GBPJPY GBPUSD Gráfico horário Exemplo 12 A EMA cruza 32 EMA abaixo de 5 EMA cruza 32 EMA e 12 EMA abaixo. Compre o comércio aberto e coloque imediatamente abaixo da área de suporte mais recente. Método de objetivo de preço 1: feche o comércio de compras quando 5 EMA atravessam os 12 EMA de cima (curto prazo). Método de objetivo de preço 2: feche o comércio de compras quando obtém um comércio de vendas válido (não recomendado). Método do objetivo do preço 3: fechar o comércio por 100 pips (gráfico horário), 225 pips (gráfico de 4 horas), 8230 Método do objetivo do preço 4: Usar risco para recompensar o método da relação (por exemplo, arriscar 50 pips para ganhar 100). O gráfico comercial acima nos forneceu 3 sinais de negociação fáceis de detectar. O primeiro pedido de compra foi fechado por 100 pips, o segundo pedido de venda também foi fechado por 100 pips e o terceiro comércio de compras ainda está aberto (método objetivo 2). 12 EMA cruza 32 EMA acima de 5 EMA cruza 32 EMA e 12 EMA de cima Venda aberta e imediatamente coloque a parada acima da área de resistência mais recente. Método do objetivo de preço 1: fechar o comércio de venda quando 5 EMA atravessam os 12 EMA abaixo (a curto prazo). Método de objetivo de preço 2: feche o comércio de compras quando obtém um comércio de compra válido (não recomendado). Método do objetivo do preço 3: fechar o comércio por 100 pips (gráfico horário), 225 pips (gráfico de 4 horas), 8230 Método do objetivo do preço 4: Usar risco para recompensar o método da relação (ou seja, arriscar 60 pips para ganhar 120) Posts Relacionados: Download Forex Analisador PRO Free Today Brand New Forex System com tecnologia de geração de sinais rápidos e rápidos e rápidos. O Forex Analyzer PRO gera sinais de compra e venda diretamente no seu gráfico com precisão laser e NUNCA REPATIMOS Até 200 Pips Todos os dias Compra e venda de sinais de Forex Detecção de alcance diária avançada Email Alertas de negociação móvel Não repete ou atraso Nós sempre respeitamos sua privacidade no Dolphintrader.

No comments:

Post a Comment