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

 
Roman:

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

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

 
Roman:

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

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

 
Fast235:

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

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

SymbolInfoDouble(_Symbol, ...


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

 
Vladimir Karputov:

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

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

 
Roman:

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

Нет никакой разницы. Не могу найти сейчас ссылку - но был ответ давно дан.

 
Vladimir Karputov:

Нет никакой разницы. Не могу найти сейчас ссылку - но был ответ давно дан.

Для Хуана и предупреждения компилятора, ни имеют ни какой разницы ))

 
Vladimir Karputov:

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

А давайте ещё и об этом заведём отдельную ветку и будем спорить как о пипсах и пунктах... Вот будет чем людя́м заняться...

Как-же вы любите своё мнение навязывать всем и каждому...

[Удален]  

Есть MA с некоторым сдвигом. Пусть MA_shift = 5;

Почему получается взять верное значение MA с нулевого бара чарта, только если передать в CopyBuffer двойной отрицательный сдвиг?
CopyBuffer(hMA, 0, -2*5, rates_total, MA_Buf);

В MA_Buf[0] теперь верное значение.

 
RickD:

Есть MA с некоторым сдвигом. Пусть MA_shift = 5;

Почему получается взять верное значение MA с нулевого бара чарта, только если передать в CopyBuffer двойной отрицательный сдвиг?
CopyBuffer(hMA, 0, -2*5, rates_total, MA_Buf);

В MA_Buf[0] теперь верное значение.

Картинку сначала нарисуйте и укажите что для Вас "нулевой бар" для индикатора с параметром shift.

 
Roman:

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

далеко не факт, вот проверял что быстрее _Symbol или Symbol() https://www.mql5.com/ru/forum/160683/page933#comment_12780905

т.е. время доступа один в один, оптимизация кода в MQL очень круто работает, поэтому, что удобнее то и используйте

по моим тестам время доступа к переменной может отличаться, смотря где описана переменная и с какими модификаторами, но там 2-5% скорости, что в принципе можно списать на реализацию в конкретном билде, от номера билда точно это зависит