Ошибки, баги, вопросы - страница 1937
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Предлагаю для получения права загружать ME и общаться с Вами по существу предоставлять через ЛК диплом о высшем образовании по специальности "Программист".Для общения диплома не надо, а вот для заявлений "И где хваленая скорость MT5?" он обязателен.
Вам несколько раз указывали на ваши ошибки, но вместо этого вы продолжаете гнуть линию "я имею право не знать, учите меня семеро!".Хе.. Диплом о высшем образовании - не гарант ничего.
По существу, могу предложить Вам такой вариант (правильность кода не проверял, исключительно для тестера, текущий символ, текущий период):
По аналогии можете сделать и остальные функции.
Спасибо! Попробую сделать по Вашему рецепту.
Про диплом - согласен, однако есть отрасли где без него нельзя работать - к примеру, вести дела в суде в качестве представителя по делам КАС РФ. Однако, таким образом разработчики смогут не тратить время на трейдеров, а уделить внимание программистам, и как продуктив, быть на более высоком уровне в рейтинге языков программирования.
Давайте, может, заведем ветку по лучшим (наиболее эффективным) практикам программирования непосредственно под MT5? Была, например, ветка по реализации iBarShift. Другие нюансы тоже можно сообща улучшить. Люди, в общем-то, не программировать учиться здесь хотят, а быстро и удобно сварганить эксперт - извините, но это так. И эксперт, разумеется не должен тормозить или падать. Если бы можно было, как готовые кирпичи, собрать вместе все "как надо", было бы здорово. Потому что "как не надо" везде много всяких разных. Причем, не всегда ведь очевидно, что это "как не надо". А может "как надо"?
Документация довольно минималистская по многим аспектам.
Кодебаза - это большая куча, которую надо со смыслом и расстановкой перелопачивать днями, чтобы может быть найти правильный код.
Статьи - как правило, авторские и узкоспециализированные, более в торговлю, чем программирование (все-таки направление ресурса нужно учитывать), а те, что про программирование - в основном про рюшечки.
Форум - это здесь. Здесь задают вопрос как надо, и мы посылаем... сюда же.
Фриланс - не гарантия лучших практик и не обучает.
Самостоятельная работа, в том числе и с профайлером - конечно присутствует, но на все подряд времени не хватает. Кое-что хочется взять в виде готовых кирпичиков.
Полностью с Вами согласен!
Меня упрекают, что я делаю "не так", и посылают туда, где я этому научился...
Для общения диплома не надо, а вот для заявлений "И где хваленая скорость MT5?" он обязателен.
Вам несколько раз указывали на ваши ошибки, но вместо этого вы продолжаете гнуть линию "я имею право не знать, учите меня семеро!".Эмоции никто не отменял - я о них сообщил в надежде на помощь!
Я хочу оказаться не правым, готов изменить код, но хочу верить, что всё будет не напрасно!
Не согласен с Вами, что я утверждаю "я имею право не знать, учите меня семеро!" - в части возложения обязанности обучать - лично от Вас ожидал помощи, как от специалиста, и конкретного совета как надо делать.
Метод каждого автора я рассматриваю и пробую, что следует из этой ветки и за что им "спасибо!".
Вам уже советовали готовое решение — https://www.mql5.com/ru/code/18305
Судя по вашим требованиям:
У меня в коде есть циклы, объем вычислений предварительно может быть неизвестен.
, оно вам подойдет.
По существу, могу предложить Вам такой вариант (правильность кода не проверял, исключительно для тестера, текущий символ, текущий период):
По аналогии можете сделать и остальные функции.
Опробывал Ваш вариант - в пределах погрешности изменение
Было:
2017.07.21 17:23:20.046 Core 1 Si-9.17,M1: 107509 ticks, 35385 bars generated. Environment synchronized in 0:00:00.032. Test passed in 0:02:52.037 (including ticks preprocessing 0:00:00.031).
2017.07.21 17:23:20.046 Core 1 Si-9.17,M1: total time from login to stop testing 0:02:52.069 (including 0:00:00.032 for history data synchronization)
2017.07.21 17:23:20.046 Core 1 351 Mb memory used including 32 Mb of history data, 64 Mb of tick data
Стало с Вашим кодом
2017.07.21 17:27:37.393 Core 1 Si-9.17,M1: 107509 ticks, 35385 bars generated. Environment synchronized in 0:00:00.031. Test passed in 0:02:58.013 (including ticks preprocessing 0:00:00.031).
2017.07.21 17:27:37.393 Core 1 Si-9.17,M1: total time from login to stop testing 0:02:58.044 (including 0:00:00.031 for history data synchronization)
2017.07.21 17:27:37.393 Core 1 352 Mb memory used including 32 Mb of history data, 64 Mb of tick data
MT4
2017.07.21 17:27:57.070 RUBRUR,M1: 225314 tick events (35701 bars, 231783 bar states) processed in 0:00:04.306 (total time 0:00:11.357)
Опробывал Ваш вариант - в пределах погрешности изменение
Было:
2017.07.21 17:23:20.046 Core 1 Si-9.17,M1: 107509 ticks, 35385 bars generated. Environment synchronized in 0:00:00.032. Test passed in 0:02:52.037 (including ticks preprocessing 0:00:00.031).
2017.07.21 17:23:20.046 Core 1 Si-9.17,M1: total time from login to stop testing 0:02:52.069 (including 0:00:00.032 for history data synchronization)
2017.07.21 17:23:20.046 Core 1 351 Mb memory used including 32 Mb of history data, 64 Mb of tick data
Стало с Вашим кодом
2017.07.21 17:27:37.393 Core 1 Si-9.17,M1: 107509 ticks, 35385 bars generated. Environment synchronized in 0:00:00.031. Test passed in 0:02:58.013 (including ticks preprocessing 0:00:00.031).
2017.07.21 17:27:37.393 Core 1 Si-9.17,M1: total time from login to stop testing 0:02:58.044 (including 0:00:00.031 for history data synchronization)
2017.07.21 17:27:37.393 Core 1 352 Mb memory used including 32 Mb of history data, 64 Mb of tick data
MT4
2017.07.21 17:27:57.070 RUBRUR,M1: 225314 tick events (35701 bars, 231783 bar states) processed in 0:00:04.306 (total time 0:00:11.357)
Вам уже советовали готовое решение — https://www.mql5.com/ru/code/18305
Судя по вашим требованиям:
, оно вам подойдет.
Опробовал - вот результат:
2017.07.21 18:15:16.395 Core 1 Si-9.17,M1: 107509 ticks, 35385 bars generated. Environment synchronized in 0:00:00.047. Test passed in 0:02:37.748 (including ticks preprocessing 0:00:00.031).
2017.07.21 18:15:16.395 Core 1 Si-9.17,M1: total time from login to stop testing 0:02:37.795 (including 0:00:00.047 for history data synchronization)
2017.07.21 18:15:16.395 Core 1 540 Mb memory used including 32 Mb of history data, 64 Mb of tick data
Особого толка нет, и по не ясным причинам отличается фин. результат :(
Тут можно попробовать еще убрать объявление массива в функциях, а сделать его глобальным. Т.е. массив arr[ 1 ] сделайте глобальным и уберите строку double arr[ 1 ]; из всех функций.
Вот результат
2017.07.21 18:28:58.653 Core 1 Si-9.17,M1: 107509 ticks, 35385 bars generated. Environment synchronized in 0:00:00.078. Test passed in 0:02:51.477 (including ticks preprocessing 0:00:00.031).
2017.07.21 18:28:58.653 Core 1 Si-9.17,M1: total time from login to stop testing 0:02:51.555 (including 0:00:00.078 for history data synchronization)
2017.07.21 18:28:58.653 Core 1 359 Mb memory used including 32 Mb of history data, 64 Mb of tick data
Да, чуть быстрей, чем было, но с MQL4 не сравнить...