![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
porque para algum ressentimento (provavelmente um bug) as arrays não são inicializadas
Até agora não estou obtendo valor para 'T3MA' e 'HMA'.
Provavelmente, é por isso que esta EA não está abrindo nenhuma ordem, pois ambos os indis são utilizados nela.
Ou será que eu cometi algum erro no EA?
Até agora não estou obtendo valor para 'T3MA' e 'HMA'.
eu já lhe disse
porque por alguma razão (provavelmente um bug) as arrays não são inicializadas
Provavelmente, é por isso que esta EA não está abrindo nenhuma ordem, pois ambos os indis são utilizados nela.
eu não sei talvez, provavelmente, talvez, possível, provavelmente, razoável
Ou eu tinha cometido algum erro na EA?
Eu não penso assim
Sim, você está certo. Mas por quê?
Eu os compilei como disse a SDC e encontrei '0' Erro ou Advertência.
Então, o que posso fazer para atualizá-los para B-600+ ?
HMA.mq4 tem um bug, mude esta linha no init() :
paraEsta EA não está abrindo nenhum comércio nem mesmo no Build 509 onde ambos 'T3MA' & 'HMA' estão funcionando bem.
Qual pode ser a razão, então?
Bug similar em T3MA.mq4, mude para :
Estes são bugs lógicos que o compilador não pode capturar.
Estes bugs já estão presentes no build 509, mas não levam a um problema, pois o SetIndexBuffer tem poucas chances de ser falso. Agora é um problema devido a esta mudança:
Shortened conditions check is now used in logical operations, unlike the old MQL4 version where all expressions have been calculated and the check has been performed afterwards. Suppose there is a check of two conditions with the use of logical AND
Se a expressão condição1 for falsa, o cálculo da expressão condição2 não é realizado, pois o resultado falso && verdadeiro ainda é igual a falso.
Bug similar em T3MA.mq4, mude para :
Estes são bugs lógicos que o compilador não pode pegar.Muito obrigado, senhor.
Sim, estes eram os Bugs e estão funcionando agora :)
Você pode ver porque a EA não está abrindo nenhuma ordem apesar destes indicadores estarem funcionando?
Atenciosamente
Você pode ver porque a EA não está abrindo nenhuma ordem, apesar destes indicadores funcionarem?
mostre seu código EA
mostre seu código EA
Aqui está:
iCustom
Calcula o indicador personalizado especificado e retorna seu valor.
duplo iCustom(
corda símbolo, // símbolo
int prazo, // prazo
string nome, // caminho/nome do indicador personalizado do programa compilado
... ... // parâmetros de entrada de indicadores personalizados (se necessário)
int modo, // índice de linha
int turno // turno
);
Parâmetros
símbolo
[em] Nome do símbolo sobre os dados dos quais o indicador será calculado. NULL significa o símbolo atual.
cronograma
[em] Cronograma. Pode ser qualquer um dos valores de enumeração de ENUM_TIMEFRAMES. 0 significa o período de tempo atual do gráfico.
nome
[em] Indicador personalizado compilado nome do programa, relativo ao diretório de indicadores raiz (MQL4/Indicators/). Se o indicador estiver localizado no subdiretório, por exemplo, em MQL4/Indicadores/Exemplos, seu nome deve ser especificado como "Nome_do_indicador"(dupla barra invertida "{\i1}" deve ser especificada como separador em vez de um único).
...
... [em] Parâmetros de entrada de indicadores personalizados, separados por vírgulas.
Os parâmetros passados e sua ordem devem corresponder com a ordem de declaração e o tipo de variáveis externas do indicador personalizado. Se os valores dos parâmetros de entrada não forem especificados, serão usados os valores padrão.