Пользовательские индикаторы > SuperTrendEMAH - трендовый индикатор, созданный на основе пользовательских индикаторов ATRH и EMAH

Дополнительные индикаторы от пользователей Альфа-Директ 4. Готовые решения от пользователей.
Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 361 раз
Контактная информация:

SuperTrendEMAH - трендовый индикатор, созданный на основе пользовательских индикаторов ATRH и EMAH

Непрочитанное сообщение evge » 23 апр 2020, 06:57

SuperTrendEMAH - трендовый индикатор - SuperTrendEMA на часовом таймфрейме, созданный на основе пользовательских индикаторов ATRH и EMAH. Предназначен для работы на нижестоящих таймфреймах до H1.

По мотивам: https://ru.tradingview.com/script/xEtpZd0t/

Параметры
EmaPer - период EMA
TrPer - период ATR
factor - фактор влияния ATR.

Особенности

  1. Имеется запаздывание до 1 часа для таймфрейма ниже H1, т.к. индикатор не перерисовывается на текущем баре. Рисует значения EMA для последнего, полностью рассчитанного, часа - EMA предыдущего часа.
  2. Работает на всех таймфреймах ниже D (не включая)
  3. Для работы индикатора SuperTrendEMAH потребуется установить индикаторы ATRH и EMAH

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

SuperTrendEMAH-00.png
SuperTrendEMAH-00.png (26.35 КБ) 7778 просмотров

SuperTrendEMAH-01.png
SuperTrendEMAH-01.png (28.68 КБ) 7778 просмотров


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

function Initialize()
{
IndicatorName = "SuperTrendEMAH";
PriceStudy = true;
AddInput("Input", Inputs.Candle);
AddSeries("Trend", DrawAs.Line, Color.Black, false);
AddSeries("U", DrawAs.Custom, Color.Green, true);
AddSeries("D", DrawAs.Custom, Color.Red, true);

AddParameter("EmaPer", 4);
AddParameter("TrPer", 7);
AddParameter("factor", 1.7);
}

function Evaluate()
{

// evge 22.04.2020 https://alfadirect4.ru

var I = Input;
var E = MY.EMAH(I, EmaPer);
var A = MY.ATRH(I, TrPer);
var up = E[0] - (factor * A[0]);
var down = E[0] + (factor * A[0]);
U = E[1] > U[1] ? Math.Max(up, U[1]) : up;
D = E[1] < D[1] ? Math.Min(down, D[1]) : down;
Trend = E[0] > D[1] ? 1 : E[0] <U[1] ? -1 : Trend[1];

if (Trend == 1) U.DrawLine(); else D.DrawLine();

}


Скачать индикатор

SuperTrendEMAH.zip
(51.29 КБ) 840 скачиваний
никогда такого не было и вот опять

Вернуться в «Пользовательские индикаторы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей