Постов с тегом "LUA": 343

LUA


Индикатор дневных уровней

Индикатор DHLM показывает Хай, Лоу и среднее значение за торговый день.
Индикатор дневных уровней

 

 

Settings =
{
    Name = «DHLM»,
        line =
{
    {
    Name = «High»,
        Color = RGB(0,200,64),
        Type = TYPET_BAR,
        Width = 1
    },
{
    Name = «Low»,
        Color = RGB(200,0,64),
        Type = TYPET_BAR,
        Width = 1
    },
{
    Name = «Median»,
        Color = RGB(0,64,200),
        Type = TYPET_BAR,
        Width = 1
        }
   }
}

local hlm = {}
local math_max = math.max
local math_min = math.min

function Init()
      return #Settings.line
end
function OnCalculate(index)
local dt = T(index)

if O(index) then
if dt.day ~= hlm.day or
          dt.month ~= hlm.month or
          dt.year ~= hlm.year then
           hlm.year = dt.year
           hlm.day = dt.day
           hlm.month = dt.month
           hlm.high = H(index)
           hlm.low = L(index)
      else
           hlm.high = math_max(hlm.high,H(index))
           hlm.low = math_min(hlm.low,L(index))
           hlm.median = (hlm.high + hlm.low)/2
      end
end
return hlm.high,hlm.low,hlm.median
end

 


Торговая система «Арбитраж»

Продолжаю бесплатный период своего робота.
Наибольший интерес вызвали торговые системы арбитража.
Публикую долгожданное большинством видео QUIK. Робот Сетка. ТС «Арбитраж».
Хочу отметить, что представленный пример с разницей акций Сбербанк-Сбербанк-ап представлен для общего понимания.
Робот может реализовать не только парный арбитраж.
Возможно реализовать портфельный арбитраж, можно использовать любые торговые инструменты в QUIK, можно использовать фронтраннинг, котировать другие инструменты с хеджированием и многое другое.
Заявки на разработку роботов не рассматриваю, т.к. пишу для себя и торгую на бирже тоже для себя.

Описание торговой системы «Арбитраж».

Возьмём два инструмента: Сбербанк об. по 137.18 и Сбербанк пр. по 131.85. Известно, что некоторые инструменты коррелируют между собой, т.е. цены двигаются в одном направлении. Однако, есть небольшие отличия в движении этих активов. Можно торговать эту разницу.



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

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

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

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

Нужен индикатор уровней Pivot для QUIK с возможностью выбора интервала

Приветствую

Может кто-нибудь бесплатно поделиться индикатором уровней Pivot для квика, в котором есть возможность выбора фиксированного (напр.день, неделя, месяц) и/или произвольного (напр. произвольное количество дней) периода? 

Если нет такого, то нужен хотя бы индикатор уровней Pivot для недельного периода (на остальные периоды у меня есть отдельные индикаторы).

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

Требуется помощь с плагином на Lua для QUIK (Брокер БКС)

Всех привествую!
Надеюсь у меня получится сделать плагин для удобства подсчета комиссии для БКС. 
Итак, у БКС комиссия от количества контрактов за сутки на тарифе Трейдер.  
Хочется сделать плагин, который сможет считать количество контрактов за сутки + оборот по срочке. 
Ибо считать вручную как то не удобно..
Или может у кого есть похожие наработки или плагин ? 
Буду признателен за любую помощь) 

Отображение ГО в QUIK

Всем привет!
Итак имеем скрипт у БКС брокера который показывает ГО, мне очень удобно...
Отображение ГО в QUIK

Решил прикрутить к Брокеру ВТБ… Но скрипт не работает ><
Отображение ГО в QUIK

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

Lua - форматирование таблицы

Всем привет!

Что-то не нашел информацию в инете, может кто поможет  )

1) как увеличить шрифт таблицы

2) как сделать так, что закрашивалась не вся строка, а только отдельные клетки?
 текущий скрипт окраски строки SetColor(Table,1,QTABLE_NO_INDEX, RGB (50,205,50), RGB (0,0,0), RGB (50,205,50), RGB (0,0,0))

Есть ли кодеры на Lua для Квик на Stackoverflow?

Подскажите, плиз, есть ли на стэке (в русской секции) общение по роботам на Луа для Квика?
Форум есть на сайте Арки, но общение там паршивенькое, особенно для новичков.
Просто задать такой вопрос на Стэке не хочется — легко в бан попасть.

Скрипт для QUIK, показывающий, какое количество сделок у вас исполняется по рынку об встречные заявки, а также как изменится комиссия на срочной секции в случае принятия изменений тарифов.

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

Вот наваял Lua-скрипт для QUIK, показывающий, какое количество сделок у вас исполняется по рынку об встречные заявки.
Для работы скрипта в QUIK должны быть заказаны обезличенные сделки по тем инструментам, которыми вы торгуете.

Также скрипт покажет текущую биржевую комиссию и будущую в случае принятия указанных изменений. Если вы торгуете интрадей (скальперские сделки), то текущую комиссию надо разделить на два.

Напишите в комментариях, сильно ли изменится ваша комиссия?

function main()
  local Trades = {}
  local comission = 0
  SearchItems('trades', 0, getNumberOf('trades')-1,
    function (class_code, trade_num, flags, exchange_comission)
      if class_code == 'SPBFUT' or class_code == 'SPBOPT' then  -- Учитываем только сделки на срочной секции
        comission = comission + exchange_comission
        local t = {flags & 0x4, exchange_comission}
        if Trades[class_code] then
          Trades[class_code][trade_num] = t
        else
          Trades[class_code] = {[trade_num] = t}
        end
      end
      return false
    end,
  'class_code,trade_num,flags,exchange_comission')

  local total = 0
  local maker = 0
  local taker = 0
  local comission2 = 0
  SearchItems('all_trades', 0, getNumberOf('all_trades')-1,
    function (class_code, trade_num, flags, sec_code)
      if Trades[class_code] then
        local t = Trades[class_code][trade_num]
        if t then
          total = total + 1
          if flags & 0x1 ~= 0 then
            if t[1] == 0 then
              maker = maker + 1
            else
              taker = taker + 1
              comission2 = comission2 + t[2]
            end
          elseif flags & 0x2 ~= 0 then
            if t[1] == 0 then
              taker = taker + 1
              comission2 = comission2 + t[2]
            else
              maker = maker + 1
            end
          else
            comission2 = comission2 + t[2]
          end
        end
      end
      return false
    end,
  'class_code,trade_num,flags,sec_code')
  message(string.format('total:   %u\nmaker: %u\ntaker:  %u\n\ncomission\nсейчас:       %.2f\nскальпинг: %.2f\nстанет:       %.2f', total, maker, taker, comission, comission / 2, comission2 * 3))
end
  • обсудить на форуме:
  • QUIK

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