индикатор Price Channel, не могу получить корректные данные.

Страницы: 1
RSS
индикатор Price Channel, не могу получить корректные данные., верхняя линия - "upper", нижняя "lower"?
 
 {PRICE,1,low} <= {PRICE_CHANNEL,lower} реагирует на обе линии
и
{PRICE,1,hi} >= {RTS_PRICE_CHANNEL,upper} то же самое, ловит обе линии, может вместо upper и lower что-то другое вводить?
 
Можно где-то скачать открытый код?
 
Цитата
Антон Иволгин написал:
Можно где-то скачать открытый код?
Добрый день.

Готовый код можно скачать по ссылке:
ftp://ftp.quik.ru/public/INDICATORS.zip

В архиве это индикатор PC.lua
 
Ссылка битая, есть другой источник?
 
Цитата
Олег написал:
Ссылка битая, есть другой источник?
Добрый день.
Можно скачать на сайте по ссылке: https://arqatech.com/upload/iblock/398/INDICATORS.zip
 
Здравствуйте.
Пытаюсь получить скриптом данные индикатора Price Channel

local DPC=getNumCandles(indic_graph_id)
DPC_t,DPC_n,DPC_i=getCandlesByIndex(indic_graph_id, 0, DPC-3, 2) --забираем таблицу значений для двух предыдущих значений DPC
message(tostring(dump(DPC_t[0])))

И выдаются значения только для верхней границы диапазона.

{ ["low"] = 58.55,["doesExist"] = 1,["close"] = 58.55,["datetime"] = { ["ms"] = 0,["year"] = 2019,["day"] = 15,["week_day"] = 4,["month"] = 8,["sec"] = 0,["hour"] = 21,["min"] = 45,} ,["high"] = 58.55,["open"] = 58.55,["volume"] = 1,}

Подскажите, как получить значения нижней границы?

И второй вопрос - если использовать не встроенный индикатор, а тот, который вы предлагаете в архиве (он со звездочкой) отдельным файлом, то он при запросе скриптом выдает все значения цены нулевые.

{ ["low"] = 0,["doesExist"] = 0,["close"] = 0,["datetime"] = { ["ms"] = 0,["year"] = 2019,["day"] = 15,["week_day"] = 4,["month"] = 8,["sec"] = 0,["hour"] = 21,["min"] = 45,} ,["high"] = 0,["open"] = 0,["volume"] = 0,}

Что я делаю не так?
 
Цитата
DPC_t,DPC_n,DPC_i=getCandlesByIndex(indic_graph_id, 0, DPC-3, 2)
Для данного индикатора второй параметр ф-ции getCandlesByIndex -0. Это для верхней границы.
Для нижней он равен 2.
 
Цитата
Игорь Б написал:
Для нижней он равен 2.
Игорь, спасибо.
Вам и остальным читателям на заметку. Встроенный и внешний индикатор Price Channel имеют разные вторые параметры:

Для встроенного в Квик индикатора
0 - верхняя линия
1 - средняя линия
2 - нижняя линия
3 - nil

Для внешнего индикатора (архив на скачивание выше):
0 - нулевые значения
1 - средняя линия
2 - верхняя линия
3 - нижняя линия
 
Цитата
Олег написал:
Для внешнего индикатора (архив на скачивание выше):
В скрипте это легко меняется. Указать так:
function OnCalculate(Index)
return ConvertValue(Settings, func(Index, Settings)),tonumber(Settings.Horizontal_line)
end

function PC() --Price Channel ("PC")
--какойтокод
return val_h,(val_h+val_l)/2,val_l
--какойтокод
end
 
Цитата
Sergey Gorokhov написал:
Цитата
Олег написал:
Для внешнего индикатора (архив на скачивание выше):
В скрипте это легко меняется. Указать так:
function OnCalculate(Index)
return ConvertValue(Settings, func(Index, Settings)),tonumber(Settings.Horizontal_line)
end

function PC() --Price Channel ("PC")
--какойтокод
return val_h,(val_h+val_l)/2,val_l
--какойтокод
end
Тогда индикатор отрисовывает только одну верхнюю линию. Надо еще что-то менять.
 
Можно получить комментарий что возвращает (ниже) это выражение в Price Channel? Линий же должно быть три? Что то не разберусь. Как одно выражение дает три значения?
tonumber(Settings.Horizontal_line), ConvertValue(Settings, func(Index, Settings))
Страницы: 1
Читают тему (гостей: 2)
Наверх