Thursday, 23 November 2017

Moving average separar janela mt4


MetaTrader 4 - Indicators. Multi Moving Average - indicador para MetaTrader 4.Multi Moving Average - é um indicador que mostra as informações sobre 4 Médias Móveis em uma janela separada. Você pode alterar os parâmetros de entrada na janela Propriedades do Indicador para qualquer um dos movendo O método de preço médio usado para o cálculo de preço aplicado. E muitas opções para etiquetas de texto. Ele foi criado para descarregar o gráfico de preços especialmente das Médias Móveis, mas salvar as informações úteis. Estado atual das médias móveis - aumento ou queda usando as cores diferentes para caixas arrow.2 Mostra o estado atual das médias móveis relativas ao preço ou média móvel com período 1 - é acima ou abaixo usando as cores diferentes para o texto Assim, configurando os períodos de Médias Móveis, é possível entender a tendência do mercado sem usar as médias móveis no gráfico de preços. Se você tiver perguntas para melhorar o i Se você tiver alguma dúvida para o autor, sugestões ou comentários, é melhor postá-los there. If você encontrou este código útil para fins comerciais ou educacionais, não se esqueça de agradecer ao autor. Pls explaint como ler este indicador ex Os meios azuis dos pontos e os meios vermelhos. A versão nova do indicador está agora disponível Alex5757000 - v2.Forum Movimento Múltiplo v2.Forum em negociar, sistemas de troca automatizados e testando estratégias de troca Crítica de imprensa newdigital, 2017 06 05 09 41 USDCHF Breakout impedido por 200 dias de média móvel adaptado de dailyfx artigo A ruptura de USDCHF foi executado em 200 dias Moving compradores poderiam entrar em cima de uma ruptura confirmada acima do 200 dias 200 dias Simple Moving Average Um dos indicadores mais populares no mundo Quando o preço quebra através de um MA 200 em um gráfico diário, muitas vezes pode ser visto como um tema de conversa em estações de notícias financeiras, sites e jornais É principalmente nós Normalmente, quando o preço de um par de moedas cai abaixo do MA de 200 dias, é um sinal de fraqueza com um potencial para mais queda de preços E quando uma moeda O gráfico acima mostra a recente ação de preço em torno do MA de 200 dias. Vemos um grande aumento no preço rompendo vários níveis de resistência até Ele encontrou esta poderosa linha MA Temos tido 6 dias consecutivos onde o preço tem quebrou temporariamente o MA 200 Dia ou preço chegou dentro de 10 pips da linha antes de recuar mais baixo Assim, este nível está agindo como forte resistência Se o preço fosse permanecer abaixo do MA, poderia impulsioná-lo mais baixo para trás no canal de preço do par. No entanto, uma fuga para o lado positivo poderia adicionar mais uma razão para comprar o USDCHF Até que testemunhamos um movimento de preço maior, estamos em um estado de limbo. Ele espelho tradução para este idioma russo indicadores qualquer um por favor help. Sorry, mas é possível Como significativo é realmente até a pessoa experimentando A média móvel se adapta ao indicador que é a média Portanto, não importa o que a escala em seu, ele apenas médias Muito simples. Eu me esqueci de mencionar que depois de arrastar a média móvel para o RSI a única maneira a combinação vai funcionar, você deve alterar a parte que diz se aplica ao em vez de fechar, alterá-lo para dados indicadores anteriores ou dados do primeiro indicador. A questão é saber se ele pode ir para a mesma janela de indicador como o RSI. I apenas tentou arrastar o indicador de média móvel, ele vai para a janela do gráfico principal, mesmo quando você arrastá-lo sobre a janela do indicador Você teve que pressionar qualquer outra chave Botão, enquanto antes de arrastar. Did que você realmente ler o que eu disse ler o segundo parágrafo novamente Também, em mt4, isso só funcionará com os indicadores internos não indicadores personalizados. circlesquares Você realmente ler w Chapéu que eu disse ler o segundo parágrafo again. Did que você realmente ler a minha pergunta Você disse depois, eu perguntei antes de arrastar. Creação de indicadores personalizados. Quando a criação de uma estratégia de negociação de um desenvolvedor muitas vezes enfrenta a necessidade de desenhar graficamente em uma janela de segurança um certo Dependência calculada por um programador de usuário Para este propósito MQL4 oferece a possibilidade de criar indicadores personalizados. Custom Indicator é um programa aplicativo codificado em MQL4 é basicamente destinado a exibição gráfica de preliminary calculado dependências. Custom Indicator Structure. Necessity of Buffers. O princípio principal Os indicadores personalizados subjacentes estão passando valores de matrizes de indicadores para um terminal cliente para desenhar linhas de indicadores através de buffers de troca. O buffer é uma área de memória contendo valores numéricos de uma matriz de indicadores. O padrão MQL4 implica a possibilidade de desenhar até oito linhas de indicador usando um indicador personalizado Uma matriz de indicadores e um buffer são colocados em correspondência com cada indicador Line Cada buffer tem seu próprio índice O índice do primeiro buffer é 0, do segundo um - 1, e assim por diante, o último tem o índice 7 A Fig. 115 mostra como a informação de um indicador personalizado é passada através de buffers para um Cliente para desenhar linhas indicadoras. Fig. 115 Passando valores de matrizes de indicadores através de um buffer para um terminal de cliente. A ordem geral de linhas de indicador de construção é a seguinte.1 Os cálculos são conduzidos em um indicador personalizado como resultado valores numéricos são atribuídos ao indicador Array.2 Os valores dos elementos de matriz de indicadores são enviados para um terminal cliente via buffers.3 Nas bases de matrizes de valor recebidas de buffers, um terminal cliente exibe indicadores de elementos de linha de um Custom Indicator. Let s analisar um simples indicador personalizado que mostra duas linhas - uma linha é construída com base em preços máximos bar, o segundo usa preços mínimos. Exemplo de um simples indicador personalizado. Posso analisar em detalhes as partes indicador Em qualquer programa escrito em MQL4 você Pode indicar parâmetros de configuração que fornecem a manutenção de programa correta por um terminal de cliente Neste exemplo a parte de programa de cabeça ver estrutura de programa contém várias linhas com propriedade de diretivas. A primeira diretiva indica em qual janela o terminal de cliente deve desenhar as linhas de indicador. São duas variantes de linhas de desenho indicador na janela de segurança principal e em uma janela separada Janela principal é a janela que contém um gráfico de segurança Neste parâmetro de exemplo indicatorchartwindow no diretório de propriedade indica que um terminal cliente deve desenhar linhas de indicador na janela principal. Linha mostra o número de buffers usados ​​no indicador. No exemplo analisado são desenhadas duas linhas de indicadores Um buffer é atribuído a cada buffer, de modo que o número total de buffers é de duas. As linhas seguintes descrevem as cores das linhas indicadoras. Parameters indicatorcolor1 e Indicatorcolor2 define definição de cor para buffers correspondentes - neste caso para buffers com índices 0 B Lue e 1 Red Observe que as figuras nos nomes de parâmetro indicatorcolor1 e indicatorcolor2 não são índices de buffer Essas figuras são partes de nomes de constantes que são definidas de acordo com buffers Para cada cor constante pode ser definida a critério de um usuário. No próximo indicador de linha Arrays são declarados. O indicador destina-se a desenhar duas linhas de indicador, por isso precisamos declarar duas matrizes globais de uma dimensão, uma para cada linha Nomes de matrizes de indicadores são até usuário Neste caso, os nomes de matriz Buf0 e Buf1 são usados, em Outros casos outros nomes podem ser usados, por exemplo, Line1, Alfa, Integral etc É necessário declarar arrays em um nível global, porque os valores de elementos de matriz devem ser preservados entre as chamadas da função especial start. The descrito personalizado indicador é construído sobre A base de duas funções especiais - init e start A função init contém a parte de código usada no programa apenas uma vez ver Funções especiais. A ação muito importante é realizada na linha. Usando o fu Nction SetIndexBuffer um buffer necessário neste caso com o índice 0 é colocado em correspondência com uma matriz, neste caso Buf0 Significa para construir a primeira linha de indicador um terminal cliente aceitará dados contidos na matriz Buf0 usando o buffer zero para it. Further O estilo de linha é definido. Para o buffer zero 0 um terminal cliente deve usar os seguintes estilos de desenho linha simples DRAWLINE, linha contínua STYLESOLID, largura de linha 2. As próximas duas linhas contêm configurações para a segunda linha. Assim, de acordo com o código de A função especial init ambas as linhas de indicador serão desenhadas na janela de segurança principal A primeira será uma linha azul sólida com a largura 2, a segunda é uma linha pontilhada vermelha STYLEDOT de uma largura usual Linhas indicadoras podem ser desenhadas por outros estilos Como também ver Estilos de Linhas Indicadoras. Calculando Valores de Arrays de Indicadores Elementos Seja Atento. Valores de elementos de arrays indicadores são calculados no início da função especial Para entender corretamente o cont Ents do código de início preste atenção à ordem de barras de indexação A seção Arrays descreve em detalhes o método de indexação arrays-timeseries De acordo com este método barra de indexação começa a partir de zero A barra zero é uma barra ainda não formada A barra mais próxima s índice é 1 O próximo s é 2 e assim por diante. À medida que novas barras aparecem em uma janela de segurança, os índices de barras de história já formadas são alterados. A nova corrente, apenas formada, barra mais à direita obtém o índice zero, o à esquerda dele que tem Apenas totalmente formado obtém o índice 1 e os valores dos índices de todas as barras de história também são aumentados por um. O método descrito de barras de indexação é o único possível para todo o sistema de negociação on-line MetaTrader, e é levado em conta ao desenhar Linhas usando indicadores técnicos e personalizados. Foi dito anteriormente que as linhas de indicadores são construídas com base na informação numérica contida em matrizes de indicadores. Uma matriz de indicadores contém informações sobre as coordenadas de pontos nas quais uma A linha do indicador é desenhada E a coordenada Y de cada ponto é o valor de um elemento da matriz do indicador e a coordenada X é o valor de um índice do elemento da matriz do indicador No exemplo analisado a primeira linha do indicador é desenhada usando valores máximos das barras Fig. Esta linha de indicador de cor azul em uma janela de segurança, é construído com base na matriz de indicadores Buf0.Fig 116 Correspondência de coordenadas de uma linha de indicador para valores de uma matriz de indicadores. O valor de índex de uma matriz de indicadores está fora por um cliente Terminal em correspondência com um índice de barras - estes valores de índice são iguais Deve-se também ter em conta que o processo de construção de linhas de indicadores continua em modo de tempo real em condições quando em uma janela de segurança novas barras aparecem de tempos em tempos E todo o histórico Barras são deslocadas para a esquerda Para ter a linha de indicador traçada corretamente cada ponto de linha acima de sua barra também deve ser deslocada juntamente com barras Então, há necessidade técnica necessidade de re-indexar um indicador A diferença fundamental de uma matriz de indicadores a partir de uma matriz usual é a seguinte. No momento em que uma nova barra é criada, os valores de índice de elementos da matriz de indicadores são automaticamente alterados pelo terminal do cliente, ou seja - o valor de cada índice da matriz de indicadores é Aumentado em um eo tamanho da matriz indicadora é aumentado por um elemento com um índice zero. Por exemplo, a barra zero na Fig. 116 período de tempo H1 tem o tempo de abertura 6 00 A 7 00 uma nova barra aparecerá na janela de segurança A barra aberta Em 6 00 obterá automaticamente o índice 1 Para que a linha de indicador seja traçada corretamente nesta barra, o terminal cliente alterará o índice do elemento de matriz de indicadores correspondente à barra aberta em 6 00. Na tabela na Fig. 116 este elemento é escrito Na primeira linha Juntamente com que os índices de todos os elementos da matriz serão aumentados pelo terminal do cliente por um An o índice do elemento da matriz correspondente à barra aberta em 6 00 irá obter o valor 1 antes que ele era equ Al para 0 O array de indicadores será maior por um elemento O índice de um novo elemento adicionado será igual a 0, o valor deste elemento será um novo valor que reflete a coordenada da linha de indicador em uma barra zero Este valor é calculado em A função especial começa em cada tick. Calculações no início da função especial deve ser realizada de modo que nenhuma ação extra foi realizada Antes que o indicador é anexado a um gráfico, ele não reflete quaisquer linhas de indicador porque os valores de matrizes de indicadores não são definidos ainda Por isso, no primeiro início da função especial, os valores do array de indicadores de início devem ser calculados para todas as barras, nas quais a linha do indicador deve ser desenhada. No exemplo analisado, todas as barras presentes em um gráfico podem ser conduzidas não para todos Barras disponíveis, mas para alguma última parte do histórico é descrito em outros exemplos Ar todos os começos adicionais do início da função especial não há necessidade de calcular os valores do array indicador Para todas as barras novamente Estes valores já estão calculados e estão contidos na matriz de indicadores É necessário calcular o valor atual da linha de indicador somente em cada novo tique da barra zero. Para a implementação da tecnologia descrita existe uma solução muito útil Padrão em MQL4 - IndicatorCounted. Function IndicatorCounted. This função retorna o número de barras que não foram alteradas desde a última chamada de indicador. Se o indicador nunca foi anexado a um gráfico, na primeira execução iniciar o valor de Countedbars será igual Para zero. Significa que a matriz de indicadores não contém qualquer elemento com valor predefinido anterior, por isso toda a matriz de indicadores deve ser calculada do início ao fim. A matriz de indicadores é calculada a partir da barra mais antiga para a zero. Índice da barra mais antiga , A partir do qual os cálculos devem ser iniciados, é calculado da seguinte maneira. Suponha no momento de anexar o indicador há 300 barras em uma janela de gráfico Este é o valor da variável predefinida Bars Como definido anteriormente, Countedbars é igual a 0 Então, como resultado obtemos que i índice da primeira barra não contabilizada a mais recente, a partir do qual os cálculos devem ser realizados é igual a 299.Todos Os valores dos elementos de matriz de indicadores são calculados no ciclo while. While i está dentro do intervalo desde a primeira barra não contabilizada 299 para o atual 0 inclusive, os valores de elementos de matriz de indicadores são calculados para ambas as linhas de indicador Nota, os valores em falta de elementos de matriz de indicadores São calculados durante um primeiro início do início da função especial Durante os cálculos o terminal cliente recorda os elementos para os quais foram calculados os valores A última iteração em quando é executada quando i é igual a 0, isto é, os valores das matrizes de indicadores são calculados para a barra zero Quando o loop termina, o início da função especial termina sua execução e o controle é passado para o terminal do cliente. O terminal do cliente, por sua vez, Caso duas linhas de indicadores de acordo com os valores calculados de elementos de matriz. O próximo começo de carrapato será iniciado pelo terminal do cliente novamente Novas ações dependerão da situação vamos continuar a analisar o exemplo para 300 bars. Variant 1 Um novo tick Vem durante a formação da barra zero atual a situação mais comum. Fig. 117 O carrapato processado pertence à barra atual. A Fig. 117 mostra dois carrapatos recebidos pelo terminal nos instantes de tempo t 1 e t 2 A situação analisada será a mesma Para os dois ticks Vamos rastrear a execução do início que foi lançada no momento t 2 Durante a execução do início da função será executada a seguinte linha. IndicatorCount retornará o valor 299, ou seja, desde a última chamada de início 299 barras anteriores não foram Alterado Como resultado i valor de índice será igual a 0 300-299-1.It significa no próximo loop while os valores de elementos de matriz com o índice zero será calculado Em outras palavras, a nova posição de um indicador A linha na barra zero será calculada Quando o ciclo estiver terminado, o início deixará de ser executado e passará o controle para o terminal do cliente. Variante 2 Uma nova marca é a primeira marca de uma barra zero que acontece de vez em quando. Tick ​​é o primeiro sinal de uma nova barra zero. Neste caso, o fato de aparência de uma nova barra é importante Antes de controle é passado para o início da função especial, o terminal cliente irá desenhar novamente todas as barras presentes na janela de segurança e re-indexar Todos os arrays de indicadores declarados são configurados em correspondência com buffers Além disso, o terminal cliente lembrará que já existem 301 barras, não 300 em uma janela de gráfico. A figura 118 contém situação quando na última marca da barra anterior no momento t 2 a função start Foi iniciado e executado com sucesso É por isso que, embora agora a primeira barra com índice 1 terminou no momento t 2 foi calculada pelo indicador, a função IndicatorCount retornará o valor que estava na barra anterior ou seja 299.Na próxima linha O índice i será calculado, neste caso para o primeiro tick de uma nova barra será igual a 1 301-299-1.It significa que o cálculo dos valores da matriz de indicadores em loop while na aparência de uma nova barra será executado tanto Para a última barra e para a nova barra zero Um pouco mais cedo durante a re-indexação de matrizes de indicadores o terminal cliente aumentou tamanhos desses arrays Valores de elementos de matriz com zero índices não foram definidos antes dos cálculos no loop Durante os cálculos no loop estes Os elementos obtêm alguns valores Quando os cálculos no início são excedentes, o controle é retornado ao terminal do cliente Depois que o terminal do cliente irá desenhar linhas de indicadores na barra zero com base em apenas valores calculados de elementos de matriz com zero index. Variant 3 Um novo tick é o Primeiro tick de uma nova barra zero, mas o último, mas um tick, não é processado caso raro. Fig 119 Nem todos os ticks da barra anterior foram processados. A Fig. 119 mostra a situação quando o início foi lançado no primeiro tick de um novo Barra no momento t 5 Hora anterior em que esta função foi iniciada no momento t 2 Marca que veio ao terminal no momento t 3 seta vermelha não foi processada pelo indicador Isto aconteceu porque o tempo de execução do início t 2 - t 4 é maior que O intervalo entre carrapatos t 2 - t 3 Esse fato será detectado pelo terminal cliente durante a execução do início lançado no momento t 5 Durante os cálculos na linha. IndicatorCount retornará o valor 299 Esse valor é verdadeiro - a partir do momento de A última chamada de indicador 299 barras não foram alteradas após agora já 301 É por isso que o índice calculado da primeira barra mais à esquerda, a partir da qual os cálculos de valores de elementos de matriz devem ser iniciados, será igual a 1 301-299-1.it significa durante Enquanto a execução duas iterações serão realizadas Durante o primeiro um valores de elementos de matriz com o índice i 1 será calculado, isto é, Buf0 1 e Buf1 1 Not, pelo momento em que os cálculos começam, as barras e matrizes de indicadores já são re-indexadas pelo cliente Por isso, os cálculos para elementos de matrizes com índice 1 serão calculados com base nos valores máximos e mínimos de array-timeseries de um preço de barra também com o índice 1.During A segunda iteração de valores while para elementos com índices zero, ou seja, para a barra zero, é calculada com base nos últimos valores conhecidos de arrays-timeseries. A utilização da tecnologia descrita para o cálculo de indicadores personalizados permite, em primeiro lugar, garantir o cálculo Dos valores de todos os elementos da matriz de indicadores, independentemente da natureza específica da história da marca, e segundo, realizar cálculos apenas para as barras não contabilizadas, ou seja, utilizar recursos economicamente calculáveis. Não, uma barra é considerada não contabilizada se o cálculo dos valores dos elementos de um indicador arrays Pelo menos para um último carrapato da barra não é executada. Iniciando o indicador personalizado em uma janela de gráfico você verá duas linhas - uma linha azul grossa construída sobre barras máximas E uma linha vermelha pontilhada construída sobre seus mínimos Fig 120.Fig 120 Duas linhas de indicadores em uma janela de segurança, construído pelo indicador. Deve-se notar, que se pode construir um indicador personalizado, cujas linhas de indicadores coincidiam com as linhas de Um indicador técnico análogo Pode ser facilmente feito se como fórmulas de cálculo no indicador personalizado, as mesmas fórmulas que no indicador técnico são utilizados Para ilustrar isto vamos melhorar o código de programa analisado no exemplo anterior Deixe o indicador desenhar linhas sobre os valores médios De máximos e mínimos de várias últimas barras É fácil realizar os cálculos necessários simplesmente precisamos encontrar valores médios dos elementos arrays-timeseries Por exemplo, o valor de um array de indicadores com o índice 3, isto é, a coordenada da linha do indicador para a terceira barra na base Dos últimos cinco máximos é calculado da seguinte forma. Buf0 3 Alto 3 Alto 4 Alto 5 Alto 6 Alto 7 5.Cálculos anônimos podem ser realizados para um indicador linhas construídas sobre minim Ums. Exemplo de um simples indicador personalizado As linhas de indicadores são construídas com base nos valores mínimos e máximos médios de N barras. Neste exemplo há uma variável externa AverBars Usando esta variável um usuário pode indicar o número de barras, para as quais um valor médio é calculado No início este valor é usado para o cálculo de um valor médio No laço para a soma de valores máximos e mínimos é calculado para o número de barras correspondente ao valor da variável AverBars Nas próximas duas linhas de programa valores de elementos de matriz de indicadores São calculados para linhas de indicadores correspondentes a valores mínimos e máximos. O método de média usado aqui também é aplicado para cálculos no indicador técnico Média Móvel Se anexarmos o indicador personalizado analisado e o indicador técnico Média Móvel, veremos três linhas de indicadores Se a Mesmo período de média é configurado para ambos os indicadores, a linha de média móvel coincidirá com uma das linhas de indicador personalizadas para este Os parâmetros de propósito específico descritos na Fig. 121 devem ser especificados nas configurações do indicador técnico. Fig. 121 Linhas coincidentes de um indicador técnico e uma linha vermelha de indicador personalizado. Assim, usando o indicador técnico um usuário pode construir a reflexão de quaisquer regularidades necessárias no trabalho prático. Indicador Opções. Drawing Linhas Indicador em separado Windows. MQL4 oferece um grande serviço para a construção de indicadores personalizados que faz com que eles sejam muito conveniente Em particular, linhas de indicadores podem ser desenhados em uma janela separada Isso é conveniente quando os valores absolutos da amplitude da linha de indicador é substancialmente Menor ou maior do que os preços de títulos Por exemplo, se estivermos interessados ​​na diferença entre os valores médios dos máximos de barras e mínimos em um determinado intervalo histórico, dependendo do período, este valor será igual a aproximadamente de 0 a 50 pontos, por exemplo, para M15 Não é difícil construir uma linha de indicador, mas em uma janela de segurança esta linha será desenhada na E intervalo de 0 a 50 pontos de um preço de segurança, ou seja, substancialmente menor do que a área do gráfico refletida na tela É muito inconveniente. Para desenhar linhas de indicadores em uma janela separada que está na parte inferior de uma janela de segurança, na propriedade diretiva No parâmetro de início do programa deve ser especificada a janela indicatorseparate. No momento em que esse indicador é anexado a uma janela de segurança, o terminal cliente cria uma janela separada abaixo de um gráfico, no qual as linhas indicadoras calculadas no indicador serão desenhadas Dependendo das configurações de cor e Tipos de linhas de indicadores que serão desenhados em tal ou qual estilo. Limitando o Histórico de Cálculos. Na maioria dos casos, as linhas de indicadores contêm informações úteis somente na história mais recente. A parte das linhas de indicadores construídas sobre barras antigas, por exemplo, Além disso, se há um monte de barras em uma janela de gráfico, o tempo investido no cálculo e desenho de Dicator linhas é excessivamente grande Isso pode ser crítico na depuração do programa, quando um programa é muitas vezes compilado e, em seguida, iniciado É por isso que é necessário realizar cálculos não para toda a história, mas para a parte limitada da barra mais recente history. For Este propósito um histórico de variáveis ​​externas é usado no seguinte programa O valor desta variável é levado em conta ao calcular o índice da primeira barra mais à esquerda, a partir de quais elementos de matrizes de indicadores devem ser calculados. Outros cálculos em loop while serão conduzidos para o Nota: o método analisado de limitar um histórico de cálculos refere-se apenas à parte dos cálculos que são conduzidos no primeiro início do início da função especial. Além disso, quando aparecerem novas barras, novas partes das linhas de indicadores Será adicionado na parte direita, enquanto a imagem na parte esquerda será preservada. Assim, o comprimento da linha indicadora será aumentado durante o wh Ole indicador tempo de operação O valor comum do parâmetro History é considerado aproximadamente 5000 bars. Exemplo de um simples indicador personalizado As linhas de indicadores são desenhadas em uma janela separada. Cálculo semelhante de uma linha de indicador é executado no indicador técnico AverageTrue Range Fig 122 mostra uma linha de indicador Construído pelo indicador personalizado em uma janela separada e uma linha de indicador construída pelo ATR em outra janela. Neste caso, as linhas são completamente idênticas porque o período de média é o mesmo para ambos os indicadores. 5 Se este parâmetro for alterado em qualquer um dos indicadores, A linha indicadora correspondente também irá mudar. Fig 122 desenho de uma linha de indicador personalizado em uma janela separada Linhas idênticas de um indicador técnico ATR e um indicador personalizado. É também evidente que a linha de indicador personalizado é construída não para toda a largura da tela, mas para 50 Últimas barras conforme especificado na variável externa Histórico Se um comerciante precisa usar um intervalo de histórico maior, o valor do externo Al variável pode ser facilmente alterado através da janela de configurações de indicador personalizado. Fig 123 mostra uma janela de segurança, em que a linha de indicador desenhado em outro estilo - como um histograma Para obter esse resultado uma linha foi alterada no código do programa - outra linha Estilos são indicados. Todas as outras partes de código são unchanged. Fig 123 Desenho linha de indicador personalizado em um histograma de janela separada Similaridade de desenhos de um indicador técnico ATR e um indicador personalizado. Linhas de indicador de mudança verticalmente e horizontalmente. Em alguns casos, é necessário mudar Uma linha de indicador Pode ser facilmente feita por meio de MQL4 Vamos analisar um exemplo, em que a posição de linhas de indicadores em uma janela de segurança são calculadas de acordo com os valores especificados por um usuário. Exemplo de um indicador personalizado Deslocando linhas de indicador horizontal e verticalmente. Para ajustar o deslocamento de linhas em um gráfico, há duas variáveis ​​externas - LeftRight para deslocamento horizontal de todas as linhas e UpDown para deslocar duas linhas pontilhadas verticall O algoritmo utilizado para calcular valores de elementos de matriz correspondentes baseia-se em regras muito simples. Para deslocar uma linha horizontalmente, atribua o valor calculado a um elemento de matriz cujo índice é maior por LeftRight para deslocamento para a direita e menos para Deslocando para a direita do que o índice de uma barra, para a qual os cálculos são conduzidos. Para deslocar uma linha verticalmente, o ponto UpDown deve ser adicionado para deslocar para cima ou para diminuir para cada valor de uma matriz de indicadores caracterizando a posição inicial da linha. Os índices de exemplo analisados ​​são calculados na linha. Aqui i é o índice de uma barra, para a qual os cálculos são executados, k é um índice de um elemento de matriz de indicadores. Linha indicadora vermelha exibida pelo terminal cliente com base na matriz de indicadores Line0 é deslocada para A esquerda por 5 barras de acordo com as configurações personalizadas, ver Fig 124 a partir da linha inicial Neste caso, a linha inicial é uma média móvel com o período de média igual a 5 a fórmula Do cálculo MA é High i Low i 2.Neste exemplo, a posição da linha vermelha é a base para o cálculo de valores de matriz de indicadores para outras duas linhas, ou seja, a sua posição no gráfico As linhas pontilhadas são calculadas desta maneira. Utilização do índice K para elementos de todos os arrays de indicadores permite executar cálculos para elementos de arrays Line1, Line2 na mesma barra usada para calcular valores do array básico correspondente Line0 Como resultado as linhas pontilhadas são deslocadas em relação à linha vermelha pelo valor especificado em A janela de configuração do indicador, neste caso por 30 pontos Fig 124.Fig 124 Linha de indicador vermelho é deslocado para a esquerda por 5 barras Linhas de indicador pontilhadas são deslocadas em relação à linha vermelha por 30 pontos. Limitações de indicadores personalizados. Há algumas limitações Em MQL4 que deve ser levado em conta na programação de indicadores personalizados. Há um grupo de funções que podem ser usadas apenas em indicadores personalizados e não podem ser usadas em Expert Advisors e scripts IndicatorBuff Por outro lado, as funções comerciais não podem ser usadas nos indicadores OrderSend, OrderClose, OrderCloseBy, OrderDelete e OrderModify Isso ocorre porque os recursos não podem ser usados ​​como indicadores de status. Indicadores operam no fluxo de interface como distinto Expert Advisors e scripts que operam em seu próprio flow. This é também por isso algoritmos baseados em looping não pode ser usado em indicadores personalizados Início de um indicador personalizado contendo um loop infinito em termos de tempo de execução real pode Resultam em terminal de cliente desligar com necessidade adicional de reiniciar um computador. As características comparativas gerais de Expert Advisors, scripts e indicadores está contida na Tabela 2.

No comments:

Post a Comment