Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1923

 
Valeriy Yastremskiy MqlTick last_tick;



Fragen Sie, wo es angekündigt ist?
 
Artyom Trishkin #:
Wo wird Ask angegeben?

Global.

Für den globalen Bereich kündigte MqlTick außerdem an

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

Im globalen Bereich wird MqlTick ebenfalls deklariert

Dann eine weitere Frage: Wo wird das Symbol deklariert?

Über die Verwendung von Struktur - füllen Sie es irgendwo mit SymbolInfoTick()? Oder beschlossen, dass der Poltergeist sie für Sie füllen wird? :)

 
Artyom Trishkin #:

Dann eine weitere Frage: Wo wird das Symbol deklariert?

Über die Verwendung von Struktur - füllen Sie es irgendwo mit SymbolInfoTick()? Oder beschlossen, dass der Poltergeist sie für Sie füllen wird? :)

(Danke, ich verstehe).

Im Allgemeinen können Sie explizit über die Befüllung schreiben)))), aber nicht so

MqlTick

Die Variable MqlTick ermöglicht es Ihnen, die Werte Ask, Bid, Last und Volume in einem Aufruf der Funktion SymbolInfoTick() zu erhalten.

 
Valeriy Yastremskiy #:

Danke, ich verstehe.)

Eigentlich könnte die Füllung explizit)))) geschrieben werden, aber nicht so

MqlTick

Variablen vom Typ MqlTick ermöglichen es Ihnen, die Werte Ask, Bid, Last und Volume mit einem Aufruf der Funktion SymbolInfoTick() zu erhalten.

In der Hilfe finden Sie ein Beispiel.

Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура для получения текущих цен
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура для получения текущих цен
  • www.mql5.com
Структура для получения текущих цен - Структуры данных - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Das ist der Punkt, den ich nicht ganz verstanden habe. Sie können es bekommen und es füllt die Struktur))) Hatte nicht mit Gleichheit gerechnet)
 
Valeriy Yastremskiy #:
Das ist die Frage, die ich nicht ganz verstehe. Sie können erhalten und es füllt die Struktur))) Hatte nicht mit Gleichheit gerechnet)

Was ist an diesem Hilfetext unklar?

"Eine Variable vom Typ MqlTick ermöglicht es Ihnen, die Werte von Ask, Bid, Last und Volume in einem Aufruf von SymbolInfoTick() zu erhalten. "

Eine Struktur ist einfach ein Datenobjekt, in das Sie mehrere Werte unterschiedlichen Typs schreiben können.

Wenn Sie nichts in die Struktur schreiben, was denken Sie, wird in den Feldern stehen?

In der Hilfe heißt es "in einem Aufruf der Funktion SymbolInfoTick()", was bedeutet, dass der Aufruf dieser Funktion die ihr übergebene MqlTick-Struktur füllt.

Die Variable mit dem Strukturtyp MqlTick wird an sich nichts auf magische Weise ausfüllen.

Sie schreiben etwas in Ihre Variable, nicht wahr? Zum Beispiel: Ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);.

Was ist also der Unterschied zwischen diesen Variablen, dass Sie sie sofort nach der Deklaration einer Variablen vom Typ MqlTick mit Daten gefüllt sehen wollen?

 
Artyom Trishkin #:

Was ist an diesem Hilfetext unklar?

"Eine Variable vom Typ MqlTick ermöglicht es Ihnen, die Werte von Ask, Bid, Last und Volume in einem Aufruf von SymbolInfoTick() zu erhalten. "

Eine Struktur ist einfach ein Datenobjekt, in das Sie mehrere Werte unterschiedlichen Typs schreiben können.

Wenn Sie nichts in die Struktur schreiben, was denken Sie, wird in den Feldern stehen?

In der Hilfe heißt es "in einem Aufruf der Funktion SymbolInfoTick()", was bedeutet, dass der Aufruf dieser Funktion die ihr übergebene MqlTick-Struktur füllt.

Die Variable mit dem Strukturtyp MqlTick wird an sich nichts auf magische Weise ausfüllen.

Sie schreiben etwas in Ihre Variable, nicht wahr? Zum Beispiel: Ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);.

Was ist der Unterschied zwischen diesen Variablen, wenn man sie gleich nach der Deklaration einer Variablen vom Typ MqlTick mit Daten gefüllt sehen will?

Es geht um den Unterschied in der Wahrnehmung))). Dies ist das zweite Mal, dass ich dabei bin. OrderSelect füllt auch die Struktur, und ich habe im Forum darüber gelernt, und ich habe es nicht aus der Hilfe verstanden. Vielleicht liegt es nur an mir))))

Lösungen können unterschiedlich sein)))) )))

 
Valeriy Yastremskiy #:

Es geht um Unterschiede in der Wahrnehmung.)) Das ist das zweite Mal, dass mir das passiert ist. OrderSelect füllt auch die Struktur aus, und ich habe es im Forum herausgefunden, aber ich habe es in der Hilfe nicht verstanden. Vielleicht liegt es nur an mir))))

Lösungen können unterschiedlich sein)))) )))

Wenn etwas (Array, Struktur, Variable) per Referenz an eine Funktion übergeben wird, dann ist es logisch anzunehmen, dass es in der Funktion gefüllt wird und das Ergebnis sofort in dem Array, der Struktur, der Variable angezeigt wird

 
Artyom Trishkin #:

Wenn etwas (Array, Struktur, Variable) per Referenz an eine Funktion übergeben wird, ist es logisch anzunehmen, dass es in der Funktion gefüllt wird und das Ergebnis sofort in dem Array, der Struktur, der Variable angezeigt wird

Ein Array und eine Struktur werden IMMER per Referenz an eine Funktion übergeben.

Grund der Beschwerde: