Версия 4.1.14.1 , не срабатывает событие _trader.MarketTimeChanged , прошу проверить . у меня _trader - это КвикТрейдер. Спасибо.
Видео-урок Программируем стратегию BollingerBands http://vk.com/video_ext.php?oid=-66650972\u0026id=167470173\u0026hash=62ad29fe5712f0aa\u0026hd=3 Темы занятия: Стратегия проверенная на истор. данных Определяем алгоритм торговли Реализация стратегии Полезные ссылки: Алгоритм стратегии Индикатор \"Rate Of Change\" (ROC) в S# документации, википедия Индикатор \"Экспоненциальная скользящая средняя\" в S# документации, википедия Вложения: Скачать проекты Изменения в проектах: Проект BollingerBandsRobot Файл MainWindow.cs Начиная с версии S# 4.1.19.1 статус подключения коннектора вынесен в специальное свойство ConnectionState, которое может принимать следующие значения: Disconnected - Не активно, Disconnecting - В процессе отключения, Connected - В процессе подключения, Connecting - Подключение активно, Failed - Ошибка подключения Таким образом, теперь нет свойства IsConnected, а наличие статуса подключения мы можем получать от свойства ConnectionState. Было: /// /// Обработчик события закрытия окна /// protected override void OnClosing(System.ComponentModel.CancelEventArgs e) { if (Connection.SafeConnection.Trader != null \u0026\u0026 Connection.SafeConnection.Trader.IsConnected) { Connection.SafeConnection.Trader.Dispose(); } Thread.CurrentThread.Abort(); base.OnClosing(e); } Стало: /// /// Обработчик события закрытия окна /// protected override void OnClosing(System.ComponentModel.CancelEventArgs e) { if (Connection.SafeConnection.Trader != null \u0026\u0026 Connection.SafeConnection.Trader.ConnectionState == ConnectionStates.Connected) { Connection.SafeConnection.Trader.Dispose(); } Thread.CurrentThread.Abort(); base.OnClosing(e); }
Прощу всех заинтересованных проголосовать о том, к чему лучше делать привязку лицензии у софта: к \"железу\" (по идентификатору компьютера) или к счету (по его номеру в брокера).
Стандарты связи При ведении алгоритмической торговли требуется передача значительно большего количества параметров, чем при традиционной биржевой деятельности или размещении лимитных ордеров. Трейдеру-покупателю нужна подходящая трейдинговая система (часто называемая «системой управления ордерами» или «диспетчерской системой») для разбора непрерывного потока алгоритмических ордеров новых типов. Научно-исследовательские и опытно-конструкторские разработки и др. по созданию новых типов алгоритмических ордеров, создание инфраструктуры для обработки ордеров и вывод таких ордеров на рынок обходятся весьма недешево. Требовался способ, который позволил бы трейдерам-продавцам формулировать алгоритмические ордеры таким образом, чтобы трейдеры-покупатели могли легко вводить ордеры новых типов в систему и принимать участие в торгах без необходимости всякий раз создавать новые электронные формы ввода ордеров. FIX Protocol LTD — трейдерская ассоциация, публикующая свободные, открытые стандарты в области торговли ценными бумагами. Язык FIX первоначально был создан фирмой Fidelity Investments, а ныне в ассоциацию FIX Protocol LTD входят практически все брокеры-дилеры, крупные банки в мировых финансовых центрах, институциональные инвесторы, паевые инвестиционные фонды и др. Ассоциация задает тон в установлении стандартов в предторговой и торговой области сделок с ценными бумагами. В 2006-2007 гг. несколько членов ассоциации совместными усилиями опубликовали проект стандарта XML для описания алгоритмических ордеров. Стандарт получил название FIX Algorithmic Trading Definition Language (англ. «Язык определения алгоритмической торговли»), сокращенно FIXatdl. Первая версия стандарта, 1.0, не получила широкого распространения из-за недостатков спецификации. Однако вторая версия, 1.1 (выпущенная в марте 2010 года), имела больше шансов на успех и должна была значительно снизить срок вывода новых алгоритмов на рынок и сопутствующие издержки.
Последствия применения алгоритмических стратегий Хотя развитию алгоритмической торговли могло способствовать снижение минимального размера сделки в результате перехода к десятичной системе, применение алгоритмических стратегий еще больше уменьшило этот размер. Работа, которую когда-то выполняли трейдеры-люди, всё чаще передается компьютерам. Чрезвычайно важным фактором стала высокая скорость компьютерных взаимодействий, измеряемая в миллисекундах и даже в микросекундах. Более компьютеризированные американские биржевые рынки, такие как NASDAQ, Direct Edge и BATS, увеличили свою рыночную долю за счет менее компьютеризированных, таких как Нью-Йоркская фондовая биржа. Эффект масштаба в электронных торгах способствовал снижению комиссионных и сборов за обработку сделок, а также глобальным слияниям и консолидации фондовых бирж. Между биржами возрастает конкуренция по скорости обработки транзакций. Например, в июле 2007 года Лондонская фондовая биржа ввела в эксплуатацию новую систему под названием TradElect, которая должна была обеспечить среднее время обработки сделки 10 миллисекунд (считая от размещения ордера до окончательного подтверждения) и обрабатывать 3000 ордеров в секунду. С тех пор конкурирующие биржи постоянно снижали время задержки, и на некоторых из них обработка сделки теперь занимает всего 3 миллисекунды. Высокая скорость обработки чрезвычайно важна для трейдеров, применяющих высокочастотные стратегии, ведь их успех зависит от способности выявлять устойчивые и вероятные диапазоны цен финансовых инструментов. Эти трейдеры часто имеют дело с такими вариантами индексных фондов, как E-mini S\u0026P, поскольку для них важны постоянство и снижение риска при максимальной эффективности. Трейдерам требуется отбирать финансовые данные для использования в компьютерных алгоритмах, поэтому их интересует наименьшая временая задержка и наибольшая ликвидность в момент размещения стоп-ордеров и/или фиксирования прибыли. Учитывая высокую волатильность на таких рынках, это весьма сложная и напряженная деятельность, ведь малейшая ошибка может привести к крупной потере. Трейдерам необходимо обрабатывать непрерывный поток данных, поэтому неудивительно, что они широко используют автономные программы. Расходы на компьютеры и программное обеспечение в финансовом секторе достигли 26,4 млрд долларов в 2005 году.
Проектное решение Не существует единых стандартов для проектных решений систем алгоритмической торговли. Концептуально проект такой системы можно разбить на несколько модулей: Модуль потока данных (часть системы, принимающая из внешних источников такие данные, как цены или новости) Модуль решений или модуль стратегии Исполнительный модуль Из-за популярности социальных сетей в некоторых стратегических системах реализованы технологии поиска и отбора информации для считывания пользовательских сообщений с веб-сайтов. Это позволяет трейдерам автоматически извлекать сведения о текущих настроениях и вносить коррективы в торговые стратегии.
Реализация стратегии Для реализации большинства алгоритмических стратегий применяются современные языки программирования, хотя некоторые стратегии всё еще создаются с помощью электронных таблиц. Современные алгоритмы, используемые крупными брокерскими конторами и компаниями по управлению активами, всё чаще пишут на языке Algorithmic Trading Definition Language (англ. «Язык определения алгоритмической торговли») протокола FIX (англ. аббрев. FIXatdl). Это позволяет фирмам, принимающим ордеры, задать правила формулирования электронных ордеров. Ордеры, написанные на языке FIXatdl, можно отправить из системы трейдера по протоколу FIX. Простейшие модели могут быть основаны, например, на линейной регрессии. Трейдеры применяют и более сложные модели, основанные на теории игр, распознавании закономерностей или прогнозировании. Для создания таких моделей зачастую используются нейронные сети и генетическое программирование.
Событийный арбитраж Событийный арбитраж — подкласс арбитража с риском, на слияниях и поглощениях, на конвертируемых ценных бумагах или на проблемных ценных бумагах, осуществляемый с расчетом наступления определенного события. Таким событием может быть подписание контакта, разрешение контролирующего органа, судебное постановление и т. п., могущее повлиять на цену или процент в соотношении двух или более финансовых инструментов, что позволяет участнику арбитражной сделки извлечь выгоду. Примером событийного арбитража является арбитраж на слияниях и поглощениях, также называемый арбитражем с риском. Арбитраж на слияниях и поглощениях обычно состоит в покупке акций фирмы, которую намеревается поглотить другая фирма, с одновременной продажей без покрытия акций поглощающей фирмы. Рыночная цена поглощаемой фирмы обычно ниже цены, предлагаемой поглощающей фирмой. Разница между этими ценами в основном зависит от вероятности и момента поглощения, а также от превалирующего уровня процентной ставки. В арбитраже на слияниях и поглощениях ставка делается на то, что эта разница в конечном счете сведется к нулю, если (и когда) состоится поглощение. Риск состоит в том, что если поглощение не состоится, то разница между ценами значительно возрастет.
Статистический арбитраж Другим набором стратегий высокочастотной торговли является классическая арбитражная стратегия с использованием сразу несколько инструментов. Например, можно заниматься покрытым процентным арбитражем на рынке иностранных валют, при этом выгода извлекается из соотношения между ценой национальной облигации, ценой облигации в иностранной валюте, спотовой цены этой валюты и цены форвардного контракта на эту валюту. Если цены на рынке достаточно отличаются от цен, заложенных в модель покрытия издержки сделки, то выполнение четырех сделок гарантирует получение прибыли с нулевым риском. Для высокочастотной торговли используются и более сложные арбитражные стратегии, работающие более чем с четырьмя инструментами. По оценке фирмы TABB Group, ежегодная совокупная прибыль от использования арбитражных стратегий с малым временем задержки по состоянию на момент оценки превышала 21 млрд долларов США. Разработаны самые разные стратегии статистического арбитража, принимающие решения о покупке или продаже исходя из отклонений от статистически достоверных соотношений. Подобно маркет-мейкерским стратегиям, статистический арбитраж годится для работы с любыми классами активов.
Маркет-мейкинг Маркет-мейкинг (англ. market making) — это набор стратегий высокочастотной торговли, заключающихся в подаче лимитного ордера на продажу выше текущей рыночной цены или лимитного ордера на покупку ниже текущей цены с целью извлечения выгоды из разницы между ценами продавца и покупателя. Фирма Automated Trading Desk, приобретенная финансовой группой Citigroup в июле 2007 года, была активным маркет-мейкером. На долю этой фирмы приходилось около 6% общего объема торговли NASDAQ и Нью-Йоркской фондовой биржи.