Разработчики! Ошибка 10024 (Слишком частые запросы) - страница 6

 
Renat:

Мы резервируем 4 транзакции из буфера на 64 записи для ручных операций и сигналов.

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


Интересно, почему нельзя было это указать в Вашем первом сообщении об увеличении размера буфера?

Почему такое пренебрежительное отношение к мелочам, которые для программиста совсем не мелочи? Ведь, как известно, "бес сидит в мелочах"!

 
komposter:

Вы хоть раз торговали 10ю инструментами, имели одновременно 10 позиций, и сопровождали их тралом?
И на каждом инструменте было по 10 тиков в минуту, и все в сторону прибыли позиции, и все заявки по модификации исполнялись за 100 мс? И уперлись в лимит транзакций?

Или это теоретическое ограничение, а в реале вам хватает скорости с головой?

 

Ренат часто перегибает, но не в этот раз.

Торгую 50 инструментами.

Бывает открыто по 15-18 позиций одновременно с постоянно выставляемыми

отложенными ордерами( не трал, но ордера выставляются).

"Упираюсь" в лимит транзакций каждый день, поэтому ввёл глобальную переменную и разбил 2000 на 3 части (по сессиям).

Как вы думаете, почему я поднял тему?

И ещё...

Коль скоро на ФОРТС есть ограничение по транзакциям, то САМ пользователь должен

соблюдать их количество. А вот логины имеют ограничение по транзакциям  в секунду ( 30 и 60 ).

Я не знаю как реализовано у MQ подключение к бирже, но, видимо, ограничение

транзакций в секунду в терминале, связано именно с ограничениями логина. 

 

Упираетесь с 64 транзакциями?

Это сколько транзакций в секунду совершаете и какой пинг до сервера?

 
Renat:

Упираетесь с 64 транзакциями?

Это сколько транзакций в секунду совершаете и какой пинг до сервера?

Вы у меня спрашиваете?

Имелось ввиду 2000 тр. за торговый день (ответ komposterу)

 
Mikalas:

Вы у меня спрашиваете?

Да.


Имелось ввиду 2000 тр. за торговый день (ответ komposterу)

И не хватает пропускной способности в сотни транзакций в секунду, чтобы провести 2000 в день?
 
Edic:
Может это просто  настройка сервера МТ5 брокером такая.  -" после Х минут гиперактивности "скорострела",  придерживать его операции на N мс, а то вообще охренел".
логично, раньше так пипсовшиков отсеивали при ручном котировании
 
Renat:
Да.


И не хватает пропускной способности в сотни транзакций в секунду, чтобы провести 2000 в день?

Я переписал советника (массовое удаление перевёл на OrderSend ), но, иногда, бывает реджект (OrderSendAsync).

CI 0 11:59:56.922 Forts_trader (Si-12.14,H1) OnTradeTransaction: Ордер отклонён, билет = 7774172

RP 0 11:59:57.099 Forts_trader (Si-12.14,H1) OnTradeTransaction: Сделка совершена, билет = 7774175

HM 0 11:59:57.212 Forts_trader (Si-12.14,H1) OnTradeTransaction: Сделка совершена, билет = 7774176

QD 0 11:59:58.607 Forts_trader (Si-12.14,H1) OnTradeTransaction: Ордер отклонён, билет = 7774190

HK 0 11:59:58.859 Forts_trader (Si-12.14,H1) OnTradeTransaction: Ордер отклонён, билет = 7774192 

 
Mikalas:

Вы у меня спрашиваете?

Имелось ввиду 2000 тр. за торговый день (ответ komposterу)

Посмотрите мой тест на 6 странице: 1 000 ордеров за 23 секунды без единого реджекта. Это конечно не FORTS но клиент-серверное взаимодействие должно быть едино.

Mikalas:

Я переписал советника (массовое удаление перевёл на OrderSend ), но, иногда, бывает реджект (OrderSendAsync).

CI 0 11:59:56.922 Forts_trader (Si-12.14,H1) OnTradeTransaction: Ордер отклонён, билет = 7774172

RP 0 11:59:57.099 Forts_trader (Si-12.14,H1) OnTradeTransaction: Сделка совершена, билет = 7774175

HM 0 11:59:57.212 Forts_trader (Si-12.14,H1) OnTradeTransaction: Сделка совершена, билет = 7774176

QD 0 11:59:58.607 Forts_trader (Si-12.14,H1) OnTradeTransaction: Ордер отклонён, билет = 7774190

HK 0 11:59:58.859 Forts_trader (Si-12.14,H1) OnTradeTransaction: Ордер отклонён, билет = 7774192 

Как бы здесь не телепаты.

Причину отклонения, состояние очереди в момент реджекта - все в студию.

 
papaklass:

К большому сожалению, почему то очень грустно.

... 

Вам мало 50 миллисекунд на 50 заявок? Или это из серии "Хочу такой же, но с розовыми пуговицами". 
 
papaklass:
Вы бы до конца прочли мой пост, который комментируете. Там все описано.

Еще раз:

papaklass:

К большому сожалению, почему то очень грустно.

МТ5 с самого начала продвигается как МУЛЬТИВАЛЮТНАЯ торговая платформа. И что же имеем в сухом остатке?

Возьмем нейтральный портфель из 7 инструментов. При поступлении 10-ти тиков в секунду попытаемся его модифицировать на каждом тике (трейлинг-стоп) ....

А если инструментов в портфеле больше 7-ми? А если нужно модифицировать не одну секунду, а в течение пары минут? А если тики будут поступать чаще, чем 10 тик/сек? А если несколько разных портфелей?

И заметьте НИКАКОЙ ВЫСОКОЧАСТОТНОЙ ТОРГОВЛИ, просто подтягивание стопа.

Требуемая вами скорость: 100 миллисекунд на одну транзакцию (или 10 тиков в секунду).

Текущая производительность OrderSendAsynch позволяет работать на скоростях от 1  до 23 миллисекунд на одну транзакцию, в зависимости от величины очереди.

Причина обращения: