Tuesday, 30 May 2017

Mql4 Icustom Moving Average


Uso Combinado de Programas Foi dito anteriormente que, de acordo com as regras MQL4, as funções de comércio não podem ser usadas em indicadores personalizados, é por isso que para a negociação automática de Consultores Especialistas ou scripts devem ser usados. No entanto, a tecnologia de economia de recursos utilizada para cálculos em indicadores (ver Criação de Indicadores Personalizados) é amplamente utilizada na criação de programas de negociação. Na maioria dos casos em indicadores personalizados pode-se calcular eficientemente os valores de elementos de matriz de indicadores necessários para a formação de critérios de negociação e tomada de decisões comerciais em Expert Advisors. Os cálculos realizados em indicadores personalizados tecnicamente também podem ser implementados em Expert Advisors, mas isso pode levar à duplicação de cálculos em diferentes programas de aplicação e ao desperdício de recursos não razoável, e em alguns casos (quando cálculos de longo uso intensivo de recursos são realizados) Uma decisão comercial tomada com atraso. Nos casos em que é necessário usar os resultados de cálculo de indicadores personalizados em um Expert Advisor ou script, a função iCustom () pode ser usada. Função iCustom () Cálculo do indicador personalizado fornecido. O indicador personalizado deve ser compilado (arquivo. ex4) e localizado no diretório Terminalcatalogueexpertsindicators. Símbolo - nome do símbolo de um título, sobre os dados dos quais será calculado um indicador. NULL indica o símbolo atual. Período de tempo. Pode ser um dos períodos de gráfico. 0 significa o período do gráfico atual. Nome - nome do indicador personalizado. . - Lista de parâmetros (se necessário). Os parâmetros passados ​​devem corresponder à ordem de declaração e ao tipo de variáveis ​​externas de um indicador personalizado. Modo - Índice de uma linha de indicador. Pode ser de - para 7 e deve corresponder ao índice usado por qualquer uma das funções SetIndexBar. Shift - Índice de valor obtido a partir de um buffer indicador (shift back relativo a uma barra atual por um número especificado de barras). Vamos considerar como iCustom () pode ser usado na prática. Vamos resolver o seguinte problema: Problema 30. Uma estratégia de negociação é baseada nos dados do indicador personalizado rocseparate. mq4. Se a linha ROC no período de tempo atual (laranja) cruza uma linha de taxa média suavizada (vermelho espesso) abaixo de um certo nível de baixo para cima, este é um critério relevante para comprar (compra aberta e venda fechada). Se houver condições contrárias, considere este um critério relevante para vender. Escreva um código implementando esta estratégia. O princípio de construção do indicador personalizado rocseparate. mq4 é descrito em detalhes na seção Indicador Personalizado ROC (Taxa de Variação de Preço). FIG. 131 ilustra dois pontos, em que a linha ROC no cronograma actual (M15) atravessa a linha de taxa de mudança suavizada. No ponto A, a linha laranja cruza a vermelha de baixo para cima eo local da primeira intersecção está abaixo do nível -0,001. No ponto B, a linha laranja cruza a vermelha na direção descendente eo ponto de cruzamento está acima do nível 0,001. O facto deste cruzamento deve ser detectado no Consultor Especialista e ser considerado como sinal de compra (ponto A - fechar Vender e abrir Compra) ou vender (ponto B - fechar Comprar e abrir Venda). FIG. 131. O cruzamento de linhas indicadoras personalizadas é considerado como um critério de negociação. Ao resolver tais problemas um pronto Expert Advisor pode ser usado, alterando a ordem de cálculo negociação critérios nele. Neste caso, podemos tomar como base o Expert Advisor tradingexpert. mq4 descrito na seção Simple Expert Advisor. O EA shared. mq4 cálculo de critérios de negociação com base em um indicador personalizado ficará loke isso: Vamos analisar o que as alterações foram feitas no código-fonte (tradingexpert. mq4). A parte principal do Expert Advisor usado como básico não mudou. As alterações foram feitas em dois blocos - bloco 1-2- e bloco 5-6. No bloco 5-6 são calculados os critérios de negociação. Na EA descrita uma estratégia de negociação é baseada em dois critérios de negociação - critério para abrir Compra e critério para abrir Venda. A estratégia utilizada no Expert Advisor permite a presença de apenas uma ordem de mercado aberta, pendente de encomendas não são permitidas. A estratégia também pressupõe o fechamento de uma ordem oposta quando um critério para a abertura de gatilhos, por exemplo, se o critério para abrir uma ordem de compra for relevante, significa que uma ordem de venda deve ser fechada. Para usar nos resultados do EA shared. mq4 dos cálculos realizados no indicador personalizado rocseparate. mq4, a função iCustom () deve ser executada: Neste caso, os parâmetros formais especificados na chamada iCustom () denotam o seguinte: NULL - os cálculos no indicador são Efectuada com base nos dados da segurança actual, neste caso a EA está ligada à janela EURUSD, de modo que os dados de EURUSD serão utilizados (ver Fig. 131) 0 - nos cálculos dados do período actual são utilizados neste caso o calendário actual é M15, então os dados correspondentes a M15 serão usados ​​quotrocseparatequot - name de um indicador personalizado, no qual os cálculos serão feitos. H, P, B, A - lista de parâmetros ajustáveis. Neste caso, o indicador personalizado rocseparate. mq4 tem parâmetros ajustáveis ​​(bloco 2-3 do código rocseparate. mq4). Para que um usuário possa configurar valores desses parâmetros a partir do EA, eles são especificados na lista de parâmetros passados ​​da função iCustom (). No Expert Advisor, os valores desses parâmetros podem diferir daqueles especificados no indicador. Nesse caso, durante os cálculos no indicador, estes valores passados ​​serão utilizados. Estes parâmetros denotam o seguinte: H - número de barras na história de cálculo P - período de cálculo MA B - número de barras para cálculo da taxa A - número de barras para suavização. (O significado destes parâmetros é explicado em detalhes na seção Indicador Personalizado ROC (Taxa de Preços de Variação) 1 (5) - linha de índice do indicador No indicador personalizado rocseparate. mq4 são usados ​​6 arranjos de indicadores Linha ROC O cronograma atual (cor-de-laranja) é construído com base nos valores Line1, para os quais é usado o buffer com índice 1. A linha de velocidade média suavizada é baseada em valores de elementos de matriz Line5, índice do buffer usado é 5. 0 - índice de valor Obtidos a partir de um buffer indicador (deslocamento de volta em relação a uma barra atual pelo número especificado de períodos).Neste caso, os valores de linhas de indicadores na barra zero são usados, por isso é especificado o índice 0. Para um usuário ser capaz de Alterar manualmente os parâmetros do indicador ajustável no EA, as variáveis ​​externas são especificadas no bloco 1a-1b (do Expert Advisor). No bloco 5-5a, os valores destes parâmetros são atribuídos a outras variáveis ​​com nomes mais curtos - isto é feito por conveniência de Código no bloco 5a - 5b. Assim, um usuário pode especificar em parâmetros shared. mq4, com os quais os cálculos no indicador personalizado rocseparate. mq4 serão conduzidos. Após a execução a função iCustom () retornará o valor correspondente a um valor de elemento especificado da matriz de indicadores especificado calculado no indicador usando valores especificados de parâmetros ajustáveis. Durante a operação prática, é conveniente ver em uma linha de segurança as linhas do indicador, cujos elementos de matriz são usados ​​no Expert Advisor (veja a Figura 131). Ao mesmo tempo, a execução do iCustom () não está conectada com a presença do indicador na janela de segurança, bem como com os valores de seus parâmetros ajustáveis. A execução de iCustom () não requer a anexação de um indicador correspondente a uma janela de segurança. Assim como a chamada de iCustom () de qualquer programa de aplicação não resulta na anexação de um indicador correspondente a uma janela de segurança. O anexo de um indicador técnico a uma janela de segurança também não leva à chamada de iCustom em qualquer programa aplicativo. Os critérios de negociação no EA (bloco 5-6) são calculados com base nos valores dos elementos do array obtidos usando a função iCustom (). Por exemplo, um critério para a abertura de Compra e Venda de fechamento é calculado da seguinte maneira: Se o último valor conhecido de uma linha de taxa média suavizada (L5) for menor que o nível especificado (valor do parâmetro ajustável Nível 0.001) eo último valor conhecido Da linha ROC no período de tempo atual (L1) é maior do que a linha de taxa média alisada (L5), o critério para abrir uma ordem de compra e fechar uma ordem de venda é considerado relevante. Para a confirmação da relevância de critérios opostos que refletem condições são utilizados. Os critérios de negociação aceitos neste exemplo são usados ​​apenas para fins educacionais e não devem ser considerados como uma diretriz ao negociar em uma conta real. Média de Movimentação O Indicador Técnico de Média Móvel mostra o valor médio do preço do instrumento por um determinado período de tempo. Quando se calcula a média móvel, uma média do preço do instrumento para este período de tempo. À medida que o preço muda, sua média móvel aumenta ou diminui. Existem quatro tipos diferentes de médias móveis: Simples (também referido como Aritmética), Exponencial. Suavizado e ponderado. A média móvel pode ser calculada para qualquer conjunto de dados seqüenciais, incluindo preços de abertura e fechamento, preços mais altos e mais baixos, volume de negociação ou quaisquer outros indicadores. É freqüentemente o caso quando se utilizam médias móveis duplas. A única coisa em que médias móveis de diferentes tipos divergem consideravelmente umas das outras, é quando os coeficientes de peso, que são atribuídos aos dados mais recentes, são diferentes. No caso de nós estamos falando de média móvel simples. Todos os preços do período de tempo em questão são iguais em valor. A média móvel exponencial e a média móvel ponderada linear atribuem mais valor aos preços mais recentes. A maneira mais comum de interpretar a média móvel de preços é comparar sua dinâmica com a ação de preço. Quando o preço do instrumento sobe acima de sua média móvel, um sinal de compra aparece, se o preço cai abaixo de sua média móvel, o que temos é um sinal de venda. Este sistema de negociação, que se baseia na média móvel, não é projetado para fornecer entrada no mercado direito em seu ponto mais baixo, e sua saída direita no pico. Ele permite agir de acordo com a seguinte tendência: comprar logo após os preços atingem o fundo, e vender logo após os preços atingiram seu pico. As médias móveis também podem ser aplicadas aos indicadores. É aí que a interpretação das médias móveis dos indicadores é semelhante à interpretação das médias móveis de preços: se o indicador se eleva acima da média móvel, isso significa que o movimento do indicador ascendente deverá continuar: se o indicador cair abaixo da sua média móvel, Significa que é provável que continue indo para baixo. Aqui estão os tipos de médias móveis no gráfico: Média móvel simples (SMA) Média móvel exponencial (EMA) Média móvel suavizada (SMMA) Média móvel ponderada linear (LWMA) Você pode testar os sinais comerciais deste indicador criando um especialista Em Assistente MQL5. Simples, ou seja, a média móvel aritmética é calculada pela soma dos preços de encerramento do instrumento ao longo de um certo número de períodos únicos (por exemplo, 12 horas). Este valor é então dividido pelo número de tais períodos. SMA SOMA (FECHAR (i), N) N Soma soma FECHAR (i) período de fechamento preço próximo N número de períodos de cálculo. Média Móvel Exponencial (EMA) A média móvel suavizada exponencialmente é calculada pela adição de uma determinada parcela do preço de fechamento atual ao valor anterior da média móvel. Com médias móveis exponencialmente suavizadas, os últimos preços de fechamento são de maior valor. A média móvel exponencial de P por cento será semelhante a: EMA (CLOSE (i) P) EMA (i - 1) (1 - P) De um período anterior P a percentagem de utilização do valor do preço. Média Móvel Smoothed (SMMA) O primeiro valor desta média móvel suavizada é calculado como a média móvel simples (SMA): SUM1 SUM (CLOSE (i), N) A segunda média móvel é calculada de acordo com esta fórmula: SMMA (i) (SMMA1 (N-1) FECHAR (i)) N As médias móveis sucessivas são calculadas de acordo com a fórmula abaixo: PREVSUM SMMA (i - 1) N SMMA (i) (PREVSUM - SMMA (i - 1) N Sum SUM SUM1 soma total dos preços de fechamento para N períodos é contado a partir da barra anterior PREVSUM suavizado soma da barra anterior SMMA (i-1) suavizada média móvel da barra anterior SMMA (i) suavizada média móvel da barra atual (Exceto o primeiro) CLOSE (i) preço de fechamento atual N período de suavização. Após conversões aritméticas, a fórmula pode ser simplificada: SMMA (i) (SMMA (i - 1) (N - 1) FECHO (i)) N Média Móvel Ponderada Linear (LWMA) No caso da média móvel ponderada, De mais valor do que dados mais cedo. A média móvel ponderada é calculada multiplicando-se cada um dos preços de fechamento dentro da série considerada, por um determinado coeficiente de ponderação: LWMA SOMA (CLOSE (i) i, N) SUM (i, N) soma total de coeficientes de peso N período de suavização. Eu sou novo para codificação, e estou aprendendo muito, no entanto eu tenho algo que eu não posso obter a minha cabeça ao redor no momento. Estou tentando chamar o resultado de um teste em um dos meus indicadores, para um ea, para que ele possa adicioná-lo aos seus próprios testes antes de colocar um comércio. O ea é uma cruz simples de média móvel. O indicador é um indicador de tendência ou de variação. Anexei o código do indicador. Gostaria de ajuda, e se possível explicado simplesmente para que eu possa obter a minha cabeça em torno de como ele deve ser instalado dentro do indicador, para a ea para reconhecê-lo. Uma vez que eu tenha o indicador ordenado, eu moverei para o ea. O indicador tem dois testes, em que eu gostaria de adicionar a função iCustom. Nesta fase, eu só quero adicioná-lo em um teste, não importa qual, como eu estou tentando entendê-lo. Qualquer pessoa disposta a ajudar e explicar isso simplesmente. Seria muito benéfico - eu não consigo encontrar nada on-line que explica isso, então eu entendo. O resultado do teste poderia simplesmente ser quottruequot. Agradecemos antecipadamente pelo seu tempo. O Mike iCustom permite que você acesse os buffers Indicators. é simples assim. Por exemplo, você está escrevendo uma EA que tem uma estratégia baseada em 2 Indicadores, você poderia construir o código indicador na EA, que é possível, mas é um pouco envolvido como indicadores buffers não trabalham em EAs, você teria que usar matrizes e Lidar com eles em uma série quotasquot moda. A alternativa é ter os Indicadores funcionando e acessar seus buffers da EA. Isso é o que o iCustom facilita. Não são necessárias alterações aos Indicadores. O EA simplesmente acessa os buffers de que necessita nos valores de mudança que ele precisa. Na chamada iCustom também pode passar todas as variáveis ​​externas que são necessárias para configurar o Indicador conforme aplicável iCustom permite que você acesse seus buffers de Indicadores. é simples assim. Por exemplo, você está escrevendo uma EA que tem uma estratégia baseada em 2 Indicadores, você poderia construir o código indicador na EA, que é possível, mas é um pouco envolvido como indicadores buffers não trabalham em EAs, você teria que usar matrizes e Lidar com eles em uma série quotasquot moda. A alternativa é ter os Indicadores funcionando e acessar seus buffers da EA. Isso é o que o iCustom facilita. Não são necessárias alterações aos Indicadores. O EA simplesmente acessa os buffers de que necessita nos valores de mudança que ele precisa. Na chamada iCustom também pode passar todas as variáveis ​​externas que são necessárias para configurar o Indicador como aplicável Obrigado por esse RaptorUK, no entanto, é a codificação real que estou tendo dificuldades com. Eu sou muito novo para MQL4, e só tenho feito isso um par de meses, e ainda estou aprendendo - então eu estou precisando de uma explicação simples da codificação e como configurá-lo no indicador.

No comments:

Post a Comment