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

effective volume split version 1.mq5

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

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

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

О программе

Индикатор «Effective Volume Split» рассчитывает эффективный объём сделок, нормализуя объём по ценовому диапазону с учётом изменения цены закрытия. Для каждого бара вычисляется величина Raw, которая отражает соотношение изменения цены и объёма. Далее на основе скользящего медиана значения Raw за заданный период каждый бар классифицируется как «Large» (зелёная линия) или «Small» (красная линия). Индикатор отображается в отдельном окне и использует два буфера отрисовки.

Режим накопительного накопления включает дополнительное сглаживание результатов простой скользящей средней с умножением на длину периода, что позволяет накапливать разницу между большими и малыми объёмами. При отключении режима отображаются непосредственные значения Raw для каждой категории. Параметр PI выступает сглаживающей добавкой, предотвращающей деление на ноль при нулевом ценовом диапазоне.

Индикатор удаляет все графические объекты с префиксом при деинициализации. Расчёт выполняется на каждом тике в функции start(), данные берутся из стандартных ценовых и объёмных данных графика MetaTrader 5.

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

НастройкаОписание
PI Числовой параметр-сглаживающая добавка, используемая в формуле расчёта эффективного объёма. Предотвращает деление на ноль при нулевом ценовом диапазоне и позволяет тонко настроить чувствительность расчёта.
Period Целочисленный параметр, задающий длину периода для расчёта медианы эффективного объёма. Определяет количество баров, используемых для сортировки и нахождения среднего значения. Минимальное значение автоматически ограничивается до 2.
Cumulative Переключатель режима накопительного накопления. При значении true результаты сглаживаются простой скользящей средней и умножаются на длину периода; при значении false отображаются непосредственные значения Raw для каждой категории.
Получить полный код

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

#property version "1.0"
#property strict

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_label1 "Large"

#property indicator_color2 Red
#property indicator_label2 "Small"

input double PI = 0; 
input int Period = 14;  
input bool Cumulative = true;

double PlotL[];
double PlotS[];
double Plot1[];
double Plot2[];
double Raw[];
string IndicatorName;
string IndicatorObjPrefix;
double array[];
int Length;
int    mid;
double median[];

string GenerateIndicatorName(const string target)
{
   string name = target;
   int try = 2;
   while (WindowFind(name) != -1)
   {
      name = target + " #" + IntegerToString(try++);
   }
   return name;
}

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

int deinit()
{
   ObjectsDe

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

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

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

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

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

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

Стоимость полного кода
194,10₽ ≈ $2.37