Какой индикатор нужен для календарного спреда фьючерсов
Открывая позицию в дальнем и ближнем фьючерсах на один и тот же актив неплохо иметь перед глазами график их разности. И 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()
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
AlexGood, любая позиция на бирже выигрышна, если только ты угадал будущий ход рынка. Ни один индикатор не указывает будущего. Этот индикатор избавляет тебя от ручного вычитания и индицирует ход спреда.
Rostislav Kudryashov, подскажите как запустить, версия квика 8.7.0.6 сохраняю в нотепаде с расширением lua и кдладу в luaindicators.В индикаторах не находит.
bbbugai, 12:46 Смарт-лаб при вставке цитаты со скриптом вероломно заменил два дефиса "--" на «нечто своё» ("—") и заменил двойные кавычки " на парные угловые (« и »). И две точки ".." одним символом троеточия "…".
Попробуй исправить у себя. С-Л уже не даёт исправить в исходном сообщении.
Квик не «видит» скриптов с ошибками.
🌤️ Мы запустили Киберпогоду — платформу для прогноза атак и интерпретации рисков для бизнеса
Представьте, что через пару дней вы собираетесь в отпуск к морю. Болезнь в этом случае — недопустимое событие, которое сорвет все планы. Чтобы такого не случилось, вы по утрам проверяете, какой...
📝 Годовое общее собрание акционеров SOFL: как участвовать?
Уважаемые инвесторы, напоминаем, что сейчас в заочном формате проходит голосование по ранее объявленным вопросам ГОСА, а уже 25 июня в 11:00 мск состоится годовое заседание общего собрания...
Снижение ключевой ставки может замедлиться, и экономике придется дольше жить с дорогим кредитом
На заседании 19 июня Банк России в девятый раз подряд снизил ключевую ставку, но уменьшил калибровку шага с 50 до 25 б.п., таким образом, ставка снижена до 14,25%. Базовый сценарий...
Eduard_X, силуанов, в свое время подсидевший Кудрина, всегда безропотно исполняет то, что велит ему оккупировавший Rремль персонаж: ввел принудительную заморозку накопительной части пенсии, повысил...
Победа Бернема открыла ему путь к посту премьера Британии
27 мин. назад
Мэр графства Большой Манчестер Энди Бернем одержал победу на ключевых дополнительных выборах в парламент Великобритании. ...
Prostak,
вот то что вы скинули — там же черным по белому указано что он меньше? Далее образуется дисбаланс за период, далее умножаем этот период на бесконечность (на много лет) и получаем постоя...
«Байсаров забрал "Южуралзолото" за полцены. Рынок задумался и у него есть причины» Итак, сначала немного сухой информации.Предполагаемая структура владения:
Руслан Байсаров → владеет АО ...
Попробуй исправить у себя. С-Л уже не даёт исправить в исходном сообщении.
Квик не «видит» скриптов с ошибками.