Прошу помочь в написании индикатора горизонтальной линии уровня Open определенной свечи на примере кода:
Согласно этому коду линия открытия свечи 16:30 соединяется кривой линией с открытием свечи 16:30 следующего дня.

Мне же требуется прямая горизонтальная линия до конца дня.
Пример:

Код примера:
Код |
---|
Settings = { Name = "*line", line = { { Name = "line", Color = RGB(140, 140, 140), Type = TYPE_LINE } } } function Init() return 1 end function OnCalculate(index) if (T(index).hour == 16) and (T(index).min == 30) then return O(index) end end |

Мне же требуется прямая горизонтальная линия до конца дня.
Пример:

Код примера:
Код |
---|
Settings= { Name="*DayOpenPrice", line = { { Name = "DayOpenPrice_line", Color = RGB(0,0,255), Type = TYPE_LINE, Width = 2 } } } local curDayOpenPrice = nil local lastSize = 0 function Init() return 1 end function GetCandleDate(ind) -- Получить полную дату свечи по индексу ind local dt = T(ind) local candleDate = 0 if dt then candleDate = (tonumber(dt.year) or 0) * 10000 -- 20230000 candleDate = candleDate + (tonumber(dt.month) or 0) * 100 -- 20230700 candleDate = candleDate + (tonumber(dt.day) or 0) -- 20230728 end return candleDate end function OnCalculate(index) if index == 0 then return nil end if index == (lastSize-1) then -- Для проверки не каждый тик, а только при появлении новой свечи return nil else lastSize = Size() -- Запомнить текущее количество свечей local curDate = GetCandleDate(index) -- Дата текущей свечи local lastDate = GetCandleDate(index - 1) -- Дата предыдущей свечи if curDate > lastDate then -- Если дата на текущей свече больше даты на предыдущей (т.е. сменилась дата - начался новый торговый день) curDayOpenPrice = O(index) -- Сохранить данные цены открытия текущей свечи для отрисовки на графике end end return curDayOpenPrice end |