Избранное трейдера Vitastic
В этой статье расскажу о том, как воспроизвел и протестировал торговую систему для фьючерсов Московской биржи, основанную на идеях Александра Резвякова. Недавно, просматривая раздел алготрейдинга на Смартлабе, я наткнулся на видео с его выступления на конференции 2024 года под названием "5-6 идей для построения прибыльной торговой системы на фьючерсах". Меня привлекла четкость и понятность предложенных им правил торговли.
Поскольку я активно занимаюсь автоматизацией процессов и стремлюсь глубже изучить возможности Python библиотеки backtesting.py, мне показалось это хорошей идеей для практического применения.
Хотя я лично не знаком с Александром, полагаю, что публичное представление идеи предполагает возможность её независимого анализа и тестирования сообществом трейдеров и программистов.
Основная идея — открывать сделки в строго определенное время и использовать структуру рынка последних дней для принятия решений.
------------------------------
Пишу правду на bytopic.ru. Присутствую в telegram. Инвестирую в активы, растущие в золоте.
Если вы трейдер или спекулянт, рекомендую посмотреть видос с Александром Резвяковым с нашей конфы👍
Выложили на этой неделе.
Один из немногих, кто говорит оч правильные вещи
А если вам нужны идеи для прибыльных инвестиций, записывайтесь на нашу конференцию 1 марта в Москве:
https://bonds.smart-lab.ru/
-- График должен быть открыт в Quik'е Class = "SPBFUT" -- "CETS_MTL" "CETS" SecId="BRK4" -- "NGJ4" "GLDRUB_TOM" "USD000UTSTOM" "SiZ3" Intrvl = INTERVAL_H1 -- D1 -- M5 Header = "<TICKER>;<PER>;<DATE>;<TIME>;".. "<OPEN>;<HIGH>;<LOW>;<CLOSE>;<VOL>" Period = "60" -- Дневки - 0, W1, MN1, H4, H2 - недопустимо function Log (i) local t = DS:T(i) local ymd = string.format ("%04d%02d%02d", t.year, t.month, t.day) local hms = string.format ("%02d%02d%02d", t.hour, t.min, t.sec); if not (IniDt <= ymd and ymd <= FinDt) or not (IniTm <= hms and hms <= FinTm) then return end local str = string.format ("%s;%s;%s;%s;%.4f;%.4f;%.4f;%.4f;%.0f\n" ,SecId, Period, ymd, hms ,DS:O(i), DS:H(i), DS:L(i), DS:C(i), DS:V(i)) F:write (str) end -- Log() function OnInit (scriptPath) qu = require ("QuikUtil(qu)") -- lu,qc,tu ScriptDir, ScriptName = lu.
Кажется секрет головной боли раскрыт. Получается дело не в кресле, а просто в позе, которой я сижу.
Если откинуть голову на подголовник и постараться не отрывать ее во время работы за компом, то все норм.
Раньше я просто не придавал этому значения.
Предыстория тут: https://t.me/martynovtim/6123
(вернулся из Тая, сел за комп на 40 минут и сразу голова заболела).
Ну что, кто из вас неосознанно сидит в позе #1?
Такая поза кстати может быть из-за плохого зрения, поэтому хочется глаза к монитору поближе сделать
Продолжаем цикл постов о прибыльных стратегиях на фондовых и криптовалютных биржах мира.
В прошлый раз мы рассказали о достаточно простой, но в то же время эффективной торгово-инвестиционной стратегии по сбору фандинга на криптовалютных биржах, которая позволяет с легкостью и практически с отсутствующими рисками, на полном пассиве зарабатывать 15-20% годовых в долларах США. Читать тут.
После чего, нам написало несколько человек с вопросами — можно ли что-то похожее делать на Московской бирже.
Да, это возможно! Правда не так эффективно и стабильно как на криптовалюте, тем не менее подобного рода торговые ситуации действительно возникают и ими можно пользоваться, в случае если планируемая доходность, которую можно также предварительно рассчитать, вас устроит.
Кроме того, в связи с тем, что Московская биржа начала экспериментировать с вводом вечных фьючерсов на индексы, товары, валюты и акции, возможно, что в будущем таких торговых возможностей будет формироваться значительно больше, а вы уважаемые читатели данного поста, уже будет во все оружия.
Когда закончил писать механизм своего торгового робота обнаружил, что самое главное всё таки не сам механизм, а стратегия, по которой этот механизм будет работать.
Первый тесты на истории показали что с доходностью и тем более с тем как доходность портфеля компенсирует принимаемый риск (коэффициент Шарпа) проблемы, но неудачный опыт тоже опыт, поэтому решил описать его в статье.
Первый и самый важный вопрос — при помощи чего проводить тесты торговой стратегии на исторических данных? В какой программе или при помощи какой библиотеки создавать стратегию и потом прогонять её на истории?
Раз мой торговый робот создан в среде исполнения JavaScript Node.js, то и тесты в идеале должны проводится на чём-то схожем. Но забегая немного вперёд скажу что получилось по другому.
Раз сам механизм робота кросс-платформенный, то хотелось чтобы и тесты можно было проводить при помощи кросс-платформенной утилиты. Однако когда рассматривал самые популярные программы, то обнаружилось что все программы из списка только для Windows. Кроме TradingView, который является веб-сервисом и Excel — который есть и для macOS.