ATR_Momentum_Color
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «atr_momentum_color.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
ATR_Momentum_Color — это пользовательский индикатор для MetaTrader 5, который рассчитывает осциллятор, объединяющий анализ моментума и среднего истинного диапазона (ATR). Линия индикатора отображается в отдельном окне с изменением цвета в зависимости от направления движения.
Индикатор нормализует моментум, дел его на произведение ATR на заданный множитель, и масштабирует результат, ограничивая его диапазон значениями от -100 до 100. Дополнительно доступна экспоненциальная фильтрация сглаженного значения.
Цвет линии меняется в зависимости от положения относительно нуля и направления изменения: зелёные оттенки — при положительных значениях, оранжевый и красный — при отрицательных. На графике установлены три горизонтальных уровня: 70, 0 и -70.
Настройки программы
| Настройка | Описание |
|---|---|
| Momentum & ATR period (InpPeriod) | Период — Период расчёта моментума и ATR |
| ATR multiplier (InpDeviation) | Отклонение — Множитель ATR, используемый для нормализации осциллятора |
| Optional smoothing (used internally) (InpSignalPeriod) | Период сглаживания — Период экспоненциального сглаживания, применяемый внутренне |
Поиск по коду файла
#property version "1.00"
#property description "ATR_Momentum_Color"
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots 2
#property indicator_label1 "ATR_Momentum_Color"
#property indicator_type1 DRAW_COLOR_LINE
#property indicator_color1 clrLimeGreen, clrGreen, clrOrange, clrRed
#property indicator_width1 2
input int InpPeriod = 14; // Momentum & ATR period
input double InpDeviation = 1.5; // ATR multiplier
input int InpSignalPeriod = 1; // Optional smoothing (used internally)
double ExtOscBuffer[]; // Main oscillator values
double ExtColorIndex[]; // Color index buffer
int OnInit()
{
// код доступен только после оплаты
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
// код доступен только после оплаты
}
int start = (prev_calculated == 0) ? InpPeriod + 2 : prev_calculated - 1;
if (start >= rates_total) return(rates_total);
double atr[], momentum[], smoothed[];
ArrayResize(atr, rates_total);
ArrayResize(momentum, rates_total);
ArrayResize(smoothed, rates_total);
for (int i = start; i < rates_total; i++)
{
if (i < InpPeriod)
Показано первые 50% кода (символов: 2595)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.