TGViewer
Разработка с Дарьей Матвеевой Разработка с Дарьей Матвеевой @system_design_explained · 72 subscribers
Post #61 181
Протокол FIX и библиотека QuickFIX/J

В последнее время много разбиралась с протоколом FIX и библиотекой QuickFIX/J.
FIX (Financial Information eXchange) — это стандартный язык для обмена финансовой информацией между участниками рынка. Он используется для передачи заявок на покупку и продажу, котировок и прочего. FIX обеспечивает быструю и надежную коммуникацию, что делает его основным инструментом в финансовой сфере.

Для работы с протоколом FIX существует множество библиотек, одной из самых популярных является QuickFIX/J. Это открытая реализация FIX на языке Java, которая позволяет разработчикам создавать торговые приложения, взаимодействующие с различными торговыми системами.

Как подключить?
Если у вас проект на Maven:
<dependency>
<groupId>org.quickfixj</groupId>
<artifactId>quickfixj-core</artifactId>
<version>2.3.2</version>
</dependency>
Дальше нужно настроить конфиг (например, config.cfg):
[DEFAULT]
ConnectionType=initiator
SocketConnectHost=your.host.ru
SocketConnectPort=9876
SenderCompID=SENDER_ID
TargetCompID=TARGET_ID

[SESSION]
BeginString=FIX.4.4
Это базовые настройки: кто вы (SenderCompID), с кем общаетесь (TargetCompID) и куда подключаетесь.

Вот пример простого клиента, который подключается к серверу FIX и отправляет тестовый запрос:
public class FixClient implements Application {
public void onLogon(SessionID sessionId) {
System.out.println("Успешный логин: " + sessionId);
sendTestRequest();
}

private void sendTestRequest() {
try {
Message testRequest = new Message();
testRequest.getHeader().setField(new MsgType(MsgType.TEST_REQUEST));
testRequest.setField(new TestReqID("Тест"));
Session.sendToTarget(testRequest);
} catch (SessionNotFound e) {
e.printStackTrace();
}
}
}
Если разобраться с конфигами и самим протоколом FIX, то это удобный инструмент для автоматизации торговли и интеграции с биржами или брокерами. Его плюсы:
- стандартизация: FIX является общепринятым стандартом для финансовых сообщений.
- open-source: не нужно платить за библиотеку.
- гибкость: можно настроить всё под свои нужды.
More from @system_design_explained
  1. Sep 22, 2026Нашла способ, который мгновенно и без дополнительных усилий увеличил мою продуктивность пр…
  2. Mar 27, 2026Я в ВК : https://vk.ru/dev_with_dm
  3. Mar 27, 2026Читаю в последнее время много критики микросервисов, и у меня тоже есть пример, как раз за…
  4. Mar 4, 2026В функциональных языках рекомендуется делать все объекты immutable, и, хотя на работе я пи…
  5. Dec 4, 2025Недавно занималась задачей, где нужно было реализовать оптимистическую блокировку сущности…
  6. Nov 21, 2025Обнаружила еще один плюс TDD. Согласно подходу, я пишу тест, который падает, пишу код, что…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →