Интересна тема высокочастотного трейдинга

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vladimir Karputov
Модератор
181638
Vladimir Karputov  
В эту тему были перенесены комментарии, не относящиеся к "Пиши и зарабатывай на MQL5".
oschenker
24039
oschenker  
Rashid Umarov:
10

Парный трейдинг /  тема снята пока
Использование ALGLIB для выбора символов (вот популярное объяснение на хабре http://smart-lab.ru/blog/350528.php, в инете также есть видео с вебинаров на эту тему.)

Тема частично затронута в опубликованной статье Пример разработки спредовой стратегии на фьючерсах Московской биржи

Её можно развить по многим направлениям - правильный подбор объемов, составление новых комбинаций инструментов, слом корелляции и т.д. Нужны практические примеры стратегий для Московской биржи (можно и для форекса, конечно, но биржевая тема была бы интересней)

Рашид, очень интересна тема высокочастотного трейдинга, есть куча вопросов. А темы такой в вашем списке нет.
Rashid Umarov
Админ
16664
Rashid Umarov  
Oleg Shenker:
Рашид, очень интересна тема высокочастотного трейдинга, есть куча вопросов. А темы такой в вашем списке нет.
Это понятие охватывает кучу проблем и задач для разработчика такого робота. Что конкретно вы имеете в виду?
oschenker
24039
oschenker  
Rashid Umarov:
Это понятие охватывает кучу проблем и задач для разработчика такого робота. Что конкретно вы имеете в виду?

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

Что конкретно? Например, я столкнулся с такими вещами:

1. Тестируя работу OrderSendAsync() в тестере, посылал по три ордера на открытие позиций, а потом на закрытие позиций. Несмотря на то, что я использую одну и ту же функцию для отправки запросов как на открытие, так и на закрытие позиций, время, затрачиваемое отправку ордеров на закрытие позиций, значимо больше времени, затрачиваемого на отсылку ордеров на открытие позиций. Причем разница во времени ощутимо зависит от задержки в тестере. Например в одном из тестов средняя разница во времени, затрачиваемом на отправку ордера для закрытия и для открытия позиций, составила 42 мкс без задержки и 660 мкс с задержкой = 100 мс.

2. Для проверки результатов исполнения ордеров, я использую событие Trade Transaction c типом TRADE_TRANSACTION_REQUEST. Каким-то не понятным мне образом, иногда это событие приходит дважды с одним и тем же ID ордера, присвоенном при отправке. Мне даже пришлось специально ставить проверку на появление повторного события по тому же ордеру.

3. Согласно документации, OrderSendAsync() просто посылает ордер, не дожидаясь результатов его исполнения. Однако, такие ошибки как REQUOTE возвращаются сразу немедленно после отправки ордера. (сначала я пытался ловить реткод в функции OnTradeTransaction(), но при реквоте ордер даже не отсылается.

Хотелось бы точнее разобраться, какие именно процессы проходят на торговом сервере и в платформе при отправке и обработке торговых ордеров, где и как можно сэкономить время. Какие ошибки проверяются непосредственно в платформе. Какие ошибки могут возникнуть позже при обработке в торговом сервере. Ведь если событие TRADE_TRANSACTION_REQUESTможет появиться дважды, значит, теоретически, может не появиться ни разу. Такие вещи лучше знать заранее, и заранее вставлять в алгоритм необходимые проверки и защиты.

Rashid Umarov
Админ
16664
Rashid Umarov  

У вас вопрос не по статье - можете написать в сервисдеск или создать ветку на форуме, например в разделе Биржевой трейдинг

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

oschenker
24039
oschenker  
Rashid Umarov:

У вас вопрос не по статье - можете написать в сервисдеск или создать ветку на форуме, например в разделе Биржевой трейдинг

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

Я написал конечно и в сервисдеск и в форуме ветки создавал соответствующие. То есть, разбираюсь потихоньку, собираю информацию. Поймите правильно, я не задаю вопросы тут, я просто говорю, что есть слабо исследованная тематика: "детальные процессы обработки торговых транзакций". И было бы не плохо побольше писать и исследовать эту тематику. Я уверен, вы тоже в этом направлении видите свое будущее, не даром тут банер крутился, посвященный HFT.

Rashid Umarov
Админ
16664
Rashid Umarov  
В статье  С чего начать при создании торгового робота для Московской биржи MOEX приведен код слушателя TradeTransactionListener. Его достаточно для изучения торговых событий
fxsaber
16746
fxsaber  
Rashid Umarov:
В статье  С чего начать при создании торгового робота для Московской биржи MOEX приведен код слушателя TradeTransactionListener. Его достаточно для изучения торговых событий
Еще вариант.
oschenker
24039
oschenker  

Спасибо конечно... Но детали процесса обработки там тоже не описаны. Вот в первой статье говорится: "Все торговые операции в MQL5 реализуются с помощью функции OrderSend(), которая возвращает управление программе в тот момент, когда торговый ордер был успешно отправлен на Московскую биржу".

Сразу вопрос, "отправлен" или "размещен"? 

Идем далее.

"Существует также и асинхронный вариант этой функции — OrderSendAsync(), которая работает намного быстрее чем OrderSend(), так как не дожидается отправки приказа в торговую систему биржи".

И снова ничего не понятно. Не дожидается отправки... А чего дожидается? Какие проверки выполняются в терминале при вызове этой функции?

Следующее предложение еще больше все запутывает.

"Ответ на эту функцию отсылается сразу же, как только запрос отправлен терминалом MetaTrader 5 наружу". Так все-таки, функция дожидается отправки ордера.

Короче, это конечно интересные статьи, но это букварь. А где прочесть чего-то посерьезнее?

По поводу второй ссылки.

Я сам упражнялся тем, что печатал в логе все  значения  торговых структур функции OnTradeTransaction() (transaq, request, results). Анализировал какие поля и в какой последовательности меняются при каждом шаге.

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

Просто хотелось бы более глубокой информации. 

oschenker
24039
oschenker  
Когда я во всем этом разберусь, я сам такую статью напишу... возможно. 
TheXpert
18273
TheXpert  
Называйте вещи своими именами. Пипсовка. ВЧТ на МТ не может быть в природе.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий