Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1190
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
Fechamento do MetaQuotes Demo Server
MetaQuotes Software Corp.
4 de março de 2009
Em 5 de abril de 2009 o servidor "demo.metaquotes.net" será desativado. No entanto, o Centro de História com o minucioso histórico vai continuar seu trabalho.
A partir deste dia, nossa empresa se recusa a utilizar o servidor de demonstração. Atualmente, o número de empresas que operam a plataforma MetaTrader 4 é tão alto, que não vemos a necessidade de manter nosso próprio servidor.
Isto é algum tipo de antiguidade (outro servidor é mencionado). Já foi feito muitas vezes este ano, a última vez foi há um mês atrás na MetaQuotes-Demo uma nova conta demo foi criada normalmente.
Além disso, se o servidor for removido, por que ele é mostrado e pingado no assistente de abertura de conta? A compota acontece apenas no último passo.
A primeira vez que dados históricos são acessados a partir do indicador, se houver dados locais insuficientes, o carregamento de dados começa e a função retorna um erro.
Isto eu entendo perfeitamente. Se fosse sobre barras insuficientes na história, então ambas as funções retornariam 0. Entretanto, uma delas retorna 0, enquanto a outra retorna corretamente o número de barras na história. Além disso, eles são chamados um após o outro:
Somente os dados no primeiro caso são retirados dos pré-membros prontos (símbolo e cronograma) da classe Loader (corretamente inicializados), mas no segundo caso, das funções Symbol() e Period() (que retornam exatamente os mesmos valores que foram escritos em símbolo e cronograma). Os valores das variáveis são idênticos aos das funções (eu verifiquei). Mas não está claro onde iBars (símbolo, cronograma) se aparafusa com símbolo e cronograma absolutamente corretos. Enquanto iBars(Symbol(), Period()) não comete um erro. Portanto, decidi que deve ser um erro no próprio terminal ou uma compilação incorreta do código fonte.
Entendo isso muito bem. Se fosse sobre a falta de barras na história, então ambas as funções retornariam 0. Mas como é, uma função retorna 0, enquanto a outra retorna corretamente o número de barras na história. Além disso, eles são chamados um após o outro:
Somente os dados no primeiro caso são retirados dos pré-membros prontos (símbolo e cronograma) da classe Loader (corretamente inicializados), mas no segundo caso, das funções Symbol() e Period() (que retornam exatamente os mesmos valores que foram escritos em símbolo e cronograma). Os valores das variáveis são idênticos aos das funções (eu verifiquei). Mas não está claro onde o iBars (símbolo, prazo) se confunde com o símbolo e o prazo absolutamente corretos. Enquanto iBars(Symbol(), Period()) não comete um erro. Por isso, decidi que há um erro em algum lugar na operação do terminal.
Agora escreva assim, como Igor aconselhou:
E não se esqueça que este é um construtor de classes, e que é chamado antes da inicializaçãoEntendo isso muito bem. Se fosse sobre a falta de barras na história, então ambas as funções retornariam 0. Mas como é, uma função retorna 0, enquanto a outra retorna corretamente o número de barras na história. E eles são chamados um após o outro:
Você inventa uma história
e então você decide escrevê-lo como uma reclamação e então a pergunta
O que diz a mensagem de erro 4401?
o que eu escrevi?
Você entende a diferença entre uma falta de barras e um gráfico que não está pronto?
você tem a situação após o reinício do terminal com o início do indicador, e você solicita os dados na inicialização global do programa MQL (class constructor), que será executado antes do OnInit()
se foi, você escreve mais rápido do que lê, procure no fórum 4401 - todas as respostas
Calculo o lote da seguinte forma
Está no início da EA...e eu o coloco no final do código
Quando a variável Lots é chamada na função OnTick, a EA a encontra e recalcula.
Não pode ser assim. A declaração e inicialização estão em andamento, e a variávelLotes está sendo atribuída com uma expressão.
Esta atribuição pode ser feita apenas uma vez na partida. Não pode ser o caso, que uma expressão seja automaticamente atribuída cada vez queLotes são acessados. Ainda não ouvi dizer que o mql pode fazer isso.
Não pode ser assim. Você tem declaração e inicialização, e uma expressão é atribuída à variávelLotes.
Esta atribuição pode ser feita uma vez na partida, não pode ser que cada vez que você acessaLotes, uma expressão seja automaticamente atribuída. Ainda não ouvi dizer que o mql pode fazer isso.
Eu verifiquei, quando o saldo muda, o lote também muda
Uau, eu vou checar. Sei que você pode inicializar variáveis com elementos de matriz com funções, mas não sabia que isso muda automaticamente, acho que também não há nada disso em C++, vou verificar mais tarde.
E não se esqueça que este é um construtor de classes, e que é chamado antes da inicialização
Isto se o objeto for automático. Mas eu o crio comnova palavra-chave(em OnInit()) e o apago com a palavra-chave apagar (em OnDeinit()). Ou seja, uso um ponteiro para um objeto do tipo Loader. Mas eu acho que você sabe de todos esses detalhes. É por isso que o carregador é criado no OnInit() e não pode haver nenhum erro aqui.
Se você quer dizer troca de funções, eu já tentei e o resultado é o mesmo. Somente as mensagens vão em uma seqüência diferente :)
Resultado:
2020.06.24 23:10:48.568 Carregador::Símbolo do carregador: EURUSD Prazo: PERÍODO_H1
2020.06.24 23:10:48.568 Loader::Loader bars (2): 140435
2020.06.24 23:10:48.568 Loader::Barras Loader: 0
2020.06.24 23:10:48.568 Loader::Loader Error: 4401
Você inventou uma história.
e depois decidiu transformá-la em uma reclamação.
Sem reivindicações! E qual é a história se eu forneci o código fonte e até descrevi a seqüência de ações para testar seu trabalho? Obviamente, você me entendeu mal...
E você está pedindo dados na inicialização global do programa MQL (construtor de classes), que será executado antes do OnInit()
se foi, você está escrevendo mais rápido do que lendo,procure no fórum 4401 - todas as respostas
Não deve ser executado antes doOnInit(), escrevi em um post anterior. É você que não está lendo com atenção, tanto os posts quanto o código fonte que acrescentei para os testes.
Isto é alguma antiguidade (outro servidor é mencionado). Mais de uma vez este ano, há um mês atrás, no MetaQuotes-Demo, uma nova conta demo foi criada normalmente.
Além disso, se o servidor for removido, por que ele é mostrado e pingado no assistente de abertura de conta? O congestionamento acontece apenas na última etapa.