Метка ‘qpile’

Редактор 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" - рыночная цена, при лимитированной заявке цена своя.

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

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

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

Уроки QPILE. Введение

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

Сложностью программирования на языке QPILE является процесс отладки.

Чтобы узнать, работает программа или нет, её необходимо написать (ну да), загрузить портфель в QUIK, его просмотреть и только после этого можно увидеть, а всё ли хорошо.

Например, в том же MetaTrader'e после написания кода в специальном редакторе необходимо нажать на кнопку компиляции. Программа сообщит об удачной компиляции или ошибках, если они имеются.

С недавнего времени в терминале QUIK появился отладчик. Это, конечно, большой шаг, но сказать, что стало принципиально удобнее пока нельзя.

Ниже привожу код простой демонстрационной программы, чтобы каждый желающий смог приобщиться к программированию в среде QPILE.
----------------------------------------
PORTFOLIO_EX HELLO;
DESCRIPTION HELLO;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;

PROGRAM

DELETE_ALL_ITEMS () ' При обработке портфеля очищаем таблицу

' Этот маленький блок отвечает за создание таблицы и отображения в ней информации
output = CREATE_MAP ()
output = SET_VALUE (output, "HELLO", "Ура! Заработало!")
ADD_ITEM (1, output)

message ("Важное сообщение", 2) ' Команда для появления окна сообщения

END_PROGRAM

PARAMETER HELLO;
PARAMETER_TITLE HELLO;
PARAMETER_DESCRIPTION HELLO;
PARAMETER_TYPE STRING (100);
END
END_PORTFOLIO_EX
----------------------------------------
Следует сохранить текст в обычный текстовый файлик, назвать его как-нибудь типа hello.qpl, далее, в QUIK'e:
Таблицы » Портфели » Задать портфель (или сразу ctrl+F10), откройте сохраненный файл.
В появившемся окне нажмите Загрузить локально, затем Выход. Далее:
Таблицы » Портфели » Просмотр портфеля (или сразу ctrl+F12) » Добавить все » Да.
Сразу появится результат.

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

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


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