Вопросы системной торговли. Реализация механических торговых систем с помощью торговых автоматов. Особенности применения прогр

Содержание

Слайд 2

Пользователь создавший Механическую Торговую Систему (далее-МТС), подключив «Авто-Трейдер» имеет возможность не

Пользователь создавший Механическую Торговую Систему (далее-МТС), подключив «Авто-Трейдер» имеет возможность не участвовать
участвовать в торгах и не тратить время на детальный анализ рынка. При данной схеме присутствие человека становится необязательным, быстрота ввода заявок позволяет проводить арбитражные операции, а возможность получения данных о количестве купленных/проданных активов позволит мгновенно оперировать нужным объемом денежных средств или ценных бумаг.
Относительная дешевизна и эксклюзивность данной DLL открывает новые возможности перед инвесторами и спекулянтами.

Слайд 3

Необходимые и достаточные функциональные
возможности «Авто-Трейдера»
Получение информации о состоянии портфеля:

Необходимые и достаточные функциональные возможности «Авто-Трейдера» Получение информации о состоянии портфеля: Денежные
Денежные средства
Количество купленных/проданных бумаг
Выставление заявки по клиенту/клиентам
Получение номера заявки
Снять заявку по номеру
Автоматическое восстановление связи в случае разрыва соединения
Проверка соединения с сервером

Слайд 4

Альтернативные варианты создания
«Авто-Трейдера»
Обмен данными через текстовый файл.
Обмен данными напрямую

Альтернативные варианты создания «Авто-Трейдера» Обмен данными через текстовый файл. Обмен данными напрямую
с сервером.
Возможность обмена данными через DLL дает несравнимые преимущества по сравнению с обменом данными через файл:
Текстовый файл читается программой с интервалом не менее одной секунды, после чего обрабатывается программой интернет-трейдинга и только после этого отсылается на торговый сервер для исполнения, с использованием DLL вся цепочка преодолевается за доли секунды.
Выставлять одновременно котировки по нескольким активам на различных биржах, одновременно по нескольким клиентам

Слайд 5

OMEGA Prosuite 2000i – программа технического анализа.
MTC – Механическая торговая система.
Блок обработки

OMEGA Prosuite 2000i – программа технического анализа. MTC – Механическая торговая система.
информации (написан для работы с DLL) – блок отправки заявок
# DLL ориентирована на сервер ИФТ «Интерфин трейд.
# каждой DLL присваивается логин, уникальный для каждого клиента.
DLL (dynamic link library – динамическая библиотека обмена данными) - предназначена для исполнения заявок на сервере брокера.

OMEGA
Prosuite
2000i

блок
обработки
информации

DLL

MTC

Сервер
ИФТ

NetInvestor
Client
контроль
заявок

Слайд 6

Описание функций DLL
defineDLLFunc: "d:\niordcover.dll", int, "conn",lpstr,int,lpstr,lpstr,lpstr,lpstr,int;
defineDLLFunc: "d:\niordcover.dll", int, "init", lpstr;

Описание функций DLL defineDLLFunc: "d:\niordcover.dll", int, "conn",lpstr,int,lpstr,lpstr,lpstr,lpstr,int; defineDLLFunc: "d:\niordcover.dll", int, "init", lpstr;
defineDLLFunc: "d:\niordcover.dll", int, "disconn";
defineDLLFunc: "d:\niordcover.dll", int, "is_conn";
defineDLLFunc: "d:\niordcover.dll",
int, "order",lpstr,lpstr,lpstr,lpstr,lpstr,lpstr,lpstr,double,int,lpstr,lpstr,lpstr,int;
defineDLLFunc: "d:\niordcover.dll",
double, "get_current_portfolio",LPSTR,LPSTR, LPSTR,LPSTR,int,int;
defineDLLFunc: "d:\niordcover.dll",
int, "orders_open",LPSTR , LPSTR , LPSTR,int;
defineDLLFunc: "d:\niordcover.dll",
lpstr, "get_order_code",lpstr,lpstr,lpstr,lpstr,double,int,int,int;
defineDLLFunc: "d:\niordcover.dll",
int,"wd_order_by_number",LPSTR{orderno},LPSTR {secboard},int {TimeOut};
defineDLLFunc: "d:\niordcover.dll",
int, "portfolio_open",LPSTR {secboard},LPSTR {account}, LPSTR {brokerref},int {TimeOut};

Слайд 7

Пример проверки и установки соединения с торговым сервером
result = is_conn();
if LastBarOnChart and

Пример проверки и установки соединения с торговым сервером result = is_conn(); if
result=0 then
Begin
output_init = init("D:\\mfcniorder.dll");
output_conn = conn("213.181.10.183",2900,login,login,login,"netinvestor",LogMsg);
output_orders_open=orders_open(secboard,account,brokerref,TimeOut);
out_portfolio_open=portfolio_open(secboard,account,brokerref,TimeOut);
fileappend("D:\conn.txt","conn ;"+NumToStr(time,0)+";"+brokerref+"; init="+NumToStr(output_init,0)+"; output_conn="
+NumToStr(output_conn,0)+"; output_orders_open="+NumToStr(output_orders_open,0)+"; out_portfolio_open="+NumToStr(out_portfolio_open,0)+NewLine);
end;

Слайд 8

Пример выставления заявки
orders=order( account,
buysell, {buy-B, sell-S}
mktlimit , {mktlimit} {Market-M,

Пример выставления заявки orders=order( account, buysell, {buy-B, sell-S} mktlimit , {mktlimit} {Market-M,
Limit-L}
splitflag, {splitflag} {O- OnePrise, S-...Price}
immcancel, {immcancel} {'Probel',N,W}
secboard, {LPSTR} {secboard="EQBR"}
seccode, {seccode=“EESR"}
price , {price}
quantity, {quantity=lot}
brokerref, {brokerref} {kl/}
extref , {extref}
yeld, {P}
timeout ); {TimeOut servera}

Слайд 9

Входные параметры системы

Изменяемые входные параметры (константы) вводятся через
Input.

Счет

Логин клиента

Лимит Short

Входные параметры системы Изменяемые входные параметры (константы) вводятся через Input. Счет Логин клиента Лимит Short

Слайд 10

Технические характеристики DLL
Скорость выставления заявки 0,1-1секунды, в зависимости от
качества связи,

Технические характеристики DLL Скорость выставления заявки 0,1-1секунды, в зависимости от качества связи,
загруженности торгового сервера, количества выставляемых заявок.
Информация о портфеле клиента, номерах заявок хранятся непосредственно в памяти DLL, что увеличивает быстродействие системы в целом.

Слайд 11

Практические примеры использования DLL и программы ТА OmegaResearch Prosuite2000i
Визуальный контроль и графическое

Практические примеры использования DLL и программы ТА OmegaResearch Prosuite2000i Визуальный контроль и графическое отображение состояния портфеля.
отображение состояния портфеля.

Слайд 12

Недостатки и преимущества торговой платформы OmegaResearch Prosuite2000i
Программа изначально не создавалась для

Недостатки и преимущества торговой платформы OmegaResearch Prosuite2000i Программа изначально не создавалась для
он-лайн торговли, а предназначалась исключительно для бэктестинга торговых стратегий и подачи алертов для пользователя.
MarketPosition- изменяет свое значение через один бар после генерации торгового сигнала (использовать внутренние переменные)
Barstatus(1)=2- выдавать сигнал после закрытия бара. Сигнал поступит одновременно с первой сделкой (открытием) следующего бара
Barstatus(1)=1- выдавать сигнал после выполнения condition не дожидаясь закрытия бара. Сигнал может поступать многократно в течении текущего бара (использовать внутренние переменные для блокировки).

Слайд 13

LastBarOnChart- отсеивает торговые сигналы прошлых периодов (в противном случае выставит все

LastBarOnChart- отсеивает торговые сигналы прошлых периодов (в противном случае выставит все соответствующие
соответствующие заявки в систему)!
BarInterval=30- защищает от случайного переключения пользователем периода графика.
При генерации сигнала по окончанию (закрытию бара) в случае наступления сигнала внутри бара и отмене его по закрытию сигнал будет исполнен! Использовать внутренние переменные (триггеры) для блокировки.
При пересечении внутри бара срабатывает сигнал.

Слайд 14

Возможность использования внешних приложений и внутренних переменных позволяет оперировать с размером

Возможность использования внешних приложений и внутренних переменных позволяет оперировать с размером текущей
текущей позиции, рассчитать общее текущее состояние портфеля, выставлять стоп-лоссы и тейк-профиты
Закрыть позиции и не осуществлять сделок при наступлении заданного события ( просадка по счету, тейк-профит по портфелю и т.д.)
Использовать глобальные переменные для обмена информацией между графиками.