GeoFinex Ответов: 2

Выполнение нескольких функций одновременно


Привет, я работаю над приложением auto-trading quant, все работает нормально и перешел к последней фазе, но здесь я столкнулся с проблемой.

Вкратце:

Нет торговли = 0;
Торговля = 1;

Код выполняется, если выполняются определенные условия, и обновляет базу данных с От "0" до "1", а если это так '1' затем на счете пользователя будет открыта торговая позиция.

Вот в чем проблема:
Он открывает позиции один за другим, то есть если у меня есть 5000 клиентов, то он начинает открывать торговую позицию от 1-го пользователя до последнего 5000-го пользователя один за другим.

И предположим, что время проходит 100 МС на каждом исполнении сделки, тогда 5000 пользователей * 100 мс становятся круглыми около 8 минут, что действительно хуже для квантовой торговли.

1. Я использую Аякс и Решение webmethods с помощью .сетка с#
2. Для торговли я использую WebSocket Api предоставлено форекс брокером
3. Дифференцировать торгового счета пользователя у меня есть уникальный API токен для всех


Все сделки должны быть открыты одновременно, так что я думаю вот о чем:
Выполнить код для открытия торговой позиции непосредственно из БД можно с помощью некоторой StoredProcedure, если значение таблицы пользователя изменено с " 0 " на "1", но не знаю, возможно это или нет.

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

С уважением

Что я уже пробовал:

Я пытаюсь выполнить код непосредственно из БД с помощью StoredProcedure

2 Ответов

Рейтинг:
2

Gerry Schmitz

Вы должны быть в состоянии "пакетировать", если хотите обойти "один звонок на клиента".

Запрос службы XML или JSON может включать коллекции / списки / массивы для обработки нескольких "запросов" в одном вызове ... если он так устроен.

USPS, UPS, FedEx ... все работают таким образом; запрос / публикация нескольких вариантов одновременно.


GeoFinex

Я думаю, что индексирование пользователей не может быть использовано для обработки этих процессов, делая это, вы будете выполнять код одновременно, но не так, как мне нужно.

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

Рейтинг:
0

BillWoodruff

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

Цитата:
использование WebSocket Api предоставляемого форекс брокером
Вы разговаривали со своим Форекс-брокером и просили предоставить информацию о том, в какой степени он принимает/обрабатывает описанную вами рабочую нагрузку ? Разве брокер не тот, кто может сказать вам, что вам может понадобиться с вашей стороны ?


GeoFinex

Действительно согласен с вами, но API Websockets, который я получил, предназначен только для таких стартапов, как мы, а не для индивидуальных трейдеров, это гарантирует, что это возможно

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

Пытаясь получить что-то релевантное, если оно существует.

BillWoodruff

- Разве не брокер может сказать вам, что вам может понадобиться с вашей стороны ?" - Снова спрашиваю я.