mbak (Автор тем)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Индикатор уровней High, Low определенной свечи определенного таймфрейма
 
Прошу помочь в написании индикатора горизонтальной линии уровня Open определенной свечи на примере кода:
Код
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
Согласно этому коду линия открытия свечи 16:30 соединяется кривой линией с открытием свечи 16:30 следующего дня.

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

Код примера:
Код
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
Страницы: 1
Наверх