Постов с тегом "QPile": 88

QPile


Создать таблицу с помощью Qpile

Здравствуйте. Возможно ли написать скрипт на Qpile, который бы создавал таблицу со значениями индикатора ATR.
Заголовками столбцов были бы даты(30 последних торговых сессий), заголовки строк — короткое наименование ТОП-20 фьючерсов по обороту.
В ячейках таблицы были значения ATR за n-ный день в таком-то фьючерсе.
Таблица не должна ломаться, если меняется таймфрейм или настройки ATR.
Готов обсудить цену и уточнить нюансы.
Спасибо.
  • обсудить на форуме:
  • Qpile

Скрипт на Qpile

Скрипт не работает с 7 до 10 утра, дальше работает.
Подскажите, что подправить/заменить, что бы заработал с 7 часов?
Я так понял нужно скорректировать этот кусочек:

new_global(«total_net2»,0)
total_net2=total_net2+0
new_global(«cur_bar», 0)
new_global(«send_trans», 0)
new_global(«long», 0)
new_global(«trans_id», 1)
new_global(«bar_enter», 0)
new_global(«number_stop»,0)
new_global(«enter_price»,0)
new_global(«deals»,0)
new_global(«first_start»,0)
new_global(«last2»,0)
new_global(«changeBu»,0)
changeBu=changeBu+0
quant=1
servertime=GET_INFO_PARAM («SERVERTIME»)
hournow=SUBSTR(servertime,0,2)
minnow=SUBSTR(servertime,3,2)
secnow=SUBSTR(servertime,6,2)
SecInfo = GET_SECURITY_INFO("", code)
Lot = GET_VALUE (SecInfo, «LOT_SIZE»)

class=get_class(code)
market=get_market(class)

time=get_datetime()
minute=get_value(time,«MIN»)
hour=get_value(time,«HOUR»)
sec=get_value(time,«SEC»)
curtime=hour*10000+minute*100+sec
dayofweek=get_value(time,«DAYOFWEEK»)
year=get_value(time,«YEAR»)
month=get_value(time,«MONTH»)
day=get_value(time,«DAY»)
curdate=year*10000+month*100+day
TOTAL_NET=get_total_net(market,client,code)+0
CBPLPLANNED=get_CBPLPLANNED(market,client)
timeframe=0
if market&""=«micex»
lot =get_value(get_param_ex(class, code, «LOTSIZE»),«PARAM_VALUE»)+0
total_net=0+total_net'/lot
end if

line=0
string=create_map()
delete_all_items()
last= GET_PARAM (class, code, «LAST»)
bid = GET_PARAM (class, code, «BID»)
offer = GET_PARAM (class, code, «OFFER»)
error=0
open0=0
if first_start==0
if total_net!=0
enter_price=READ_LINE (path&«enter_price.txt», GET_FILE_LEN(path&«enter_price.txt»), error)
end if
first_start=1
end if

if (get_permission()+0)==1




скрипт с интернета, я в этом не разбираюсь
  • обсудить на форуме:
  • Qpile

QUIK сигнал индикатора MACD Histogram (значение > или < 0) на Lua или QPILE

    • 10 апреля 2021, 15:11
    • |
    • Х1
  • Еще

Кто знает как сделать, чтобы при значении индикатора MACD Histogram  > или < 0 на дневном графике выскакивало стандартное оповещение QUIK (окно или смс). Пробовал на Lua, искал примеры, несколько дней мурыжил, не получилось. Мне кажется там пара строчек кода. 

Или вариант, когда значение индикатора MACD Histogram пишется в таблице QUIK. Я пробовал на Lua, но там была ошибка или пустые значения в таблице.

  • обсудить на форуме:
  • QUIK

Вопрос по qpl

Приветствую! Может есть кто занимается qpl, думаю даже для начинающих вопрос не очень труден. 
Вроде элементарный код, но перестал код показывать данные по свече. 
Кто подскажет в чем проблема? Ранние торги не показывает c 7 до 10 утра, основные торги с 10.00 данные идут.
Что нужно подправить? Если кто знает, подскажите пожалуйста. Я так понимаю что то с серверным временем, но не вижу, где именно проблема. 

 

PORTFOLIO_EX 5ka;
DESCRIPTION 5ka;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;
USE_CASE_SENSITIVE_CONSTANTS;
PROGRAM
'========= НАСТРОЙКИ
INSTRUMENT=«SRM1»
ACCOUNT=«SPBFUT....» ' ПРОПИСЫВАЕМ АККАУНТ НА ФОРТС
' *********************
'========= ПЕРЕМЕННЫЕ

'========= ДАТА И ВРЕМЯ СЕРВЕРНОЕ
SERVERTIME=GET_INFO_PARAM(«SERVERTIME»)
SERVERDATE=GET_INFO_PARAM(«TRADEDATE»)
TIMESERV=SUBSTR(SERVERTIME,0,2)&SUBSTR(SERVERTIME,3,2)&SUBSTR(SERVERTIME,6,7)
HOUR=SUBSTR(TIMESERV,0,2)+0
MIN=SUBSTR(TIMESERV,2,2)+0
SEC=SUBSTR(TIMESERV,4,2)+0
TIME=TIMESERV+0
DATE=SUBSTR(SERVERDATE,6,4)&SUBSTR(SERVERDATE,3,2)&SUBSTR(SERVERDATE,0,2)
TRID=TIME&DATE
TRID=TRID+0
'========= ПРОВЕРКА СОЕДИНЕНИЯ С СЕРВЕРОМ
IF IS_CONNECTED()<>1
RETURN
END IF

OPEN=GET_VALUE(GET_COLLECTION_ITEM (GET_VALUE (GET_CANDLE_EX(«P55», DATE, TIME),«LINES»),0),«OPEN»)+0
HIGH=GET_VALUE(GET_COLLECTION_ITEM (GET_VALUE (GET_CANDLE_EX(«P55», DATE, TIME),«LINES»),0),«HIGH»)+0
LOW=GET_VALUE(GET_COLLECTION_ITEM (GET_VALUE (GET_CANDLE_EX(«P55», DATE, TIME),«LINES»),0),«LOW»)+0
VOLA=GET_VALUE(GET_COLLECTION_ITEM (GET_VALUE (GET_CANDLE_EX(«P55», DATE, TIME),«LINES»),0),«HIGH»)+0-GET_VALUE(GET_COLLECTION_ITEM (GET_VALUE (GET_CANDLE_EX(«P55», DATE, TIME),«LINES»),0),«LOW»)



( Читать дальше )
  • обсудить на форуме:
  • Qpile

Что лучше изучить трейдеру для написания собственных кодов для КВИК?

Что лучше изучить трейдеру для написания собственных кодов для КВИК?

Lua
QPILE
Всего проголосовало: 26
Друзья, опыт программирования отсутствует, аргументы в пользу выбора приветствуются!

Итоги года 2020. Программирование

   Год уже заканчивается и пора подводить некоторые итоги. Начну свою ежегодную серию итогов со своего хобби – программирование в области финансовых рынков. Увлёкся этим делом в конце 2005-го года. Тогда начал осваивать MQL4 в MetaTrader 4, но, через пару лет, поняв кухню ДЦ, перешёл в QUIK на реальную биржу. Тогда же, начал монетизировать своё хобби. Моя история прошлых лет, если кому интересно.

   В статье будет, возможно, много не интересного не посвящённым в программирование, поэтому можете смело прокрутить в «Выводы».

Итоги.

   В начале года не было желания что-то программировать. Часто собирался с друзьями. Мой робот в январе ушёл в минус 2% по всему счёту. Робот был настроен только в продажу рынка на деривативах, хеджируя основной портфель акций. В общем-то, это моя основная идея последних двух лет. Звёздный час робота настал в конце февраля. Как раз, когда я уехал из города, робот исправно накапливал продажи на летящем вниз рынке. Тогда я в очередной раз убедился в необходимости автоматизации. На мартовской экспирации часть средств удалось удачно перекинуть в подешевевшие акции.



( Читать дальше )

Автоматизация подачи заявок в начале сессии - полуавтомат на языке qpile для терминала quik

Раскрываю небольшую часть своей торговли в прошлом. Система старая, где-то с 2013 года, но всё ещё рабочая…
Предоставляется для рассмотрения возможностей. Сразу дисклаймер: я не программист! Это может быть интересно новичкам и таким же не программерам как и я.

В спекулятивном портфеле у меня от 30 до 60 разных ценных бумаг. Многие из них относятся к низколиквидным акциям второго, третьего эшелона, есть облигации.
Иногда по низколиквидным бумагам случаются «спайки» — краткосрочные задёрги вверх или проливы вниз. Как это можно отрабатывать: выставляем заявку на продажу в начале сессии сильно выше рыночной котировки (+10%, +20% или +40%) и ждём всю сессию или наоборот на покупку сильно ниже рыночной.
И если срабатывает, то забираем разницу как чистую прибыль или свободный денежный поток, который дальше можно инвестировать в покупку новых ценных бумаг.
Вот так это выглядит на графике одной акции с фри-флоутом менее 5%:
Автоматизация подачи заявок в начале сессии - полуавтомат на языке qpile для терминала quik

( Читать дальше )
  • обсудить на форуме:
  • QUIK

Импорт значений дневных свечей из QUIK

qpile скрипт, создающий таблицу значений дневных свечей, для создания таблицы должен быть открыт соответствующий график, код скрипта в конце.
Порядок действий:
1) Создаём текстовый документ, меняем его расширение с txt на qpl
2) Открываем документ при помощи блокнота и копируем в него код скрипта
3) На 9 строке ставим в кавычках код класса, на 10й вставляем код инструмента, на 11 строке устанавливаем количество импортируемых свечей (в теории можно импортировать 3000, однако обычно выходит меньше)
4) сохраняем файл
5) В добавляем скрипт в QUIK: В верхнем меню, вкладка сервисы -> QPILE скрипты -> Добавить (находим и выбираем файл со скриптом) -> Загрузить локально (и закрываем верхнее окно) -> В окне «работа со скриптами» жмём создать таблицу -> Добавляем все параметры и жмём «Да»
6) Кликаем на открывшуюся таблицу правой кнопкой мыши, и жмём на вывод через DDE сервер, в открывшемся окне выбираем книгу эксель, лист и жмём «Начать вывод»
В качестве примера введены код класса и инструмента для валютной пары USD/RUB с поставкой на завтра. 

( Читать дальше )
  • обсудить на форуме:
  • QUIK

Qpile, вопрос, вывод тиков

    • 15 января 2019, 11:46
    • |
    • BALLI
  • Еще
Здравствуйте.
В интернете на разных ресурсах есть в открытом доступе скрипты, которые выводят данные индикатора.  Интервал от 1 мин. до месяца.
Но никто не делает вывод данных индикатора на ТИКАХ.
С чем это связано? Скрипт будет постоянно зависать?
_____________________________________________________________________________________________________________________

Ниже выкладываю рабочий скрипт по выводу свечей. 
Как его можно исправить чтобы выводились данные индикатора по  ТИКАМ.???
______________________________

PORTFOLIO_EX RIH9 1 volume;
DESCRIPTION RIH9;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;

PROGRAM


' Настраиваемые параметры
ClassCodeList=«SPBFUT» ' код класса инструмента
Instrument=«RIH9» ' название инструмента
Interval=1' интервал (таймфрейм) на графике
DayToFind=15 ' сколько дней назад искать свечи (можно уменьшить, чтобы ускорить работу программы)
CandleToFind=50' сколько свечей надо найти
OutFile = «c:\quotes.csv» ' файл, куда записывать данные в формате CSV
DELETE_ALL_ITEMS()
CandleCount=0
CurYear=get_value(GET_DATETIME(), «YEAR»)
CurMonth=get_value(GET_DATETIME(), «MONTH»)
CurDay=get_value(GET_DATETIME(), «DAY»)
CurHour = GET_VALUE(GET_DATETIME(), «Hour»)
CurMin = GET_VALUE(GET_DATETIME(), «Min»)
CurMin = Interval*Floor(CurMin/Interval) ' округляем минуты до «интервальных»
ID=«ID2» 'идентификатор графика



( Читать дальше )
  • обсудить на форуме:
  • Qpile

....все тэги
UPDONW
Новый дизайн