Постов с тегом "quik": 1998

quik


QUIK перестановка лимитных заявок мышью

    • 25 июля 2016, 16:46
    • |
    • FrBr
  • Еще
Перестало работать перетаскивание лимиток мышью, когда на графике тащим уровень лимитки на новый нужный и лимитку заменяет. 
Подозреваю то что перешел на лицуху Win 10 но связь кажется абсурдной — кто что может посоветовать — подсказать ?

Клик по барам открывает окно воода заявки, не дает только переставлять лимитки 

Помогите доделать и запустить робота: Amibroker+Quik или Quik

Всем добрый день!

Торгую исключительно акциями на ММВБ, подготовил несколько алгоритмов в Amibroker, протестировал и теперь хотелось бы довести их до ума и запустить робота, но, поскольку, я не силен в программировании и на то, чтобы разобраться что и как делать уходит слишком много времени, прошу помощи (не безвозмездно).

На текущий момент осталось довольно много вопросов по дальнейшим действиям:

  1. Поскольку алгоритмы написаны на Amibroker, то, наверное, самый простой вариант – сделать связку Quik+Amibroker, но есть и другой вариант – переписать алгоритмы на Qpile (Qlua). Какие плюсы и минусы этих вариантов? Что лучше?
  2. Кто-нибудь может помочь настроить связку Quik-Amibroker? В есть информация, но, возможно, есть подводные камни и коллеги, которые уже прошли этот путь, могут помочь быстрее и проще настроить. Соответственно, поскольку немного с Amibrokerом знаком и продолжаю с ним разбираться, рассматриваю рабочий вариант – настройку связки Quik-Amibroker и, соответственно, дальнейшие вопросы касаются этого варианта (но если все-таки вариант с Qpile будет иметь больше преимуществ, то всплывут эти же вопросы, перечисленные ниже, только на Qpile (Qlua).
  3. Как установить лимит на сделку, т.е. если в алгоритме появляется сигнал на покупку, как прописать лимит, например, сумма на 1 сделку не больше 1/10-й общего портфеля. Где-то в настройках Amibroker я видел, что можно установить % от начальной суммы, но можно ли лимит этот сделать динамическим. Например, при увеличении портфеля увеличивается и лимит на 1 сделку. И каким образом при этом передается заявка в Quik, ведь в quik надо передать данные о количестве лотов на покупку, а что передает Ami?  Т.е. как осуществляется преобразование денег (1/10-я портфеля) в количество лотов в заявке по каждой акции?
  4. Сколько интернета обычно ест Quik + Amibroker в течение дня? На работе есть ограничение интернета, соответственно, пока не знаю, могу ли я на работе использовать терминал, зависит от объема трафика. Или проще  установить все на домашнем компе и отслеживать через удаленный доступ?
  5. Возможно ли (если мы говорим о связке Амиброкер и Квик) использовать 3 разных робота, торгующих на разных таймфреймах. Можно ли настроить их одновременную работу и каким образом? При этом можно ли выделить 3 отдельных счета для разных алгоритмов?
  6. Как Amibroker понимает, что заявка выполнена? Т.е. есть ли обратная связь от Quik о результатах сделок и передача этой инф-и в Amibroker? И связанный вопрос, где ведется статистика сделок — сами сделки, прибыльность и т.д.
  7. Как настроить возможность торговать из Амиброкера в ручном режиме с графика. Я где-то встречал в сети алгоритм, который рисует кнопку на графике в Amibroker, с помощью которой можно продать акции в ручном режиме. Может ли кто-то помочь нарисовать такую кнопку, чтобы была возможность подать заявку на продажу в ручном режиме (и, в идеале, указать кол-во лотов на продажу по конкретной акции)? Т.е. закрыть сделку, не дожидаясь сигнала на продажу.
  8. Плюс к этому, можно ли нарисовать такую же кнопку, которая наоборот, не позволит продать акции при получении сигнала на продажу? Т.е. дать возможность закрыть сделку по конкретной операции только в ручном режиме.

Поскольку я только зарегистрировался на смарт-лабе, рейтинга у меня нет и в личку ответить не смогу. Если кто-то может помочь с этими вопросами разобраться, оставляйте контакты для связи. Буду признателен за любую помощь.


QUIK 7 - геморой начинается

Здорова щеглы

Установил квик 6 и так технично установил, что обновился он до 7 версии (((

Захотел построить гистограмму общего спроса/предложения (черт… спалил ГРААЛЬ). 

Но график не строится!!! (выдает пустую область! В Квике 6 все было норм — (в таблице текущих торгов «общий спрос и общее предложение» показывает кол-ые значения, но если щелкнуть правой кнопкой мыши и выбрать «построить график общий спрос» то выдает пустой график ((

— как быть?!

 

Подскажите плиз )))


Индикатор "Параболическая регрессия/тренд" (Бонус к линейной)

Предыдущая часть: smart-lab.ru/blog/337952.php

Для всех QUIKеров в свободное пользование индикатор «Параболическая регрессия/тренд» (LUA).

Индикатор "Параболическая регрессия/тренд" (Бонус к линейной)

Settings = 
{
        Name = "xLinRegP",
        period = 128,
        deviation=2,
        line=
        {
                {
                        Name = "xLinRegP",
                        Color = RGB(128, 128, 255),
                        Type = TYPE_LINE,
                        Width = 4
                },
                {
                        Name = "xLinRegP",
                        Color = RGB(192,128,128),
                        Type = TYPE_LINE,
                        Width = 4
                },
                {
                        Name = "xLinRegP",
                        Color = RGB(96, 128,96),
                        Type = TYPE_LINE,
                        Width = 4
                }
        
        }
}

----------------------------------------------------------
----------------------------------------------------------
----------------------------------------------------------
function cached_FF()
        local AMA={}
        local CC={}
        local II2 = 0
        local II4 = 0
        
        
        return function(ind, _p,_ddd)
                local period = _p
                local index = ind
                
                local vol = 0
        
                local sigma = 0
                local sigma2 = 0
                local sigma3 = 0
                local sigma4 = 0

                local aav = 0
                local aa = 0
                local bb = 0
                local cc = 0
                local ZZZ = 0
                local ttt = 0


                                                
                if index == 1 then
                        
                        AMA={}
        
                        CC={}

                        CC[index]=(C(index)+H(index)+L(index))/3
                
                        AMA[index]=(C(index)+O(index))/2
                
                                II2=0
                                II4=0
                        for i = 0, period-1 do
                                ttt=(-(period-1)/2+i)^2
                                II2=II2+ttt
                                II4=II4+ttt^2
                        end
                
                        return nil
                end
                
                ------------------------------
                
                        AMA[index]=AMA[index-1]
                        ----------------------------------
                        CC[index]=(C(index)+H(index)+L(index))/3
                        ---------------------
                


                        
                if index < (Size()-2) then return nil end
                
                ----------------------------------------------------


                sigma=0
                sigma2=0
                sigma3=0
                sigma4=0
                aav=0
                ZZZ=0
                for i = 0, period-1 do
                        ZZZ=CC[index+i-period+1]
                        
                        aav=aav+ZZZ
                        sigma=sigma+ZZZ*(-(period-1)/2+i)
                        ttt=(-(period-1)/2+i)^2
                        sigma3=sigma3+ZZZ*ttt
                end
                
                ------------------------
        bb=sigma/II2
    cc=(sigma3-aav*II2/period)/(II4-II2*II2/period)
        aa=(aav-cc*II2)/period
        aav=aav/period
                
        AMA[index]=aa+bb*((period-1)/2)+cc*((period-1)/2)^2             ------- парабола
        -------------------------------

                
                sigma=0
                sigma2=0
                sigma3 = 0
                for i = 0, period-1 do
                        ZZZ=CC[index+i-period+1]
                        sigma2=aa+bb*(-(period-1)/2+i)+cc*(-(period-1)/2+i)^2           ------- парабола
                        sigma=sigma+(ZZZ-sigma2)^2

                end
                sigma=(sigma/period)^(1/2)
                
                for i = 1, period-1 do
                        ZZZ=aa+bb*(-(period-1)/2+i)+cc*(-(period-1)/2+i)^2
                        SetValue(index+i-period+1, 3, ZZZ)
                        SetValue(index+i-period+1, 2, ZZZ+sigma*_ddd)
                        SetValue(index+i-period+1, 1, ZZZ-sigma*_ddd)

                end     
                        SetValue(index+0-period+1, 3, nil)
                        SetValue(index+0-period+1, 2, nil)
                        SetValue(index+0-period+1, 1, nil)
        
                
                ----------------------------------
                                                                
                        return AMA[index]-sigma*_ddd,AMA[index]+sigma*_ddd, AMA[index]
                        
        end
end
----------------------------    ----------------------------    ----------------------------
----------------------------    ----------------------------    ----------------------------
----------------------------    ----------------------------    ----------------------------

function Init()
        myFF = cached_FF()

        return 3
end

function OnCalculate(index)
        
        return myFF(index, Settings.period,Settings.deviation)
        
                
end




Линейная регрессия в помощь...

Добрый день!

Для всех QUIKеров в свободное пользование индикатор линейной регрессии (LUA).
Линейная регрессия в помощь...
Settings = 
{
        Name = "xLinReg",
        period = 128,
        deviation=2,
        line=
        {
                {
                        Name = "xLinReg",
                        Color = RGB(0, 0, 255),
                        Type = TYPE_LINE,
                        Width = 3
                },
                {
                        Name = "xLinReg",
                        Color = RGB(192, 0, 0),
                        Type = TYPE_LINE,
                        Width = 3
                },
                {
                        Name = "xLinReg",
                        Color = RGB(0, 128, 0),
                        Type = TYPE_LINE,
                        Width = 3
                }
        
        }
}



----------------------------------------------------------
----------------------------------------------------------
----------------------------------------------------------
function c_FF()
        
        local AMA={}
        local CC={}
        
        return function(ind, _p,_ddd)
                local period = _p
                local index = ind
                
                local vol = 0
        
                local sigma = 0
                local sigma2 = 0

                local aav = 0
                local bb = 0
                local ZZZ = 0


                                                
                if index == 1 then
                        AMA={}
                        CC={}
                        
                        CC[index]=(C(index)+H(index)+L(index))/3
                        AMA[index]=(C(index)+O(index))/2
                        
                        return nil
                end
                
                ------------------------------
                AMA[index]=AMA[index-1]
                CC[index]=(C(index)+H(index)+L(index))/3
                ---------------------

                if index < (_p) then return nil end
                ----------------------------------------------------
                                
                period =_p
                if index < period then period = index end
        --------------- 
                sigma=0
                sigma2=0
                aav=0
                ZZZ=0
                for i = 0, period-1 do
                        ZZZ=CC[index+i-period+1]
                        aav=aav+ZZZ
                        sigma=sigma+ZZZ*(-(period-1)/2+i)
                        sigma2=sigma2+(-(period-1)/2+i)^2
                end
                
                ------------------------
        bb=sigma/sigma2
        aav=aav/period
                
        AMA[index]=aav+bb*((period-1)/2) ---------линейная регрессия
        -------------------------------
                
                sigma=0
                sigma2=0
                sigma3 = 0
                for i = 0, period-1 do
                        ZZZ=CC[index+i-period+1]
                        sigma2=aav+bb*(-(period-1)/2+i)
                        sigma=sigma+(ZZZ-sigma2)^2

                end
                sigma=(sigma/period)^(1/2)
                
                
                for i = 1, period-1 do
                        ZZZ=aav+bb*(-(period-1)/2+i)
                        SetValue(index+i-period+1, 3, ZZZ)
                        SetValue(index+i-period+1, 2, ZZZ+sigma*_ddd)
                        SetValue(index+i-period+1, 1, ZZZ-sigma*_ddd)

                end     
                        SetValue(index+0-period+1, 3, nil)
                        SetValue(index+0-period+1, 2, nil)
                        SetValue(index+0-period+1, 1, nil)
                
                
                ----------------------------------
                                                                
                        return AMA[index]-sigma*_ddd,AMA[index]+sigma*_ddd, AMA[index]
                        
        end
end
----------------------------    ----------------------------    ----------------------------
----------------------------    ----------------------------    ----------------------------
----------------------------    ----------------------------    ----------------------------

function Init()
        myFF = c_FF()
        
        return 3
end
function OnCalculate(index)
        
        
        
        return myFF(index, Settings.period,Settings.deviation)
        
                
end


Продолжение: http://smart-lab.ru/blog/337978.php



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