Скачать MetaTrader 5

Работаю со скользящими средними(MA) в количестве 2000 шт. Задача, подсчитать количества повторений цены МА на Close[1], при минимальных затрат ресурсов. - страница 2

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Nikolay Demko
12499
Nikolay Demko 2015.03.03 15:07  
Vinin:

Вот пример. Пока сделал только заполнение массива, который надо будет обрабатывать и получать из него нужные характеристики. В данном варианте идет расчет по всей доступной истории. Но возможно это будет занимать время и ресурсы

 

Витя, я тебя умоляю, тыж матёрый лев оптимизации алгоритмов.

Ну как можно такое лепить? Машки давно оптимизированы на быстрый расчёт. У тебя же стоимость вычислений RatesTotal*Period, этож каменный век какой то. 

ЗЫ С таким подходом у тебя стоимость фида машек в 2000, будет равна  RatesTotal*Факториал(2000)^2, ты представляешь какие это затраты по памяти и количеству вычислений?

Top2n
441
Top2n 2015.03.04 04:52  
Urain:

Витя, я тебя умоляю, тыж матёрый лев оптимизации алгоритмов.

Ну как можно такое лепить? Машки давно оптимизированы на быстрый расчёт. У тебя же стоимость вычислений RatesTotal*Period, этож каменный век какой то. 

ЗЫ С таким подходом у тебя стоимость фида машек в 2000, будет равна  RatesTotal*Факториал(2000)^2, ты представляешь какие это затраты по памяти и количеству вычислений?

Может, уделите капельку времени. Да поделитесь возможной реализацией. Заранее благодарю! 
Victor Nikolaev
Модератор
14644
Victor Nikolaev 2015.03.04 05:07  
Urain:

Витя, я тебя умоляю, тыж матёрый лев оптимизации алгоритмов.

Ну как можно такое лепить? Машки давно оптимизированы на быстрый расчёт. У тебя же стоимость вычислений RatesTotal*Period, этож каменный век какой то. 

ЗЫ С таким подходом у тебя стоимость фида машек в 2000, будет равна  RatesTotal*Факториал(2000)^2, ты представляешь какие это затраты по памяти и количеству вычислений?

Возьми и сравни оба варианта и по скорости, и по расходу памяти. Никто же не мешает
Alexey Subbotin
4998
Alexey Subbotin 2015.03.04 07:36  
Виктор, ваш расчет работает как O(countMA^2), оптимизированный алгоритм дает O(countMA), при этом затраты памяти также O(countMA).
Victor Nikolaev
Модератор
14644
Victor Nikolaev 2015.03.04 07:39  
Top2n:
Может, уделите капельку времени. Да поделитесь возможной реализацией. Заранее благодарю! 
Центр тяжести 2000 SMA с периодом от 1 до 2000 стремится к LWMA с периодом 2000
Nikolay Demko
12499
Nikolay Demko 2015.03.04 14:23  
Top2n:
Может, уделите капельку времени. Да поделитесь возможной реализацией. Заранее благодарю! 

Всё что у вас есть нужно вот прямо сейчас выкинуть и начать всё заново.

Для начала посмотрите код машки из стандартной поставки, разберитесь почему они делают так а не иначе, они ведь не суммируют на каждой точке все данные за период, задумайтесь почему?

Потом подумайте, а нельзя ли подобный метод оптимизации применить для построения фида машек, и вы поймёте что можно экономить кучу процессорного времени и памяти.

В результате вы придёте к моменту когда для построения пересечения фида машек в 2000 штук вам потребуется два буфера длинной по 2000, не считая одного расчётного буфера это почти все затраты по памяти.

И считается это всё со скоростью близкой к расчёту одной машки, те мгновенно.

У вас останется лишь одна проблема, как визуализировать результаты, но это уже совсем другая история. 

explorer
1648
explorer 2015.03.04 14:33  
Urain:

Всё что у вас есть нужно вот прямо сейчас выкинуть и начать всё заново.

Для начала посмотрите код машки из стандартной поставки, разберитесь почему они делают так а не иначе, они ведь не суммируют на каждой точке все данные за период, задумайтесь почему?

Потом подумайте, а нельзя ли подобный метод оптимизации применить для построения фида машек, и вы поймёте что можно экономить кучу процессорного времени и памяти.

В результате вы придёте к моменту когда для построения пересечения фида машек в 2000 штук вам потребуется два буфера длинной по 2000, не считая одного расчётного буфера это почти все затраты по памяти.

И считается это всё со скоростью близкой к расчёту одной машки, те мгновенно.

У вас останется лишь одна проблема, как визуализировать результаты, но это уже совсем другая история. 

да,

Вы как всегда правы

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий