Получение значения индикатора не открывая данных графика

Страницы: 1
RSS
Получение значения индикатора не открывая данных графика
 
Здравствуйте, подскажите, есть ли возможность получение значений индикатора МАСД не открывая сам график и не рассчитывая самому в скрипте. Постановка задачи: Пройтись по таблице текущие торги и отобрать акции с определенным значением МАСД.
 
Максим, А скользящие средние будет Пушкин определять?  :smile:  
 
Попросите товарища пройтись по таблице и сказать результат.
 
В этом и вопрос, что бы не определять и не рассчитывать сам индикатор. А получать его значения по списку акций. Есть функция getCandlesByIndex но она требует чтобы индикатор был на нужной акции нанесен.  Вот пример:

local tableDs, errorDs = CreateDataSource("SPBXM", 'CSCO_SPB', INTERVAL_W1);
local tablIn, countIn, legendaIn = getCandlesByIndex('gistMACD', 0, sizeDs - 1, 1)

Если открыт график акции CSCO_SPB, то значение получено будет. Если я укажу другой тикер, то будет ошибка. Т.к. график данной акции закрыт
 
Максим, Как Вы можете получить значение индикатора, если в таблице текущих торгов только ОДНО значение? Грубо говоря, последний тик (ну и всякая сопутствующая лабуда). А график - это уже набор, причём свечей. Впрочем, не в курсе - графики меня не интересуют, только таблица текущих торгов.
 
Цитата
Максим написал:
Здравствуйте, подскажите, есть ли возможность получение значений индикатора МАСД не открывая сам график и не рассчитывая самому в скрипте. Постановка задачи: Пройтись по таблице текущие торги и отобрать акции с определенным значением МАСД.
вот этот скрипт умеет что то похожее

http://www.bot4sale.ru/download-categories/2012-06-13-15-10-36/item/market-scaner.html
www.bot4sale.ru        t.me/bot4sale
 
Функция CreateDataSource заказывает данные баров, не данные индикатора по ним. Его же надо рассчитать. А кто его рассчитает, если график с индикатором не открыт.
Если не хотите считать индикатор, то только считывать его с графика, который должен быть открыт.
С другой стороны, MACD - это просто две скользящих. Что его считать...
 
Цитата
Nikolay написал:
Если не хотите считать индикатор, то только считывать его с графика, который должен быть открыт.
А как то можно программно подменять для графика Источник цены? К примеру открыл график, добавил индикатор, установил идентификтаор индикатора и пишешь

local tableDs, errorDs = CreateDataSource("SPBXM", 'CSCO_SPB', INTERVAL_W1);
local tablIn, countIn, legendaIn = getCandlesByIndex('gistMACD', 0, sizeDs - 1, 1)

потом подменяешь источник цены:

ЗаменитьИсточникаЦеныНаГрафике(КодКласса, НовыйИсточникЦены)

И уже получаешь значение индиктаора по новой акции

local tablIn, countIn, legendaIn = getCandlesByIndex('gistMACD', 0, sizeDs - 1, 1)
 
Нет. Так делать нельзя.
При этом Вы опять пытаетесь совместить CreateDataSource и getCandlesByIndex.
Эти функции предназначены для разных целей.
 
А все таки, как рациональнее получить значения, например, трех индикаторов для 30 бумаг с тремя тайм-фреймами для отображения в одной таблице? У меня Quik загибается от подобных 30-50 графиков с индикаторами с разными тайм-фреймами. Думаю куда двигаться дальше. Как можно создать (получить) DataStore с историческими значениями индикаторов по набору бумаг и разными тайм-фреймами, чтоб потом просто добавлять туда новые значения? А лучше как в Амиброкере - функции над массивами (растущими), возможно такое в Quik-е?
 
Цитата
s_mike@rambler.ru написал:
Цитата
Максим написал:
Здравствуйте, подскажите, есть ли возможность получение значений индикатора МАСД не открывая сам график и не рассчитывая самому в скрипте. Постановка задачи: Пройтись по таблице текущие торги и отобрать акции с определенным значением МАСД.
вот этот скрипт умеет что то похожее

http://www.bot4sale.ru/download-categories/2012-06-13-15-10-36/item/market-scaner.html
чушь. Лишь бы пропиариться.
 
Дело в том, что эту задачу скрипт легко решает.

если у вас не получилось разобраться или не получается настроить, обращайтесь, я помогу.
www.bot4sale.ru        t.me/bot4sale
Страницы: 1
Читают тему (гостей: 1)
Наверх