Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я пишу ТЗ для советника на MT4 с приоритетом на ускоренную обработку данных.
Прошу Вас подсказать, имеет ли значение для ускорение работы последовательность выполнения расчета или выборочное (как правильно называется - репрезентативное?).
Прикладываю два варианта в виде картинок, на которых отображены блок схемы (примитивно).
Если можно, то напишите как должен выглядеть код, если выборочное исполнение блоков будет происходить - чисто примитивный макет, и даст ли это существенный прирост скорости если одно из промежуточных условий будет верно!?
Во-первых, для увеличения производительности важно не то, в какой последовательности будут производиться проверки, а каким образом эти проверки будут осуществляться.
Во-вторых, второй из представленных вариантов предпочтительнее, т.к. программа не будет проверять "лишние" условия при срабатывании одного из предшествующих. Единственное что можно порекомендовать - расположить данные блоки условий по частоте возникновения событий (по убыванию).
Если одна ситуация появляется чаще других - проверку ставить первой.
В-третьих, "существенный прирост в скорости" чего? Если операций сравнения, то лишь минимизация количества операций сравнения даст прирост (не думаю что он будет заметен). Если же речь о скорости работы функции Start, то операция закрытия ордера будет выполняться намного дольше чем штатные операции сравнения.
В-четвертых, если для проверки ваших условий требуется загрузка данных из файла, из базы данных или с сайта, то именно обращение к ресурсам займет большую часть времени. Помните, самое медленное устройство ПК - жесткий диск.
В-пятых, практика показывает что перенос логики пользовательского индикатора в робот может дать прирост скорости, однако это вы ощутите лишь при бэктесте.