Monday 14 August 2017

Indicador De Divisas Kagi


MetaTrader 5 - Exemplos Indicador para Kagi Charting Introdução O artigo Indicador para Pictografia de Ponto e Figura descreveu uma das formas de programação de criação do gráfico de pontos e figuras. Este gráfico é conhecido desde o século XIX. No entanto, este não é o único gráfico do passado remoto. Outro representante notável dos primeiros tipos de representação do mercado financeiro é o gráfico Kagi. Este quadro será discutido no presente artigo. A instituição financeira da bolsa de valores desconhecida para o Japão do século XIX foi criada em maio de 1878. Hoje conhecida como Bolsa de Valores de Tóquio. Este evento desempenhou um papel vital na criação e desenvolvimento subseqüente de gráficos da Kagi. A Europa e os EUA vieram conhecer as cartas de Kagi após a publicação de Steve Nisons Beyond Candlesticks: Novas técnicas japonesas de gráficos reveladas em 1994. As palavras japonesas Kagi significam uma chave em forma de L que estava em uso no momento do desenvolvimento do gráfico. Além disso, há uma versão modificada do gráfico de palavras de nome. Em Steve Nisons Beyond Candlesticks, você também pode encontrar nomes alternativos do gráfico: gráfico de preços, gráfico de gancho, delta ou gráfico de cadeia. O que é tão especial sobre este gráfico. Sua característica principal é que ignora a escala de tempo deixando apenas o preço um (ao contrário dos castiçais japoneses, barras e linhas). Assim, o gráfico esconde flutuações de preços insignificantes deixando apenas os mais significativos. O gráfico representa um conjunto de linhas grossas de Yang e finas Yin que se substituem, dependendo da situação do mercado. Caso o mercado se mova na mesma direção, a linha é ampliada, atingindo uma nova faixa de preço. No entanto, se o mercado voltar e chegar a uma quantidade predefinida, a linha Kagi é desenhada na direção oposta na nova coluna. O valor predefinido é definido em pontos (geralmente usado para pares de moedas), ou em valor percentual do preço atual (geralmente usado para ações). A espessura da linha varia dependendo do avanço alto ou baixo mais próximo. 1. Exemplo de gráficos Permite o uso de dados do histórico em EURUSD, H1 de 8 a 11 de outubro. Um exemplo de imagem padrão com um limite reverso de 15 pontos é mostrado na Fig. 1: Fig. 1. Quadro Kagi, EURUSD H1 Como podemos ver, o preço começou a cair às 17:00. O movimento descendente continuou até as 21:00. Às 22:00, o preço se move para cima a partir de 1.3566 e é fechado em 1.3574. Em outras palavras, o preço passa por 11 pontos. Isso não é suficiente para uma reversão, mas o novo Low também não foi alcançado. As próximas duas horas, o preço vai para baixo e, finalmente, às 01:00 (9 de outubro), vemos um forte movimento ascendente, fechado em 1.3591, composto por 25 pontos (1.3591-1.3566). Isso significa que o preço inverteu-se. A tendência de alta continua na hora seguinte. O preço chega a 1.3599, reforçando a linha grossa Yang. Às 03:00, o preço cai bruscamente em 1.3578, que é 21 pontos do High anterior (1.3599-1.3578). Isso é mais que suficiente para a reversão. A linha move-se para baixo, mas mantém sua forma (linha Yang grossa). Até as 16:00, o preço move-se para baixo e, finalmente, quebra o mínimo mais próximo e muda de Yang grosso para linha fina de Yin. O valor baixo mencionado anteriormente de 1.3566 tinha servido como um preço inovador aqui. O preço continua movendo-se como uma linha Yin e é alterado para Yang às 14:00 em 10 de outubro, passando pelo Alto mais alto de 1.3524 formado às 23:00 (9 de outubro). Este pequeno exemplo mostra como o quadro de Kagi é formado. 2. Princípio de classificação do indicador Kagi Para tornar o indicador independente do prazo atual, foi decidido copiar os dados do período, em que o indicador deveria ser formado, separadamente e, em seguida, crie o indicador usando os dados obtidos. Isso permite examinar vários prazos simultaneamente em um único gráfico expandindo os limites da análise técnica em gráficos Kagi. O próprio indicador está localizado em uma janela separada, mas também é possível exibir dados no gráfico principal. Em outras palavras, a formação básica (olhar padrão ou modificado) é realizada na janela do indicador. O indicador é copiado para o gráfico principal, também são desenhadas as marcas de preço e horário (dependendo das configurações). Conforme mencionado anteriormente, o indicador desenha o gráfico em versão padrão e modificada. O padrão foi descrito acima. Agora, considere a versão modificada. Não sei se é uma nova ideia, mas não ouvi falar dessa versão. A idéia do filtro adicional é que não apenas os pontos reversos, mas cada movimento do gráfico é filtrado agora. Em outras palavras, o preço deve mover alguma distância especificada para que o novo alto ou baixo (para não ser confundido com a espessura) seja formado. Geralmente, onde quer que o preço se mova, deve primeiro cobrir uma distância especificada. Depois disso, é definido se fosse uma continuação de tendência ou uma reversão. FIG. 2 mostra como o princípio funciona. O aspecto do gráfico modificado é mostrado em azul, enquanto o padrão em vermelho. Como podemos ver, o olhar modificado responde às mudanças do movimento do preço que filtram mais lentamente a maioria dos sinais menores. FIG. 2. Versões modificadas (linha azul) e padrão (linha vermelha) da criação do gráfico Kagi Além do gráfico Kagi, o indicador fornece alguns elementos adicionais na janela do indicador e no gráfico principal. Dependendo das configurações, as marcas podem ser definidas na janela do indicador. Essas marcas fornecem dados sobre os preços de reversão. A mesma função é implementada usando os níveis de preços, que (dependendo das configurações) podem distribuir uniformemente ao longo da janela em toda a faixa de preço usada para formar o indicador ou em cada reversão do gráfico. As cores podem ser configuradas em três versões: de acordo com o tipo de reversão (cima para baixo), tipo de linha (Yin - Yang) ou sem alteração de cor. As marcas de preços de reversão, incluindo as temporárias, são fornecidas no gráfico principal. Estas marcas (dependendo das configurações) podem ser de uma única cor ou alterar a cor de acordo com as cores da linha Yin ou Yang. O código do indicador inteiro é implementado usando as funções que se comunicam entre si através de variáveis ​​globais. O código pode ser dividido em três funções principais e onze outras. O principal fardo dos cálculos e preenchimentos do buffer de construções gráficas básicas e conjuntos de tampões adicionais depende da função da formação do gráfico Kagi na janela do indicador. As outras duas funções são responsáveis ​​por fornecer os dados: o primeiro copia os dados de tempo, enquanto o outro - dados sobre os preços de cada barra do cronograma selecionado. As funções auxiliares restantes são responsáveis ​​pela execução de todas as construções, eliminando os objetos, descarregando o indicador acompanhado da exclusão de todos os objetos indicadores, do cálculo do parâmetro de reversão, das marcas de desenho no quadro principal e da janela do indicador, criando objetos gráficos do tipo de linha Trend, desenho Kagi no gráfico principal, bem como definindo a chegada do novo bar para iniciar a formação do indicador. 3. Código de Indicador e Algoritmo Agora, examinamos o código do indicador e o algoritmo de sua formação em detalhes. O código é bastante grande e pode ser difícil o suficiente para programadores novatos para compreendê-lo. As funções que se comunicam entre si através das variáveis ​​globais tornam o código bastante confuso. Nesta parte do artigo, explico cada função e parte do código separadamente. Primeiro, descreverei as configurações do indicador e, em seguida, haverá esclarecimentos sobre as funções iniciais de cópia de dados, o cálculo do parâmetro de reversão, a função principal da formação e cálculo do gráfico Kagi e outras funções auxiliares. 3.1. Parâmetros de entrada do indicador O código começa com a declaração do indicador em uma janela separada, bem como de 12 buffers e 8 construções gráficas de indicadores. Em primeiro lugar, vamos definir por que 8 construções gráficas, incluindo dois histogramas e seis linhas. foi usado. Cada histograma constrói sua própria linha vertical. Uma das linhas é responsável pela linha Yin, enquanto a outra é para a linha Yang. O caso é um pouco mais complicado com as linhas, uma vez que existem três para cada linha. Isto é feito devido ao fato de que a linha é desenhada se houver outro ponto desenhado perto do primeiro. Em outras palavras, precisamos apenas duas construções gráficas de tipo de linha a serem giradas para desenhar duas linhas adjacentes uma à outra. No entanto, se precisamos dessas linhas para ignorar os pontos necessários, precisamos que a terceira construção seja girada com outras duas. Isso é explicado na Figura 3, onde você pode ver o que acontece se apenas duas construções gráficas de tipo linha são usadas: Fig. 3. Exemplo de uso de duas e três construções gráficas de tipo de linha para exibir linhas de ombro e cintura. Em seguida, o menu de configurações é criado. Existem cinco enumerações aqui (vamos examiná-las nos parâmetros de entrada). O primeiro período do parâmetro de entrada é um período, no qual a construção é executada, é seguida pelo período de atualização da construção do período-gráfico e o parâmetro da última vez é startdata - a construção do tempo começa. Estes parâmetros são seguidos pela construção do gráfico e outras rotulagens adicionais: tipo de construção do gráfico kagitype definido pelo tipo de preço padrão do usuário, padrão ou modificado do preço usado para construção: Tipo de reversão de tipo fechado, aberto, alto e baixo usado: ponto e porcentagem de valor de reversão da porta (Especificado em pontos ou valor percentual dependendo do parâmetro acima) coloryin cor da linha Yin na janela do indicador coloryang cor da linha Yang na largura da janela do indicador largura da linha Yin na janela do indicador widthyang largura da linha Yang nos níveis da janela do indicador de se os níveis de preços devem Seja desenhado na janela do indicador tipos de nível de nível de preços na janela do indicador. Existem dois valores para escolher: em cada reversão ou uniformemente em toda a faixa de preços níveis número número de níveis de preços na janela do indicador níveischangecolor permite alterar a cor das linhas de nível de preço as opções são reversões superiores e inferiores, linhas Yin e Yang ou sem alterações Levelsfirstcolor a primeira cor de um nível de preço níveisecondcolor a segunda cor de um nível de preço label1 gráfico de desenho etiquetas de preços de reversão na janela do indicador número 1 número de rótulos exibidos na etiqueta do indicador janela1color cor dos rótulos de preços na etiqueta do indicador janela2 rótulos de preços do desenho no Gráfico principal etiqueta2color cor da etiqueta no gráfico principal timelinedraw desenho linhas de tempo de reversão no gráfico principal timeseparatewindows desenho continuação de linhas de tempo de reversão do gráfico principal timelinchangecolor altera a cor da linha do tempo dependendo do rótulo de reversão em Yin ou Yang linha timefirstcolor o primeiro Cor da linha do tempo no gráfico principal t Imesecondcolor a segunda cor da linha do tempo no gráfico principal kagimainchart se Kagi deve ser desenhado no gráfico principal coloryinmain Cor da linha Yin no gráfico principal coloryangmain Cor da linha Yang no gráfico principal largura longitudinal da largura Yin no gráfico principal widthyangmain Largura da linha Yang No gráfico principal magicnumb número mágico usado para construir objetos e sua exclusão, bem como no nome do indicador para lançar vários indicadores em um único gráfico. Esses parâmetros são, por sua vez, seguidos de declarações dos buffers de indicadores, buffers auxiliares para armazenar valores de preço e tempo, variáveis ​​auxiliares (stopdata, barscopied, barscopiedtime, copyhistory, copytime), arrays para armazenar dados sobre o que Yin ou Yang alinham a mudança em Ocorreu o gráfico de movimento, o tempo e o preço dessa mudança, preço central (se Yin é substituído por Yang na barra ou vice-versa). Finalmente, uma das variáveis ​​globais mais utilizadas que contêm dados sobre o número de mudanças no movimento do gráfico é declarada. 3.2. Função de inicialização do indicador A próxima é a função de inicialização do indicador. Os buffers de indicadores e sua indexação (principalmente como séries temporais como gráfico Kagi é menor do que o principal, é melhor desenhá-lo para trás) são especificados lá. Além disso, os valores que não devem ser exibidos na tela são definidos (EMPTYVALUE-1). Agora, nós atribuímos o nome do indicador e a precisão da exibição. Como mencionado anteriormente, o número mágico é adicionado ao nome. Isso é feito para fornecer o funcionamento correto da função ChartWindowFind (). Caso contrário, o objeto gráfico desenhado na janela do indicador é exibido apenas no primeiro indicador lançado (se forem usados ​​vários indicadores em um único gráfico). Em seguida, atribuímos nomes às linhas de construção, proíbemos a exibição dos valores numéricos atuais na janela do indicador, definimos a cor e a largura das linhas Yin e Yang, defina o número dos níveis de preços exibidos na janela do indicador. 3.3. Função de cópia de dados Agora, examinamos as funções de cópia de dados. Há dois deles aqui. O primeiro é para copiar os preços, enquanto o segundo é para copiar cada barra aberta. Ambas as funções mantêm seus valores nos buffers de cálculo de indicadores previamente declarados. Em primeiro lugar, vamos considerar a função de cópia de preços. Parâmetros de entrada de função: matriz para armazenar dados, tempo de início e término de cópia de dados (tempo atual). O corpo da função contém as variáveis ​​para responder à função, o número de dados (barras) copiados para a matriz intermediária, a própria matriz dinâmica intermediária e o número de barras que devem ser copiadas para a matriz intermediária. O número de barras é calculado com base no número total de barras no período de tempo dado e o número de barras (variável global) copiado na chamada de função anterior. Se não for a primeira vez que os dados foram copiados, os dados na última barra copiada devem ser atualizados. Para fazer isso, reduzimos o número de barras copiadas por um e aumentamos o número de barras recém-copiadas por um. Também alteramos o tamanho da matriz intermediária preparando-a para copiar as barras. Dependendo das configurações, copiamos os preços para a matriz intermediária. Se a cópia for bem sucedida, os dados são copiados da matriz intermediária para o final da matriz de buffer (matriz de resposta de função), atribuir a resposta positiva à função e atualizar a variável global armazenando os dados no número de barras copiadas. Este tipo de cópia permite copiar apenas algumas últimas barras reduzindo o tempo de cópia. A próxima função é a de copiar os dados do tempo. É diferente do anterior, na medida em que trata de outro tipo de variável - datetime (que é convertido em duplicado quando copiado para a matriz de resposta da função de matriz de buffer de tempo). Outra diferença é que a indicação switch () não é usada, pois não é necessário selecionar os dados copiados. 3.4. Função de Cálculo do Parâmetro de Reversão Uma vez que o parâmetro de reversão pode ser um ponto ou uma porcentagem, precisamos da função que calculará o parâmetro de reversão dependendo das configurações do indicador. A função tem apenas um preço de parâmetro para calcular a inversão de porcentagem. A variável para a resposta é inicializada primeiro por tipo duplo e após os cálculos, é indiretamente convertida em tipo int para resposta. Isso é feito porque os números de ponto flutuante são usados ​​nos cálculos, enquanto a resposta deve ser apresentada como números inteiros. A seleção é implementada na função por declaração condicional if-else. A comparação é realizada diretamente com a variável de entrada externa (parâmetros do indicador). O cálculo de pontos é realizado usando uma equação simples. Primeiro, o número total de pontos que o preço passou foi definido. Então, a porcentagem especificada é calculada com base neste número e atribuída à variável retornada. 3.5. A função principal - Desenho de gráfico Kagi Já examinamos todas as funções que são necessárias para o funcionamento da função principal - desenhando o gráfico Kagi na janela indicadora (isto é, preenchendo os buffers indicadores). Os parâmetros de entrada de funções consistem em arrays de dados. Dois deles são os buffers de cálculo descritos acima (Preço e Tempo copiados anteriormente), o resto são os arrays dos buffers gráficos de construção do indicador. As variáveis ​​necessárias para armazenar os dados na construção do gráfico são declaradas dentro da função. Uma vez que o gráfico é construído usando a instrução loop, devemos ter os dados no palco do passado anterior. Isso pode ser alcançado por seis variáveis: linemove - onde o preço se moveu na passagem anterior, linegauge - calibre de linha (largura da linha) - Yin ou Yang, preço1 e preço2 - preço anterior e atual sendo considerado, tarifado e preço - preço anterior de Um ombro e uma cintura. Como podemos ver, price1 é imediatamente equiparado ao primeiro elemento da matriz de preços copiados devido ao fato de que esta variável está envolvida em cálculos antes da comparação desde o início do loop. Uma vez que as matrizes de buffer da construção gráfica do indicador possuem bandeira de indexação ASSERIES, elas devem ser preenchidas na ordem inversa. Para conseguir isso, matrizes de tempo com o tamanho apropriado são implementadas. Variáveis ​​globais para armazenar os dados no tempo, tipos de linha, ombro e cintura, bem como os preços de reversão são convertidos da mesma maneira. Então, todos os arrays devem ser preenchidos com valores vazios (-1). Isso é feito usando dois pequenos loops. É possível juntar tudo em um único loop. Mas o uso de dois torna todas as ações executadas muito mais claras, enquanto o tempo de execução não é muito alterado. Em outras palavras, os buffers gráficos e os arrays do tempo de cálculo são preenchidos separadamente. Agora, todas as variáveis ​​são declaradas, convertidas e preenchidas, para que o loop principal possa ser iniciado. É bastante grande (embora o cálculo seja executado com rapidez suficiente) e inclui a varredura de todas as barras anteriormente copiadas. O loop passa por todas as barras copiadas e preenche os arrays necessários previamente declarados para trabalhar com eles ainda mais. Antes de tudo, vamos definir todos os arrays usados ​​no loop: yinint1 - valor primário do preço da linha Yin vertical (se a linha Yin vertical for desenhada e o gráfico se mover para baixo, este é o valor superior do preço se o gráfico se mover para cima, nós Tem o caso oposto) yinint2 - valor secundário do preço da linha Yin vertical (se a linha ascendente é desenhada, este é o valor superior se a linha estiver para baixo, temos o caso oposto) yangint1 - valor primário do preço da linha Yang vertical yangint2 - Valor secundário da linha vertical Yang line linyin - valor da linha Yin horizontal (preço da inversão na linha Yin) linyang - valor horizontal da linha Yang (preço da inversão na linha Yang) timecange - tempo da reversão do gráfico (construção de um ombro ou cintura ) Cronograma - a linha durante a inversão Yin 0 ou Yang 1 timecentralprice - o valor do preço central, o preço no momento em que a linha Yin se transforma em Yang ou vice-versa timecangeprice - o valor do preço de reversão (ombro ou cintura), o variável É comum não dependendo dos tipos de linha Yin ou Yang. O valor do preço analisado atual do buffer de preço é atribuído à variável de preço2 antes de cada passagem de loop para comparação adicional em declarações condicionais if-else. Depois disso, a matriz de buffer dos dados copiados é analisada passo a passo e os arrays mencionados acima são preenchidos. Cada declaração condicional if-else executa determinadas ações dependendo das condições: direção anterior das linhas de gráfico (para cima ou para baixo) e aparência anterior das linhas (Yin ou Yang). Em seguida, as condições de movimento (se o preço passou por um certo número de pontos) são verificadas dependendo do tipo de construção (padrão ou modificado). Se tudo estiver bem, novas variáveis ​​(elementos de matriz) são reatribuídas ou definidas. O tipo de linha (Yin ou Yang) é definido no início. Dependendo do movimento e das ações anteriores, a distribuição adicional é realizada. Existem dois possíveis movimentos de preços: há também quatro tipos de ações anteriores em cada direção: a linha anterior foi Yin e ela subiu. A linha anterior era Yang e ela subiu. A linha anterior era Yin e ela se movia para baixo. A linha anterior era Yang E moveu-se para baixo. Assim, temos oito casos além das duas primeiras definições do movimento inicial das cartas (aparência da primeira linha). Depois disso, o ciclo principal acabou. A reatribuição (reversão) eo preenchimento dos buffers são realizados para construir o gráfico em um loop menor consistindo no número de reversões de gráfico Kagi previamente definidas no loop principal e escritas em uma variável. Quanto à distribuição de valores de preço superior e inferior e linhas verticais, é bastante simples: uma simples reversão é realizada. Em outras palavras, os valores primários previamente obtidos (arrays com índices 0,1,2,3.) São atribuídos aos valores finais dos buffers (o elemento com índice, ie, -1, -2, -3. É usado como um fim valor). Para evitar que as linhas de reversão (horizontal) fiquem juntas, a rotação usando a declaração do interruptor é realizada como mencionado acima. Com isso, o trabalho da função principal da construção do gráfico Kagi está completo. 3.6. Função para criar o objeto gráfico da linha Tendência Agora, vamos examinar a função para criar o objeto gráfico da linha de tendência. Esta função é necessária para desenhar o Kagi no gráfico principal. A função é muito simples. Ele contém os parâmetros de entrada necessários para criar objeto gráfico de linha de tendência: nome do objeto, primeiro e segundo pontos de preço e tempo, bem como largura e cor da linha. O corpo da função contém a função de criação gráfica de objetos e seis funções de alteração das propriedades dos objetos gráficos. 3.7. Desenho de Kagi no Gráfico principal A próxima função que se aplica ao anterior várias vezes é a função da construção de Kagi no gráfico principal. As variáveis ​​globais preenchidas na função principal previamente examinada da construção do gráfico Kagi são usadas como variáveis ​​de entrada: a gama de preços de inversão (ombros e cinturas), a variedade de preços e os preços centrais (o preço, no qual a linha Yin se transforma em Yang ou Vice-versa), matriz de tempo de reversão (localizado em tempo real, índice de matriz z-1 é usado para marcar o início da reversão), a matriz do tipo da linha, na qual a inversão ocorreu (também é um elemento para a frente, como O intervalo de tempo). O corpo da função consiste em um loop. O loop é dividido em duas partes: desenho de linhas verticais e horizontais. O primeiro também é dividido em dois: desenho das verticais considerando a mudança de linha (alterar o preço central) e a ausência de mudança. Observe os parâmetros transferidos da função de criação de objetos de linha de tendência. A nomeação é realizada repetidamente. O nome do objeto começa com um número mágico (necessário para excluir objetos de um determinado indicador), então seu tipo é corrigido e, finalmente, o índice é atribuído. O índice é atualizado em cada passagem do loop. 3.8. Implementando Etiquetas Adicionais Como já mencionei acima, o indicador implementa rótulos adicionais. Examine a função fornecendo esses rótulos no gráfico principal. Existem apenas dois tipos de etiquetas: preços de reversão e rótulos de tempo de reversão mostrados através do rótulo de preço e rótulo vertical. Os seguintes parâmetros são passados ​​como entradas: o atributo do desenho do rótulo do preço de reversão e a cor dos rótulos, os atributos do desenho do rótulo do tempo de reversão e da mudança de cor dos rótulos, a primeira e a segunda cores do tempo de inversão. Toda a função é dividida em duas partes: a primeira parte é responsável por rótulos de tempo, enquanto a segunda para rótulos de preços. Ambas as partes da função consistem nos laços limitados pelo número de reversões de gráficos (uma variável). A afirmação condicional if-else é definida antes do loop. A declaração verifica a necessidade de seu desenho de acordo com as configurações do indicador. O primeiro loop cria rótulos de tempo, a definição do nome do objeto é executada no início do loop (o princípio da geração do nome foi descrito acima). Em seguida, a cor é selecionada de acordo com a linha da matriz de tipo de linha declarada globalmente (se o parâmetro estiver configurado) e outros parâmetros são aplicados na linha. O segundo ciclo é responsável pela criação de rótulos de preços de reversão. Primeiro, o nome do objeto é gerado. Então, a seleção do índice do intervalo de tempo é definida dependendo se Kagi deve ser construído no gráfico principal ou não. Se isso não for feito, os rótulos serão localizados no ar e não será suficientemente claro do que ocorreu a inversão. Em seguida, o objeto de tipo de etiqueta de preço é criado e configurado. Agora, veja como podemos definir os rótulos na janela do indicador. Todos os rótulos na janela do indicador são principalmente preços, e existem apenas dois tipos deles: rótulos de preços de reversão e níveis de preços. Existem dois tipos de desenho dos níveis de preço: nas reversões do gráfico e a uma distância igual do intervalo de preço completo do gráfico. O primeiro tipo pode alterar a cor dos níveis de duas maneiras: dependendo do tipo de linha (Yin ou Yang) e de acordo com a inversão (para cima ou para baixo). Assim, a própria função é dividida em dois loops: o primeiro é responsável pela criação de rótulos de preços de reversão, o segundo refere-se à designação dos níveis de preços. O último é dividido em dois tipos: rótulo em cada reversão ou etiquetas em toda a faixa de preço em um nível igual. Esta função é diferente da anterior, pois tem limitações no número de rótulos de preços e níveis devido ao fato de que, em grande número, eles sobrecarregam o gráfico complicando sua compreensão. Devido a esse recurso, ambos os loops estão limitados pelo número de passes especificados nas configurações do indicador (número de rótulos de preços e níveis). Essa abordagem é perigosa, pois o número de reversões pode ser muito menor do que o número de marcadores de preços definidos nas configurações. Devido a esta razão, a presença de reversão durante cada passagem de loop é verificada para obter um rótulo ou nível de preço. A única exceção é desenhar níveis de preços ao longo de toda a faixa de preço em uma distância igual. A geração dos tipos de objetos gráficos do tipo Price é realizada nas coordenadas na ordem inversa, ou seja, as etiquetas são colocadas a partir da data atual para o passado. O mesmo se aplica aos níveis de preços: os níveis de preços atuais são gerados primeiro seguido de anteriores. As exceções são os níveis de preços não dependentes das reversões do gráfico. As mudanças de cor do nível de preço são realizadas usando sentenças condicionais if-else de acordo com as configurações. 3.9. Eliminando Objetos Gráficos Criados Anteriormente Sabemos que esse indicador é rico em objetos gráficos. É hora de pensar como podemos excluí-los de forma rápida e eficiente. Esta tarefa é executada pela função para excluir os objetos gráficos. O nome inicial e o número de objetos são usados ​​como parâmetros da função. Como durante a criação, o nome do objeto deve conter o número mágico e o nome de um tipo de objeto. A chamada de função no programa é limitada pelo número de objetos que excedem a sua existência possível. No entanto, isso não afeta a funcionalidade dos indicadores. 3.10. Função para o lançamento da construção de gráficos Agora, depois de ter examinado todas as funções de cálculo e construção do gráfico Kagi, bem como para criar e excluir objetos, devemos considerar outra pequena função para verificar a chegada de novas barras. A função é bastante simples e tem um parâmetro de entrada - período analisado. As funções respondem também são muito simples. Tem um tipo de bool e contém a resposta sobre se uma nova barra está presente ou não. A base do corpo da função é a declaração do interruptor que passa o controle para suas declarações diferentes dependendo do período. No exemplo, a função cobre todo o período, embora apenas um período também possa ser usado. O algoritmo de função foi tirado do código IsNewBar: o tempo da última barra de abertura é comparado com o valor de tempo previamente definido. Se os valores forem diferentes, há uma nova barra. O novo valor é atribuído como definido previamente e a resposta das funções é considerada positiva. Se o último horário de abertura da barra coincide com o valor do tempo previamente determinado, a nova barra ainda não apareceu e a resposta das funções é negativa. 3.11. Funções OnCalculate () e OnChartEvent () Todas as funções descritas acima são consolidadas na função com o mesmo nome Func Consolidation. Esta função é lançada cada vez que uma nova barra aparece na função OnCalculate () e quando a tecla R é pressionada da função OnChartEvent (). Antes que o gráfico seja gerado ou atualizado, a função para excluir todos os objetos gráficos é chamada na função de consolidação (Func Consolidation). Uma vez que há muitos objetos e são divididos em gráficos principais do gráfico s e indicadores, as linhas verticais que indicam o tempo de inversão, bem como as linhas de tendência vertical e horizontal Yin e Yang, o número geral de chamadas de função é 7. Então , Os dados do histórico são copiados pelo preço e pelo tempo. A função principal para a construção do gráfico Kagi é lançada posteriormente. Depois disso, a função para colocar todos os rótulos de preços no gráfico principal e a janela do indicador é chamada. Finalmente, o Kagi é gerado no gráfico principal e a função para redesenhar os objetos é lançada. 3.12. OnDeinit () Função A eliminação de todos os objetos é realizada na função de desinitialização do indicador. Agora, passemos a usar o indicador na prática. 4. Usando o gráfico Kagi na prática Existem muitas estratégias de negociação com base no gráfico Kagi. Examinaremos alguns deles. Comece com a estratégia mais popular: venda quando Yang muda para Yin e compre no caso oposto. Isto é mostrado na figura. 4: Fig. 4. Vender quando Yang muda para Yin e compra no caso contrário. Como pode ser visto na Fig. 4 (EURUSD M30, 5 pontos), esta estratégia mostra bons resultados. A figura exibe 8 pontos para 4 sinais, o primeiro (1) mostra que a posição longa deve ser aberta em 1.3518, o que parece estar correto, pois o preço atinge cerca de 1.3560, que compreende 42 pontos por dia. Este é um bom resultado. O próximo ponto (2) recomenda a venda em 1.3519. Como podemos ver, o preço realmente se move para baixo, cruzando o nível de 1.3485 (e cobrindo 34 pontos) aproximadamente por duas horas. Vamos para o ponto (3). A posição longa é aberta em 1.3538 e o preço subiu para 1.3695. Assim, o lucro compreende 157 pontos já por um dia e meio. Claro, estes são os maiores lucros possíveis, mas o resultado ainda é bom o suficiente. A próxima estratégia de negociação retrocede da linha de tendência mostrada na Fig. 5 (EURUSD M30, 5 pontos), 7 a 18 de outubro: Fig. 5. Voltando para trás da linha de tendência. Podemos avançar e negociar seguindo os canais. Um exemplo de busca de um canal pode ser examinado na Fig. 6 (EURUSD H1, 5 pontos), aproximadamente o mesmo período: Fig. 6. Negociação por canais A estratégia menos popular com base no fato de que, após 7-10, ombros cada vez maiores ou cúbicas decrescentes, certamente haverá uma inversão (queda do aumento). Isso é exibido na Figura 7 (GBPUSD H4, 25 pontos), 10 de julho - 18 de outubro: Fig. 7. 7-10 ombros cada vez maiores ou cintura decrescente Como pode ser visto na imagem, sete ombros ascendentes são seguidos por uma queda bastante considerável aproximadamente igual à metade do aumento anterior (cerca de 300 pontos). Lets examine Trading through a price label strategy to show the necessity of using additional indicator parameters. The idea is to enter the market when the price exceeds (buy) or moves below (sell) the previous price label. The strategy is shown in Fig. 8 (GBPUSD H4, 30 points, modified construction): Fig. 8. Trading through a price label Red arrows on Fig. 8 display when to buy or to sell. The arrows are moving from the previous price label displaying the locations the previous price labels were broken through. Time labels serve mainly as trend direction pointers. Since the color of time labels can be changed relative to the line type, and Yin or Yang line type shows trend direction or reversal, the color may help us define the current market mood. For example, lets take IBM stock chart (H4, 1, standard construction) shown in Fig. 9: Fig. 9. Defining trend direction using time labels The chart shows that blue lines are mainly located on the charts tops, while red ones - at the bottoms. Conclusion The Kagi chart can be successfully used for market trading as a strategy basis or as an auxiliary tool for more precise analysis. In this article, I have examined the code itself and some specificities of constructing the indicator. The main objective has been creation of the multi-functional indicator containing all necessary elements with some extra features that can be disabled. I will be glad to consider new ideas and improvements for the indicator and, perhaps, implement them in the future. Also, please provide me with your feedback. I will be happy to answer your questions concerning the indicator. This article continues the series devoted to developing indicators for constructing the charts from the past. The previous article can be found here. The series is to be continued and I hope to meet you again soon. Thank you for your interest I wish you successful trading, as well as optimized and stable codes. Forex Kagi Factsheet amp Review Uniqueness (Compare to other related products) More detailed reviews updated once we have all the information Forex Kagi is a manual system that contains the explosive trading strategies that accumulates massive gains from Forex trading. O Forex Kagi baseia-se no ldquoKagi Chartsrdquo desenvolvido pelo japonês, de volta em 1870. Os desenvolvedores combinaram o princípio Kagi com sua própria Tecnologia Adaptativa Neural, então você obtém pura mistura de estratégia poderosa que irá atacar o mercado Forex, não importa o que As condições de negociação são. E não importa como o mercado se excita. Forex Kagi tem potencial ilimitado. Você pode trocar várias moedas, títulos, ações ou mesmo commodities. Isso reduz o ruído de sinais inúteis e indignos que confundem os comerciantes. Forex Kagi é uma ferramenta multifacetada, abrangente, que leva seus lucros a outro nível no dia a dia. Vantagens do Forex Kagi Therersquos é uma coisa que é realmente importante no Forex Trading - TIME. Forex Kagi usa TIME como seu indicador. A TECNOLOGIA ADAPTATIVA JAPONESA de Itrsquos garante que você obtenha lucros fabulosos enquanto os RISCOS são mantidos sob controle. O benefício mais importante deste sistema é que é independente de TIME e MUDANÇA de direção ocorre somente quando uma quantidade específica é alcançada. Este sistema não deixa nada para a imaginação e leva-te através de minuciosos detalhes do comércio de Forex no estilo mais simplista, não deixando margem para a ambiguidade. Forex Kagi pode ser usado para negociar moedas múltiplas, e também para ações e títulos. Uma vez que você mestre Forex Kagi, o Sky é o limite para você Recomendar capital comercial

No comments:

Post a Comment