Форум Бингуру 2.0

 Главная | Опросы | Регистрация | Поиск | Статистика | 1.0 | Сайт | Симулятор
Дневники Форум Бингуру 2.0 / Дневники /  
 

Дневник Меха

 
 
Страница  Страница 1 из 5:  1  2  3  4  5  Дальше »

Автор mech
 Медвежонок
#1 | Дата:  
Подумал, что буду наверно делиться инфой по разработке софта для трейдинга, как для личного использования, так и как «бизнес» (но бизнесмен из меня правда как балерина из кота)

На данный момент пытаюсь освоить круговой арбитраж на DEX. Ещё начинал делать софт для арбитража фьючерсов на 20+ CEX криптобиржах. Решил временно от CEX отойти, т.к. кажется что DEX запустить будет быстрее, но правда дороже по расходам.

Первый источник дохода на трейдинге был с арбитража БО на олимп трейде и ныне покойном turbo xbt. Так же раньше торговал закономерностями по типу «разворот в определенное время» на интрейде.

На данный момент торгую на форекс по той же закономерности, что и Степан.

Имею кучу долгов и кучу проектов, дедлайны по которым давно про*баны.

Автор mech
 Медвежонок
#2 | Дата:  
Есть хороший сервис https://capitalist.net/

На нём можно завести виртуальную карту, которой можно оплачивать иностранные сервисы по типу ChatGPT.

  • Пополнять capitalist можно криптой, USDT.
  • При создании карты по сути указываешь левые данные (адрес проживания, ФИО)
  • Адрес важно запомнить, его потом не увидеть на сайте.
  • К сожалению карта платная, как создание так и облуживание.
  • Зато своя


Автор mech
 Медвежонок
#3 | Дата:  
Библиотека для MQL5 и С++, чтобы работать с датой и временем: https://github.com/NewYaroslav/time-shield-cpp

Писал её чтобы в одном месте собрать полезные функции, по типу парсинга строк, преобразования, смены часового пояса.
Если не нашли в ней нужного функционала, пишите мне, м.б. добавлю.

---

Библиотека именинных каналов для MQL5 и С++: https://github.com/NewYaroslav/SimpleNamedPipe

Для MQL5 есть клиент, а доля C++ есть рабочий сервер, который наконец-то не вылетает и не зависает.
Может пригодиться есть делать софт для трансляции котировок, сигналов и т.д.

---

Проект на пайтон реализующий «хаб», чтобы можно было из телеграмма видеть состояния множества торговых счетов в МТ5, текущий профит, баланс, состояние «офлайн/онлайн» т.д. Есть и MQL5 часть кода в виде .mqh файла.

Исходники: https://github.com/NewYaroslav/tg-mt5hub-bot

---

Проект на пайтон для тг-бота тех-поддержки: https://github.com/NewYaroslav/tg_support_bot

Суть бота:
  • Можно добавлять клиентов по email
  • Клиенты могут через бота отправлять вопрос касательно тех-поддержки как админу в тг, так и на почту
  • Был разработан как «протип», на базе которого можно сделать что-то более конкретное.

---
Библиотека kurluk: https://github.com/NewYaroslav/kurlyk

Собственная библиотека-обертка вокруг curl и Simple Websocket-Server которая позволяет делать http запросы и websoket подключения с учетом таймингов, обработкой некоторых ошибок и т.д. Используется событийная модель, т.е. каждый запрос из под коробки запускается асинхронно в отдельном потоке, с учетом лимитов на запросы, с учетом обработки ошибок.

М.б. кому-то этот велосипед пригодится, библиотека ориентирована на приложения. Но в перспективе хочу добавить код для более высоконагруженных запросов, когда надо делать тысячи запросов за короткое время. Так же хочу добавить поддержку emscript, чтобы можно было использовать в веб приложениях.

---

hmac-cpp https://github.com/NewYaroslav/hmac-cpp

Библиотека позволяет вычислять HAMC, хэши и TOTP. Работает как в MQL5, так и в C++. Не зависит от OpenSSL.

---

https://github.com/NewYaroslav/DataFeedHub

В процессе разработки DataFeedHub — это комплексное решение для хранения и обработки финансовых данных, включая котировки, фандинг и стаканы цен.

Идея в том, чтобы иметь мощную библиотеку, способную хранить данные сжато, при этом использовать их прямиком из БД на mdbx, проводить тесты на тысячх активов одновременно. Пока что библиотека в стадии разработки. Делается под торговлю арбитража фьючерсов на CEX, так же для форекс торговли.

Автор mech
 Медвежонок
#4 | Дата:  
Библиотека optionx_cpp: https://github.com/NewYaroslav/optionx_cpp

На данный момент поддерживает только брокера intrade bar.
Разрабатывалась как универсальное мультиброкерное решение.

Тоже самое, но для криптобирж: https://github.com/NewYaroslav/cryptox_cpp
Пока что в стадии разработки, ещё не готова вообще

Автор mech
 Медвежонок
#5 | Дата:  
Теперь коротко о поиске закономерностей.

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


Зеленым цветом обозначен винрейт стратегии, вдоль оси Х он зависит от параметра, например от среднего значения волатильности. Таким образом мы можем увидеть, что чем например волатильность выше, тем винрейт тоже по немногу становится выше. Затем график дергается из-за того что статистики становится слишком мало. Это можно решить предобработкой статистики, когда мы каждому значению на оси X сопоставляем не конкретное значение той же волатильности, а некоторый интервал. Интервалы могут быть разной длины, главное что каждый из них будет содержать одинаковое количество сделок.

Далее покажу пример на тепловой карте для бинарок:


Что тут происходит:
  • Ось Х — это экспирация бинарного опциона с шагом в 1 минуту, начиная с 3х минут.
  • Ось Y — Период индикатора. Диапазон с 30 до 540. Индикатор — обычный осцилятор.
  • Ось Z — Это время входа с шагом в 1 секунду. В данном примере это не конкретное «окно» в течении дня, а наложенные друг на друга окна. Например, каждый час. В данном примере мы смотрим 16-тую секунду от начала окна (на скриншоте надпись — layer).

Зачем 3D карта?
С помощью такой визуализации проще видеть места устойчивых (т.е. работающие годами) «аномалий», когда цена чаще всего в какой-то момент времени разворачивается ну или наоборот, продолжает движение.

Сам метод можно применить не обязательно именно ко времени входа.

Интерпретация данных:
Участки, где больше всего винрейт, должны группироваться вместе. Это указывает что закономерность довольно сильная. Одиночные «выбросы» нас не интересуют.

Если смотреть вдоль оси времени, можно увидеть, как винрейт зависит от времени входа. Это очень полезно чтобы найти оптимальное окно входа. Пример для точки [3,6,0] (то есть, у нас экспирация 5 минут, период 6 * 30 +30 = 210, 0 — это начало окна входа по времени внутри дня, от куда собиралась статистика).


Видим что винрейт выше всего в начале минуты, ближе к концу минуты он становится меньше. Оптимально входить где-то с 10 по 25 секунду минуты.

Автор mech
 Медвежонок
#6 | Дата:  
На тему тепловых карт, какие карты надо анализировать для бинарки:

  • карта винрейта
  • карта количества сделок

Для форекса на винрейт смотреть смысла особого нет, там нужны другие карты:

  • профит-фактор
  • средний профит-фактор (типа какой он на сделку).
  • карта количества сделок

Еще касательно оптимизации и тестирования. Я лично делал так:

  • Период оптимизации разбиваем на несколько фрагментов. Например на три штуки по 9-ть месяцев.
  • На периоде оптимизации строим тепловую карту зависимости профит-фактора и прочих коэффициентов от параметров стратегии.
  • Каждый пиксель тепловой карты это среднее между средним значением и наихудшим фрагментом. Но можно просто взять среднее значение за N фрагментов периода оптимизации.
  • После того, как тепловые карты сделаны, мы ищем места концентрации высокого винрета/профит фактора. Карта с количеством сделок нужна для того, чтобы выбрать не слишком мало сигнальные настройки.
  • После того, как настройки выбраны, берем еще 3-4 фрагмента исторических данных ДО финального, на которых проверяем, что стратегия работает. В случае с фордеком в целом можно просто взять период между концом исторических данных для оптимизации и началом финального периода истории.
  • Если стратегия прошла тестовый период, т.е. показала себя хорошо, стабильно, мы её проверяем на финальном периоде.
  • По финальному периоду и тестовому можно судить об реальной эффективности стратегии, о том какой у ней винрейт, мат. ожидание. настроит мани-менеджмент.

Стратегий нужно найти несколько штук. Это могут быть просто разные вариации параметров одной и той же закономерности.

Чем больше стратегий торгуется одновременно — тем лучше.

В финале мы тестируем все найденные закономерности одновременно. В идеале надо ещё оценить корреляцию их сделок, распределить средства по стратегиям. Оценить потенциальную просадку на периоде в несколько лет.

Важно:

Для оптимизации и тестов можно использовать группы валютных пар. Забудьте что оптимизацию стратегии на одной паре, такое редко бывает нужно, только если закономерность живет только на ней. Часто нужно обобщать статистику со всех пар, хоть они и разные. Это позволяет найти «средний» хороший результат и таким образом проще избежать переоптимизации.

Автор mech
 Медвежонок
#7 | Дата:  
Статья про арбитраж соляны: https://teletype.in/@mr.ponder/F65gaM2k13w

Скорее просто чтобы ознакомиться с примерами, как это работает.

Автор Zack
 Уровнемер
#8 | Дата:  
mech:
примерами, как это работает.
Оригинал
таки он дал практически готовую инструкцию, в чём сложность реализации?

Автор mech
 Медвежонок
#9 | Дата:  
Zack:
таки он дал практически готовую инструкцию, в чём сложность реализации?
Оригинал
Смотри, например нам надо мониторить 100 токенов. Для этого нам нужна «таблица» обмена токена на токен, типа 100 на 100 например. Диагональ можно не считать, но это уже считай 10 000 запросов.

Далее, идем на тот же юпитер апи, который позволяет получать курс обмена токена на токен и инструкцию для совершения обмена, и видим что бесплатное апи дает 1 запрос в секунду. А платный за 500 баксов дает на сколько помню, 50 запросов в секунду.

А сколько нам надо запросов в секунду? Для мониторинга 100 токенов явно не меньше 10 000.

Ок, умерим аппетиты, будем проверять токенов 10. Это уже 100 запросов, чтобы обновить всю таблицу.

Трабла ещё в том, что у нас счет идет на миллисекунды, а не секунды. То есть желательно чтобы таблица обновлялась чаще, чем раз в секунду.

И для этого нам придется брать более дорогое апи, или поднимать свой сервер например с этой программой https://github.com/blockworks-foundation/autobahn
Для собственного сервера надо будет брать в аренду ноду. Если это не выделенный сервер, а только доступ по RPC, то можно наверно уложиться в 500-1000 баксов в месяц, если токенов не много. Нужно брать такую подписку, где есть yellowstone протокол, который позволяет быстро опрашивать ноду и получать цены обмена токенов например.

Ну а собственная нода в омерике обойдется в 3к$ в месяц.

Ещё напоминаю, что надо написать код, скорее всего на node.js, с учетом всей этой специфики (защита от MEV ботов, ускорение транзакции, проверка транзакции на симуляции, м.б. что-то еще).

То есть в целом конечно реализуемо, но придется потратиться и разобраться в крипте и кодинге на node.js

Автор Zack
 Уровнемер
#10 | Дата:  
mech:
То есть в целом конечно реализуемо, но придется потратиться и разобраться в крипте и кодинге на node.js
Оригинал
А понял! Звучит офигеть как сложно

Автор mech
 Медвежонок
#11 | Дата:  
Zack:
А понял! Звучит офигеть как сложно
Оригинал
Но вполне реально. Пока еще...

Автор mech
 Медвежонок
#12 | Дата:  
Кто хотел «готовые» стратегии для БО, вот вам наводка.

На форексе у некоторых пар с NZD есть расширение спреда, которое часто бывает в одно и то же время.

На форексе это не поторгуешь, потому что это просто расширение спреда. А вот на БО, т.к. там используется средняя цена, расширение спреда может выглядеть как импульс цены, потому что может меняться в основном только цена bid или ask. И тогда такой импульс можно торговать на отскок. Винрейт получается очень высоким.

Но есть нюанс — на том же интрейд баре вас забанят за использование такой стратегии. Проверять даже не стоит, это пройденная практика для моих знакомых. Поэтому и рассказываю) Это грааль, который не получится использовать.

Автор mech
 Медвежонок
#13 | Дата:  
Ещё пример стратегии для БО, которая раньше работала. Сейчас закономерность умерла. Остальные стратегии похожи на неё (и тоже умерли, но всю контору палить не буду).

Валютные пары: EURCAD,EURGBP,EURJPY,EURUSD,EURAUD,EURCHF (упорядочены по убыванию винрейта в тестере)
Окно входа внутри дня: 10:59:04-10:59:27 и 11:59:04-11:59:27 (время вроде по UTC с переходом на зимнее, точно не помню. Для МСК надо прибавить тогда 3 часа летом).
Экспирация: 5 минут
Индикатор: по сути WPR, я называю его поиском min/max цены, т.к. про WPR узнал позднее. Ищем максимум и минимум цены со смещением на 1 бар, т.е. нужно чтобы последний бар не участвовал в формировании min/max цены, и мог «выйти» из коридора. Если цена вышла за min/max цены — есть сигнал. Сигнал проверяем только во временном окне.
Период индикатора: 210
Таймфрейм: М1

Стратегия была устойчива к задержке 4 сек. Винрейт был в районе 60%. Для расчетов размера сделки я использовал вин 58%. Т.е. при коэффициенте ослабления критерия Келли 0.2 размер ставки в районе 1.7% от депозита.

Автор Dev Хомяк #14 | Дата:  
mech
Подскажи, пожалуйста, в боте, который вы используете со Степаном для Интрейда, какой минимальной задержки открытия удалось добиться? 4 сек., как указано выше? И какое время было между сделками, если открывалось несколько, по одному и тому же сигналу?

Автор mech
 Медвежонок
#15 | Дата:  
Dev:
Подскажи, пожалуйста, в боте, который вы используете со Степаном для Интрейда, какой минимальной задержки открытия удалось добиться? 4 сек., как указано выше?
Оригинал
Задержка из-за брокера, она не зависит от софта, и обычно она 2 сек. В софте есть разве что ожидание повторного сигнала с временем 1 сек.

Есть гипотеза, что задержка на интрейде связана с хеджированием сделок на DukaScopy. Потому что у DukaScopy запрещена автоматическая торговля, следовательно все сделки разом открыть -> бан. Поэтому интрейд там открывает сделки с разницей в секунды 2.

Конечно это моё предположение, основанное на том что на дуке платят 90%, а у интрейда 85%. Плюс когда на Дуке повышается спред, у интрейда падает процент выплат. Ну и размер сделки у интрейда ниже чем на Дуке, на сколько помню. Т.е. они просто там открывают на сумму больше, чем у клиента.

И по этой причине они не могут хеджировать схожие ТС. Потому что если будут два трейдера торговать по похожим ТС, то при их хеджировании на Дуке сделки начнут совпадать. Ну и прилетит им бан на аккаунты для хеджа. А на одном аккаунте хеджировать всех прибыльных трейдеров не выйдет, ну типа если два чела сделали ставку по 700, то они эту сумму одной сделкой тупо не выведут на Дуку.

От сюда и правило что «копирование сделок запрещено».

Страница  Страница 1 из 5:  1  2  3  4  5  Дальше » 
Дневники Форум Бингуру 2.0 / Дневники /
 Дневник Меха

Ваш ответ Нажмите эту иконку для возврата на цитируемое сообщение

 

  ?
Только зарегистрированные пользователи могут отправлять сообщения. Авторизуйтесь для отправки сообщений, или зарегистрируйтесь сейчас.

 

 
Онлайн: Гостей - 8
Пользователей - 3 [ Nomad, JoyBoy, Mista ]
Рекорд: 35 []
Гостей - 25 / Пользователей - 10
 


  ⇑