Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
вижу пути
1.Использовать Pybit. в MT5 есть встроенная поддержка piton
2. через webrequest .
3.на маркете продается коннектор к бирже Pionex . для Bybit не нашел
Подскажите как лучше сделать?
сразу такая ошибка
ImportError: cannot import name 'HTTP' from 'pybit' (C:\Users\Den\AppData\Local\Programs\Python\Python313\Lib\site-packages\pybit\__init__.py) ryttytyt.py 5 1
вижу пути
1.Использовать Pybit. в MT5 есть встроенная поддержка piton
2. через webrequest .
3.на маркете продается коннектор к бирже Pionex . для Bybit не нашел
Подскажите как лучше сделать?
Я сделал себе коннектор на MT5 без всяких прокладок. Загружаю в кастомные символы. Плановые работы: добавлю тики для тестирования на них, торговую панель для ручной торговли и интерфейс для торговли из роботов, таблички с текущей торговлей и историю.
Делаю для себя, но наверное через 2-4 недель уже будет что-то готовое и могу выложить на маркет.
Чтобы разработчикам было интереснее - сделаю еще и систему передачи любых АПИ запросов, чтобы можно было любых ботов писать. А не только базовые предварительно запрограммированные.
По поводу тиков вопрос - наверное их можно сразу отфильтровать до 1 тика в секунду, т.к. по АПИ в реале чаще чем раз в секунду их все равно не получить... при этом будет выше скорость тестирования и экономия диска.
Или оставить все? Чтобы в тестере ТП/СЛ/лимитки могли срабатывать.
Или как fxsaber фильтровать движения например до 5 пунктов. Но на крипте 5 пунктов при цене 10 000 могут быть в 10 раз существеннее, чем при цене 100 000. По процентам фильтровать что ли?
Не понимаю откуда взялась эта инфа про поступление данных 1 раз в секунду - уже несколько раз об этом читал. В реальности, все иначе:
- для тикера (только snapshort):
Push frequency: Derivatives & Options - 100ms, Spot - real-time
- для книги ордеров (тот же тикер, фактически) - сначала snapshort, потом delta:
Linear & inverse:
Level 1 data, push frequency: 10ms
Level 50 data, push frequency: 20ms
Level 200 data, push frequency: 100ms
Level 500 data, push frequency: 100ms
Spot:
Level 1 data, push frequency: 10ms
Level 50 data, push frequency: 20ms
Level 200 data, push frequency: 200ms
Option:
Level 25 data, push frequency: 20ms
Level 100 data, push frequency: 100ms
По поводу тиков вопрос - наверное их можно сразу отфильтровать до 1 тика в секунду, т.к. по АПИ в реале чаще чем раз в секунду их все равно не получить... при этом будет выше скорость тестирования и экономия диска.
Или оставить все? Чтобы в тестере ТП/СЛ/лимитки могли срабатывать.
Я по вебреквесту с другой биржи получаю цену одного символа от 200 мс, цены всех символов - от 650 мс. По вебсокету будет вдвое быстрее. Это время задержки от РФ до Азии. С азиатским VPS будет очень быстро.
А частота прихода тиков заранее неизвестна для каждого конкретного символа. Я работаю с каждым тиком и не стал бы создавать секундные бары.
от 200 мс, цены всех символов - от 650 мс.
с таким темпом даже в игрушки не поиграешь ;-) 40-50 мс позволяют гонять в диаблоиды, 20-30 в отстрелялки..
за 200мс могут сгенерится 2-3 новых тика, а 650 это уже почти секунда то есть данные заведомо устарели на момент приёма и обработки
с таким темпом даже в игрушки не поиграешь ;-) 40-50 мс позволяют гонять в диаблоиды, 20-30 в отстрелялки..
за 200мс могут сгенерится 2-3 новых тика, а 650 это уже почти секунда то есть данные заведомо устарели на момент приёма и обработки
Биржа вам не игрушки, тут всё серьёзно ))
Я посмотрел инструменты, с которыми я работаю, в среднем пару секунд на тик. Как бы там ни было, всё работает стабильно и прибыльно. А для высокочастотной торговли, как я говорил - VPS рядом с биржей и вебсокеты.
Вообще, грех придираться к пингу и прочим внешним факторам, если нет прибыльной и надёжной стратегии.
Не понимаю откуда взялась эта инфа про поступление данных 1 раз в секунду - уже несколько раз об этом читал. В реальности, все иначе:
- для тикера (только snapshort):
Push frequency: Derivatives & Options - 100ms, Spot - real-time
- для книги ордеров (тот же тикер, фактически) - сначала snapshort, потом delta:
Linear & inverse:
Level 1 data, push frequency: 10ms
Level 50 data, push frequency: 20ms
Level 200 data, push frequency: 100ms
Level 500 data, push frequency: 100ms
Spot:
Level 1 data, push frequency: 10ms
Level 50 data, push frequency: 20ms
Level 200 data, push frequency: 200ms
Option:
Level 25 data, push frequency: 20ms
Level 100 data, push frequency: 100ms
Но как минимум ограничение будет по скорости передачи по сети, парсинга тестовых строк и обработки кода. У меня так:
2025.05.09 16:07:46.535 ByBitAPIConnector ByBitAPIConnector started
2025.05.09 16:07:46.535 ByBitAPIConnector load all Instruments
2025.05.09 16:07:46.948 ByBitAPIConnector WebRequest time: 413 ms
2025.05.09 16:07:46.949 ByBitAPIConnector API server time: 1746796069. Time shift: 10797 sec
2025.05.09 16:07:47.617 ByBitAPIConnector WebRequest time: 668 ms
2025.05.09 16:07:47.647 ByBitAPIConnector Deserialize time: 30 ms
2025.05.09 16:07:47.649 ByBitAPIConnector 578 symbols added with suffix .bbt.linear
2025.05.09 16:07:47.653 ByBitAPIConnector Load instruments full time: 1118 ms
2025.05.09 16:07:47.653 ByBitAPIConnector load all tickers
2025.05.09 16:07:48.253 ByBitAPIConnector WebRequest time: 599 ms
2025.05.09 16:07:48.276 ByBitAPIConnector Deserialize time: 23 ms
2025.05.09 16:07:48.292 ByBitAPIConnector Load instruments settingsd full time: 638 ms
Самый первый запрос примитив возвращающий время сервера, для определения смещения времени с локальным компом. И он занимает 413 мс. Т.е. примерно 200 мс в одну сторону.
Еще 2 запроса - тяжелые, возвращают по 578 инструментов.
Так что запроса 2 в секунду можно делать. Либо брать ВПС рядом с байбитом.
И видимо асинхронное что-то надо придумать, а не по очереди.
А по поводу котировок - быстрее брать со стрима, но я пока не знаю, как это из МТ5 делать, кто-то про сокеты писал. Буду разбираться...
Тут еще и десериализация JSONа по 20-30 мс длится для 400кб ответа ((