Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1265
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
Bom dia a todos!
Pergunta: qual é a maneira mais fácil de determinar os tempos altos e baixos de um bar?
Otempo de abertura/fecho do bar não é interessante.
No MT4.
Obrigado!
fez isto
postado em KBhttps://www.mql5.com/ru/code/25897
Por favor, diga-me, no MT4 havia uma variável pré-definida dupla Ask, e como eu entendo, dentro do vazio OnTick() sem forçar
RereshRates seu valor NÃO mudaria.
No MT5, Ask é substituído por MqlTick last_tick; SymbolInfoTick(_Symbol,last_tick); duplo Ask=last_tick.ask ; seu valor é sempre atualizado por um novo tick.
Meu problema é que preciso definir a coordenada da linha pelo valor de Ask + X, mas não posso fazê-lo em MT5 porque a linha muda suas coordenadas depois que o valor muda
Ask=last_tick.ask. Qual é o seu conselho?
Por favor, diga-me, no MT4 havia uma variável pré-definida dupla Ask, e como eu entendo, dentro do vazio OnTick() sem forçar
RereshRates seu valor NÃO mudaria.
No MT5, Ask é substituído por MqlTick last_tick; SymbolInfoTick(_Symbol,last_tick); duplo Ask=last_tick.ask ; seu valor é sempre atualizado por um novo tick.
Meu problema é que preciso definir a coordenada da linha pelo valor de Ask + X, mas não posso fazê-lo em MT5 porque a linha muda suas coordenadas depois que o valor muda
Ask=last_tick.ask. Qual é o seu conselho?
Como isso não mudou? Mudou a cada tique. Mas, no circuito, não mudou. Talvez você tenha ficado um pouco confuso com isso?
Mas em mql5 você pode determinar o preço atual antes do laço e ele não mudará até que você saia do laço.
Existe alguma forma de medir a largura em pixels do texto escrito em OBJ_TEXT?
Como isso não mudou? Mudou a cada tique. Mas no ciclo, sim, não o fez. Talvez, você tenha ficado um pouco confuso com essa?
Mas em mql5 você pode determinar o preço atual antes do laço e ele não mudará até que você saia do laço.
Sim, obrigado, minha suposição se revelou errada, mas a questão é um pouco diferente. Eu tenho um código, o mesmopara MT4 e MT5:
A questão é que na MT4 a linha criada será fixada no preço ao qual foi criada, mas na MT5 toda vez que em um novo tick a linha será desenhada a um novo valor da LastAsk e sua posição mudará junto com o preço. Como posso evitá-lo no MT5?
Sim, obrigado, minha suposição estava errada, mas a questão é um pouco diferente. Existe um código,o mesmo para MT4 e MT5:
A questão é que na MT4 a linha criada será estacionária ao preço pelo qual foi criada, mas na MT5 toda vez que em um novo tick a linha será desenhada com um novo valor LastAsk e sua posição mudará junto com o preço. Como posso evitá-lo no MT5?
Procure uma linha pelo nome. Se não houver linha, crie uma. Este é o básico em geral.
Obrigado, o que mais posso ler sobre essas lógicas de programação básicas? Parece elementar, mas é difícil de entender a partir do zero.
Eu acrescentei uma condição e tudo funcionou.
Obrigado, o que mais posso ler sobre estas lógicas de programação básicas? Parece elementar, mas é difícil de entender a partir do zero.
Eu acrescentei uma condição e tudo funcionou.
De repente (como de costume) ObjectGetInteger(0,objectName,OBJPROP_TYPE) funciona mais rápido.
ObjectFind é um comando síncrono, ou seja, espera por uma atualização completa (e disponibilidade) dos objetos gráficos.
Se você trabalha com seus próprios objetos (ou seja, criados em seu próprio estoque), então você não deve usar ObjectFind - você já sabe em que janela o objeto foi criado e que ele provavelmente existe e é o tipo certo.
O pior que pode acontecer é que o usuário apague o objeto ou mude o imóvel
Sim, obrigado, minha suposição estava errada, mas a questão é um pouco diferente. Existe um código,o mesmo para MT4 e MT5:
A questão é que na MT4 a linha criada será estacionária ao preço pelo qual foi criada, mas na MT5 toda vez que em um novo tick a linha será desenhada com um novo valor LastAsk e sua posição mudará junto com o preço. Como posso evitá-lo no MT5?
Não me lembro, preciso verificá-lo, mas não quero. Talvez, em mql4 ao tentar criar um objeto com o nome de um já existente, um erro tenha sido apenas devolvido, enquanto em mql5 não é um erro mas uma modificação de parâmetro, se as coordenadas forem diferentes.
Como disse Artem - verificar a existência do objeto