Избранное трейдера Ajax
Доля вложений нерезидентов на счетах иностранных депозитариев в Национальном расчетном депозитарии (НРД) в общем объеме выпусков облигаций федерального займа (ОФЗ) 18-22 мая 2020 года:
Код | 18 мая | 19 мая | 20 мая | 21 мая | 22 мая |
SU24020RMFS8 | 0,00% | 0,00% | 0,00% | 0,00% | 0,00% |
SU24021RMFS6 | 61,91% | 61,55% | 61,55% | 61,55% | 61,55% |
SU25083RMFS5 | 8,32% | 8,38% | 8,43% | 8,43% | 8,44% |
SU25084RMFS3 | 13,02% | 13,02% | 13,02% | 13,05% | 13,05% |
SU26205RMFS3 | 14,27% | 14,27% | 14,33% | 14,32% | 14,37% |
SU26207RMFS9 | 62,10% | 61,86% | 63,65% | 63,45% | 64,19% |
SU26209RMFS5 | 27,24% | 27,24% | 27,22% | 27,26% | 27,26% |
SU26211RMFS1 | 34,89% | 35,06% | 35,06% | 34,87% | 34,34% |
SU26212RMFS9 | 70,70% | 70,76% | 70,64% | 69,83% | 69,84% |
SU26214RMFS5 | 4,43% |
Эффективность математики только в поиске закономерности рыночного движения — паттернов которые способны реально материализовать вашу прибыль.
-- -- Выполнение действий с массивами. -- local pairs = pairs local type = type module(...) --- Создать копию массива (таблицы) -- @return копию массива (таблицы) function copy(array) local copy_array = {} if type(array) ~= "table" then return array end for k, v in pairs(array) do if type(v) == "table" then copy_array[k] = copy(v) else copy_array[k] = v end end return copy_array end --- Узнать, начинается ли индексация в массиве с нуля или с единицы. -- @return 0 или 1 function base(array) if array[0] ~= nil then return 0 else return 1 end end --- Вычислить число элементов в массиве. -- @return число элементов в массиве function size(array) local n = 0 for _, _ in pairs(array) do n = n + 1 end return n end --- Проверить пустой или нет массив. -- @return true/false function isEmpty(array) for _, _ in pairs(array) do return false end return true end --- Получить первый индекс массива, где ничего не записано. Поиск начинается с 1. -- @return первый индекс массива, где ничего не записано function firstEmptyIndex(array) local i = 1 while array[i] ~= nil do i = i + 1 end return i end
Тем, кто не читал предыдущий топик этой темы, рекомендую для начала ознакомиться с ним [1].
В комментариях к предыдущему топику меня критиковали за неоптимальность кода Python. Однако, текст читают люди с совершенно разной подготовкой — от почти не знающих Python или знающих другие языки программирования, до продвинутых пользователей. Последние легко могут обнаружить неоптимальность кода и заменить его своим. Тем не менее, код должен быть доступен и новичкам, возможно не обладающим знанием пакетов и продвинутых методов. Поэтому, в коде я буду, по возможности, использовать только базовые конструкции Python, не требующие глубоких знаний, и которые могут легко читаться людьми, программирующими на других языках. Вместе с тем, по мере изложения, без фанатизма, буду вводить и новые элементы Python.
Если вы хотите как-то улучшить или оптимизировать код, приводите его в комментариях — это только расширит и улучшит изложенный материал.
Ну, а сейчас мы займемся разработкой и тестированием индикаторов. Для начала нам нужна простейшая стратегия с использованием МА — его и построим. Самой лучшей по характеристикам МА является ЕМА. Формула ЕМА: