Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1923

 
Valeriy Yastremskiy MqlTick last_tick;



Demandez où elle est annoncée.
 
Artyom Trishkin #:
Où est déclaré Ask ?

Mondial.

Dans le domaine mondial, MqlTick a également annoncé

#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 #:

Mondial.

Dans la portée globale MqlTick est également déclaré

Autre question : où le symbole est-il déclaré ?

Pour ce qui est de l'utilisation de la structure, la remplissez-vous quelque part avec SymbolInfoTick() ? Ou décidé, ce poltergeist le remplira pour vous ? :)

 
Artyom Trishkin #:

Autre question : où le symbole est-il déclaré ?

Pour ce qui est de l'utilisation de la structure, la remplissez-vous quelque part avec SymbolInfoTick() ? Ou décidé, ce poltergeist le remplira pour vous ? :)

(Merci, je comprends).

En général, vous pouvez écrire sur le fait de le remplir explicitement)))), mais pas comme ceci

MqlTick

La variable MqlTick vous permet de recevoir les valeurs Ask, Bid, Last et Volume en un seul appel à la fonction SymbolInfoTick().

 
Valeriy Yastremskiy #:

Merci, je vois.)

En fait, la garniture pourrait être écrite explicitement à )))), mais pas comme ça.

MqlTick

La variable de type MqlTick vous permet d'obtenir les valeurs Ask, Bid, Last et Volume en un seul appel à la fonction SymbolInfoTick().

Il y a un exemple dans l'aide.

Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура для получения текущих цен
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура для получения текущих цен
  • www.mql5.com
Структура для получения текущих цен - Структуры данных - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
C'est celle que je n'ai pas bien comprise. Vous pouvez l'obtenir et il remplit la structure)))) Je ne m'attendais pas à l'égalité)
 
Valeriy Yastremskiy #:
C'est celle que je ne comprends pas bien. Vous pouvez obtenir et il remplit la structure)))) Je ne m'attendais pas à l'égalité)

Qu'est-ce qui n'est pas clair dans ce texte d'aide ?

"Une variable de type MqlTick vous permet d'obtenir les valeurs de Ask, Bid, Last et Volume en un seul appel à SymbolInfoTick(). "

Une structure est simplement un objet de données dans lequel vous pouvez écrire plusieurs valeurs de différents types.

Si vous n'écrivez rien à la structure, que pensez-vous qu'il y aura dans ses champs ?

Dans l'aide, il est dit "en un appel à la fonction SymbolInfoTick()", ce qui signifie que l'appel de cette fonction remplira la structure MqlTick qui lui est passée.

En soi, la variable dont la structure est de type MqlTick ne remplira rien par magie.

Tu écris quelque chose dans ta variable, n'est-ce pas ? Par exemple, Ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK) ;.

Quelle est donc la différence entre ces variables pour que vous vouliez les voir remplies de données immédiatement après avoir déclaré une variable de type MqlTick ?

 
Artyom Trishkin #:

Qu'est-ce qui n'est pas clair dans ce texte d'aide ?

"Une variable de type MqlTick vous permet d'obtenir les valeurs de Ask, Bid, Last et Volume en un seul appel à SymbolInfoTick(). "

Une structure est simplement un objet de données dans lequel vous pouvez écrire plusieurs valeurs de différents types.

Si vous n'écrivez rien à la structure, que pensez-vous qu'il y aura dans ses champs ?

Dans l'aide, il est dit "en un appel à la fonction SymbolInfoTick()", ce qui signifie que l'appel de cette fonction remplira la structure MqlTick qui lui est passée.

En soi, la variable dont la structure est de type MqlTick ne remplira rien par magie.

Vous écrivez quelque chose dans votre variable, n'est-ce pas ? Par exemple, Ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK) ;.

Quelle est la différence entre ces variables, si l'on veut les voir remplies de données juste après avoir déclaré une variable de type MqlTick ?

C'est une question de différence de perception))). C'est la deuxième fois avec moi. OrderSelect remplit aussi la structure, et j'ai appris cela dans le forum, et je ne l'ai pas compris dans l'aide. Peut-être que ce n'est que moi, bien sûr. ))))

Les solutions peuvent être différentes)))) )))

 
Valeriy Yastremskiy #:

Il s'agit de différences de perception.)) C'est la deuxième fois que cela m'arrive. OrderSelect remplit également la structure, et je l'ai découvert dans le forum, mais je ne l'ai pas compris dans l'aide. Peut-être que ce n'est que moi, bien sûr. ))))

Les solutions peuvent être différentes)))) )))

Si un élément (tableau, structure, variable) est passé à une fonction par référence, il est logique de supposer qu'il est rempli dans la fonction et que le résultat est immédiatement affiché dans le tableau, la structure, la variable...

 
Artyom Trishkin #:

Si un élément (tableau, structure, variable) est passé à une fonction par référence, il est logique de supposer qu'il est rempli dans la fonction, et que le résultat est immédiatement affiché dans le tableau, la structure, la variable...

Un tableau et une structure sont TOUJOURS passés à une fonction par référence.