Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 363
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
Não me parece que esteja a fazer a pergunta aqui. Criar um fio separado, anexar aí o código do indicador e esperar que alguém ajude. Sem o código... é pouco provável que alguém o ajude.
Ao escrever os ToR, deparei-me com uma situação em que não compreendo como descrever correctamente o algoritmo. Pode aconselhar sobre a possibilidade de encerramento parcial de uma posição no trabalho da EA?
Ao escrever os ToR, deparei-me com uma situação em que não compreendo como descrever correctamente o algoritmo. Pode dizer-me se é possível um encerramento parcial de uma posição no trabalho de uma EA?
O que há de tão complicado nisso? Se a posição não for dividida uniformemente (ex. 0,09), então feche a maior parte (0,05) e mova a paragem para o ponto de equilíbrio, depois outra distância de fecho e novamente metade da distância restante (0,02) e mova a paragem para o próximo passo de fecho no positivo e assim sucessivamente até que toda a posição seja fechada ou chegue à paragem. O passo pode ser fixado ou calculado a partir de qualquer intervalo, depende do sistema de negociação.
Será que percebo bem? A linguagem de programação MQL4 permite formalizar o encerramento de apenas metade do volume de encomendas do mercado... como o lote 10 e fechar 5 lotes quando o preço atinge um certo nível.
Ou é possível fechar 1/3?
Ou, seria mais fácil implementar esta ideia numa EA, fazendo diferentes encomendas. Quando o preço atinge um nível requerido, uma ordem é fechada e a outra permanece no lugar do fecho parcial do volume de ordens do mercado. O que pensa?
Para o fazer, é necessário especificar um lote mais pequeno do que o lote da posição na ordem fechada (isto se MT4, em MT5 pode abrir a posição oposta com um lote mais pequeno, e eles sobrepor-se-ão no final). A posição com o lote restante permanecerá no mercado.
Será que percebo bem? A linguagem de programação MQL4 permite formalizar o encerramento de apenas metade do volume de encomendas do mercado... como o lote 10 e fechar 5 lotes quando o preço atinge um certo nível.
Ou é possível fechar 1/3?
Ou, seria mais fácil implementar esta ideia numa EA através de encomendas diferentes. Quando o preço atinge um nível requerido, uma ordem é fechada e a outra permanece no lugar do fecho parcial do volume de ordens do mercado. O que pensa?
Podemos fazer as duas coisas. OrderClose permite-lhe fechar o volume que lhe é indicado. https://docs.mql4.com/ru/trading/orderclose
É claro que pode abrir várias encomendas com diferentes níveis de lucro. Em caso de falha de ligação será ainda mais fiável, porque os níveis de TP são armazenados no servidor e serão executados se o preço os intersectar.
Pode fazer ambas as coisas. OrderClose permite fechar o volume, que lhe é indicado. https://docs.mql4.com/ru/trading/orderclose
É claro que também pode abrir várias encomendas com diferentes níveis de lucro. No caso de uma falha de ligação isto será ainda mais fiável, porque os níveis de TP são armazenados no servidor e serão executados se o preço os cruzar.
Olá a todos, estou a enfrentar um problema, gostaria de ouvir a opinião de profissionais ou utilizadores mais experientes do MT5. Escrevi um indicador e uma classe CEventBase, o que permite que o indicador gere eventos. Ao correr Expert Advisors que processam estes eventos mais cedo ou mais tarde, ao correr em tempo real, recebo erros: 4001, 4102, 4104. Quando começam a "acumular-se", não param de o fazer) anexo o código da função Gerar, que na realidade é a fonte de todos estes problemas. Terei muito prazer em ouvir a sua opinião)...
Bom dia a todos!
Olá a todos, estou a enfrentar um problema, gostaria de ouvir a opinião de profissionais ou utilizadores mais experientes do MT5. Escrevi um indicador e uma classe CEventBase, o que permite que o indicador gere eventos. Ao correr Expert Advisors que processam estes eventos mais cedo ou mais tarde, ao correr em tempo real, recebo erros: 4001, 4102, 4104. Quando começam a "acumular-se", não param de o fazer) anexo o código da função Gerar, que na realidade é a fonte de todos estes problemas. Terei muito prazer em ouvir a sua opinião sobre o assunto ...)
Tenham um bom dia a todos!
Obviamente, o método que apresentou é um método de trânsito. É muito provável que o erro não esteja nele. Não é claro, a partir dos dados que apresentou, o que se está a passar. Pode haver várias variantes:
- Identificador de gráfico incorrecto (que é o que diz o erro 4101).
- Consultas demasiado frequentes;
- Outros parâmetros incorrectos (IDs de eventos, por exemplo).
A julgar pelo nível de código que escreveu, podemos dizer que o erro pode ser em qualquer lugar e em qualquer altura.