Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1162

 
Roman:

Спасибо.

но ты должен знать что вызвать или указать текущий символ можно 4 способами

Symbol
_Symbol
Symbol()
и 0

в нижних двух 2 случаях есть нюансы, а первые 2 абсолютно бесполезны(врятли кто-то будет запоминать символ в предопределенную переменную и менять символ), и справка интересная, я в свое время весь форум 10 раз перевернул, в кодах MQ и представителей встречаются все варианты)

 
Fast235:

но ты должен знать что вызвать или указать текущий символ можно 4 способами

в 2 случаях есть нюансы, и справка интересная, я в свое время весь форум 10 раз перевернул

Всегда использую предопределённые переменные, типа

_Symbol
 
Roman:

Всегда использую предопределённые переменные, типа

как думаешь это правильно?

 
Fast235:

как думаешь это правильно?

Чтение переменной, быстрее чем функции.

 
Roman:

Чтение переменной, быстрее чем функции.

конкретно по символам ответ не правильный.

есть еще другие подобные

 
Fast235:

(врятли кто-то будет запоминать символ в предопределенную переменную и менять символ)

В переменной _Symbol уже хранится имя символа текущего графика, не нужно ей присваивать имя символа ))

 
Roman:

Чтение переменной, быстрее чем функции.

Нет никакой разницы. При компиляции всё сводится в единый вызов. Поэтому правильнее всё через функции делать.

 
Roman:

В переменной _Symbol уже хранится имя символа текущего графика, не нужно ей присваивать имя символа ))

а если мультивалютник или смена графика

 
Fast235:

а если мультивалютник

Тогда функция. 
Ты забыл упомянуть, что можно и другую функцию использовать 

SymbolInfoDouble(_Symbol, ...


Разные задачи, разный код.

 
Vladimir Karputov:

Нет никакой разницы. При компиляции всё сводится в единый вызов. Поэтому правильнее всё через функции делать.

Если её ввели, значит разница есть.
Чтение проинициализированной переменной, всегда быстрее чтения функции.
Функция выполняет дополнительные действия по возврату значения.
Переменная уже содержит это значение.