← К каталогу
Исходный код · ID 1481

macd_of_nma_v1.02.mq4

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Индикатор MACD of NMA представляет собой модификацию классического индикатора MACD, в которой вместо стандартных экспоненциальных скользящих средних используется нормализованная скользящая средняя (NMA). Индикатор отображается в отдельном окне и содержит шесть буферов: линию MACD, сигнальную линию, гистограмму, а также отдельные буферы положительных и отрицательных значений гистограммы.

Основной расчёт строится на разнице между быстрой и медленной НМА, применёнными к выбранной цене. Сигнальная линия рассчитывается как усреднённое значение от линии MACD с настраиваемым периодом. Гистограмма масштабируется множителем и разбивается на положительные и отрицательные значения с разными цветами.

Индикатор поддерживает четыре метода расчёта скользящих средних (SMA, EMA, SMMA, LWMA) для обеих НМА. По желанию на графике отображаются стрелки, указывающие на смену направления гистограммы, позиционируемые с учётом среднего истинного диапазона (ATR).

Настройки программы

НастройкаОписание
MACD_price Тип цены, используемой для расчёта индикатора (например, закрытие, открытие, высокая, низкая).
NMA_Fast Период быстрой нормализованной скользящей средней.
NMA_Fast_sample Период сэмплирования для расчёта быстрой нормализованной скользящей средней.
NMA_Fast_Mode Метод расчёта быстрой нормализованной скользящей средней (SMA, EMA, SMMA, LWMA).
NMA_Slow Период медленной нормализованной скользящей средней.
NMA_Slow_sample Период сэмплирования для расчёта медленной нормализованной скользящей средней.
NMA_Slow_Mode Метод расчёта медленной нормализованной скользящей средней (SMA, EMA, SMMA, LWMA).
SignalSMA Период усреднения для расчёта сигнальной линии.
Magnifier Множитель, определяющий масштаб отображения гистограммы.
ShowArrows Переключатель отображения стрелок на графике при смене направления гистограммы.
arrowsIdentifier Строковый идентификатор, используемый для именования объектов стрелок на графике.
arrowsUpColor Цвет стрелок, указывающих на положительное направление гистограммы.
arrowsDnColor Цвет стрелок, указывающих на отрицательное направление гистограммы.
Получить полный код

Поиск по коду файла

#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 C'40,40,40'
#property indicator_color2 Gainsboro
#property indicator_color3 C'35,95,235'
#property indicator_color4 C'200,0,0'
#property indicator_color5 DimGray
#property indicator_color6 DarkOrange

#property indicator_style1 2
#property indicator_width2 1
#property indicator_width3 2
#property indicator_width4 2
#property indicator_width5 3
#property indicator_width6 1

extern ENUM_APPLIED_PRICE  MACD_price = PRICE_CLOSE;
extern int            NMA_Fast        = 12;
extern int            NMA_Fast_sample = 6;
extern ENUM_MA_METHOD NMA_Fast_Mode   = MODE_LWMA;
extern int            NMA_Slow        = 26;
extern int            NMA_Slow_sample = 13;
extern ENUM_MA_METHOD NMA_Slow_Mode   = MODE_LWMA;
extern int            SignalSMA       = 9;
extern double         Magnifier       = 1.5;
extern bool           ShowArrows       = false;
extern string         arrowsIdentifier = "MACD_NMA arrows";
extern color          arrowsUpColor    = DeepSkyBlue;
extern color          arrowsDnColor    = Red;

double MACDLineBuffer[];
double SignalLineBuffer[];
double HistogramBufferUP[];
double HistogramBufferDN[];
double MACDHistoBuffer[];
double HistogramBuffer[];

int deinit()
{
   string lookFor       = arrowsIdentifier+":";
   int    lookForLength = StringLen(lookFor);
   for (int i=ObjectsTotal()-1; i>=0; i--)
   {
      string objectName = ObjectName(i);
         if (StringSubstr(objectName,0,lookForLength) == lookFor) ObjectDelete(objectName);
   }
   return(0);
}

int init()
{
      // код доступен только после оплаты
   }

int start()
{
      // код доступен только после оплаты
   }

double iNma(double price, double period, double samplePeriod, int mode, int i, int id=0)
{
   do

Показано первые 50% кода (символов: 5237)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
523,70₽ ≈ $6.40