У меня обращение к Low, High, Close, Open абсолютно одинаково по быстодействию. И исключить эти обащения невозможно, ибо с чем работать будем?) А вот обращение к тем же данным посредством iLow, iHigh, iClose, iOpen на порядок тормознее, его действительно лучше избегать по возможности...
У меня обращение к Low, High, Close, Open абсолютно одинаково по быстодействию. И исключить эти обащения невозможно, ибо с чем работать будем?) А вот обращение к тем же данным посредством iLow, iHigh, iClose, iOpen на порядок тормознее, его действительно лучше избегать по возможности...
верно
если вы берет данные только с текущего ТФ ! ДА
Low и High верно - они берутся с текущего ТФ и тут скорость соизмерима
а если эксперт стоя на одном ТФ читает другой ТФ, то iLow, которую лучше заменить на ArrayCopyRates
---
у меня нередко эксперты берут данные с разных ТФ
и разных пар
---
исключить можно... посмотрите - при расчете одного и того же результата я взял ArrayCopyRates и iLow iHigh
ведь в примере очевидно что iLow ( Symbol(), PERIOD_D1, iD) и array1[ iD] [2] это одно и то же
только работа c ArrayCopyRates идет на порядки быстрее
при условии, что данные берем с другого ТФ
int ArrayCopyRates( | double &dest_array[], string symbol=NULL, int timeframe=0) |
Копирует в двухмерный массив, вида RateInfo[][6], данные баров текущего графика и возвращает количество скопированных баров, либо -1 в случае неудачи.
....
Если копируются данные "чужого" инструмента и/или таймфрейма, то возможна ситуация отсутствия требуемых данных.В этом случае в переменную last_error будет помещена ошибка ERR_HISTORY_WILL_UPDATED (4066 - запрошенные исторические данные в состоянии обновления) и необходимо через некоторое время повторить попытку копирования.
Получается, что необходимо иметь открытые графики всех таймфреймов. Иначе выдаст ошибку
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
1-обычно нам лень разбираться
с таким делом как быстродействие
попробуем рассчитать средний ход пары от хая до лова - 365 дней
внутри расчета устроим цикл - задержку - при извлечении данных разными методами
что бы померить скорость исполнения разных методов
простой пример, результаты теста
2009.09.17 13:14:51 tt EURUSD,Daily: 0.01923104 1253178890 1253178890 Rates время исполнения 2: [ 0 ]
2009.09.17 13:14:51 tt EURUSD,Daily: >> 1253178890
2009.09.17 13:14:51 tt EURUSD,Daily: 0.01923104 1253178881 1253178890 iLOW iHigh время исполнения 1 [ 9 ]
2009.09.17 13:14:42 tt EURUSD,Daily: >> 1253178881
очевидно что работа с ArrayCopyRates на порядки быстрее
при создании экспертов, особенно те которые достаточно сложны и долго оптимизируются
лучше исключить iLow iHigh или Low High
таким образом - можно исключить из тела эксперта медленные блоки и ваша оптимизация
и тестовые прогоны значительно вырастут по скорости исполнения