Читаю здесь.
Там написано, что мол:
На мой взгляд это крайне не верно. Хочется услышать мнение со стороны. Я так понял, что если этот код вызовется одновременного из индикатора и торгового эксперта, что соответственно, вызовет скачивание котировок, одновременно, из индикатора произойдёт касяк какой-то (конкретики там не написано). Так вот, оно то понятно, но в тоже самое время, пример странный. Ведь иногда, пусть даже теоритически может возникнуть необходимость подгрузить котировку прямо из индикатора. И что для этого в эпоху объектно-ориентированного программирования нужно писать отдельные методы что-ли? Не проще ли реализовать это иначе. Типа через некий флаг. Если индикатор или робот используется его сейчас, то он в ТРУ, а когда прекратил использование в ФЭЛС перешёл. И не нужно таких лишних проверок.
И ещё один момент:
if(first_date>0 && first_date<=start_date) return(1);
Что такое first_date понятно из кода. Но эта проверка для меня загадочна:
Излишество? Ведь не может первый бар в таймсерии отсутствовать. А раз он присутствует, то время есс-но больше нуля... Вот эти моменты хочется обсудить. Не только у меня такие вопросы возникнут, если вдумчиво читать.. Понятно, что можно копипастить, но я всегда когда пишу код перелопачиваю информацию, которую использоваться собираюсь.
С темой подгрузки истории вообще есть большие вопросы. Вот тут тоже поднимал вопрос.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Читаю здесь.
Там написано, что мол:
Следующая важная проверка — проверка типа программы, из которой вызывается функция. Напомним, что отправка запроса на обновление таймсерии с тем же периодом, что и у индикатора, вызывающего обновление, крайне нежелательна. Нежелательность запроса данных по тому же символу-периоду, что и у индикатора обусловлена тем, что обновление исторических данных производится в том же потоке, в котором работает индикатор. Поэтому велика вероятность клинча. Для проверки используем функцию MQL5InfoInteger() с модификатором MQL5_PROGRAM_TYPE.
На мой взгляд это крайне не верно. Хочется услышать мнение со стороны. Я так понял, что если этот код вызовется одновременного из индикатора и торгового эксперта, что соответственно, вызовет скачивание котировок, одновременно, из индикатора произойдёт касяк какой-то (конкретики там не написано). Так вот, оно то понятно, но в тоже самое время, пример странный. Ведь иногда, пусть даже теоритически может возникнуть необходимость подгрузить котировку прямо из индикатора. И что для этого в эпоху объектно-ориентированного программирования нужно писать отдельные методы что-ли? Не проще ли реализовать это иначе. Типа через некий флаг. Если индикатор или робот используется его сейчас, то он в ТРУ, а когда прекратил использование в ФЭЛС перешёл. И не нужно таких лишних проверок.
И ещё один момент:
if(first_date>0 && first_date<=start_date) return(1);
Что такое first_date понятно из кода. Но эта проверка для меня загадочна:
first_date>0
Излишество? Ведь не может первый бар в таймсерии отсутствовать. А раз он присутствует, то время есс-но больше нуля... Вот эти моменты хочется обсудить. Не только у меня такие вопросы возникнут, если вдумчиво читать.. Понятно, что можно копипастить, но я всегда когда пишу код перелопачиваю информацию, которую использоваться собираюсь.