Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1929
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
Colegas - exportou um arquivo de cache de otimização para a nuvem, como posso usá-lo em outro computador para selecionar uma variante para licitação?
Resposta:
Se alguém precisar dele - aqui.
O importante em tudo isso é um algoritmo de arrasto que funcione corretamente, ou seja, os próprios ofícios.
O desenho está em segundo plano, é informativo e não tem nada a ver com a rentabilidade do sistema.
Portanto, se houver uma posição mas o gráfico estiver fechado e não fechar por si só, não há necessidade de abrir nada, o algoritmo de arrasto funcionará e as paradas serão movidas para lá. É muito pior, quando o gráfico é fechado, mas o programa o abriu novamente literalmente para o desenho do gráfico - isto já é ruim.
Também podemos fazer isso dessa forma. Mas neste caso, se houver um gráfico aberto com base no evento, ele pode ser desenhado. Em geral, podemos redesenhar os níveis sempre para evitar confusão. Temos todos os dados para isso. O nível de acionamento para a rede de arrasto, o passo da rede de arrasto, o preço da posição. O número de níveis e o número de níveis acionados para a posição são facilmente calculados.
Isto também é possível. Mas então desenhamos se houver um gráfico aberto para o evento. Em geral, os níveis podem ser redesenhados a cada vez para evitar confusão. Temos todos os dados para isso. Nível do gatilho para a rede de arrasto, degrau da rede de arrasto, preço da posição. O número de níveis e o número de níveis acionados para uma posição são facilmente calculados.
Eu diria que, se houver uma posição, devemos traçar com antecedência níveis que desencadeiem uma rede de arrasto. Se surgir uma posição adicional, redesenhar as linhas para os novos níveis também para frente.
Não vejo a utilidade de mudar a cor após a passagem/modificação. Após as posições de fechamento, todas as linhas podem ser apagadas.
No exemplo, mostrou como deve ser
Os objetos onde as posições serão abertas são desenhados aqui, é apenas informativo, isso é tudo
---
P.S. No momento eu não posso fazer as contas, infelizmente
Pergunta sobre o OnTimer
Se o evento do temporizador ocorrer antes da execução do programa, ele irá esperar (o programa irá pular o evento do temporizador), ou o programa irá abortar, e começar a trabalhar em um novo evento do temporizador? Será que vai ficar pendurado em um loop infinito, ou será que vai voltar a cada segundo?
Não há indicação direta nos documentos sobre a prioridade do evento timer e o curso do programa, apenas sobre a ordem dos eventos.
Ou talvez eu não entenda corretamente. O evento temporizador no qual a ação começou conta como estando na fila?
Docas:
EventSetTimerNão é possível iniciar mais de um evento timer para cada programa. Cada programa de mql4 e cada gráfico tem sua própria fila de eventos, onde todos os eventos recém-chegados são armazenados. Se já houver um evento Temporizador na fila ou se este evento estiver no estado de processamento, um novo evento Temporizador não é colocado na fila de programas mql4.
Não há indicação direta nos documentos sobre a prioridade do evento timer e o curso do programa, apenas sobre a ordem dos eventos.
Ou talvez eu não entenda corretamente. O evento temporizador no qual a ação começou conta como estando na fila?
Docas:
EventSetTimerNão é possível iniciar mais de um evento timer para cada programa. Cada programa de mql4 e cada gráfico tem sua própria fila de eventos, onde todos os eventos recém-chegados são armazenados. Se já houver um evento na fila do Timer, ou se este evento estiver no estado de processamento, um novo evento Timer não é colocado na fila do programa mql4.
Os eventos NÃO são HORÁRIOS. Eles são tratados no OnXXX um a um, sem interromper nenhuma das funções.
Até que o OnInit termine, nenhum outro manipulador OnTimer OnTick será chamado pelo terminal. (A menos que seja você mesmo a puxá-lo como função).
Os eventos NÃO são interrupções. Eles são processados em OnXXX um a um, sem interromper as funções de texto.
Até o OnInit terminar, nenhum outro manipulador OnTimer OnTick será chamado pelo terminal. (A menos que seja você mesmo a puxá-lo como função).
Obrigado)
O importante em tudo isso é um algoritmo de arrasto que funcione corretamente, ou seja, os próprios ofícios.
O desenho está em segundo plano, é informativo e não tem nada a ver com a rentabilidade do sistema.
Portanto, se houver uma posição mas o gráfico estiver fechado e não fechar por si só, não há necessidade de abrir nada, o algoritmo de arrasto funcionará e as paradas serão movidas para lá. É muito pior, quando um gráfico é fechado, mas o programa o abriu novamente literalmente para desenhar um gráfico - isso é ruim.
Meu Deus - por que você foi enviado para a lavagem de carros? Você escreveu em um lugar errado e variáveis erradas: z ou v...?
Parece que deve funcionar. Ainda não foi testado.
Lógica de desenho. Eu não controlo os níveis, eu desenho novamente e abaixo do preço, se na Compra eu desenho em cinza, acima em azul, na Venda, se acima do nível de preço, é cinza, abaixo em vermelho.
Sim, eu esqueci de definir os níveis de remoção))))
Parece que deve funcionar. Ainda não foi testado.
Lógica de desenho. Eu não controlo os níveis, eu desenho novamente e abaixo do preço, se na Compra eu desenho em cinza, acima em azul, na Venda, se acima do nível de preço, é cinza, abaixo em vermelho.
Sim, eu esqueci de definir os níveis de remoção))))