Какой индикатор нужен для календарного спреда фьючерсов
Открывая позицию в дальнем и ближнем фьючерсах на один и тот же актив неплохо иметь перед глазами график их разности. И Quik средствами QLua предлагает такую возможность.
Код довольно прост:
— Складывает Value графиков GraphId1 и GraphId2
— При запуске на загрузке Quik'а работает код предыдущей загрузки
— с последними свойствами, полученными из кода или интерактивно.
— При запуске старые бары графика данных сканируются дважды,
— только если есть подключение к серверу.
— При смене тайм-фрейма старые бары сканируются только единожды.
— При загрузке Quik'а первый скан до подключения к серверу.
CandlesOK = true
Settings = { — После смены тайм-фрейма нужно интерактивное подтверждение
Name = "_Add"
,GraphId1 = «Tag-1» — Перезадать оба после первой загрузки.
,GraphId2 = «Tag-2» — Сохраняются при последующих запусках.
,Factor1 = 1 — Для GraphId1
,Factor2 = 1 — Для GraphId2
,Base1 = 0 — Для GraphId1
,Base2 = 0 — Для GraphId2
,Value = «close»
,line = { — Исчезает прогррамный доступ после 1-го интерактивного изменения
{Name = «close»
,Color = RGB(255,255,0) — Жёлтый
,Type = TYPE_HISTOGRAM — POINT, LINE, DASH, DOT, HISTOGRAM,
,Width = 2} — TRIANGLE_UP, TRIANGLE_DOWN.
}
}
function Init()
local s = «Indicator _Add:»
if 0 == getNumCandles (Settings.GraphId1) then
CandlesOK = false
s = s .."\n invalid GraphId1"
end
if 0 == getNumCandles (Settings.GraphId2) then
CandlesOK = false
s = s .."\n invalid GraphId2"
end
if not CandlesOK then message (s) end
return #Settings.line
end — Init()
function OnCalculate (index)
if index == 1 then
CandlesOK = true
if 0 == getNumCandles (Settings.GraphId1) or
0 == getNumCandles (Settings.GraphId2) then
CandlesOK = false
end
--[[message («Settings.Value »… tostring (Settings.Value)
.."\nSettings.line "… tostring (Settings.line)
.."\nCandlesOK "… tostring (CandlesOK))--]]
if Settings.Value ~= «open» and Settings.Value ~= «high» and
Settings.Value ~= «low» and Settings.Value ~= «close» then
Settings.Value = «close»
message («Indicator _Add: Value must be open/high/low/close»)
end
end
if not CandlesOK then return nil end
local candle1 = (getCandlesByIndex (Settings.GraphId1, 0, index-1, 1))[0]
local candle2 = (getCandlesByIndex (Settings.GraphId2, 0, index-1, 1))[0]
local val1 = candle1[Settings.Value]
local val2 = candle2[Settings.Value]
— Результат return res == 0 and nil or res всегда 0 при res == 0
if val1 == 0 or val2 == 0 then return nil end
return (val1 + Settings.Base1) * Settings.Factor1
+ (val2 + Settings.Base2) * Settings.Factor2
end — OnCalculate()
✅ ПАО «МГКЛ» завершило размещение второго выпуска облигаций на СПБ Бирже
ПАО «МГКЛ» успешно завершило размещение биржевых облигаций серии 001PS-02 на СПБ Бирже объёмом 1 млрд рублей. Выпуск был размещён в полном объёме. 📌 Итоговые параметры выпуска:
🟠 ставка...
Рынок часто движется импульсами, тем важнее оценивать активы без спешки, не отвлекаясь на инфошум. Для этого отлично подходят выходные дни. В конце недели разбираем самые заметные события и...
Нефтяной срез: выпуск №8. Перекрытие Ормузского пролива + рост цен на нефть против слабых отчетов за 4-й квартал 2025 и 1-й квартал 2026? Ищем лучших в все еще слабом секторе
Продолжаю выпускать рубрику — Нефтяной срез. Цель: отслеживать важные бенчмарки в нефтяной отрасли, чтобы понимать куда дует ветер. Прошлый пост: smart-lab.ru/mobile/topic/1229385/
Почему...
Так вчера уже администрация трампа заявила, что иран потерпит поражение в тот момент, когда трамп решит, что иран потерпел поражение. Амеры вовсю готовят себе путь завершения войны. Саудиты объявили, ...
Анатолий Селянин, в нефтегазе всегда было так. Потому что это самый изменчивый сектор. Экспортное сырьё сверхзависимо, причем от всего: динамика внешней цены в валюте, динамика геополитики с санкци...
Kot34, Просто сразу куча негатива в течение 1.5 месяцев. У «более сложных эмитентов» если не получается разместиться — откладывают, а не «сливают в стакан по 85%». Что точно означает проблемы с лик...
По делу А41-9332/2026 ООО «АТИ» к ПАО «Евротранс» на сумму 500 млн. руб. истцу было отказано 06.03.26 в вынесении обеспечительных мер.
kad.arbitr.ru/Card/df86c4da-7288-4d22-bdda-014feaffefdb
Телеканал «Baku TV» показал обломки беспилотных аппаратов, что подавалось как серьёзное доказательство. Но в кадр попала надпись на азербайджанском «İstehsalat Birliyi» («Производственное объединение»...