Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 25

 
fyords:

Sim, está definido, mas quando é accionado...

Ou outro exemplo: temos uma ordem pendente, o seu preço difere do actual por 1 ponto, no tick seguinte o preço salta não por 1 ponto, mas, digamos, por 3-5 pontos, o que resulta na abertura a um preço errado. Um exemplo óbvio é uma lacuna.

Ou talvez eu não compreenda a questão e seja burro.

Aqui compreendo bastante mal como funciona a OrderGetTicket. A função retorna alternadamente falsa e verdadeira. Mesmo se considerarmos que a encomenda é colocada a um preço errado, deve simplesmente retornar falsa. Mas alternadamente ...


UPD: Em geral, o assunto estava num NormalizeDouble esquecido na passagem dos preços. Como de costume:) A função em si funciona bem.


 
Por favor, diga-me se é possível escrever
 if (OrderTicket=OrderGetTicket(i)) {//Возвращает тикет соответствующего ордера и автоматически выбирает ордер

A função, se nenhuma ordem for seleccionada, dá zero?

Ou seja, se o igual não for duplo, simples, será uma tarefa aqui, não uma comparação? O zero não é o mesmo que não?

Não recebi logo um erro, mas apercebi-me mais tarde que não tinha compreendido o que tinha escrito!

 
Dimka-novitsek:
Pode dizer-nos, por favor, se é possível escrever

A função, se nenhuma ordem for seleccionada, dá zero?

Ou seja, se o igual não for duplo, simples, será uma tarefa aqui, não uma comparação? O zero não é o mesmo que não?

Não recebi logo um erro, mas apercebi-me mais tarde que não tinha compreendido o que tinha escrito!

A expressão está correcta; a descrição da função diz que retornará zero se falhar. Zero para se for falso. Portanto, a construção funcionará bem.

Outra coisa é que a funcionalidade de negociação é tão rápida que enviámos uma ordem num tick e já está na história no próximo, pelo que esta construção irá muitas vezes (mas nem sempre) retornar falsa.

Este código verifica as encomendas que já foram feitas mas que ainda não foram executadas. A função OnTradeTransaction() é mais adequada para a sua monitorização.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
OBRIGADO!!!
 
Não tenho ideia de como lidar com aulas, funções virtuais. Tenho estado a ler, a ler, a ler... Já há uma hora, e não é a primeira vez que o faz. Está escrito de certa forma de forma pesada, incompreensivelmente, e o mais importante, salpicado de termos novos e inovadores - basta seguir os links. Aqui, diz ( Classes e estruturas podem ter um construtor e destruidor explícitos) vai olhar Construtores e Destrutores Diz (Construtor é uma função especial que é chamada automaticamente quando se cria um objecto de estrutura ou classe e é normalmente usada para inicializar os membros da classe) Em suma, não compreendo.
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
  • www.mql5.com
Основы языка / Типы данных / Структуры и классы - Документация по MQL5
 
Dimka-novitsek:
Não tenho ideia de como lidar com aulas, funções virtuais. Leitura, leitura, leitura, leitura. Durante uma hora, e não é a primeira vez. Está escrito de alguma forma pesada, incompreensivelmente, e o principal está coberto com termos novos e inovadores - basta seguir os links. Diz (Classes e estruturas podem ter um construtor e destruidor explícitos) Vou olhar para Construtores e Destrutores Diz (Construtor é uma função especial que é chamada automaticamente quando se cria um objecto ou classe de estrutura e é normalmente usada para inicializar membros da classe) Em suma, não compreendo.

Um construtor é uma função chamada automaticamente quando um objecto de classe é criado e é utilizado para rubricar o objecto.

Será mais claro? se não, sou impotente.

 
Obrigado! Muito bem. Vou agora jogar futebol. Voltarei, farei as malas e perguntarei. Vou perguntar. O que é uma função virtual? Funciona quando quer? Qual é a palavra dinâmica?
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Виртуальные функции
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Виртуальные функции
  • www.mql5.com
Основы языка / Объектно-ориентированное программирование / Виртуальные функции - Документация по MQL5
 

Por isso. Diz que a escolha da definição da função a chamar para a função virtual é dinâmica (em tempo de execução).

A definição da função, que está entre parênteses, ou seja, ordena que a máquina faça algo específico, certo? Mas aqui acontece que a própria máquina faz o que quer e quando quer, tal como o meu amigo Vasya? Realmente, já li a frase 100 vezes, mas não consigo compreendê-la. Não consigo compreendê-lo! Tentarei ler os exemplos com cuidado e atenção...

E comecei a ler sobre a aula - foi aí que comecei, para compreender, estava a escrever sobre a função!

 
Dimka-novitsek:

Por isso. Diz que a escolha da definição da função a chamar para a função virtual é dinâmica (em tempo de execução).

A definição da função, que está entre parênteses, ou seja, ordena que a máquina faça algo específico, certo? Mas aqui acontece que a própria máquina faz o que quer e quando quer, tal como o meu amigo Vasya? Realmente, já li a frase 100 vezes, mas não consigo compreendê-la. Não consigo compreendê-lo! Tentarei ler os exemplos com cuidado e atenção...

E comecei a ler sobre a aula - foi aí que comecei, de modo a perceber que estava a escrever sobre uma função!

Está a brincar comigo?

Aprenda a fazer as perguntas certas e não terá de fazer a maioria delas.

Asfunções virtuais só fazem sentido no contexto da herança.

O truque para a herança não é apenas que o código pode ser distribuído por muitas classes (à medida que a herança aumenta),

mas na medida em que pode primeiro declarar um objecto antepassado dinâmico e depois indefini-lo como um descendente.

Por exemplo, um objecto precisa de ser declarado globalmente, mas no momento da declaração não há conhecimento sobre que classe o objecto deve ser. Depois as classes são herdadas de um antepassado comum, um objecto dinâmico do antepassado é declarado em âmbito global e depois, quando se sabe que classe o objecto deve ser, é redefinido por um novo operador.

A palavra dinâmica é sublinhada porque não pode ser feita com estática, a estática é definida imediata e completamente.

 
OK, não se afunda de imediato, mas algo está a passar. Obrigado. Se me permitem, vou perguntar à medida que for avançando.