Для тех, кто пока не в теме: у нас тут сериал, и это не первая серия.
Качать будем не робота, а данные для него. Для них. Для всех.
Что мы делали до этого?
1.
Скачали и запустили платформу OsEngine
2.
Познакомились с главными разделами, почитали доки
3.
Скачиваем исторические данные
Напомню, зачем нам исторические данные. Они нам нужны для тестов и оптимизации. Умные люди роботов никогда не запускают сразу в «боевом» режиме для управления настоящими деньгами. Сначала нужно проверить, смог бы робот что-то заработать со своим алгоритмом на каких-то предыдущих периодах времени. Мы скармливаем роботу историю давно прошедших торгов, он пытается торговать, будто идут настоящие торги, и выдает нам какой-то результат. Есть заработок — хороший робот. Нет заработка — тоже наверняка хороший ;-) Но для чего-то другого, а не для заработка.
На всякий случай сообщу еще одну очевидную вещь, которая может оказаться не такой уж очевидной для новичков. Когда робот торгует по-боевому в реальном времени, одна минута проходит за одну минуту, а год проходит за один настоящий календарный год. Когда мы тестируем робота, мы можем подсовывать ему данные гораздо быстрее. Переварил робот свечку — сразу даем ему следующую. И 600 минутных свечек (10 часов реального времени) робот может обработать за несколько миллисекунд или секунд. Таким образом, за считанные минуты мы можем протестировать месяцы или годы предыдущих торгов.
В путь...
Я создаю ярлык OsEngine и удаляю два уже ненужных установщика .NET Framework с рабочего стола. Ярлык перетаскиваю на рабочий стол — так быстрее запускать OsEngine, не лазая по папкам. Это необязательный этап. Просто поясняю, почему и зачем изменился мой рабочий стол.
Кликаю ярлык, подтвеждаю, что желаю запустить программу неизвестного издателя (на самом деле он широко известен, но в узких кругах, Алексеем зовут ;-)
Потом кликаю в разделе «Работа с данными» подраздел «Дата», появляется вот такой вид модуля Дата:
Что тут видим?
Источник — это источник исторических данных, т.е. сервер, к которому мы подключаемся, чтобы скачать данные. К некоторым серверам может подключиться любой, а некоторые требуют аккаунта на их сайте. В частности, чтобы скачать данные с криптобиржи Binance, нужно завести там аккаунт, пройти верификацию (скриншоты документов им переслать, перед веб-камерой головой повертеть, дождаться подтверждения), получить API ключи и затем указать их при подключении в OsEngine. Одна только верификация на сайте может занять более 10 дней. Сегодня уже не успеете ;-)
Сеты — это названия скачиваемых данных. Нельзя сказать, что это названия файлов, т.к. в создании одного сета участвуют несколько папок и файлов. Поэтому сет == набор данных. Два знака «равно» я указал не случайно. Будем уж заодно и к программированию приближаться… Во многих языках программирования "==" означает «равно», а "=" — нечто другое.
Что делаем? Находим в списке источников Finam, дважды кликаем.
Нам надо
Подключить.
Стал зелененьким, Connect, в логе написал нам, как много разных бумаг нам нашел. Бумаг == инструментов, т.е. того, что мы можем купить-продать.
Теперь под надписью
Сеты кликаем правой кнопкой мышки, чтобы вызвать контекстное меню.
Выбираем
Добавить, чтобы создать новый сет
Появилось диалоговое окно, где нам нужно указать, какие именно данные мы желаем получить.
В
Названии очень желательно указать что-то осмысленное о том, что вы выбрали ниже, а не просто «1» или т.п.
В
Источнике выбираем Finam, к которому мы подключились.
В
Сборке свечей не трогаем ничего лишнего. Тут мы пока только указываем, на каком таймфрейме (сокр. «тф») будем тестировать нашего робота. Желательно для начала указывать только один тф. По умолчанию там выбраны 5 и 30 минут. Настоятельно рекомендую в ближайшее время выбирать либо 1 мин для тестирования контр-трендовых роботов или 15 мин для тестирования трендовых роботов. Почему так — см. мои предыдущие статьи. Совсем начинающим советую пока просто брать на веру некоторые вещи. Я указываю самый короткий путь для получения какого-то результата. Свои пути проложите позже.
Начало и
конец — определяем период времени, на котором будем тестировать робота. Можно указать 1 день, можно месяц, можно год, можно 10 лет. Любой.
В разделе
Инструменты тыкаем плюсик, выбираем из списка бумагу. Здесь можете покреативить и выбрать что-то другое ;-)
Когда все готово, в
Режиме выбираем «On», после чего введенные поля поменяют цвет — мы готовы качать. Внизу формы тыкаем
Принять.
После небольшой задержки на сам процесс скачивания данных вы увидите график и новые сообщения в логе под ним. Я скачал минутные свечки Газпрома за текущий год.
В соответствии с рекомендацией выше я также скачиваю данные того же Газпрома за этот же год, но для тф 15 минут — под тесты трендовых ботов. Форма уже неактивна, т.к. режим «On».
Готово.
Другой хороший сервер данных выбираем в
Источнике выше: сервер MFD
В сетах по правой кнопке мышки опять вызываем контекстное меню, создаем третий сет. Форму заполняем аналогично. В инструментах указали какой-то Gazp London. Подозреваю, это какие-нибудь депозитарные расписки на акции Газпрома. Ожидаю увидеть график, повторяющий только что скачанный.
Ожидания оправдались. Похож.
После скачивания данных я повторно вхожу в сеты по двойному клику и меняю режим на «Off», чтобы модуль данных больше ничего туда не докачивал при случае. Мне достаточно данных для тестов. Если этого не сделать, то при очередном подключении Дата будет подкачивать новые данные, ведь мы указали в качестве конца периода 6 ноября. Этот день еще не наступил. Заодно пытаюсь отключиться от сервера MFD, хотя можно просто закрыть программу. Всё это лишние телодвижения.
А он почему-то не хочет отключаться. То ли я ему понравился, то ли он заценил важность нашего сегодняшнего занятия.
Ну и ладно. Данные-то уже у нас, какие-то неудачи с отключением никаких неприятностей не несут.
Напоследок покажу, где реально лежат наши сеты в OsEngine-master:
Рассмотрим поближе… Минутные свечки Газпрома за год занимают почти 12 Мб.
Дальше самое интересное. До встреч!
Больший период бери, иначе тесты бестолковые получатся.
но новички сейчас намайнят граали на очень короткой выборке Газпрома и побегут сливать депозиты. Спасибо точно потом не скажут.
1. при скачивании
2. при тестах чего-нибудь на минутках за неск лет
3. будучи запущено в боевом режиме
но при тестах теперь меньше чем год назад раза в два ).
кстати сайт трейдингвью жрет тоже всю память до 80 гб.
за сутки.
и при этом единорог.
так что жрет память не по детски — купи больше памяти.
и все ок.
если не можешь, ставь один поток тест.
если хочешь бесплатно помочь сделать так чтобы жрало меньше, то есть исходники.
для меня дешевле купить память.
запущеное в боевом режиме тоже жрет.
добавь памяти.
это не такая тема чтобы до байта оптимизировать.
не так многим нужна программа для зарабатывания денег.
большинство справляются сами без программы на работе.
им это не нужно.