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
Для каждой выполняющейся mql5-программы поддерживается ряд предопределенных переменных, которые отражают состояние текущего ценового графика на момент запуска программы - эксперта, скрипта или пользовательского индикатора. Значение предопределенным переменным устанавливает клиентский терминал перед запуском mql5-программы на выполнение...
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.
Pessoal, desculpem a pergunta idiota. No terminal mt4 mostra lucro incluindo comissões, swaps, etc. No mt5 mostra "nua". Não consigo encontrá-lo, existe alguma configuração para o mt5 mostrá-lo como mt4? Ou não é capaz de fazer isso?
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?
Verifique a disponibilidade da linha pelo nome. Se não houver, crie um. Estas são as noções básicas em geral
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
intObjectFind(
long chart_id, // идентификатор графика string name // имя объекта
);
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