Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1922

 
Artyom Trishkin #:
Onde o Ask é declarado?

Global.

No campo global, o MqlTick também anunciou

#define  Ask SymbolInfoDouble(Symbol,SYMBOL_ASK) // верный результат
#define  Ask last_tick.ask                       // возвращает ноль

MqlTick last_tick; 

int OnInit()
  {
 ......
else LevelPrice[NumberLevelsDoun]= Ask;         // Массив глобально объявлен
......

else LevelPrice[NumberLevelsDoun]= last_tick.ask;         // тоже ноль возвращает


}
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура для получения текущих цен
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура для получения текущих цен
  • www.mql5.com
Структура для получения текущих цен - Структуры данных - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Valeriy Yastremskiy #:

Global.

No escopo global, o MqlTick também é declarado

Então outra pergunta: onde é declarado o Símbolo ?

Sobre o uso da estrutura - você a preenche em algum lugar com SymbolInfoTick() ? Ou decidiu que o poltergeist vai enchê-lo para você? :)

 
Artyom Trishkin #:

Então outra pergunta: onde é declarado o Símbolo ?

Sobre o uso da estrutura - você a preenche em algum lugar com SymbolInfoTick() ? Ou decidiu que o poltergeist vai enchê-lo para você? :)

(Obrigado, eu entendo).

Em geral, você pode escrever sobre o seu preenchimento explicitamente)))), mas não desta forma

MqlTick

A variável MqlTick permite receber valores Ask, Bid, Last e Volume em uma chamada para a função SymbolInfoTick().

 
Valeriy Yastremskiy #:

Obrigado, estou vendo).

Na verdade, o preenchimento poderia ser escrito explicitamente)))), mas não desta forma

MqlTick

A variável do tipo MqlTick permite obter valores Ask, Bid, Last e Volume em uma chamada para a função SymbolInfoTick().

um exemplo na ajuda.

Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура для получения текущих цен
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура для получения текущих цен
  • www.mql5.com
Структура для получения текущих цен - Структуры данных - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin #:

um exemplo na ajuda.

Essa foi a que eu não entendi totalmente. Você pode obtê-lo e ele preenche a estrutura)))) Não esperava igualdade)
 
Valeriy Yastremskiy #:
Essa é a que eu não entendo totalmente. Você pode obter e preenche a estrutura)))) Não esperava igualdade)

O que não está claro neste texto de ajuda?

"Uma variável do tipo MqlTick permite obter os valores de Ask, Bid, Last e Volume em uma chamada para SymbolInfoTick(). "

Uma estrutura é apenas um objeto de dados no qual você pode escrever vários valores de diferentes tipos.

Se você não escrever nada na estrutura, o que você acha que será em seus campos?

Em Help, ele diz "em uma chamada para a função SymbolInfoTick()", o que significa, que a chamada para esta função preencherá a estrutura MqlTick passada para ela.

Em si mesma, a variável com estrutura tipo MqlTick não irá preencher magicamente nada.

Você escreve algo em sua variável, não é mesmo? Por exemplo, Ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);.

Qual é a diferença entre essas variáveis, então, que você quer vê-la preenchida com dados imediatamente após declarar uma variável com o tipo MqlTick?

 
Artyom Trishkin #:

O que não está claro neste texto de ajuda?

"Uma variável do tipo MqlTick permite obter os valores de Ask, Bid, Last e Volume em uma chamada para SymbolInfoTick(). "

Uma estrutura é apenas um objeto de dados no qual você pode escrever vários valores de diferentes tipos.

Se você não escrever nada na estrutura, o que você acha que será em seus campos?

Em Help, ele diz "em uma chamada para a função SymbolInfoTick()", o que significa, que a chamada para esta função preencherá a estrutura MqlTick passada para ela.

Em si mesma, a variável com estrutura tipo MqlTick não irá preencher magicamente nada.

Você escreve algo em sua variável, não é mesmo? Por exemplo, Ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);.

Qual é a diferença entre essas variáveis, se você quiser vê-la preenchida com dados logo após declarar uma variável do tipo MqlTick?

É sobre a diferença de percepção)))). Esta é a segunda vez comigo. OrderSelect também preenche a estrutura, e tomei conhecimento disso no fórum, e não o entendi com a ajuda. Talvez seja só eu, é claro))))

As soluções podem ser diferentes)))) )))

 
Valeriy Yastremskiy #:

Trata-se de diferenças na percepção)). Esta é a segunda vez que isso me acontece. A OrderSelect também preenche a estrutura, e eu descobri no fórum, mas não entendi pela ajuda. Talvez seja só eu, é claro))))

As soluções podem ser diferentes)))) )))

Se algo (matriz, estrutura, variável) é passado para uma função por referência, então é lógico assumir que é preenchido na função e o resultado é imediatamente exibido na matriz, estrutura, variável

 
Artyom Trishkin #:

Se algo (matriz, estrutura, variável) é passado para uma função por referência, é lógico assumir que é preenchido na função, e o resultado é imediatamente exibido na matriz, estrutura, variável

Uma matriz e uma estrutura são SEMPRE passadas para uma função por referência.

 
PapaYozh #:

O conjunto e a estrutura são SEMPRE passados para uma função por referência.

Estamos falando de documentação, sua usabilidade quando você a conhece), de referências a uma matriz/estrutura ao passar para uma função, sem argumentos))))

Em geral, é claro que você pode adivinhar, suponha... mas o soldado nem sempre é claro, mesmo uma ordem direta)))) Portanto, ele é solicitado a repeti-lo))))

Razão: