Блог им. empenoso

Как я решил вернуться в алготрейдинг после 10 летнего перерыва

Самое главное, что никакого отношения к слову алко это не имеет. В течении нескольких лет я торговал в связке программы технического анализа AmiBroker + торговый терминал QUIK через .tri и .trr файлы в основном на фьючерсах на срочном рынке. Не могу сказать что это было неудачным опытом, но со временем я узнал про распределение активов (Asset allocation) и понял что очень сложно соревноваться с бенчмарком в виде фондового индекса.

В теории это означает что можно купить индекс и забыть об этом, заниматься своими делами, бизнесом, семьёй — а индекс растёт (ну или падает, смотря какое время) и для этого не нужно прикладывать никаких действий. А за связкой AmiBroker + QUIK постоянно нужно было присматривать, следить не отвалился ли адаптер импорта через .tri файл. А ещё иметь несколько виртуальных машин с установленными копиями Windows на каждой виртуалке на одном физическом компьютере для разных брокеров. Возможна была установка только одной пары AmiBroker + QUIK на одну винду. Всё это мне не особо нравилось.

В 2024 году захотелось что-то лёгкое — без Windows и современное — через API интерфейс. Желательно бесплатное для пользователя. Несколько лет назад я уже пытался узнать появились ли у российских брокеров API для работы с ними, но так и не собрался. Этой осенью я стал активно искать информацию — какой брокер имеет АПИ для работы с физлицами. Не смог найти никакой сводной таблицы и нашёл только три варианта:

По субъективным причинам я выбрать работать с T‑Bank Invest API (это бывший Тинькофф) через среду выполнения JavaScript Node.JS.

Немного моей истории, 2008-2012 годы: AmiBroker + QUIK

AmiBroker – это платформа для технического анализа, которая позволяет пользователям создавать свои собственные индикаторы и скрипты. Она также может интегрироваться с другими программами, такими как MetaTrader, NinjaTrader и даже с торговыми терминалами, включая QUIK.

AmiBroker 3D Optimization Chart

AmiBroker 3D Optimization Chart

В AmiBroker'е мне очень нравилась его функция 3D Optimization Chart. На мой взгляд она позволяла избежать переподгонки показателей под кривую истории. Оптимизация в бэк-тестере поддерживалась функцией optimize. Синтаксис этой функции был следующий:

<code>переменная = optimize("Описание", default , min , max , step );</code>

переменная — это обычная переменная их языка AFL, которой присваивается значение, возвращаемое функцией оптимизации. В режиме оптимизации функция optimize возвращает последовательные значения от минимума до максимума (включительно) с пошагово."Описание" — это строка, которая используется для идентификации переменной оптимизации и отображается как имя столбца в списке результатов оптимизации.default — это значение по умолчанию, которое оптимизирует возврат функции в режимах исследования, индикатора, комментария, сканирования и обычного бэктеста.min — минимальное значение оптимизируемой переменнойmax — максимальное значение оптимизируемой переменнойшаг — это интервал, используемый для увеличения значения от минимума до максимума.

QUIK – это торгово-информационная система, предназначенная для предоставления участникам фондового рынка доступа к биржевым данным в реальном времени. Она используется многими брокерами и трейдерами для совершения операций на фондовых рынках.

Когда AmiBroker подключался к QUIK, он получал данные в реальном времени от торговой системы QUIK и использовал их для построения графиков, создания индикаторов и выполнения других аналитических задач. Пользователь мог также настроить систему так, чтобы она автоматически исполняла сделки через QUIK на основе определенных условий.

Для подключения AmiBroker к QUIK необходимо было установить соответствующий плагин или модуль. Это позволяло платформе AmiBroker получать данные от QUIK и обрабатывать их для дальнейшей работы.

Пример логов работы:

<code>09.10.2009 11:00:31: [2208:2212] Получено уведомление о выполнении транзакции ,   TRANS_ID=807263520;CLASSCODE=SPBFUT;ACTION=NEW_ORDER;SECCODE=GMZ9;ACCOUNT=SPBFUT0087W;PRICE=37692;QUANTITY=2;OPERATION=S;CLIENT_CODE=48560/48560;TYPE=L;EXECUTION_CONDITION=;CHECK_LIMITS=;MARKET_MAKER_ORDER=;STATUS=3;TRANS_NAME="Ввод заявки"; DESCRIPTION="[FORTS] Заявка N 761722396 успешно зарегистрирована"; ORDER_NUMBER=761722396;
09.10.2009 14:04:30: [2208:1172] Получено уведомление об отправке транзакции ,   TRANS_ID=2087816784;CLASSCODE=SPBFUT;ACTION=NEW_ORDER;SECCODE=VBZ9;ACCOUNT=SPBFUT0087W;PRICE=6333;QUANTITY=12;OPERATION=S;CLIENT_CODE=48560/48560;TYPE=L;EXECUTION_CONDITION=;CHECK_LIMITS=;MARKET_MAKER_ORDER=;STATUS=0;TRANS_NAME="Ввод заявки"; DESCRIPTION="Отправлена транзакция";
09.10.2009 14:04:30: [2208:2212] Получено уведомление о выполнении транзакции ,   TRANS_ID=2087816784;CLASSCODE=SPBFUT;ACTION=NEW_ORDER;SECCODE=VBZ9;ACCOUNT=SPBFUT0087W;PRICE=6333;QUANTITY=12;OPERATION=S;CLIENT_CODE=48560/48560;TYPE=L;EXECUTION_CONDITION=;CHECK_LIMITS=;MARKET_MAKER_ORDER=;STATUS=3;TRANS_NAME="Ввод заявки"; DESCRIPTION="[FORTS] Заявка N 763167846 успешно зарегистрирована"; ORDER_NUMBER=763167846;
09.10.2009 15:10:10: [2208:1172] Завершен процесс отправления транзакций из файла ,   Входной файл-"C:\Program Files\Quik5\MTS\input.tri", Выходной файл-"C:\Program Files\Quik5\MTS\output.tro", Файл с журналом-"C:\Program Files\Quik5\MTS\log.trr", отправлено транзакций-3, выполнено транзакций-3</code>

Насколько я понимаю AmiBroker (создан в Польше) уже несколько лет не обновляется: последний выпуск в 2015 году, а обновления в 2017 году.

QUIKом я уже очень давно не пользовался, но по скриншотам на сайте я понял что программа внешне за последние годы не особенно изменилась.

Ещё немного моей истории, 2008-2012 годы: КБ ПАУК и Technical Analysis of STOCKS & COMMODITIES

Раньше я был активным пользователем форума КБ ПАУК. Вот даже нашёл файл HTML файл с интересующей меня темой, который пролежал 20 лет:

&lt;br&gt;

Форум форекс кб паук http://forex.kbpauk.ru/ (в 2024 уже не работает)

Я много изучал тему посвященную AmiBroker'у. И спрашивал там (привет Олег 000). Выкладывал примеры из бумажного журнала Technical Analysis of STOCKS & COMMODITIES.

Сейчас, в 2024 году форум недоступен, но если кто-то хочет ностальгии, то нашёл его архивную копию.

Как я решил вернуться в алготрейдинг после 10 летнего перерыва

Форум форекс кб паук http://forex.kbpauk.ru/ (в 2024 уже не работает)

Правда архивная копия немного бесполезна, потому что самые интересные разделы открывались только после входа по логину и паролю.

2024 год, сейчас: T‑Bank Invest API + неофициальный SDK Node.JS. Описание функций торгового робота

Как я решил вернуться в алготрейдинг после 10 летнего перерыва

Примерная структура робота

Осенью 2024 года решил написать торгового бота, создать структуру программы которая будет работать через API брокера.

Торговый робот должен содержать:

  1. Список бумаг — с которым он будет работать.
  2. Условие покупки.
  3. Условие продажи.
  4. CSV файл учёта
  5. Управление деньгами — процент входа.
  6. Логирование всех действий.
  7. Отображение информации, скорее всего через веб-сервер.
  8. Иметь модуль бектестинга.

T‑Bank Invest API + Node.JS:

Решил пока не лезть в срочный рынок и попробовать поработать с самими оборотистыми акциями на Московской бирже. Остаётся только их найти.

В этой статья я распишу как создал два модуля на Node.js:

  1. Взаимодействие с T‑Bank Invest API<code>tinkoffClient.js
Модуль, который ищет акции с самым большим оборотом за три последних месяца <code>searchTradingVolumes.js

Проект представлен на Гитхабе: https://github.com/empenoso/SilverFir-TradingBot.

SilverFir-TradingBot\src\grpc\tinkoffClient.js

Как я решил вернуться в алготрейдинг после 10 летнего перерыва

Модуль <code>tinkoffClient.js

— это специализированный клиент, разработанный для взаимодействия с T‑Bank Invest API, российской брокерской платформой. Основная цель этого модуля — предоставить боту на основе Node.js, доступ к финансовым данным для алгоритмической торговли или анализа рынка.

Вот его функциональность:

Основные функции:

  1. Авторизация и настройка:
  • Модуль использует API-токены для аутентификации.
  • Он поддерживает как тестовую (песочницу), так и продовую среду, хотя по умолчанию он использует среду песочницы.
  • Заголовки API включают необходимый токен авторизации и тип контента для JSON-коммуникации.
  1. Универсальный механизм вызова API:
  • Метод <code>callApi()
  • служит гибкой утилитой для отправки POST-запросов на конечные точки API Tinkoff.
Он обрабатывает отправку полезной нагрузки и отчеты об ошибках, предоставляя подробную обратную связь по сбоям (через журналы).
  1. Извлечение данных «японских свечей»:
  • Метод <code>getCandles()
  • извлекает данные свечей для заданного финансового инструмента (тикера) за указанные интервалы.
Он вычисляет временной диапазон на основе предоставленного интервала и извлекает серию свечей из сервиса рыночных данных. Это необходимо для анализа рынка, технических индикаторов и торговых стратегий.Обрабатывает до 1000 свечей за запрос и обеспечивает регистрацию ошибок, если запрос не выполняется или возвращает пустые данные.

Зависимости и утилиты:

  • Moment.js: Используется для форматирования дат и расчета временных диапазонов, что имеет решающее значение при работе с финансовыми данными за различные периоды времени.
  • Axios: Обрабатывает HTTP-запросы к конечным точкам API.
  • Службы ведения журналов: реализует настраиваемую систему журналов для вывода файлов и консоли, помогая в отладке и отслеживании операций.

SilverFir-TradingBot\src\searchTradingVolumes.js

Как я решил вернуться в алготрейдинг после 10 летнего перерыва

Модуль <code class="inline-code">searchTradingVolumes.js

является частью SilverFir-TradingBot, разработан для определения акций на Московской бирже (MOEX) с наибольшими объемами торгов за последние три месяца. Нужен чтобы отбросить неликвид.

Вот подробный обзор функций модуля:

Основные функции:

  1. Фильтрация акций с MOEX (Московской биржи):
  • Модуль использует T‑Bank Invest API для получения полного списка доступных акций.
  • Фильтрует результаты, чтобы сосредоточиться конкретно на акциях, торгуемых на REAL_EXCHANGE_MOEX, гарантируя, что будут рассмотрены только акции Мосбиржи.
  • Отфильтрованный список включает в себя важную информацию, такую ​​как FIGI (глобальный идентификатор финансового инструмента), тикер, ISIN и название, которые затем регистрируются для отслеживания и анализа.
  1. Извлечение исторических данных по объему торгов:
  • Для каждой акции, идентифицированной на этапе фильтрации, модуль извлекает ежедневные данные свечей (OHLCV — открытие, максимум, минимум, закрытие, объем) с помощью T‑Bank Invest API.
  • Он извлекает данные за последние три месяца, рассчитывая общий объем торгов за этот период.
  • Этот шаг имеет решающее значение для измерения рыночной активности и определения наиболее активно торгуемых акций.
  1. Определение 15 лучших акций по объему:
  • После сбора данных по объему торгов модуль ранжирует все акции на основе их общего объема торгов за трехмесячный период.
  • Затем он выбирает 15 лучших акций, которые считаются имеющими самый высокий оборот, что делает их наиболее активными на рынке.
  1. Ведение журнала и подготовка конфигурации:
  • 15 лучших акций регистрируются с соответствующими тикерами и идентификаторами FIGI для дальнейшего использования.
  • Эти данные также подготавливаются для включения в конфигурацию бота, что позволяет легко интегрировать их в другие части торговой стратегии.

Зависимости и утилиты:

  • Moment.js: используется для манипулирования датами, в частности для генерации временных диапазонов (три месяца) для запросов исторических данных.
  • TinkoffClient: это выделенный клиент бота для взаимодействия с API Tinkoff Invest, облегчающий коммуникацию, необходимую для получения данных по акциям и свечам.
  • Служба пользовательского ведения журнала: модуль использует систему ведения журнала, которая регистрирует информацию как в консоли, так и во внешних файлах, помогая отслеживать фильтрацию акций, расчеты объема и любые ошибки, возникающие во время взаимодействия с API.

Результат выполнения скрипта searchTradingVolumes.js

<code>2024-10-06 07:25:48 [INFO]: Отфильтрованных акций 170 штук.
2024-10-06 07:25:50 [INFO]: Топ 15 акций по объему за последние три месяца: [
  {
    "ticker": "GRNT",
    "figi": "TCS10A0JV532",
    "totalVolume": 7092179306
  },
  {
    "ticker": "VTBR",
    "figi": "BBG004730ZJ9",
    "totalVolume": 5906896857
  },
  {
    "ticker": "MTLR",
    "figi": "BBG004S68598",
    "totalVolume": 5047115732
  },
  {
    "ticker": "UWGN",
    "figi": "BBG008HD3V85",
    "totalVolume": 4423660125
  },
  {
    "ticker": "RNFT",
    "figi": "BBG00F9XX7H4",
    "totalVolume": 1775061013
  },
  {
    "ticker": "EUTR",
    "figi": "TCS00A1002V2",
    "totalVolume": 1270913208
  },
  {
    "ticker": "SNGSP",
    "figi": "BBG004S681M2",
    "totalVolume": 1092911599
  },
  {
    "ticker": "GAZP",
    "figi": "BBG004730RP0",
    "totalVolume": 1027429605
  },
  {
    "ticker": "ROSN",
    "figi": "BBG004731354",
    "totalVolume": 983187493
  },
  {
    "ticker": "SBER",
    "figi": "BBG004730N88",
    "totalVolume": 940111321
  },
  {
    "ticker": "SGZH",
    "figi": "BBG0100R9963",
    "totalVolume": 929574444
  },
  {
    "ticker": "AFLT",
    "figi": "BBG004S683W7",
    "totalVolume": 632806638
  },
  {
    "ticker": "VKCO",
    "figi": "TCS00A106YF0",
    "totalVolume": 595704137
  },
  {
    "ticker": "RUAL",
    "figi": "BBG008F2T3T2",
    "totalVolume": 542242519
  },
  {
    "ticker": "TATN",
    "figi": "BBG004RVFFC0",
    "totalVolume": 538004844
  }
]
2024-10-06 07:25:50 [INFO]: 

Вставка в config.js:

2024-10-06 07:25:50 [INFO]: 
securitiesToMonitorTikerArray: ["GRNT","VTBR","MTLR","UWGN","RNFT","EUTR","SNGSP","GAZP","ROSN","SBER","SGZH","AFLT","VKCO","RUAL","TATN"]
2024-10-06 07:25:50 [INFO]: 
securitiesToMonitorFigiArray: ["TCS10A0JV532","BBG004730ZJ9","BBG004S68598","BBG008HD3V85","BBG00F9XX7H4","TCS00A1002V2","BBG004S681M2","BBG004730RP0","BBG004731354","BBG004730N88","BBG0100R9963","BBG004S683W7","TCS00A106YF0","BBG008F2T3T2","BBG004RVFFC0"]
2024-10-06 07:25:50 [INFO]: 

Для использования в скрипте download_md.sh в одну колонку:
TCS10A0JV532
BBG004730ZJ9
BBG004S68598
BBG008HD3V85
BBG00F9XX7H4
TCS00A1002V2
BBG004S681M2
BBG004730RP0
BBG004731354
BBG004730N88
BBG0100R9963
BBG004S683W7
TCS00A106YF0
BBG008F2T3T2
BBG004RVFFC0</code>

Итоги

Проект представлен на Гитхабе: https://github.com/empenoso/SilverFir-TradingBot. Новые модули будут загружаться по мере написания и тестирования.

Модуль <code>tinkoffClient.js

для T‑Bank Invest API представлен пока только частично.

Автор:Михаил Шардин

7 октября 2024 г.

★7
71 комментарий
T-bank?!🙈 после этого да же читать дальше не стал.
avatar
Head of Algonaft'$, а вариантов прямо очень много что ли?
avatar
Михаил Шардин, да, вариантов алго очень много! В т.ч. без софта-прослойки! Да и Г_банк гавноброкер с повышенным комисом… вы точно алго или все таки акло?
avatar
Head of Algonaft'$, через квик?
avatar
Михаил Шардин, еще раз… зачем вам софт прослойка? для чего?
avatar
Head of Algonaft'$, я физ. лицо, выхожу с торговым алгоритмом на биржу, начинаю с небольших денег, не хочу платить за аренду и доступ. Какие мои варианты?
avatar
Михаил Шардин, я собрал каталог на коленке со сборником решений для алготрейдинга osaengine.ru/ Веду блог (сейчас в оперативной паузе — трейдинг попёр вверх)) Надеюсь подборка пригодится.
avatar
Gambler, негусто там инструментов
avatar
Михаил Шардин, так это опенс сорс, и под МосБиржу )) Другого нет

Вот еще нашел недавно один сайт algotradinglib.com/en/soft/ там более бохато, но там всё вместе.
avatar
Михаил Шардин, у Т-банка же комиссии конские, либо ваши рабочие ТЫ должны быть от дня, недели и выше. Сейчас комиссии много съедают. И да, по рынку входить не стоит. Только мейкерскими заявками.
avatar
Михаил Шардин, кстати, 3D Optimization Chart есть в Ехеле, могу скинуть
avatar
T-800, было бы интересно
avatar
Михаил Шардин, напомните мне завтра-послезавтра, я пока в отъезде. И емей напишите пришлю. В свое время я его взял у Константина Копыркина, а кто автор не знаю.
avatar
сколько лет писать будете робота?
avatar
VалиБакS, механизм уже написал — он работает. Логика самое главное.
avatar
VалиБакS, с модулями бектестинга на Node.js проблемы — не могу подобрать рабочий.
avatar
Михаил Шардин, а почему Node.js? 
avatar
Среднеброд, привычнее. Хотя чат гпт часто на питоне отвечает когда сложные вопросы.
avatar
Михаил Шардин, я пробовал использовать node.js. Не понравился, JS сомнительный с точки зрения надежности язык. Питон по факту годится только для тестов или для пред/пост обработки и анализа (там классные библиотеки), но я не понимаю тех, кто на питоне пишет сложное ПО (медленный, странный параллелизм, твоя программа через две недели как чужая выглядит и т.п.). Что-то «большое и светлое», которое должно работать годами 24/7 писал всегда на C#/Java/Kotlin.
avatar
Среднеброд, больше вопрос привычки наверное.
avatar
Зачем изобретать велосипед, когда уже есть готовые решения? Потратили бы лучше время непосредственно на торговую логику.
Дмитрий Овчинников, API это тоже готовое решение. А в квик через костыль.
avatar
Михаил Шардин,
API это не решение а интерфейс.
Дмитрий Овчинников, да.
Просто вы написали про готовые решения, но я не хотел пользоваться квиком. И смог найти только три АПИ от брокера.
Может быть можно как-то было выйти напрямую на биржу, но я начинаю с небольших денег и не хочу платить за аренду и доступ.
Ну и для Node.js вариантов не было. Поэтому стал писать.
avatar
Михаил Шардин,
Все верно, нюанс только в том, что вы платите временем, правда меняете его на опыт, что неплохо.
  
avatar
Дмитрий Овчинников, это следующий шаг.
avatar
Дмитрий Овчинников, в своё время АПИ Тинькова показалось мне просто космическим инструментом, в хорошем смысле «не имеющим аналогов»

Купить, продать, узнать статус можно банально отправив запрос через, скажем, postman. Никаких промежуточных прокладок

У них, правда давно, были какие-то проблемы с несколькими счетами на аккаунте, не знаю, сейчас исправили или нет. 

PS про autotrade впервые узнал, спасибо

PPS сам Т-АПИ сейчас не использую, хватает совсем простых инструментов, но с интересом слежу, что люди делают, например, впечатлила связка гугл-докс и т-апи, готовая табличка

avatar
Дмитрий Овчинников, а чего там изобретать? Если человек умеет программировать, то это не проблема.
avatar
Среднеброд, 
алготрейдинг это не про программирование. ТС пишет, что вернулся в алго, но это не совсем так, точнее сказать совсем не так :)
Дмитрий Овчинников, ну я в курсе, но если уж за это берется программист… Я для себя не вижу проблем все вышеперечисленное переписать как мне было бы удобно. Это просто  создание удобного окружения. Я смотрел инструментарий для алготрейдинга и он мне не понравился. 
avatar

Дмитрий Овчинников, да это так. Но без механизма подачи заявок никак. Вот я его себе и создаю.

А алгоритмы чуть позже. Но чем проще тем лучше наверное. На мой взгляд вопрос именно в постоянстве механизированного исполнения.

avatar
  
avatar
__rtx, 
это типичная ошибка выжившего, тем более давно минувших лет. сайт набит программистами и где же успешный успех?
  
avatar
Дмитрий Овчинников, это точно не ошибка выжившего. Это всё были очень оборотистые ХФТ алгоритмы, которые очень эффективно пылесосили срочный рынок, в основном фьючерс РТС.
avatar
  
avatar
__rtx, в целом согласен. Но по рынку бить иногда тоже бывает выгодно. Например когда появляется арбитражная возможность. Но тут надо быть первым )
avatar
  
avatar
__rtx, 
ох уж эти теоретики :)

  
avatar
  
avatar
Понеслась п… да по кочкам. Приехали. Баффета в топку. Примука я красную таблетку!

неофициальный SDK Node.JS а потом эта чешуя сольет твои апи и сама для себя все продаст и купит. 

avatar
Crogall, я обращаюсь к АПИ напрямую. Функции сам написал.
avatar
Михаил Шардин, а какая версия АМИ?
Легальная или кряк?
avatar
Молодец! Единственное мне кажется с брокером не угадали. Т-Банк по комису разорение всегда был. Сейчас вроде Алор API рекомендуют, тарифы гуманнее Т-Банка и вроде оно как стабильнее Финамовского. А сама реализация бота на чем пишется по мне не важна. Есть решения и на Qlua, C#, Python, R, Delphi и т.д. На чем лично легче и понятнее писать логику бота.
avatar
zam, поддержу. Если без клиентского софта брокера, то лучше посмотреть Alor API. Правда жизни, что вам придется написать свой урезанный AMI Broker. Времени на трейдинг скорее всего не останется.
avatar

yurikon, и всё таки их только три по РФ — если без клиентского софта брокер.

Вроде БКС ещё своё АПИ разрабатывает. Но на тестинг уже новых не берут.

avatar
zam, с бектестингом пока проблема. На Node.js не могу найти библиотеки.
avatar
Михаил Шардин, ТСлаб для бэктестинга вполне норм. Потом переносишь логику бота в свою платформу.
avatar
лень читать «многа букаф»))
Но плюсик, за старание)
Ништяк. Желаю удачи! 
avatar
Не понял. Чем плох Quik + Lua как инструмент торговли?
Мои 6 брокеров не берут с меня за Quik ни копейки.
Так ли нужен ли доступ к живым торгам для тестирования? Когда-то была доступна история торгов в тиках даже для очереди заявок
www.qscalp.ru/download
erinrv.qscalp.ru/
www.qscalp.ru/store/qsh.pdf
PS  Quik+Lua все «Основные функции»
  1. Фильтрация акций с MOEX (Московской биржи):
  2. Извлечение исторических данных по объему торгов:
  3. Определение 15 лучших акций по объему
  4. Ведение журнала и подготовка конфигурации
из статьи реализует элементарно.
«Без Windows» — это всё прямо на смартфоне? — Ну тогда да…
Хотя планшет-раскладушка с Windows не такая уж диковинка.
avatar
  
avatar
Rostislav Kudryashov, «Без Windows» — это прямо на сервере. На линуксе или более вероятно в докере.
avatar
Михаил Шардин, 13:23 В статье только раз упоминается «веб-сервер».  Это не то, что можно носить в кармане или поставить на стол? Прежде чем идти дальше — нужно пояснение.
АПИ (API — Application Program Interface) — это что угодно.

С помощью T-Invest API вы можете:

  • Выставлять все виды торговых поручений на биржи — лимитные, рыночные, стоп-заявки.
  • Получать рыночные данные, в том числе исторические, в виде стриминга и через Unary-запросы.
  • Получать информацию по своему портфелю и его доходности.
  • Проверять алгоритмы торговли на исторических данных. Механизм проверки теорий разрабатывается клиентом самостоятельно.
Что в этом уникального и ранее небывалого?

PS Я когда-то делал замеры на Quik'е из Церих-капитал. Подтверждение заявки приходило через 0.1 сек после отправления и ещё через 0.1 сек она помещалась в таблице заявок Quik'а на моём ПК в Питере.
PPS Кстати, не так уж давно я видел предложения разместить свой виртуальный Quik со своим торговым роботом на Lua именно на сервере брокера.
avatar
Rostislav Kudryashov, а причём здесь уникальное и небывалое?
Нужен просто механизм который запустил и он стабильно работает вот и всё. Пусть у тебя дома или на удаленном сервере.
avatar
Михаил Шардин, 15:12 Интересно, этот «механизм» даёт очередь заявок и таблицу обезличенных сделок с отметкой «покупка» или «продажа» как в Quik'е?
Если нет — никакое преимущество в скорости доступа на биржу не имеет смысла.
И есть ли в самом деле такое преимущество?
PS И как же это тебе не везло, что только теперь, после многих лет, ты добрался до брокера со стабильно работо-способным сервисом.
avatar
Самое время — на мертвом рынке приходить в алго. Впрочем, мы же понимаем, что это просто рекламка Тинька.
avatar
BobbyKotick, 13:29 Эт-точно. Возвращаться в алго-торговлю есть смысл, когда осенит новая торговая идея, а не из-за новых торговых посредников.
avatar
BobbyKotick, конечно же это реклама (сарказм).
Я 5 лет не мог собраться, чтобы что-то такое подобное сделать.
avatar
Зачем так много тратить сил, чтобы найти самые ликвидные акции? Раз они ликвидные, значит в любой день по ним высокие обороты. Открыл Quik, отсортировал по оборотам, получил искомое.

Выставлять заявки это прекрасно, но надо еще контролировать их исполнение, снимать неисполненный остаток или всю часть. Следить, чтобы алгоритм повторно не выставлял заявки, а для этого нужно делать логические блокировки. Все алгоритмы должны работать независимо друг от друга, не нагружая систему. Там еще писать и писать. Энтузиазм легко может снова сойти на нет.

Когда смотрел тарифы брокеров, Тинькова сразу отбросил, посмотрев на комиссии на срочном рынке
avatar
myaucha, посмотрим
avatar
  
avatar
__rtx, я и не хотел в высокочастотный трейдинг, HFT, да и мне кажется АПИ тинкова и не вывозит такое.
Всего несколько операций длятся несколько секунд. Ужасно долго для робота, но очень быстро для человека.
avatar
  
avatar
удачи! молодец! главное чтобы не «задолбали дружескими похлопываниями»)
мне всегда было интересно почему для десктопа — «Отображение информации, скорее всего через веб-сервер.»? и какой информации?
avatar
Скрипт будет выполняться на сервере. Чтобы визуально проконтролировать процесс надо будет зайти на локальную веб страничку, где буду выводить интересующие параметры.

Вроде вот такого: daily.dev/blog/setup-nodejs-express-project-a-beginners-guide
Извините на русском не смог сразу найти
avatar
Насколько я понимаю AmiBroker (создан в Польше) уже несколько лет не обновляется: последний выпуск в 2015 году, а обновления в 2017 году.

Неправильно понимаете, программа обновляется, последний релиз был в августе 2024
https://www.amibroker.com/news.html
avatar

теги блога Михаил Шардин

....все тэги



UPDONW
Новый дизайн