Тикер в индикаторе.

Страницы: 1
RSS
Тикер в индикаторе.
 
Споткнулся тут о проблему: в скрипте индикатора нужно обрабатывать свечи для бумаги прошедшей сплит по правилам, отличным от правил обработки других инструментов. Как в скрипте индикатора можно получить наименование тикера обрабатываемой свечи?
 
Цитата
Kolossi написал:
Споткнулся тут о проблему: в скрипте индикатора нужно обрабатывать свечи для бумаги прошедшей сплит по правилам, отличным от правил обработки других инструментов. Как в скрипте индикатора можно получить наименование тикера обрабатываемой свечи?
Разве существуют универсальные правила обработки сплитов? Причины сплитов могут быть различны: Увеличение ликвидности, Улучшение имиджа, Изменение структуры капитала.
Я столкнулся с неоходимость приведения к общему массштабу.
Цитата
Kolossi написал:
Как в скрипте индикатора можно получить наименование тикера обрабатываемой свечи?
Нужно использовать функцию getSecurityInfo для получения информации о тикере. Вот пример:

local function getTicker(class_code, sec_code)
   local sec_info = getSecurityInfo(class_code, sec_code)
   if sec_info ~= nil then
       return sec_info.short_name
   else
       return nil
   end
end
 
Цитата
VPM написал:
Цитата
Kolossi написал:
Как в скрипте индикатора можно получить наименование тикера обрабатываемой свечи?
Нужно использовать функцию getSecurityInfo для получения информации о тикере. Вот пример:

local function getTicker(class_code, sec_code)
   local sec_info = getSecurityInfo(class_code, sec_code)
   if sec_info ~= nil then
       return sec_info.short_name
   else
       return nil
   end
end
Из этого совета можно сделать анекдот : " Что бы получить имя тикера нужно в параметре функции указать sec_code".
Такой же ответ мне выдал ChatGPT, вы не родственники?  
 
Kolossi,  Насчет родственных связей Вы со своей бабушкой пообщайтесь.
Код
function BALVAN() 
       
          local Price={}
 
 return function (I, FSettings, ds)

    local ds=ds
    local FSettings=(FSettings or {})
    local P=(FSettings.period or 9)
    local v_t=(FSettings.v_t or 'C')  
    --------------------------------

    if I == 1 then 

       Price={};  

       local info=getDataSourceInfo(); 

       if info then
               interval,symbol,class = info.interval,info.sec_code,info.class_code
               local sec_info = getSecurityInfo(class_code, sec_code)
       end
    end
 end 
end

Вернули коды и получайте что нужно, не понятно в чем проблема! В примере выше возвращает short_name - короткое имя.
 
Ну вот. Со второй попытки в коде появилась функция getDataSourceInfo() за подсказку которой могу поблагодарить.
Остальной гарнир полностью лишний.  
 
Рано я обрадовался. С утра и до открытия сессии getDataSourceInfo().sec_code возвращает пустое значение ((
 
Вылечилось перезаказом данных
Страницы: 1
Читают тему
Наверх