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

Прошу помочь с написанием индикатора

Добавлено: 31 авг 2017, 11:48
Marcello
Добрый день!
Прошу помочь с написанием индикатора. Код в амиброкер выглядит так:

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

Per = 13;
Med = MA( ( H + L ) / 2, Per );
Range = Max( C - Ref( C, -1 ), H - L );
LRange = MA( Range, Per ) / Per;
ROpen = ( O - Med ) / LRange;
RHigh = ( H - Med ) / LRange;
RLow = ( L - Med )  /LRange;
RClose = ( C - Med ) / LRange;
PlotOHLC( ROpen, RHigh, RLow, RClose, "", colorBlack, styleCandle );

Re: Прошу помочь с написанием индикатора

Добавлено: 31 авг 2017, 12:07
evge
а можно ещё скриншот индикатора на графике или в отдельной области?

Re: Прошу помочь с написанием индикатора

Добавлено: 31 авг 2017, 12:10
evge
тут видно что считает MA через среднее значение свечки от (High+Low)/2, в АД4 придётся добавлять ещё один индикатор чтобы рассчитать от него MA, либо без индикатора считать самим. Непонятна пока функция ref().

Re: Прошу помочь с написанием индикатора

Добавлено: 31 авг 2017, 12:12
evge
C ref разобрался это просто обращение к данным в истории назад, как в АД4 Input1.Close[1] - это аналог в данном примере для Ref(C, -1).

Re: Прошу помочь с написанием индикатора

Добавлено: 31 авг 2017, 12:14
evge
Если я правильно понимаю, он на выходе должен свечки отрисовать. Вот это в АД4 не совсем можно на сегодня, придётся рисовать что-то похожее на бар или другим способом индикации производить (линии, например). На сегодняшний момент нет функции в скриптах АД4 для отрисовки бара с хвостами.

Re: Прошу помочь с написанием индикатора

Добавлено: 31 авг 2017, 12:16
Marcello
Непонятна пока функция ref()

Это ссылка на предыдущее значение. В данном случае это сравнение текущего закрытия с предыдущим. Предполагаю, что в синтаксисе АД4.0 это может выглядеть так:

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

Range = Math.Max( Input.Close[0] - Input.Close[-1], Input.High[0] - Input.Low[0] )

Картинка выглядит так: Вверху обычный график. Внизу - индикатор.

Re: Прошу помочь с написанием индикатора

Добавлено: 31 авг 2017, 13:49
evge

Re: Прошу помочь с написанием индикатора

Добавлено: 31 авг 2017, 18:13
evge
evge писал(а):Если я правильно понимаю, он на выходе должен свечки отрисовать. Вот это в АД4 не совсем можно на сегодня, придётся рисовать что-то похожее на бар или другим способом индикации производить (линии, например). На сегодняшний момент нет функции в скриптах АД4 для отрисовки бара с хвостами.


Сам себе отвечу. Нарисовать можно. По ссылке выше я привел код (см. по тексту), где отрисовал индикатор в виде японской свечки.