Какой индикатор нужен для календарного спреда фьючерсов
Открывая позицию в дальнем и ближнем фьючерсах на один и тот же актив неплохо иметь перед глазами график их разности. И 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()
Друзья, привет! 🌟 Завершаем год рекордными цифрами! За 2025 года мы ввели в эксплуатацию более 1,2 млн кв.м жилой недвижимости — это 131 корпус, выдано более 31 тысячи ключей клиентам в...
На фоне ограниченного выбора длинных выпусков на российском рынке новые облигации «Атомэнергопрома» закономерно становятся одними из самых заметных инструментов для долгосрочных стратегий. С...
Мы приняли решение проводить торги на фондовом и срочном рынках в дни официальных праздников 23 февраля, 1 мая, 12 июня и 4 ноября 2026 года . Торги в эти дни будут проводиться в формате...
aaa bbb, сколько процент дефолтов ВДО в РФ в год? 5?
по какой средней ставке можно было набрать говнобумаг? 25?
какой гарантированный доход даже если вы во все дефолты попадёте?
в развиваю...
Dem Oppositus, купон могут объявить на несколько купонных периодов вперед (обычно на год… бывает и на полгода). Дальше опять оферта (с изменением купона по ситуации). Учитывая много оферт на 26 год...
Вот и … завершился последний трейд в этом году.
Фьюч ММВБ 5мин
Переносить конечно же не стал. Ухожу на праздники в кэше.Начало сделки: https://t.me/potorgoval/1018 Авто-репост. Читать в...
Doxod, Рано или поздно котировки акции ОАК пойдут вверх, экономику не обманешь, уже есть первые результаты по окончанию сертификации, далее серийное производство и контракты с компаниями. Индусы не...