Архив. Март, 2009

Уроки QPILE. Продажа

Рубрика [ Уроки QPILE ]

В продолжении темы Покупка.

Логика "портфелей" в торговой системе QUIK заключается в том, что задаваемый портфель обрабатывается непрерывно с заданным интервалом (минимум 1 секунда) . То есть код портфеля прокручивается бесконечное число раз сверху вниз, раз за разом.

Если в предыдущем примере после блока покупки:

IF POSA == 0 ‘ Если вне позиции
If LASTPRICE > 112.85 ‘Вот такое вот условие
send_order(“B”,“M”,“0″,Lots,“1″)
POSA = 1 ‘ Всё, купили
message (“Ура, купили!”,2)
End If
END IF

добавить блок продажи:

IF POSA == 1 ‘ Если в позиции
If LASTPRICE > 130 ‘ То при достижении этого условия продаём
send_order(“S”,“M”,“0″,Lots,“1″)
POSA = 0 ‘ Ну вот и продали
message (“Ура, продали!”,2)
End If
END IF

то получим рабочую торговую систему.

НО! Замечаем ошибку!

Как только произойдет продажа, при следующей обработке портфеля (а это уже через одну секунду) произойдет следующая покупка, т.к. сработает условие на покупку - POSA == 0, LASTPRICE > 112.85. А нам это, наверное, не нужно.

В данном случае необходимо либо при продаже задать значение переменное POSA отличное от "0" и "1", либо менять условие покупки.

Например, можно при нахождении в боковике сделать вилку: покупка < 128, продажа > 130. Система будет скальпировать. Мечта трейдера!

Мой блог находят по следующим фразам:

теги: [ , ]

Спред. Точка безубыточности

Рубрика [ Автоматизация ]

Спред (читается спрэд, от англ. Spread) — разность между лучшими ценам покупки (бид) и продажи (аск) в один и тот же момент времени на какой-либо актив (акцию, товар, валюту, фьючерс, опцион).

Важным является вопрос спредов на фондовом рынке. На сколько дороже необходимо продать купленную акцию, чтобы попасть при её продаже в точку безубыточности?

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

Исходными данными будут цена акции, комиссия брокера и комиссия биржи.

Расчет точки безубыточности удобнее всего проводить в Excel.

Готовим шаблон:

Тут всё понятно. Комиссия брокера, комиссия биржи, не забываем про НДС. Формула суммирования приведена в строке формул.

Затем, чтобы не вбивать акции и их цены руками удобно воспользоваться экспортом из QUIK'a.

Создаем таблицу с необходимыми акциями и экспортируем в открытый Excel.

Осталось только перемножить  итоговую комиссию с ценами акций и получим искомый спред.

Знак доллара ($)  означает привязку к определённой ячейке. Можно "растянуть" (за правый нижний угол) одну формулу на необходимое количество ячеек.

Получается, что точка безубыточности для Газпрома с ценой 127,2 руб = 127,39 руб. Т.е. только после цены 127,4 руб. мы начнем получать прибыль.

А если вдруг комиссия брокера всего 0,01%, то спредом для Газпрома  является уже всего 6 копеек.

Скачать excel файл расчета спредов для акций.

Мой блог находят по следующим фразам:

Учебник QPILE

Рубрика [ Уроки QPILE ]

Информационно-торговая система QUIK – программный комплекс для предоставления доступа к биржевым торгам через сеть Интернет в режиме реального времени (интернет-трейдинг).

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

Функции, выполняемые системой QUIK:
1. Обеспечение доступа к торгам на фондовом и срочном рынках, организуемым ведущими биржами страны:
• Московская межбанковская валютная биржа (ММВБ): Фондовая биржа, включая режим переговорных сделок (РПС) и операции РЕПО, Рынок государственных ценных бумаг, Валютный рынок, Секция срочного рынка.
• Фондовая биржа РТС: Биржевой рынок акций, включая операции РЕПО, Срочный рынок FORTS, Классический рынок акций.
• Фондовая биржа «Санкт-Петербург»: Фондовая секция.
• Биржа «Санкт-Петербург»: Срочный рынок.
• Санкт-Петербургская валютная биржа (СПВБ): Фондовый рынок.
2. Получение биржевой информации в режиме реального времени, включая очереди котировок ценных бумаг.
3. Обеспечение участника торгов и его клиентов информацией о собственных заявках и сделках.
4. Сбор поручений клиентов и их передача в торговую систему биржи.
5. Возможность подачи стоп-заявок, отложенных заявок (Карман транзакций) с их пакетным выставлением в торговую систему.
6. Возможность маржинального кредитования брокером своих клиентов и автоматический контроль заданных лимитов кредитования. Мониторинг показателей маржинального кредитования встроенными средствами, а также специализированным рабочим местом риск-менеджера (система «CoLibri»).
7. Возможность автоматизации торговых операций с использованием механизма импорта подготовленных транзакций из внешней программы.
8. Поддержка торговых операций на внебиржевом рынке.
9. Аутентификация пользователя системы и защита передаваемой информации от постороннего вмешательства.
10. Возможность применения сертифицированных ФАПСИ средств криптографической защиты информации для электронной цифровой подписи транзакций клиентов.
11. Графическое отображение динамики торгов по любым выбранным биржевым инструментам и их параметрам.
12. Динамический экспорт полученной информации в MS Excel, произвольные базы данных (используя ODBC) и системы технического анализа Equis Metastock, Wealth-Lab Developer и Omega TradeStation/ProSuite 2000.
13. Программирование вычислений с использованием встроенного языка QPILE.
14. Получение дополнительного информационного обеспечения в виде лент новостей информационных агентств и котировок финансовых инструментов на других (в том числе зарубежных) рынках.
15. Обмен текстовыми сообщениями с администратором системы и другими пользователями.
16. Автоматическое обновление версии программы и получение файлов по защищенному соединению.

Как устроен интернет-трейдинг?
Центральным звеном системы является сервер QUIK. Сервер подключен к торговым системам бирж через специальные «шлюзы», передающие серверу информацию о торгах и средствах брокера на бирже, и принимающие поручения на покупку/продажу. Сервер осуществляет сбор информации с торговых систем и ее трансляцию всем активным (подключенным) клиентам с минимально возможной задержкой.

Администратор системы регистрирует пользователей, устанавливает для них права на пользование информацией, а также определяет лимиты средств клиента, в пределах которых он может совершать сделки.
Пользователь системы соединяется с сервером системы через Интернет, получает биржевую информацию о ходе биржевых торгов, доступных для торговли средствах и может самостоятельно участвовать в торгах, посылая заявки в торговую систему непосредственно с Рабочего места QUIK.

Язык QPILE (QUIK Programmable Interface and Logic Environment) представляет собой набор команд, интерпретируемых рабочим местом QUIK.
Областью применения QPILE является создание новых таблиц для расчета в режиме реального времени собственных показателей на основе информации из других таблиц.
Данный функционал удобен, прежде всего, для брокера, так как у каждого брокера существует своя собственная стратегия расчета показателей клиентской позиции. Применение встроенного языка позволяет реализовать практически любой алгоритм.  Ключевые моменты и синтаксис языка рассмотрены в учебнике qpile.
Примеры использования QPILE:
1. Динамический пересчет стоимости активов клиентов на рабочем месте брокера.
2. Динамический пересчет стоимости активов в портфеле клиента и его суммарной стоимости.
3. Вычисление показателей, отсутствующих в системе QUIK либо торговой системе биржи, на основе собственных алгоритмов.
4. Расчет параметров маржинального кредитования в соответствии с принятыми нормативами.
5. Программирование торговой стратегии, генерирующей сигналы на изменение позиций по инструментам.
Основной областью применения языка QPILE является расчет стоимости портфелей ценных бумаг, поэтому в терминологии описания типов таблиц часто используется определение «Портфели».
Как работает QPILE
1. Структура таблицы (назначение столбцов, строк, и формулы для вычисления параметров) описывается в виде программы на языке QPILE. Для вычисления в формулах можно использовать стандартные математические и логические операции, использовать переменные и массивы данных, запрашивать информацию из других таблиц системы QUIK.
2. Код программы может быть получен с сервера QUIK (серверный) или загружен с диска на компьютере пользователя (локальный). Полученный код обрабатывается интерпретатором языка QPILE на рабочем месте QUIK, который производит пересчет значений в формулах с заданной периодичностью. Таким образом формируется внутренний источник данных для отображения полученных значений в таблицах. Несколько таблиц на основе одной и той же программы используют общий источник данных, при этом вычисления не будут дублироваться и снижать производительность системы.
3. На основе программы можно создавать таблицы, обладающие стандартными функциями при работе с таблицами в системе QUIK.
4. Рабочее место QUIK имеет встроенный отладчик кода программ на QPILE, позволяющий вести пошаговую отладку и контролировать текущие значения переменных. Подробнее см. п. 8.24.

Основные функции языка QPILE:
1. Описание новых таблиц произвольной структуры,
2. Вычисление полей таблиц на основе математических формул и логических выражений,
3. Выделение ячеек таблицы цветом в зависимости от значений какого-либо показателя,
4. Уведомление пользователя звуковым сигналом и текстовыми сообщениями.
Таблица на языке QPILE поддерживает основные действия с таблицами в системе QUIK:
• Редактирование, в том числе выбор параметров для отображения и настройку их очередности,
• Управление «горячими клавишами»,
• Размещение на «экранных закладках»,
• Поиск значения в ячейках таблицы,
• Печать таблицы с предварительным просмотром,
• Копирование данных в Буфер Обмена Windows (Clipboard),
• Экспорт данных в Excel,
• Экспорт данных по ODBC.

Скачать учебник QPILE
Официальный сайт: www.quik.ru

Мой блог находят по следующим фразам:

Редактор QPILE — SciTE

Рубрика [ Автоматизация ]

Редактор SciTE с подсветкой кода приятно использовать при программировании механических торговых систем для QUIK в среде QPILE. Данная программа бесплатна и часто обновляется на официальном сайте.

редактор qpile

Ссылки для скачивания:

Скачать русскую версию редактора SciTE

Скачать подсветку кода qpile

Мой блог находят по следующим фразам:

Уроки QPILE. Покупка

Рубрика [ Уроки QPILE ]

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

PORTFOLIO_EX MTS;
DESCRIPTION MTS;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;
INCLUDE mts_func.txt;
 
PROGRAM
NEW_GLOBAL ("error", 0)
NEW_GLOBAL ("first_start", 1)
NEW_GLOBAL ("POSA", 0)
 
ClassCodeList = "EQNE"  'код класса инструмента
Instrument = "GAZP"  'название инструмента
Lots = 1
' Блок проверки времени торгов. Торги с 10:30 до 18:45. В другое время курим бамбук.
CurrentHour = GET_VALUE(GET_DATETIME(), "Hour")
CurrentMin = GET_VALUE(GET_DATETIME(), "Min")
CurrentTime=str2num(fTextTime(CurrentHour,CurrentMin) & "")
IF CurrentTime > 103100 AND CurrentTime < 184400 AND get_param(ClassCodeList,Instrument,"last") != 0
' ———-
DELETE_ALL_ITEMS()
 
' Всё время отслеживаем последнюю рыночную цену
LASTPRICE = get_param(ClassCodeList,Instrument,"last")
IF POSA == 0 'Если вне позиции
If LASTPRICE > 112.85 'Вот такое вот условие
send_order("B", "M", "0", Lots, "1")
POSA = 1 ' Всё, купили
message ("Ура, купили!",2)
End If
END IF
 
' Выводим текущую цену на экран
output=CREATE_MAP()
output=SET_VALUE(output,"LASTPRICE" , LASTPRICE)
ADD_ITEM(1,output)
 
' Конец проверки времени торгов
END IF
‘ ———-
END_PROGRAM
PARAMETER LASTPRICE;
PARAMETER_TITLE LASTPRICE;
PARAMETER_DESCRIPTION LASTPRICE;
PARAMETER_TYPE NUMERIC(10,2);
END
END_PORTFOLIO_EX

Главенствующими являются всего две строки:
If LASTPRICE > 112.85
send_order("B", "M", "0", Lots, "1")

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

> - "больше". Можно и меньше.
"B" - покупаем, "S" - продаём.
"М" - по рынку, "L" - лимитированная.
"0" - рыночная цена, при лимитированной заявке цена своя.

В дальнейшем задействую графики. Прикрутим условия пересечения чего-нибудь с чем-нибудь.

Архив с программой скачать

Мой блог находят по следующим фразам:


 Страницы:   1  2 »