Страница 1 из 1

индикатор как период другого индикатора

Добавлено: 17 окт 2018, 19:16
АлександрТ
Добрый день.
Подскажите, можно ли значения, полученные из одного индикатора использовать в качестве периода другого индикатора?
Никак не получается это сделать. Ошибку вроде бы не пишет, но и значения не считаются.

Re: индикатор как период другого индикатора

Добавлено: 26 окт 2018, 23:19
АлександрТ
Вопрос без ответа, так можно или нельзя? разработчиков на форуме нет?

Re: индикатор как период другого индикатора

Добавлено: 27 окт 2018, 07:11
evge
Приветствую!

Приведите пример того что не получается.

Попробую у себя.

Что-то по типу

Код: Выделить всё

var A = SMA(Input, 10);
var B = EMA(Input, A[0]);


?

Re: индикатор как период другого индикатора

Добавлено: 31 окт 2018, 10:58
Balalayka
Из FAQ

Можно ли выполнить индикатор от индикатора?
Следующий код возвращает одно значение

Код: Выделить всё

A0 = RSI(Input, 14)[0];


Следующий код возвращает серию

Код: Выделить всё

var A = RSI(Input, 14);


Серию можно отправить как параметр в вызов другого индикатора, вместо Input

Код: Выделить всё

var AC = SMA(A, 25);


далее AC[x] - обращение к значениям ряда, где x - смещение
Вариант в одну строку

Код: Выделить всё

var AC = SMA(RSI(Input, 14), 25)[0];

Re: индикатор как период другого индикатора

Добавлено: 02 ноя 2018, 21:14
АлександрТ
Добрый день!
Да, как Input можно отправить, но как период (второй параметр функции) не получается.
Сейчас попробую привести пример...

Re: индикатор как период другого индикатора

Добавлено: 02 ноя 2018, 21:38
АлександрТ
evge писал(а):Приветствую!

Приведите пример того что не получается.

Попробую у себя.

Что-то по типу

Код: Выделить всё

var A = SMA(Input, 10);
var B = EMA(Input, A[0]);


?


Добрый день.

Да, подобно Вашему примеру.


function Initialize()
{
IndicatorName = "MY.RoncoAdaptivePriceChannel";
PriceStudy = true;
AddInput("Input", Inputs.Candle);
AddSeries("Upper", DrawAs.Line, Color.Green);
AddSeries("Lower", DrawAs.Line, Color.Red);
AddSeries("Xperiod", DrawAs.Line, Color.Blue, true, Axes.New);
AddParameter("Ratio", 150);
}

function Evaluate()
{
Xperiod = Math.Max(Math.Truncate(Ratio / ADX(Input, 14).GetValue("ADX", 0)),1);
Upper = MY.PriceChannel(Input, Xperiod[0]).GetValue("Upper", 0);
Lower = MY.PriceChannel(Input, Xperiod[0]).GetValue("Lower", 0);
}

Re: индикатор как период другого индикатора

Добавлено: 11 ноя 2018, 01:18
АлександрТ
evge, не получается?