Уже завтра! В 19:00 состоится эфир глобального формата, в котором наш главный разработчик Сергей Усанов расскажет все о роботах, а самое главное – как их создавать и применять в своей торговле. Программа эфира объемная и интересная!
Для кого эфир?
Тем, кто хочет выйти на новый уровень в трейдинге, а также кто желает научиться писать своих торговых роботов, аналитический софт или скринеры.
Что вас ждет на уроке?
✓ Разбор основных понятий и определений
✓ Ограничения и возможности роботов
✓ Преимущества использования роботов в трейдинге
✓ Как трейдер может использовать роботов в своей торговле
✓ Преодоление страхов и поиск мотивации для программирования
✓ Разбор типов подключений к биржам
✓ Обзор основных языков программирования
✓ Введение в библиотеки и фреймворки
✓ Почему С# является предпочтительным языком для разработки роботов?
Чтобы попасть на эфир, не нужно проходить регистрацию. О начале эфира мы напомним вам за 15 минут. Не отключайте уведомления!
Поскольку хочу использовать для среднесрочной алгоритмической торговли на российском рынке скрипт — робота, то мне необходимо получать от брокера актуальную информацию о текущих ценах и сопутствующую информацию:
InstrumentsService/TradingSchedules
.InstrumentsService/GetInstrumentBy
.MarketDataService/GetLastPrices
.MarketDataService/GetCandles
.MarketDataService/GetTechAnalysis
.InstrumentsService/FindInstrument
.В статье разбираюсь как проделать все эти операции при помощи программного кода.
Частному лицу для начала торговли на бирже частному инвестору необходим брокерский счёт. Но лишь у немногих российских брокеров есть собственные API (точно есть у ФИНАМ, Алор, Тинькофф Инвестиции). По личным предпочтениям я решил использовать API от T-Банк (ранее известный как Тинькофф), работая в среде исполнения JavaScript Node.js.
Моя история:
Торговый Робот — это специальная компьютерная программа, которая содержит в себе алгоритм для совершения сделок и, собственно, автоматически все эти сделки совершает. Анализирует рынок и при поступлении запрограммированных сигналов открывает сделку на покупку или продажу.
Существенный плюс заключается в том, что на робота не влияет погода, смена настроения, апатия или нахлынувший азарт. Видит сигнал — совершает операцию, не видит — сидит, не суетится. Для меня это всегда являлось большим преимуществом, потому что все попытки обуздать форекс заканчивались неудачей именно по той причине, что я делал чего не надо и не делал то, что следовало бы. Бес вселялся в самый неудачный момент.
Как я жил без робота
Будучи типичным банковским работником я не мог смириться с тем, что мне до конца дней придется вежливо улыбаться клиентам и совершать одни и те же операции ежедневно. Дождавшись пенсию я скорее всего уйду на покой, только вот когда это прекрасное далеко наступит? Оказавшись в полной зависимости от работы (ипотека, жена, ребенок), я параллельно начал пробовать все способы заработка, о которых только мог узнать.
Поговорим в данной статье про различные типы ордеров по времени жизни, которые есть в OsEngine. И в частности о том, как настраивать клиринг на срочной площадке MOEX, если вдруг занадобится использовать тип ордеров Day.
Плюс дополнительно я буду занудствовать, и поговорим о том, почему надо оставлять всё по умолчанию, чтобы ордера были со строгим временем жизни, ибо держать ордера на бирже – плохой стайл. И 95 % алготрейдеров это не нужно.
На ГитХаб ордера можно увидеть тут: https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Entity/Order.cs
В проекте типы времени жизни ордеров можно посмотреть здесь:
🤖 Название советника: Seven Days EA
📦 Версия: 1.0
💻 Торговая платформа: MT4
📈 Стратегия: Сетка ордеров и мартингейл
⏰ Таймфрейм: m15
🌍 Торговые пары: AUDCAD, AUDNZD, NZDCAD
🌓 Время торговли: Круглосуточно
⏳ Тестовый период: 2022.01.01 — 2024.01.19
🏛 Тиковая история брокер: Darwinex (TDSv2)
🧭 GMT: +2; DST: US
Real spread: ✅
Slippage: ❌
Для тестов на срочном рынке MOEX зачастую используются так называемые «Склеенные фьючерсы», что вызывает ряд проблем. Некоторые пользователи просили ввести функционал настройки неторговых периодов, чтобы часть графика не торговалась вовсе. Поговорим про этот функционал.
Торгуя в тестере на границах склейки, Вы можете получать не верные результаты тестирования. Если погуглить, сразу же находится прекрасная картинка с объяснением этого феномена. Лучше 1000 слов:
IMOEX_req = requests.get( 'https://iss.moex.com/iss/history/engines/stock/markets/index/securities/IMOEX.json?from=' + yesterdayDate + '&till=' + todayDate + '&interval=1').json() data = [{k: r[i] for i, k in enumerate(IMOEX_req['history']['columns'])} for r in IMOEX_req['history']['data']] frame = pd.DataFrame(data)Но, если день не закончен, значения дневной свечки по нему не приходят.