![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Obrigado Dabbler. Anexei o EA completo e o Indicador. Li as declarações no iCustom e entendi tudo, exceto a parte dos parâmetros,
O que entra nos parâmetros são os valores que você quer usar para as variáveis externas no Indicador . . neste caso, estes . .
Vamos dar uma olhada novamente no arquivo de ajuda.
olhando para a definição da ... parte.
Você tem 9 variáveis externas e, portanto, precisa de 9 parâmetros na ordem correta e com o tipo correto
Fácil de limpar.
Então você pergunta "Também, há alguma maneira de ver fisicamente quais valores estão sendo enviados para a EA"?
Claro.
Sim, exceto que Null é uma gralha.
Comece com o indicador e gere o código.
#define SFX "SFX"
#define, pois é constante. Defina-o uma vez para que não haja erros de digitação.Obrigado por sua resposta.
ExtMapBuffer1[i+3] = lower_fractal_7b; could be used as calculated value when reversal fractal is called?
Sim. O tempo todo. Estou falando de valores externos. E eu acho que você está falando de Buffers.
Sim UBZEN,
Eu também tentei o que você sugeriu e ele retornou o valor como está indicado no meu indicador....
é simples, fácil de adicionar ou usar com todos esses parâmetros longos.... especialmente o que tem arrays.......
Eu poderia me perder na compilação dos parâmetros, e não de vocês, os PRO'S aqui.
muito obrigado.... Eu estava procurando esta resposta por alguns dias
O iCustom permite que você acesse seus amortecedores de Indicadores . . é tão simples quanto isso.
Por exemplo, você está escrevendo uma EA que tem uma estratégia baseada em 2 Indicadores, você poderia construir o código do Indicador na EA, isso é possível mas está um pouco envolvido já que os buffers de Indicadores não funcionam nas EA, você teria que usar arrays e manuseá-los de forma "em série" . . a alternativa é ter os Indicadores funcionando e acessar seus buffers a partir da EA . . isto é o que o iCustom facilita. Não são necessárias mudanças nos Indicadores . . . a EA simplesmente acessa os amortecedores de que precisa nos valores de deslocamento que precisa. Na chamada iCustom também pode passar quaisquer variáveis externas que sejam necessárias para configurar o Indicador como aplicável.
Caro RaptorUK (e outros que talvez possam ajudar),
no post citado você descreve duas maneiras de usar valores indicadores personalizados em um EA. A primeira é com o iCustom, da qual já estou ciente. A segunda é uma que eu realmente gostaria de aprender mais sobre porque tentei internalizar o código de indicadores personalizados no corpo do indicador principal antes, mas sem sucesso. Veja, quando transformei um indicador em uma função e o deixei retornar seu valor mais atual (o valor no elemento 0) eu sempre recebo o VALOR_ VAZIO para uma variável dupla ao invés do próprio valor calculado. Eu tentei usar a função iCustom, definindo o deslocamento para 0, o valor mais recente. Quando faço isso, o terminal começa retornando 0 junto com o erro STACK OVERFLOW na guia experts. No segundo tick ele retorna um valor, mas depois de cada par de valores impressos [0] ele dá outro erro STACK OVERFLOW, isto continua a repetir-se repetidamente. Como o iCustom retorna o valor 0 e STACK OVERFLOW na primeira inicialização (e somente após começar a dar valores corretos) não posso usar o icustom em minha EA porque ele chama o icustom por um símbolo diferente toda vez que Start() é ativado e chama vários indicadores personalizados para isso. Isto faz com que o EA trave. Não entendo porque recebo um erro STACK OVERFLOW sempre que quero que a icustom retorne o valor mais recente [0], mas eu certamente gostaria de saber. No entanto, prefiro internalizar o código de todos os indicadores que estão sendo chamados, transformando-os em funções dentro do indicador principal. Você disse algo sobre o uso de arrays e manuseá-los "como uma série". Você poderia, por favor, elaborar isto?
Eu adicionei um arquivo mq4 do indicador clássico ADX.mq4. Dentro do valor do ADX é impresso duas vezes. Uma pelo Icustom, e a segunda pelo código ADX que foi transformado em uma função dentro do ADX. Icustom(ADX) retorna um valor, mas ADX(símbolo,cronograma) não. Ele continua retornando o mesmo EMPTY_VALUE de 247456457457 ou algo mais uma e outra vez. Por favor, explique porque isto está acontecendo e como posso remediar isto tanto em um modelo EA como em um arquivo indicador personalizado mq4.
Com os melhores cumprimentos e agradecimentos
PS: anexar arquivo não parece estar funcionando. Mas você pode baixar tanto o indicador de exemplo CallicustomvsFunction como o indicador personalizado ADX em http://www.forexfactory.com/showthre...37#post8569537(meu nome lá é Codix)
Nos posts acima(https://www.mql5.com/en/forum/138577/page3#627521 e https://www.mql5.com/e n/forum/138577/page3#797401) eu usei pontos e separadores de palavras.
Isso não é permitido desde 3 de fevereiro de2014 (Build 600) Use um underscore ou uma caixa de camelo.
Use um underscore ou um estojo de camelo.