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

00-PFE_v100

00-pfe_v100@amazing_owner.mq5
Вы автор или правообладатель?

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

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

О программе

Значения PFE могут отображаться для текущего таймфрейма или для любого другого указанного таймфрейма с возможностью дополнительного сглаживания. Индикатор использует четыре буфера отрисовки: линию сглажённого PFE, линию сырого PFE и две линии стрелок для сигналов длинной и короткой позиции.

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

НастройкаОписание
time frame (timeFrame) Таймфрейм — Таймфрейм для расчёта индикатора; 0 означает текущий график.
PFE period (nPeriod) Период PFE — Количество баров, используемых для расчёта значения PFE.
smoothing period (nSmooth) Период сглаживания — Период экспоненциальной скользящей средней для сглаживания значения PFE.
signal condition, abs(pfe[2] - pfe[1]) > PFEchange (PFEchange) Порог изменения сигнала — Минимальная разница между двумя предыдущими значениями сглажённого PFE для формирования сигнала.
signal condition, abs(pfe[2]) >= PFEwidth (PFEwidth) Порог ширины сигнала — Минимальная абсолютная величина сглажённого PFE, необходимая для подтверждения сигнала.
smooth other time frame (bSmoothAll) Сглаживание всех таймфреймов — Определяет, применять ли сглаживание при отображении индикатора на другом таймфрейме.
number of bars, 0: no limit (nMaxBars) Максимальное количество баров — Ограничение на количество обрабатываемых баров; 0 означает без ограничений.
Получить полный код

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

#property  indicator_separate_window

#property  indicator_buffers  4

#property  indicator_color1  Aqua
#property  indicator_color2  -1
#property  indicator_color3  DodgerBlue
#property  indicator_color4  Crimson

#property  indicator_width1  1
#property  indicator_width2  1
#property  indicator_width3  1
#property  indicator_width4  1

#property  indicator_style1  STYLE_SOLID
#property  indicator_style2  STYLE_SOLID

extern int  timeFrame   = 0;     // time frame
extern int  nPeriod     = 10;    // PFE period
extern int  nSmooth     = 5;     // smoothing period
extern int  PFEchange   = 10;    // signal condition, abs(pfe[2] - pfe[1]) > PFEchange
extern int  PFEwidth    = 10;    // signal condition, abs(pfe[2]) >= PFEwidth
extern bool bSmoothAll  = true;  // smooth other time frame
extern int  nMaxBars    = 0;     // number of bars, 0: no limit

double BufferPFEValue[];  // 0: PFE
double BufferPFERaw[];    // 1: raw PFE
double BufferLong[];      // 2: long signal
double BufferShort[];     // 3: short signal

string sIndicatorName;
string sIndPFE = "00-PFE_v100";
int    markLong   = 233;
int    markShort  = 234;

string TimeFrameToStr(int timeFrame)
{
    switch (timeFrame) {
    case 1:     return("M1");
    case 5:     return("M5");
    case 15:    return("M15");
    case 30:    return("M30");
    case 60:    return("H1");
    case 240:   return("H4");
    case 1440:  return("D1");
    case 10080: return("W1");
    case 43200: return("MN");
    }

    return("??");
}

void init()
{
      // код доступен только после оплаты
   }
    if (timeFrame == 0) {
	timeFrame = Period();
    }

    sIndicatorName = sIndPFE + "(" + TimeFrameToStr(timeFrame) + "," + nPeriod + "," + nSmooth + ")";

    IndicatorShortName(sIndicatorName);

    SetIndexBuffer(0, BufferPFEValue);
    SetIndexBuffer(1, BufferPFERaw);
    SetIndexBuffer(2, BufferLong);
    SetIndexBuffer(3, BufferShort);

    SetIndexLabel(0, "PFE smooth");
    SetIndexLabel(1, "PFE raw");
    SetIndexLabel(2, "Long signal");
    SetIndexLabel(3, "Short signal");

    SetIndexStyle(0, DRAW_LINE);
    SetIndexStyle(1, DRAW_LINE);
   

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

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

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

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

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

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

Стоимость полного кода
313,90₽ ≈ $3.84