Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да, спасибо ещё раз за... ну понимаете ;) науку!
Открываются весьма интересные перспективы для вводимых параметров.
В части более понятливого представления чем извращение с названиями переменных...
Помню, что где то видел такую возможность, а потом потерял.
Классно, надо будет попробывать.
вероятно - предполагаю - это решение было принято в пользу скорости
Часто для тех, кто использует графические построения, скорость обработки и не требуется.
Более того, чтобы не быть зависимым от конкретной торговой платформы, не бороться с разработчиками конкретной платформы, делают независимую от платформы разработку для графических построений. И используют только историю из любой платформы. Разработчики таких решений иногда даже не понимают, что такое онлайн. Им достаточно получить историю для текущего анализа ситуации. Закачивают из доступного источника. И о скорости тут вообще речь не идет.
============
Сейчас много споров идет по разным аспектам реализации МТ5, MQL5.
А те, кто создал свою автономную программу, не теряют время на эти споры.
НЕ ТЕРЯЮТ ВРЕМЯ НА ПЕРЕПИСЫВАНИЕ СВОИХ РАЗРАБОТОК ПРИ ВЫХОДЕ НОВОЙ ВЕРСИИ ТОРГОВОЙ ПЛАТФОРМЫ (МТ4->МТ5).
Пишут конвертер нового формата истории и не знают горя.
============
Никого ведь не спросили, удовлетворяет скорость обработки графических построений или нет.
============
Проблема даже не в скорости.
В MQL5 в OnCalculate можно передать таймсерию только для одного тф.
Если работаешь с несколькими тф одновременно, например, делаешь мультизигзаг, обрабатывающий одновременно все таймфреймы.
Как тут быть? Через OnCalculate получить доступ ко всем тф не получится. Придется организовывать доступ через копирование истории в свои массивы.
В этом случае все равно как будет работать индикатор - в режиме индикатора или в режиме эксперта.
Другое дело - само понятие индикатор или эксперт размывается при предложенном первоначально отключении графических построений от индикаторов.
Возникает методологическая путаница. И не только методологическая. При таком положении (отказ от графических построений в индикаторах) возникает потенциальная возможность слива депозита по неосторожности. Могут сказать - будьте внимательны. Но это не аргумент. Разработчики любого изделия должны так продумать все нюансы работы, чтобы пользователь даже по недосмотру не смог повредить себе при использовании этого изделия.
-------------------
Пример с нашим автопромом. В наших машинах много непродуманного разработчиками. Результат - отказ от наших машин. ВСЕ!, у кого появляется возможность, с радостью отказываются от наших машин. Сколько бы ВВП ни вливал в поддержку Автоваза из бюджета, который, кстати, мы формируем своими налоговыми отчислениями, это сейчас вряд ли поможет. Как не было там (на Автовазе) грамотной стратегии, так и не видится пока.
Насколько понял уже сейчас можно сравнить производительность "чистых" индикаторов и наложенной на них же графики.
И делать собственно выводы...
Скорость работы индикаторов с графикой зависит от грамотности программиста, реализовавшего графические построения в индикаторе.
Метатрейдер работает с графикой быстро. Когда говорят, что из-за множества графических построений происходит сильное замедление расчетов, то это говорит только о том, что данная разработка требует доработки. ВСЕ!
Это говорит о квалификации программиста.
==========
Не графика замедляет работу, а алгоритм предварительных расчетов.
У меня лично нет такой квалификации что-б доработать пару-тройку штатных индикаторов,
и затем сравнить их работу...
Но если кто возьмётся был-бы весьма хороший аргумент с цифрами "на руках".
Если скажем замедление, которое понятное имеет место быть, в районе 5 или даже 25%
то епстественно выбор за удобством использовании графики нежели голых осциляторов...
По большому счету и штатные индикаторы требуют доработки с целью оптимизации вычислений.
Часто производятся избыточные вычисления. Часто не делается проверка в различных (чтобы сломать алгоритм) режимах работы.
Часто просто сделан просто перевод голого алгоритма в программу без проверок "на дурака". То есть без сервисной обработки алгоритма.
Но это уже другая история. Разработчики делают многое. А у нас выбора мало.
По большому счету и штатные индикаторы требуют доработки с целью оптимизации вычислений.
Часто производятся избыточные вычисления. Часто не делается проверка в различных (чтобы сломать алгоритм) режимах работы.
Часто просто сделан просто перевод голого алгоритма в программу без проверок "на дурака". То есть без сервисной обработки алгоритма.
Но это уже другая история. Разработчики делают многое. А у нас выбора мало.
Смысл моего предложения в том, что-бы просто сравнить голый индикатор и тот-же индикатор но с добавленной графикой.
Вот и всё...
Функция SeriesInfoInteger имеет два варианта вызова.
В первом варианте запрашиваемый параметр возвращается с типом long.
Во втором варианте запрашиваемый параметр записывается в переменную типа long.
--------
Запрашиваемые параметры имеют типы:
BARS_COUNT
Количество баров по символу-периоду на данный момент
long
BARS_SERIES_FIRSTDATE
Самая первая дата по символу-периоду на данный момент
datetime
BARS_FIRSTDATE
Самая первая дата в истории по символу на сервере
datetime
BARS_SYNCRONIZED
Признак синхронизированности данных по символу
bool
С первым и четвертым параметрами понятно. Вопросов не возникает.
А вот второй и третий параметры типа datetime. Значения этих параметров возвращаются также в виде числа типа long.
Прочесал всю Справку, но так и не нашел, каким образом преобразовать число типа long в тип datetime.
И экспериментирование с преобразованием данных типов пока ничего не дало.
---------------
Рассматриваемая функция и запрашиваемые параметры будут одними из самых востребованных при программировании на MQL5.
Но пока по данной функции возникает множество вопросов. А ответы приходится искать методом тыка (в Справке пока очень скромно написно об использовании этой функции).
Каким образом можно использовать второй и третий из запрашиваемых параметров?
Каким образом произвести преобразование из типа long в тип datetime? Может, кто-нибудь знает?
Было бы лучше, чтобы функция SeriesInfoInteger возвращала структуру с четырьмя элементами:
BARS_COUNT
Количество баров по символу-периоду на данный момент
long
BARS_SERIES_FIRSTDATE
Самая первая дата по символу-периоду на данный момент
datetime
BARS_FIRSTDATE
Самая первая дата в истории по символу на сервере
datetime
BARS_SYNCRONIZED
Признак синхронизированности данных по символу
bool