Solabuto лидер среди трейдинговых школ в России

Аттестат ЦБ 5.0 «Управление активами»

Известная фигура на российском рынке

Выступал на бизнес телевидении

МФПА – Диплом «Инвестиционного аналитика»

Закончил Московский институт управления

Опыт работы с 1994 года

Автоматическая торговля достигается путем передачи приказов из системы технического анализа Omega TradeStation в торговые терминалы через запись в ТХТ файле. Сначала создается данный файл а потов программаж прописываются пути к нему.

QUIK

Для обмена информацией между QUIK и внешней программой используются текстовые файлы фиксированной структуры:
● *.tri – файл с параметрами транзакций,
● *.tro – файл с результатами посылки транзакций в торговую систему,
● *.trr – файл, содержащий журнал обработки транзакций.
Схема взаимодействия между программами выглядит следующим образом:
1. Внешняя программа формирует транзакцию с заданными параметрами и записывает ее в виде новой строки в .tri-файл.
2. Система QUIK опрашивает с определенной периодичностью .tri-файл с параметрами транзакций и передает в торговую систему ранее не обработанные транзакции.
3. Результат действий записывается в .tro-файл.
* ЗАМЕЧАНИЕ: Перед первым чтением .tri-файла QUIK обращается к .tro-файлу и считывает обработанные заявки. Заявки, содержащиеся в .tro-файле считаются обработанными, и строки в .tri-файле с тем же параметром TRANS_ID игнорируются. Если внешняя программа при каждом запуске начинает нумеровать заявки сначала, то перед ее запуском необходимо удалить .tro-файл из рабочей директории или после запуска очистить .tri-файл.

Настройка

quik_транзакции

1. Из пункта меню Торговля / Импорт транзакций из файла… откройте окно настройки импорта транзакций.
2. В поле «Файл с исходными данными о транзакциях» введите полный путь к .tri-файлу c транзакциями, например, «C:\quikdata\input.tri». Если такого файла нет, то создайте его: на диске С создайте папку quikdata, в этой папке кликните правой кнопкой мыши и выберите из контекстного меню Создать/Текстовый документ. Назовите этот файл input.tхt. Потом наведите на него мышь и кликните правой кнопкой и выберите “Переименовать”. После этого поменяйте разширение .txt на .tri. Программа спросит подтверждения – жмети “Ок” и все готово. Так же создаются и последующие файлы.
3. В поле «Обрабатывать через .. секунд» укажите периодичность чтения файла. Рекомендуемый интервал – 5 секунд.
4. Если установлен флажок «Оповещать об обработке файла звуковым сигналом», то при каждом обращении к файлу программа будет подавать звуковой сигнал. Используйте его при необходимости для контроля над функционированием процесса импорта транзакций.
5. В поле «Файл с данными об успешно отправленных транзакциях» введите полный путь к .tro-файлу, например, «C:\quikdata\output.tro».
6. В поле «Файл с журналом отправляемых транзакциях» введите полный путь к .trr-файлу, например, «C:\quikdata\log.trr».
7. Если установлен флажок «Вести журнал отправляемых транзакций», то в .trr-файл будет записываться информация об обработанных транзакциях.
8. Следующие параметры («Число обращений сделанных к файлу» и т.д.) используются как статистика процесса импорта транзакций.
9. Нажатие кнопки «Начать обработку» приводит к старту процесса импорта транзакций. Нажатием кнопки «Прекратить обработку» процесс импорта останавливается.
10. Нажмите кнопку «Закрыть» для закрытия окна настройки с сохранением выполненных настроек. Если процесс импорта начат, он будет осуществляться автоматически в фоновом режиме.

Для записи приказа в файл в код стратегии нужно внести дополнительные строки.

Пример: ФОРТС для КВИКА. Возьмем простую стратегию и добавим к ней код для записи в файл. Код сам расчитывает объем позиции изходя из риска в 2%.

Inputs:M(5),K(9),Slipage_Percent(100),BSize(100000),Percent(2),Dollar(26.1);
Variables: Up(0), Dn(0),count(100),Risk(0),Contrakts(0);

Up = Highest(High,M)[1];
Dn = Lowest(Low,K)[1];
Risk=IFF(close-Dn<>0,Percent*close/(close-Dn),1);
Contrakts=BSize*Risk/100/(c*0.02*Dollar);

{LONG}

if MarketPosition=0 and C crosses above Up then begin Buy Contrakts shares at c;

count=count+1;
if lastbaronchart then
FileAppend(“C:\quikdata\input.tri”,”TRANS_ID=”+NumToStr(count,0)+”; ACCOUNT=НомерСчета;”+” CLIENT_CODE=;”+” TYPE=L;”+
” CLASSCODE=SPBFUT;”+” SECCODE=RIM7;”+” ACTION=NEW_ORDER;”+” OPERATION=B;”+” PRICE=”+NumToStr(c+Slipage_Percent,0)
+”; QUANTITY=”+NumToStr(Contrakts,0)+NewLine);

end;

{EXITLONG}

if MarketPosition=1 and C crosses below Dn then begin ExitLong(“Stop”) at C;

count=count+1;
if lastbaronchart then
FileAppend(“C:\quikdata\input.tri”,”TRANS_ID=”+NumToStr(count,0)+”; ACCOUNT=НомерСчета;”+” CLIENT_CODE=;”+” TYPE=L;”+
” CLASSCODE=SPBFUT;”+” SECCODE=RIM7;”+” ACTION=NEW_ORDER;”+” OPERATION=S;”+” PRICE=”+NumToStr(c-Slipage_Percent,0)
+”; QUANTITY=”+NumToStr(CurrentContracts,0)+NewLine);

end;

где: НомерСчета – это ваш счет на фортсе, к примеру: SPBFUT00111
SPBFUT – название секции, оно может менятся, смотрите в спецификации инструмента.
RIM7 – название торгуемого контракта,  оно может менятся, смотрите в спецификации инструмента.

 

Transaq

Настройка производится с помощью закладки «Автоматический импорт
транзакций» диалога «Параметры АРМ трейдера».
Необходимо задать имена трех текстовых файлов:
 «Файл транзакций». Файл, куда внешняя программа будет помещать
параметры выставляемых и снимаемых заявок.
Результаты обработки транзакций сохраняются в следующих файлах:
 «Журнал результатов анализа транзакций» – описание принятых
транзакций или ошибок в их параметрах;
 «Журнал результатов исполнения транзакций» – информация о том
выполнена транзакция или нет.
При запуске процедуры импорта Торговый терминал анализирует «Журнал
результатов исполнения транзакций» и находит номер последней
обработанной транзакции. Транзакции, номера которых меньше, либо равны
номеру последней обработанной, считаются обработанными и игнорируются.
При выборе варианта «Импорт из файла транзакций»
Чтобы отправить новую транзакцию внешняя система добавляет строку с ее
описанием в файл транзакций, присваивая ей индивидуальный номер, который в дальнейшем используется для анализа результатов исполнения данного распоряжения.
Торговый терминал периодически анализирует файл транзакций и передает
распоряжения Трейдера серверу TRANSAQ для их проверки и трансляции на
Биржу.

Для записи приказа в файл в код стратегии нужно внести дополнительные строки.

Пример для ММВБ: Возьмем простую стратегию и добавим к ней код для записи в файл. Код сам расчитывает объем позиции изходя из риска в 2%.

Inputs:M(5),K(9),Slipage_Percent(0.5),BSize(100000),Percent(2),Dollar(26.1);
Variables: Up(0), Dn(0),count(100),Risk(0),Contrakts(0);

Up = Highest(High,M)[1];
Dn = Lowest(Low,K)[1];
Risk=IFF(close-Dn<>0,Percent*close/(close-Dn),1);
Contrakts=BSize*Risk/100/(c*0.02*Dollar);

{LONG}

if MarketPosition=0 and C crosses above Up then begin Buy Contrakts shares at c;

count=count+1;
if lastbaronchart then FileAppend(“C:\New Folder\1.txt”, NumToStr(count,0)+”,”+”NEW_POSITION,”+”CLIENT_GROUP,”+
“POS_PERCENT,”+”,”+”LKOH,”+”MICEX,”+”EQBR,”+”LKOH,”+”Z”+”, “+”B,”+”NNNNZ,”+NumToStr(c+c/100*Slipage_Percent,2)+”,”+
NumToStr(Per,0)+”,”+”,”+”,”+”0,”+”,”+”,”+”,”+NewLine);

end;

{EXITLONG}

if MarketPosition=1 and C crosses below Dn then begin ExitLong(“Stop”) at C;

count=count+1;
if lastbaronchart then FileAppend(“C:\New Folder\1.txt”, NumToStr(count,0)+”,”+”CLOSE_POSITION,”+”CLIENT_GROUP,”+
“POS_PERCENT,”+”,”+”LKOH,”+”MICEX,”+”EQBR,”+”LKOH,”+”Z”+”, “+”B,”+”NNNNZ,”+NumToStr(c-c/100*Slipage_Percent,2)+”,”+
NumToStr(100,0)+”,”+”,”+”,”+”0,”+”,”+”,”+”,”+NewLine);

end;

где:  LKOH – это название инструмента как в Омеги так и на бирже.
MICEX – название биржы.
EQBR – название секции, оно может менятся, смотрите в спецификации инструмента.

*Замечание. Код привиден для управляющих активами, когда вы по одной стратегии торгуете несколькими счетами. Перед торговлей создайте группу и занесите туда те счета по которым вы собираетесь торговать.

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.