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

SuperTrend - трендовый индикатор, созданный на основе индикаторов ATR и CCI

Добавлено: 08 июн 2017, 08:14
evge
Индикатор SuperTrend (Супертренд) - это трендовый индикатор, созданный на основе индикаторов ATR (Average True Range) с периодом 5 и CCI (Commodity Channel Index) с периодом 50.

CCI(50) здесь служит для определения тренда, а ATR(5) используется в расчете уровней. Так, если CCI(50) принимает положительное значение, то индикатор в зависимости от значений минимумов баров, а так же ATR(5), либо растет, либо рисует горизонтальный участок. Ну а когда CCI(50) меньше нуля, все наоборот – индикатор либо понижается, либо рисует горизонтальный участок.

Параметры

PeriodATR - период для индикатора ATR (по умолчанию 5)
PeriodCCI - период для индикатора CCI (по умолчанию 50)
K - коэффициент ATR. Для увеличения или уменьшения действия ATR на индикатор. Задавать можно значения меньше или больше единицы. 1 = ATR.

Примеры работы

SuperTrend-01.png
Пример отображения индикатора SuperTrend при параметрах PeriodATR = 5, PeriodCCI = 100, K = 1
SuperTrend-01.png (35.91 КБ) 29859 просмотров

SuperTrend-02.png
Пример отображения индикатора SuperTrend при параметрах PeriodATR = 5, PeriodCCI = 100, K = 2
SuperTrend-02.png (35.92 КБ) 29822 просмотра

SuperTrend-03.png
Пример отображения индикатора SuperTrend при параметрах PeriodATR = 50, PeriodCCI = 100, K = 3
SuperTrend-03.png (40.64 КБ) 29819 просмотров


Исходный текст индикатора:

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

function Initialize()
{
IndicatorName = "SuperTrend";
PriceStudy = true;
AddInput("Input", Inputs.Candle);
AddSeries("U", DrawAs.Custom, Color.Green);
AddSeries("D", DrawAs.Custom, Color.Red);
AddSeries("ST", DrawAs.Custom, Color.Transparent, false);

AddParameter("PeriodATR", 5);
AddParameter("PeriodCCI", 50);
AddParameter("K", 2);
}

function Evaluate()
{

// evge 08.06.2017 http://alfadirect4.ru

var I = Input;

var A = ATR(I, PeriodATR);
var C = CCI(I, PeriodCCI);
var MPer = Math.Max(PeriodATR, PeriodCCI);

if (C[0] >= 0)
{
ST = I.Low[0] - A[0] * K; if (CurrentIndex > MPer) ST[0] = Math.Max(ST[0], ST[1]);
U[1] = ST[1]; U[0] = ST[0]; U.DrawLine();
}
else
{
ST = I.High[0] + A[0] * K; if (CurrentIndex > MPer) ST[0] = Math.Min(ST[0], ST[1]);
D[1] = ST[1]; D[0] = ST[0]; D.DrawLine();
}

}


Скачать исходный текст

SuperTrend.zip
(864 байт) 1449 скачиваний

Исправленный под новые версии, прежний в новых версиях АД4 перестал компилироваться с требованием наименования изменения ряда на Input. Ряд I заменен на Input.
SuperTrend.zip
Исправленный под новые версии АД4 вариант (I, Input)
(877 байт) 299 скачиваний

Re: SuperTrend - трендовый индикатор, созданный на основе индикаторов ATR и CCI

Добавлено: 08 июн 2017, 09:08
nikkrav
Супер!!!

Спасибо огромное!!!

Re: SuperTrend - трендовый индикатор, созданный на основе индикаторов ATR и CCI

Добавлено: 08 июн 2017, 11:09
evge
Ввел ещё один параметр K - коэффициент ATR

если захочется влияние АТР на индикатор усилить

Re: SuperTrend - трендовый индикатор, созданный на основе индикаторов ATR и CCI

Добавлено: 08 июн 2017, 11:51
nikkrav
Замечательно!
Сейчас протестирую.
В статье пишут про МТФ Супер тренд - это возможно реализовать?

Re: SuperTrend - трендовый индикатор, созданный на основе индикаторов ATR и CCI

Добавлено: 08 июн 2017, 11:55
evge
nikkrav писал(а):МТФ


мульти таймфрейм - как раз этого в АД4 нет. Т.е. находясь в ТФ 1 час "нельзя" получить данные от выше или нижестоящих таймфреймов и построить по ним индикаторы.

Re: SuperTrend - трендовый индикатор, созданный на основе индикаторов ATR и CCI

Добавлено: 08 июн 2017, 12:20
evge
предостерегу! не грааль!

т.к. есть периоды, естественно, где можно хорошо "слить" будет :)

как пример

SuperTrend-04.png
SuperTrend-04.png (39.61 КБ) 29818 просмотров

Re: SuperTrend - трендовый индикатор, созданный на основе индикаторов ATR и CCI

Добавлено: 08 июн 2017, 12:32
nikkrav
На К чего-то не реагирует.

Re: SuperTrend - трендовый индикатор, созданный на основе индикаторов ATR и CCI

Добавлено: 08 июн 2017, 12:50
evge
nikkrav писал(а):На К чего-то не реагирует.


Код весь скопировали, или только параметр добавили? На скриншотах я показал как влияет.

Re: SuperTrend - трендовый индикатор, созданный на основе индикаторов ATR и CCI

Добавлено: 08 июн 2017, 12:55
evge
SuperTrend-05.png

SuperTrend-06.png

Re: SuperTrend - трендовый индикатор, созданный на основе индикаторов ATR и CCI

Добавлено: 08 июн 2017, 15:21
nikkrav
Так как на скриншоте у меня тоже изменяется, но при тестировании вообще не влияет на результат ни на больших,ни на малых ТФ.