скажите пожалуйсто! может зделать програмно? чтобы пропуски от брокеров выставлялись пустые свечи другого цвета, означающие что брокер пропустил котировку!
ну я так про это говорю! нет котировок а мт4 или мт5 программно сделает свечу другого цвета или даже другой формы! для чего? для того чтобы можно было бы рассчитать цикличные линии!
Заодно уж проверил быстродействие на цифровом фильтре, ускорение на 419-м билде по сравнению с 409 составляет 6.5%
Фильтр на 168 коэффициентов, фильтруются 6000000 чисел, вот результаты
Ради хохмы запустил тот же фильтр на Visual Studio 2010, вот вам результаты. Разумеется, все по честному, SSE и многопросессорность отключены. Так как вместо 49 секунд тест выполнялся менее секунды )), количество чисел для фильтрации увеличил в 10 раз
Итого имеем разницу в скорости на простейшей математике 51,7 раз! Процессор i5-2320 3.2 ГГц
Прилагаю тесты в исходниках и exe для VS2010, проверьте сами
Что то изменилось в командах (добавили новые, убрали старые) ? експерт не работает, хотя ошибок компиляции нет, нормально устанавливается, терминал показывает что эксперт запущен, в меню настроек заходит, только такое впечатление что отключен, исходник есть, на 418 нормально работает.
Заодно уж проверил быстродействие на цифровом фильтре, ускорение на 419-м билде по сравнению с 409 составляет 6.5%
Фильтр на 168 коэффициентов, фильтруются 6000000 чисел, вот результаты
Предложенный код содержал ошибки и неточности:
164 коэффициента в C++ и 168 в MQL4
В MQL4 счетчик multCount бы переполнялся (9 млрд, а счетчик int), если поднять расчет в 10 раз, как в C++
счетчик asize в MQL4 являлся чистой переменной, а в C++ за счет констатного определения "asize=COEFF_SIZE;" цикл упрощался
После исправления код MQL4, MQL5 и C++ стал одинаковым. Файлы приложены.
Мои тесты на i7-2600, Windows 7 x64:
VS2010 (exe файл из примера выше) - 8.27 секунд
Processed 60000000 ticks, calculated 9840000000 base filtering operations
The time to calculate= 8.273000 seconds, Ticks per second = 7252508.159072,
base filtering operations per second = 1189411338.087755
MQL5 (619 билд, x64) - 45 сек
Всего обработано 60000000 тиков, сделано 9840000000 умножений с суммированием
Затрачено времени 45 секунд, скорость 1333333 тиков в секунду,
218666666 базовых операций фильтрации в сек.
MQL4 (419 билд) - 430 сек (с учетом необходимого увеличения 43 сек в 10 раз)
Всего обработано 6000000 тиков, сделано 984000000 умножений с суммированием
Затрачено времени 43 секунд, скорость 139534 тиков в секунду,
22883720 базовых операций фильтрации в сек.
График производительности (чем меньше, тем лучше):
Видно, что MQL5 отстает от С++ где-то в 5 раз, MQL4 от C++ в 50 раз, а MQL4 от MQL5 в 10 раз.
Оптимизация кода в MQL5 еще не завершена - мы можем кратно увеличить его скорость.
BeerGod:
Что то изменилось в командах (добавили новые, убрали старые) ? експерт не работает, хотя ошибок компиляции нет, нормально устанавливается, терминал показывает что эксперт запущен, в меню настроек заходит, только такое впечатление что отключен, исходник есть, на 418 нормально работает.
В MQL4 счетчик multCount бы переполнялся (9 млрд, а счетчик int), если поднять расчет в 10 раз, как в C++
счетчик asize в MQL4 являлся чистой переменной, а в C++ за счет констатного определения "asize=COEFF_SIZE;" цикл упрощался
Ренат, благодарю за первый технический ответ, до сих пор были одни эмоции на уровне - мы лучше всех и нечего нас учить))
1. Это я пытался развернуть циклы в МТ4 по 14 сложений+умножений подряд, дополнил коэффициенты нулями справа и слева. А в MSVC забыл перенести изменения. Но разница небольшая. Кстати, на МТ4 при раскрутке циклов по 14*12==168 скорость выигрывает около 5%.
Просто я не мог понять, отчего такие жуткие тормоза, думал, может, у вас в циклах проблемы, решил проверить. Дали бы код из дизассемблера, в студии 2008 это делается на автомате. Ну правда интересно, где можно ТАК тормозить. Вы можете прислать мне дизассемблированный код этого примера? Обещаю при всех трейдерах этого сайта не разглашать и не комментировать присланный код.
2. Именно поэтому я и сделал в проекте VS 2010 тип _int64, иначе, конечно, будет переполнение
3. Смотрим в ассемблер и видим, что разницы нет. Конечно, я говорю про ассемблер от MS, ваша реализация закрыта от общественности.
Дали бы код из дизассемблера, в студии 2008 это делается на автомате. Ну правда интересно, где можно ТАК тормозить. Вы можете прислать мне дизассемблированный код этого примера? Обещаю при всех трейдерах этого сайта не разглашать и не комментировать присланный код.
А не то скомпилирую на Intel Parallel Studio XE11 под все 4 ядра и злостно выложу в Ынтернет)) Да и еще IPP для вредности присобачу)) Лучше соглашайтесь!
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
скажите пожалуйсто! может зделать програмно? чтобы пропуски от брокеров выставлялись пустые свечи другого цвета, означающие что брокер пропустил котировку!
это просто сегодня все биржи и банки отдыхают
котировки редко приходят
это просто сегодня все биржи и банки отдыхают
котировки редко приходят
ну я так про это говорю! нет котировок а мт4 или мт5 программно сделает свечу другого цвета или даже другой формы! для чего? для того чтобы можно было бы рассчитать цикличные линии!
Только что обнаружил, косяк в массивах с инициализацией, проверил на билдах 409 и 419
Только не говорите мне опять, что это лишний код и он не включается в компиляцию)) Должна быть ошибка компиляции, вез вариантов.
Заодно уж проверил быстродействие на цифровом фильтре, ускорение на 419-м билде по сравнению с 409 составляет 6.5%
Фильтр на 168 коэффициентов, фильтруются 6000000 чисел, вот результаты
Ради хохмы запустил тот же фильтр на Visual Studio 2010, вот вам результаты. Разумеется, все по честному, SSE и многопросессорность отключены. Так как вместо 49 секунд тест выполнялся менее секунды )), количество чисел для фильтрации увеличил в 10 раз
Итого имеем разницу в скорости на простейшей математике 51,7 раз! Процессор i5-2320 3.2 ГГц
Прилагаю тесты в исходниках и exe для VS2010, проверьте сами
Заодно уж проверил быстродействие на цифровом фильтре, ускорение на 419-м билде по сравнению с 409 составляет 6.5%
Фильтр на 168 коэффициентов, фильтруются 6000000 чисел, вот результаты
Предложенный код содержал ошибки и неточности:
После исправления код MQL4, MQL5 и C++ стал одинаковым. Файлы приложены.
Мои тесты на i7-2600, Windows 7 x64:
График производительности (чем меньше, тем лучше):
Видно, что MQL5 отстает от С++ где-то в 5 раз, MQL4 от C++ в 50 раз, а MQL4 от MQL5 в 10 раз.
Оптимизация кода в MQL5 еще не завершена - мы можем кратно увеличить его скорость.
Что то изменилось в командах (добавили новые, убрали старые) ? експерт не работает, хотя ошибок компиляции нет, нормально устанавливается, терминал показывает что эксперт запущен, в меню настроек заходит, только такое впечатление что отключен, исходник есть, на 418 нормально работает.
Предложенный код содержал ошибки и неточности:
Ренат, благодарю за первый технический ответ, до сих пор были одни эмоции на уровне - мы лучше всех и нечего нас учить))
1. Это я пытался развернуть циклы в МТ4 по 14 сложений+умножений подряд, дополнил коэффициенты нулями справа и слева. А в MSVC забыл перенести изменения. Но разница небольшая. Кстати, на МТ4 при раскрутке циклов по 14*12==168 скорость выигрывает около 5%.
Просто я не мог понять, отчего такие жуткие тормоза, думал, может, у вас в циклах проблемы, решил проверить. Дали бы код из дизассемблера, в студии 2008 это делается на автомате. Ну правда интересно, где можно ТАК тормозить. Вы можете прислать мне дизассемблированный код этого примера? Обещаю при всех трейдерах этого сайта не разглашать и не комментировать присланный код.
2. Именно поэтому я и сделал в проекте VS 2010 тип _int64, иначе, конечно, будет переполнение
3. Смотрим в ассемблер и видим, что разницы нет. Конечно, я говорю про ассемблер от MS, ваша реализация закрыта от общественности.
VDev:
Дали бы код из дизассемблера, в студии 2008 это делается на автомате. Ну правда интересно, где можно ТАК тормозить. Вы можете прислать мне дизассемблированный код этого примера? Обещаю при всех трейдерах этого сайта не разглашать и не комментировать присланный код.
Т.е. менялся с 1.3118 на 1.3128, а не на 1.3119
Как то первый раз с таким сталкиваюсь
Это глюк ДЦ?