Постов с тегом "Quik": 2014

Quik


Всем привет! Индикатор для QUIK - нештатный, нашару

Всем привет! 
Чуть о себе: зарабатываю на российском рынке (только для себя), делаю торговые программы (для себя и для других).
Давно читаю Smart-lab, нахожу что-то полезное и интересное. Вот добавлю одну свою легенькую утилитку для Квика, надеюсь пригодится.

Всем привет! Индикатор для QUIK - нештатный, нашару

Индикатор Fractal_Chennal, рисует уровни по «фракталам» с задаваемым периодом. В отличии от штатного  «Fractals» дожидается окончательного формирования формации. Я его использовал в качестве трейлинг-стопа в некоторых программах. Отдает два значения скриптам.
Код:

Settings={
Name = "Fractal_Chennal",
period=5,
line={
{
Name = "Level_High",
Type =TYPE_LINE,-- = LINE --линии  = DASH -- тире  = POINT -- точки
Width = 1,
Color = RGB(0,255, 0)--green
},
{
Name = "Level_Low",
Type =TYPE_LINE,
Width = 1,
Color = RGB(255,0,0)--root
}}}

idx_prosl=0

function Init()
return 2
end

function OnCalculate(idx)
if idx==1 then
P = math.floor(Settings.period/2)*2+1
message("Код бумаги: "..getDataSourceInfo().sec_code.." ; период индикатора: "..P,1)
t_H,t_L={},{}
end
if idx~=nil and idx>P then
if idx_prosl~=idx then
local l=idx-P
for l=l,idx-1 do
t_H[l]=H(l)
t_L[l]=L(l)
end
if t_H[#t_H-(P-1)/2]==math.max(unpack(t_H,#t_H-P+1,#t_H)) then
H_ind_value=t_H[#t_H-(P-1)/2]
end
if t_L[#t_L-(P-1)/2]==math.min(unpack(t_L,#t_L-P+1,#t_L)) then
L_ind_value=t_L[#t_L-(P-1)/2]
end
end
else
H_ind_value=nil
L_ind_value=nil
end
idx_prosl=idx
return H_ind_value, L_ind_value
end
Как пользоваться:

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

Открытый Универсальный Робот – Первичные сигналы

Как было отмечено в предыдущей части – вся суть технического анализа со всеми его индикаторами сводится к пересечению линий. Например, быстрая скользящая средняя пересекает медленную скользящую среднюю; цена пересекает уровень или любую линию какого-нибудь индикатора; RSI пересек уровень 70% и т.д. Ну пусть даже и есть исключения – напишем под них отдельные функции, главное, что наше обобщение будет охватывать 90% случаев ))).

Итак, из чего же состоят сигналы пересечения линий? А состоят они из событий и состояний. Событие – это факт пересечения, состояние – это фактическое расположение линий относительно друг друга.

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

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

Открытый Универсальный Робот – Универсальный подход и схема робота

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

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

А в чем же здесь универсальность? А универсальность будет заключаться в торговых заданиях, которые будут обрабатывать эти функции. Торговые задания – определенная структура с данными, содержащая всю необходимую информацию – что, сколько, где, когда и в каком направлении торговать. Получая такую информацию функции должны выполнять все автоматически, а так как они работают с однотипной структурой, то тоже являются универсальными. Но это конечно в идеале, как будет на самом деле – покажет разработка.



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

Открытый Универсальный Робот (Open Universal Robot – OUR)

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

В настоящее время QLUA – доступная и бесплатная технология алгоритмизации торговли. Язык QLUA прост и функционален для алгоритмизации большинства торговых идей, встроен в QUIK – самую распространенную торговую платформу на наших рынках.

С QLUA не надо думать, как «прикрутить» робота к рынку, как передавать и синхронизировать данные, заявки и т.п. – отпадает куча вопросов, которые на начальном этапе способны погубить энтузиазм любого начинающего алготрейдера. Можно использовать библиотеки, написанные и на других языках программирования, а значит, есть в каком направлении развиваться, правда, здесь я вообще не силен.

Сам я не программист. Обычно мое программирование происходит следующим образом: посмотреть в интернете как компилировать и/или исполнять программный код на выбранном языке программирования, при необходимости скачать и крякнуть требуемое ПО, посмотреть в интернете синтаксис, составить код, запустить, исправить ошибки, запустить и решить требуемую задачу.



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

Работа с QUIK (Сбер брокер) - не понимаю логику заявок по фьючерсам

Доброго времени суток, друзья!

Вот я и дошёл до того момента, когда надо начинать торговать на реальном счёте. Брокера взял Сбербанк, но сейчас я воткнулся в непонятную логику QUIK по выставлению заявок и надеюсь, что здесь кто-нибудь толково мне сможет объяснить что и как.

Собственно вопросы ниже. Торгую фьючерсы РТС, ММВБ. Не понимаю логику выставления заявок в терминале QUIK. Почему выставляя заявку в стакан по фьючу РТС по цене, допустим 196 000 — он автоматически обрабатывается по рыночной?! В итоге я вижу, что заявка была одна, а по факту он купил по 196 400. При этом я не ставлю галочку рядом с полем — рыночная. 

Сегодня позвонил на горячую линию, где мне объяснили следующее: вы выставляете заявку по цене 19600, после того как, не находится встречной заявки, происходит покупка по рыночной цене, так как она считается выгодней для покупки. Мои мысли в этот момент — Это что за бред? Оператор продолжает, чтобы выставить покупку по той цене так, как вам надо — вы должны выставить стоп-заявку. В которой будет указано, что при достижении уровня, например 195950 — происходит покупка по цене 196000. 

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

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