выплаты по ОФЗ в сентябре (минфин):
читать дальше на смартлабе
1. В папке с Квиком создаем директорию LuaIndicators.
2. В этой папке создаем файл br_rub.lua, туда записываем:
Settings =
{
Name = «BR_RUB»,
tag = «USDRUB»,
tag1 = «BR»,
line=
{
{Name = «brent_rub», Color = RGB(0, 0, 255), Type = 1,Width = 1}
}
}
function Init()
return 1
end
function OnCalculate(index)
local Out = (getCandlesByIndex(Settings.tag1, 0, index-1, 1)[0].close or 0) * (getCandlesByIndex(Settings.tag, 0, index-1, 1)[0].close or 0)
if Out > 0 then
return Out
else
return nil
end
end
1. В Квике создаем график с курсом доллара (USDRUB_TOM).
2. К графику добавляем график с брентом (BR-3.18).
3. Идем в настройки графика, в разделе Дополнительно указываем Идентификатор: BR -для графика с брентом, USDRUB- для графика с курсом.
4. Добавляем индикатор (выбираем из выпадающего списка BR_RUB).
5. Уменьшаем ненужные поля. Если график не отобразился — даблкликаем на графике — жмем Применить:
ссылка на файл
кросспост rffx.ru
1. В папке с Квиком создаем директорию LuaIndicators.
2. В этой папке создаем файл br_rub.lua, туда записываем:
Settings =
{
Name = «BR_RUB»,
tag = «USDRUB»,
tag1 = «BR»,
line=
{
{Name = «brent_rub», Color = RGB(0, 0, 255), Type = 1,Width = 1}
}
}
function Init()
return 1
end
function OnCalculate(index)
local Out = (getCandlesByIndex(Settings.tag1, 0, index-1, 1)[0].close or 0) * (getCandlesByIndex(Settings.tag, 0, index-1, 1)[0].close or 0)
if Out > 0 then
return Out
else
return nil
end
end
1. В Квике создаем график с курсом доллара (USDRUB_TOM).
2. К графику добавляем график с брентом (BR-3.18).
3. Идем в настройки графика, в разделе Дополнительно указываем Идентификатор: BR -для графика с брентом, USDRUB- для графика с курсом.
4. Добавляем индикатор (выбираем из выпадающего списка BR_RUB).
5. Уменьшаем ненужные поля. Если график не отобразился — даблкликаем на графике — жмем Применить:
ссылка на файл
кросспост rffx.ru
По следам этого поста скрипт на qlua, называется «Светофор».
Суть скрипта- отслеживать дистанцию до «дна», которое представляет собой лои 2008 года+накопленная инфляция.
Подсветка строк:
зеленым- цена ниже уровня инфляции
желтым — до дна менее 50%
красным — до дна более 80%
В чем не смог разобраться:
как получить лой 2008 года по акции (вбито вручную)
как получить полное название компаний (вбито вручную)
как сортировать таблицу (ctrl+клик не помогает)
кто знает — подскажите!
Как это выглядит в Квике:
Бэктест на проливе 2014 года:
Код:
-- Обьявляем переменные sIsRun=true; sDate=0; sDno=0; sDistance=0; --Инфляция 2009-2016 sInflation=88.77; -- Массив с названием компаний aTickerName= {"Сбербанк", "Газпром", "Лукойл", "ГМКНорНик", "Система", "Аэрофлот", "Роснефть", "Транснф", "ФСК ЕС", "РусГидро", "СеверСталь", "Новатек", "Магнит", "Татнефть", "Сургнфтз-п", "М.видео", "ИнтерРАО", "НЛМК", "ММК", "Россети", "Ростел", "МТС", "Уркалий"} -- Массив с тикерами aTickerList = {"SBER", "GAZP", "LKOH", "GMKN", "AFKS", "AFLT", "ROSN", "TRNFP", "FEES", "HYDR", "CHMF", "NVTK", "MGNT", "TATN", "SNGSP", "MVID", "IRAO", "NLMK", "MAGN", "RSTI", "RTKM", "MTSS", "URKA"}; -- Массив с лоями 2008 года aTickerLow2008={14, 86, 740, 1228, 4.5, 20, 94, 6728, 0.054, 0.4, 80, 50, 312, 32.63, 5.16, 24, 0.54, 20, 4.5, 0.6, 14, 100, 25}; function main() -- Создает таблицу CreateTable(); -- Основной цикл while sIsRun do -- Дата и время sDate=getInfoParam('TRADEDATE').." "..getInfoParam('SERVERTIME'); -- Перебираем компании: k -порядковый номер, v - название тикера for k,v in pairs(aTickerList) do -- Крайняя цена sBID=tonumber(getParamEx("TQBR", v, "LAST").param_value); -- Расчетное дно sDno=math.floor(((aTickerLow2008[k]*(sInflation+100))/100)*100)/100; -- Сколько до дна % sDistance=math.floor((100-((sDno*100)/sBID))*100)/100; -- Вставляем данные в табличку SetCell(t_id, k, 0, tostring(sDate)); SetCell(t_id, k, 1, tostring(aTickerName[k])); SetCell(t_id, k, 2, tostring(v)); SetCell(t_id, k, 3, tostring(sBID)); SetCell(t_id, k, 4, tostring(sDno)); SetCell(t_id, k, 5, tostring(sDistance)); -- Раскрашиваем желтым if sDistance<50 then Yellow(k); end; -- Раскрашиваем красным if sDistance>80 then Red(k); end; -- Раскрашиваем зеленым if sDistance<0 then Green(k); end; end; -- Спим sleep(50000); end; end; --- Функция создает таблицу function CreateTable() -- Получает доступный id для создания t_id = AllocTable(); -- Добавляет 6 колонок AddColumn(t_id, 0, "Дата", true, QTABLE_INT_TYPE, 15); AddColumn(t_id, 1, "Название", true, QTABLE_INT_TYPE, 15); AddColumn(t_id, 2, "Ticker", true, QTABLE_INT_TYPE, 15); AddColumn(t_id, 3, "BID", true, QTABLE_INT_TYPE, 15); AddColumn(t_id, 4, "Расчетное дно", true, QTABLE_INT_TYPE, 15); AddColumn(t_id, 5, "Сколько до дна (%)", true, QTABLE_INT_TYPE, 15); -- Создаем t = CreateWindow(t_id); -- Даем заголовок SetWindowCaption(t_id, "Компании"); -- Добавляет строку for k,v in pairs(aTickerList) do InsertRow(t_id, k); end end; --- Функции по раскраске ячеек таблицы function Red(col) for i=0, 5 do SetColor(t_id, col, i, RGB(255,168,164), RGB(0,0,0), RGB(255,168,164), RGB(0,0,0)); end; end; function Green(col) for i=0, 5 do SetColor(t_id, col, i, RGB(157,241,163), RGB(0,0,0), RGB(157,241,163), RGB(0,0,0)); end; end; function Yellow(col) for i=0, 5 do SetColor(t_id, col, i, RGB(249,247,172), RGB(0,0,0), RGB(249,247,172), RGB(0,0,0)); end; end; -- Функция вызывается когда пользователь останавливает скрипт function OnStop() sIsRun = false; end;
ссылка на скрипт
P.S.: не является рекомендацией к покупке/продаже акций, использование программы на ваш страх и риск.
Кросспост rffx.ru