Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1923

 
Valeriy Yastremskiy MqlTick last_tick;



Chiedete dove viene annunciato?
 
Artyom Trishkin #:
Dove è dichiarato Ask?

Globale.

Nel campo globale MqlTick ha anche annunciato

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

Globale.

Nell'ambito globale viene dichiarato anche MqlTick

Poi un'altra domanda: dove è dichiarato Symbol?

Riguardo all'uso della struttura - la riempite da qualche parte con SymbolInfoTick()? O ha deciso che il poltergeist lo riempirà per voi? :)

 
Artyom Trishkin #:

Poi un'altra domanda: dove è dichiarato Symbol?

Riguardo all'uso della struttura - la riempite da qualche parte con SymbolInfoTick()? O ha deciso che il poltergeist lo riempirà per voi? :)

(Grazie, capisco).

In generale, si può scrivere di riempirlo esplicitamente)))), ma non così

MqlTick

La variabile MqlTick permette di ricevere i valori Ask, Bid, Last e Volume in una chiamata alla funzione SymbolInfoTick().

 
Valeriy Yastremskiy #:

Grazie, capisco).

In realtà, il ripieno potrebbe essere scritto esplicitamente)))), ma non così

MqlTick

La variabile di tipo MqlTick permette di ottenere i valori Ask, Bid, Last e Volume in una chiamata alla funzione SymbolInfoTick().

C'è un esempio nell'aiuto.

Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура для получения текущих цен
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура для получения текущих цен
  • www.mql5.com
Структура для получения текущих цен - Структуры данных - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Questo è quello che non ho capito bene. Si può ottenere e riempie la struttura))) Non si aspettava l'uguaglianza)
 
Valeriy Yastremskiy #:
Questo è quello che non capisco del tutto. Si può ottenere e riempie la struttura))) Non si aspettava l'uguaglianza)

Cosa non è chiaro in questo testo di aiuto?

"Una variabile di tipo MqlTick permette di ottenere i valori di Ask, Bid, Last e Volume in una chiamata a SymbolInfoTick(). "

Una struttura è solo un oggetto di dati in cui si possono scrivere diversi valori di tipo diverso.

Se non scrivi nulla alla struttura, cosa pensi che ci sarà nei suoi campi?

Nella Guida, si dice "in una chiamata alla funzione SymbolInfoTick()", il che significa che chiamando questa funzione si riempirà la struttura MqlTick passata ad essa.

Di per sé, la variabile con struttura di tipo MqlTick non riempirà magicamente nulla.

Scrivi qualcosa nella tua variabile, vero? Per esempio, Ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);.

Qual è la differenza tra queste variabili, allora, che vuoi vedere riempita di dati subito dopo aver dichiarato una variabile di tipo MqlTick?

 
Artyom Trishkin #:

Cosa non è chiaro in questo testo di aiuto?

"Una variabile di tipo MqlTick permette di ottenere i valori di Ask, Bid, Last e Volume in una chiamata a SymbolInfoTick(). "

Una struttura è solo un oggetto di dati in cui si possono scrivere diversi valori di tipo diverso.

Se non scrivi niente alla struttura, cosa pensi che ci sarà nei suoi campi?

Nella Guida, si dice "in una chiamata alla funzione SymbolInfoTick()", il che significa che chiamando questa funzione si riempirà la struttura MqlTick passata ad essa.

Di per sé, la variabile con struttura di tipo MqlTick non riempirà magicamente nulla.

Scrivi qualcosa nella tua variabile, vero? Per esempio, Ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);.

Qual è la differenza tra queste variabili, se volete vederle riempite di dati subito dopo aver dichiarato una variabile di tipo MqlTick?

Si tratta della differenza di percezione))). Questa è la seconda volta con me. OrderSelect riempie anche la struttura, e l'ho imparato nel forum, e non l'ho capito dall'aiuto. Forse sono solo io di corso))))

Le soluzioni possono essere diverse)))) )))

 
Valeriy Yastremskiy #:

Si tratta di differenze di percezione)). È la seconda volta che mi succede. OrderSelect riempie anche la struttura, e l'ho scoperto nel forum, ma non l'ho capito dall'aiuto. Forse sono solo io di corso))))

Le soluzioni possono essere diverse)))) )))

Se qualcosa (array, struttura, variabile) viene passato a una funzione per riferimento, allora è logico assumere che viene riempito nella funzione e il risultato viene immediatamente visualizzato nell'array, struttura, variabile

 
Artyom Trishkin #:

Se qualcosa (array, struttura, variabile) viene passato a una funzione per riferimento, è logico assumere che venga riempito nella funzione, e il risultato viene immediatamente visualizzato nell'array, struttura, variabile

Un array e una struttura sono SEMPRE passati a una funzione per riferimento.