Избранное трейдера Anest

Update: В комментариях посоветовали использовать умножение, а не деление. Вот так: MOEX:CNYRUB_TOM*FX_IDC:USDCNY.
Обновляемый сборник статей, касающийся различных подходов к алгоритмической торговле и программирования роботов на Os Engine. Всё в одном месте. Сборник сборников.
1. Скринеры акций. Стартовый набор роботов.
1.1. Лекция 1. Введение и установка OsEngine.
1.2. Лекция 2. День теории.
1.3. Лекция 3. Робот-скринер на канале линейной регрессии.
1.4. Лекция 4. Робот-скринер на паттерне «Три солдата».
1.5. Лекция 5. Робот-скринер на адаптивном ценовом канале.
1.6. Лекция 6. Робот-скринер на наклонном канале ZigZag.
1.7. Лекция 7. Перенос роботов на удалённый сервер.
1.8. Лекция 8. Скачивание исторических данных и тестирование.
1.9. Лекция 9. Автоинвестирование в TMON на ночь.
1.10. Лекция 10. Тестирование с TMON, налогами и учётом маржи.
1.11. Лекция 11. Кросс-тест оптимизация.
2. Нюансы OsEngine и Алготрейдинга в Т-Банк.
2.1. Решение популярных проблем при подключении OsEngine к АПИ Т-Инвестиции.
Сегодня мы рассмотрим индикатор Ssma. Узнаем историю создания индикатора и то, как он рассчитывается.
Также к данной статье будут прикреплены готовые скрипты роботов на этом индикаторе с возможностью торговать на нашей платформе OsEngine.
1. История создания индикатора.
2. Как проводятся расчеты индикатора Ssma.
3. Какие сигналы может подавать индикатор.
4. Роботы для OsEngine на индикаторе Ssma.
4.1. Стратегия на пересечение индикатора Ssma с ценой инструмента.
4.2. Стратегия основанная на пересечение двух индикаторов Ssma.
4.3. Стратегия основанная на пересечение трех индикаторов Ssma.
4.4. Стратегия на пересечение индикатора Ssma и Ssma со сдвигом.
4.5. Стратегия основанная на торговой системе из двух каналов Ssma.
5. Итоговая таблица результатов.
Индикатор Smoothed Simple Moving Average также известный, как сглаженное простое скользящее среднее, был разработан в конце 20 века для анализа финансовых рынков.
SSMA был создан как усовершенствование классического индикатора Simple Moving Average. SMA рассчитывается путем усреднения ценовых данных за определенный период времени, и он является основой многих других скользящих средних индикаторов.
Как связаться с сотрудниками КИТа и задать вопросы/уточнить информацию?
🟣clients@brokerkf.ru %F0%9F%9F%A3clients@brokerkf.ru/ — почта службы поддержки (можно задавать любые вопросы, возникающие в ходе работы через КИТ Финанс брокера)
🟣@KitFinanceBroker_bot — бот службы поддержки
🟣support@brokerkf.ru %F0%9F%9F%A3support@brokerkf.ru/ — почта технической службы поддержки (помогают разобраться в работе мобильного приложения КИТ Инвестиции, терминала QUIK и iQuik).
🟣8 800 101 00 55 — горячая линия
🟣Чат ТГ канала КИТа t.me/+CyjKvFLy0tJjNzAy — можно задавать любые вопросы. Если не будет возможности ответить на вопрос (н-р, требуется предоставить персональные данные или данные по счету), переадресуем на службу поддержки.
🟣Сообщество в ВК vk.com/brokerkf— вопросы в комментариях/личных сообщениях
🟣Канал в Дзене dzen.ru/id/64ba7fe78ac3084fd48acfd5 — вопросы в комментариях
🟣Блог в Смартлабе smart-lab.ru/my/BrokerKitFinance/ — вопросы в комментариях
Зачем нужен демо терминал
Где открыть учебный счет
Выставление заявки в торговом терминале через скрипт
Делаем функцию выставления заявки по требуемым условиям
Карман заявок и tri-файлы
Параметры для заявок с примерами по разным рынкам
Почему важно начинать работу с заявками на qlua с демо терминала?
В отличие от рассматриваемых ранее скриптов, в которых мы обращались к окнам терминала и обрабатывали данные с котировок, графиков, индикаторов и таблиц, делали расчеты, выводили сообщения или собственные таблицы, работа с заявками уже завязана на денежные средства. И т.к. у начинающих всегда есть риски ошибок в коде, различных опечаток, некорректном запуске выставлении заявки в цикле и пр., то начать работу с этой темой я настоятельно рекомендую именно в демо терминале. И речь здесь не только о комиссиях за сделку на которые можно попасть, но и вероятности купить не тот инструмент, не в том объеме, как следствие, например влететь на маржиналку и пр., и пр.
Достаточно, например, прописать в
Создание на Lua своего индикатора в графике Quik: Часть 2. Пример работы нестандартных индикаторов: спред между инструментами, прогноз Highи Lowследующего интервала; ценовых уровней по объемам
В первой части (https://smart-lab.ru/blog/930907.php) были изложены основы принципа создания своего индикатора и некоторые нюансы работы с кодом индикатора графика в Qiuk (подразумевается использование языка программирования Lua).
В данной статье немного продолжу тему нюансов кодирования индикатора и для иллюстрации приведу простой код индикатора спреда. В конце текста прикреплю видео с демонстрацией работы индикатора спреда и моих собственных индикаторов.
Небольшое лирическое отступление. Суть данных статей — показать, что делать подобные индикаторы вполне реально и не столь сложно, как может показаться на первый взгляд. Но, безусловно, требует определенных знаний в программировании. Создавать индикаторы из стандартного набора торговой системы Qiuk смысла нет – ведь они уже реализованы.
Сегодня рассмотрим:
Что такое таблица обезличенных сделок.
Настройка таблицы в терминале.
Что делать, если таблица открылась, но она пустая.
Вывод данных с таблицы по DDE.
Работа с таблицей обезличенных сделок через скрипт qlua с примерами.
Пишем советника, показывающего на графике крупных игроков.
Лента всех сделок (она же таблица обезличенных сделок, она же таблица всех сделок) — это тиковый массив сделок с одним или несколькими инструментами, в котором отражается информация по каждой сделке, в т.ч.: цена, объём и направление транзакции (покупка/продажа). Обычно для работы выбирается один инструмент, который отслеживается, реже 2 (например базовый актив и ближайший фьючерс на него). Встречал варианты, когда грузят сразу большой список, но в этом случае может сильно подвисать терминал.
Зачем нужна лента сделок: многие, пытаясь торговать внутри дня, проводят часы за медитативным наблюдением за биржевым стаканом. Однако стакан заявок это только намерение, далеко не все выставленные заявки перейдут в сделки. Более того иногда по некоторым акциям (2го и 3го эшелона) заявки в стакане могут активно «двигаться», создавая видимость, что в бумаге идет активная торговля, при этом, если открыть таблицу всех сделок, то будет видно, что реальных сделок практически нет.
Сегодня рассмотрим:
Вывод текста на график
Вывод графических сигналов
Удаление меток с графика
Торговый советник на индикаторах
Удаление данных вечерней/утренней сессии с графика.
В торговом терминале почти нет графических инструментов, которых можно было бы задействовать через скрипт. Фактически разработчики оставили возможность использовать только индикаторы (неточность или ошибка в написании которых может подвесить весь терминал) и специальные метки, которые можно наносить на график.
И хотя сам терминал имеет возможность отрисовки различных линий, фигур, каналов, дуг, уровней, но из lua скрипта ничего этого до сих пор штатными методами не доступно. Разработчики оставили единственную возможность — вывод рисунка (bmp или jpg), поэтому желающий нарисовать, например, прямоугольник должен сперва его отрисовать где-то (или взять из библиотек рисунков), сохранить в нужном формате, и далее уже через метку поместить в конкретном месте графика. Вот такой вот «кружок авиамоделизма») Посмотрим как это работает.
Функция CreateDataSource
Получение количества свечек данных
Пауза для подгрузки данных
Получение по инструменту OPEN, HIGH, LOW, CLOSE, VOLUME
Обработка времени и даты
Закрытие источника данных
Примеры: получение данных последних 10 свечей, выгрузка новой минутной свечки после её закрытия, текущее значение простой средней SMA10 по минуткам
Простой скрипт выгрузки котировок
Сегодня рассмотрим функцию, с помощью которой можно получать данные биржевых свечек. Это можно делать и с графиков (чуть позже рассмотрим), но в этом случае нужно, чтобы сам график как источник данных был открытым, что не очень удобно, особенно если скрипт использует несколько таймфреймов – необходимо аналогичным образом держать открытыми и соответствующее количество графиков.
Более практичным вариантом является получение данных через функцию CreateDataSource, запрос осуществляется следующим образом:
ds, err = CreateDataSource(код класса, тикер инструмента, интервал)
Код класса: для акций «TQBR», для срочного рынка «SPBFUT».