Eu sou novo em codificar, e estou aprendendo muito, no entanto, acertei algo que não consigo entender naquele momento. Estou tentando chamar o resultado de um teste em um dos meus indicadores, para um e, para que ele possa adicioná-lo aos seus próprios testes antes de colocar um comércio. A ea é uma cruz simples de média móvel. O indicador é um indicador de tendência ou variação. Anexei o código do indicador. Gostaria de ajuda e, se possível, explicasse simplesmente para que eu pudesse entender como deveria ser configurado dentro do indicador, para que a EA reconhecesse. Depois de ter o indicador ordenado, irei para a EA. O indicador possui dois testes, nos quais gostaria de adicionar a função iCustom. Nesta fase, só estou querendo adicioná-lo em um teste, não importa o que, como eu estou tentando entender. Qualquer pessoa que esteja disposta a ajudar e a explicar simplesmente. Seria muito benéfico - não consigo encontrar nada em linha que explique isso, então eu entendo isso. O resultado do teste poderia simplesmente ser quottruequot. Agradecemos antecipadamente por você. Mike iCustom permite que você acesse os seus buffers Indicadores. é simples assim. Por exemplo, você está escrevendo uma EA que possui uma estratégia baseada em 2 Indicadores, você pode construir o código do Indicador na EA, isso é possível, mas é um pouco envolvido porque os buffers Indicadores não funcionam em EAs, você teria que usar arrays e Lidar com eles em uma série de quotas de moda. A alternativa é ter os Indicadores em execução e acessar seus buffers da EA. Isso facilita o iCustom. Não são necessárias mudanças nos Indicadores. A EA simplesmente acessa os buffers que precisa 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, o iCustom permite que você acesse os seus buffers Indicadores. é simples assim. Por exemplo, você está escrevendo uma EA que possui uma estratégia baseada em 2 Indicadores, você pode construir o código do Indicador na EA, isso é possível, mas é um pouco envolvido porque os buffers Indicadores não funcionam em EAs, você teria que usar arrays e Lidar com eles em uma série de quotas de moda. A alternativa é ter os Indicadores em execução e acessar seus buffers da EA. Isso facilita o iCustom. Não são necessárias mudanças nos Indicadores. A EA simplesmente acessa os buffers que precisa 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. Obrigado por esse RaptorUK, no entanto, é a codificação real com a qual estou tendo dificuldades. Eu sou muito novo para o MQL4, e só o fiz há alguns meses, e ainda estou aprendendo - então estou precisando de uma explicação simples sobre a codificação e como configurá-lo no uso de programas Indicados. Anteriormente De acordo com as regras comerciais do MQL4, as funções comerciais não podem ser usadas em indicadores personalizados, é por isso que, para negociação automatizada, especialistas em Expert ou scripts devem ser usados. No entanto, a tecnologia de economia de recursos usada para cálculos em indicadores (veja 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 de forma eficiente os valores dos elementos da matriz de indicadores necessários para a formação dos critérios de negociação e a tomada de decisões comerciais em Assessores Especializados. 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 aplicativos e a desperdícios não razoáveis de recursos e, em alguns casos (quando são realizados cálculos intensivos em recursos) Uma decisão comercial tomada tarde. 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 Indicadores do terminalcatalogueexperts. Símbolo - símbolo nome de uma segurança, nos dados dos quais um indicador será calculado. NULL indica o símbolo atual. Período de tempo - período. 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 com a ordem de declarar e o tipo de variáveis externas de um indicador personalizado. Modo - Índice de uma linha indicadora. Pode ser de - para 7 e deve corresponder ao índice usado por qualquer uma das funções SetIndexBar. Turno - Índice do valor obtido a partir de um buffer de indicador (deslocamento em relação a uma barra atual por um número especificado de barras). Vamos considerar como o iCustom () pode ser usado na prática. Deixe-nos 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 cronograma atual (laranja) cruza uma linha de taxa média suavizada (grosso vermelho) abaixo de um certo nível de baixo para cima, este é um critério relevante para comprar (abrir Comprar e fechar Vender). 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 da 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 atual cronograma (M15) cruza a linha de mudança de velocidade suavizada. No ponto A, a linha laranja cruza o vermelho de baixo para cima e o local da primeira interseção está abaixo do nível -0.001. No ponto B, a linha laranja cruza o vermelho na direção descendente e o ponto cruzado está acima do nível 0,001. O fato desse 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 Vender Vender). FIG. 131. O cruzamento de linhas de indicadores personalizados é considerado como um critério de negociação. Ao resolver esses problemas, um conselheiro experiente pronto pode ser usado, alterando a ordem dos critérios de negociação de cálculo nela. Neste caso, podemos tomar como base o Consultor Especial tradingexpert. mq4 descrito na seção Consultor Especial Simplificado. O EA shared. mq4 que calcula os critérios de negociação com base em um indicador personalizado parecerá o seguinte: Analise quais alterações foram feitas no código-fonte (tradeexpert. mq4). A parte principal do consultor especialista usado como básico não mudou. As mudanças foram feitas em dois blocos - bloco 1-2 - e bloco 5-6. No bloco 5-6, os critérios comerciais são calculados. Na EA descrita, uma estratégia de negociação baseia-se 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 um pedido de mercado aberto, não sendo permitidas ordens pendentes. A estratégia também pressupõe o fechamento de uma ordem oposta quando um critério para abrir gatilhos, por exemplo, se o critério para abrir uma ordem Comprar é relevante, significa que uma ordem de Venda deve ser fechada. Para usar nos resultados EA shared. mq4 dos cálculos realizados no indicador personalizado rocseparate. mq4, a função iCustom () deve ser executada: neste caso, os parâmetros formados especificados na chamada iCustom () indicam o seguinte: NULL - cálculos no indicador são Executado com base em dados da segurança atual neste caso, o EA é anexado à janela EURUSD, então os dados de EURUSD serão usados (veja a Fig. 131) 0 - nos cálculos, os dados do período atual são usados neste caso, o tempo atual é 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. Nesse caso, o indicador personalizado rocseparate. mq4 possui 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 da EA, eles são especificados na lista de parâmetros passados da função iCustom (). No Expert Advisor, os valores desses parâmetros podem ser diferentes dos especificados no indicador. Nesse caso, durante os cálculos no indicador exatamente esses valores passados serão usados. Estes parâmetros indicam o seguinte: H - número de barras no histórico de cálculo P - período de cálculo MA B - número de barras para cálculo de taxa A - número de barras para suavização. (O significado desses parâmetros é explicado em detalhes na seção Indicador personalizado ROC (Taxa de variação de preço). 1 (5) - linha de índice do indicador. No indicador personalizado rocseparate. mq4 6 matrizes de indicadores são usadas. ROC line in O cronograma atual (laranja) é construído com base nos valores Line1, para os quais é usado o buffer com o índice 1. A linha de taxa média suavizada é baseada em valores de elementos da matriz Line5, o índice do buffer usado é 5. 0 - índice de valor Obtido a partir de um buffer de indicador (mudar 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 de zero são usados, é por isso que o índice 0 é especificado. Para que um usuário possa Altere os parâmetros do indicador ajustável na EA manualmente, as variáveis externas são especificadas no bloco 1a-1b (do Expert Advisor). No bloco 5-5a os valores desses parâmetros são atribuídos a outras variáveis com nomes mais curtos - isso é feito por conveniência de Apresentação do código no bloco 5a - 5b. Assim, um usuário pode especificar em parâmetros shared. mq4, com quais 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 especificada, calculada no indicador usando valores especificados de parâmetros ajustáveis. Durante a operação prática, é conveniente ver em uma janela de segurança linhas do indicador, elementos da matriz dos quais são usados no consultor especialista (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 do iCustom () não requer a anexação de um indicador correspondente a uma janela de segurança. Além da chamada de iCustom () de qualquer programa de aplicativo, não resulta na anexação de um indicador correspondente a uma janela de segurança. A anexação de um indicador técnico a uma janela de segurança também não leva à chamada do iCustom em qualquer programa aplicativo. Os critérios de negociação na EA (bloco 5-6) são calculados com base nos valores dos elementos da matriz obtidos usando a função iCustom (). Por exemplo, um critério para abrir o Buy and closing Sell é calculado da seguinte forma: 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) e o último valor conhecido Da linha ROC no prazo atual (L1) é maior do que a linha de taxa média suavizada (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 usadas. Os critérios de negociação aceitos neste exemplo são usados somente para fins educacionais e não devem ser considerados como diretriz ao negociar em uma conta real.
No comments:
Post a Comment