Timur Gatin:
В вашем решении берётся цена текущего бара, самой красивое решение для этого случая - использовать последнюю цену Ask. Верно для любого ТФ :)
Нужно получить цену закрытия для всех таймфреймов.
Для трех таймфреймов вижу решение так:
Alexander Puzanov:
В вашем решении берётся цена текущего бара, самой красивое решение для этого случая - использовать последнюю цену Ask. Верно для любого ТФ :)
Хитро)) А вообще пример условный, сейчас вставлю предпоследний бар.
В вашем решении берётся цена текущего бара, самой красивое решение для этого случая - использовать последнюю цену Ask. Верно для любого ТФ :)
Timur Gatin:
А вообще пример условный, сейчас вставлю предпоследний бар.
Тогда задача станет совсем абстрактной - чем в реале связаны XX-бар на ТФ M20 и W1?
А вообще пример условный, сейчас вставлю предпоследний бар.
Alexander Puzanov:
Тогда задача станет совсем абстрактной - чем в реале связаны XX-бар на ТФ M20 и W1?
Тогда задача станет совсем абстрактной - чем в реале связаны XX-бар на ТФ M20 и W1?
Это не важно. Тут чисто программерски-перфекционистский интерес.
Например, если бы в ENUM_TIMEFRAMES значения шли по порядку, то можно было бы сделать что то вроде этого:
for(int n=1;n<=21;n++) { CopyClose(_Symbol,ENUM_TIMEFRAMES(n),1,1,close); }
Timur Gatin:
Нужно получить цену закрытия для всех таймфреймов.
Для трех таймфреймов вижу решение так:
Для всех таймфреймов придется заполнять все 21 значение в TF[].
Есть ли более красивое и простое решение, чтобы обойтись без массива TF[]?
https://www.mql5.com/ru/articles/1334
У меня как-то так:
CDictionary timeframes; if(!timeframes.ContainsKey(PERIOD_M1)) timeframes.Add(PERIOD_M1, new Series(PERIOD_M1)); double close1 = timeframes[PRIOD_M1].Close[1]; double close2 = timeframes[PRIOD_M1].Close[2]; int totalBars = timeframes[PRIOD_M1].Total(); ...
Рецепты MQL5 - Реализуем ассоциативный массив или словарь для быстрого доступа к данным
- 2015.03.23
- Vasiliy Sokolov
- www.mql5.com
В данной статье описывается специальный алгоритм, позволяющий эффективно получать доступ к элементам по их уникальному ключу. В качестве ключа может быть использован любой базовый тип данных, например ключом могут быть строки или целочисленные переменные. Такой контейнер данных принято называть словарем или ассоциативным массивом. С его помощью решать многие задачи становиться гораздо проще и эффективней.
Насколько понял, у вас с таймфреймами тоже довольно громоздко и неудобно получается.
Timur Gatin:
Насколько понял, у вас с таймфреймами тоже довольно громоздко и неудобно получается.
В смысле?
Насколько понял, у вас с таймфреймами тоже довольно громоздко и неудобно получается.
Vasiliy Sokolov:
В смысле?
Периоды все равно придется добавлять вручную.
В смысле?
Timur Gatin:
Периоды все равно придется добавлять вручную.
Почему вручную? Они автоматически добавятся, если их еще нет. В примере для простоты показано ручное добавление M1.
Периоды все равно придется добавлять вручную.
Vasiliy Sokolov:
Почему вручную? Они автоматически добавятся, если их еще нет. В примере для простоты показано ручное добавление M1.
Надо получше разобраться. Спасибо.
Почему вручную? Они автоматически добавятся, если их еще нет. В примере для простоты показано ручное добавление M1.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нужно получить цену закрытия для всех таймфреймов.
Для трех таймфреймов вижу решение так:
Для всех таймфреймов придется заполнять все 21 значение в TF[].
Есть ли более красивое и простое решение, чтобы обойтись без массива TF[]?