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

iCompass

icompass_v1.2.mq5
Вы автор или правообладатель?

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

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

О программе

iCompass — пользовательский индикатор для MetaTrader 5, отображаемый в окне графика. Индикатор рассчитывает и рисует две линии тренда: восходящую и нисходящую, используя скользящую среднюю и анализ ценовых диапазонов за заданное число баров. Линии отображаются разными цветами и толщиной, что позволяет визуально оценивать направление движения цены.

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

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

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

НастройкаОписание
BarsCount Задаёт количество баров, обрабатываемых индикатором при расчёте. Влияет на глубину отображаемой истории.
MAperiods Период скользящей средней, используемой для построения линий тренда и расчёта сглаживания.
ShiftBars Смещение баров, применяемое при расчёте значений индикатора относительно текущего бара.
AlertON Включает или отключает подачу звуковых и всплывающих оповещений при смене направления тренда.
Получить полный код

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

#property version     "1.2"
#property description "iCompass"
#property strict

#property  indicator_chart_window
#property  indicator_buffers 2
#property  indicator_color1 clrMidnightBlue
#property  indicator_color2 clrDarkViolet
#property  indicator_width1 2
#property  indicator_width2 2

input int  BarsCount = 10000;
input int  MAperiods = 30;
input int  ShiftBars = 0;
input bool AlertON   = TRUE;

double ExtBuffer0[];
double ExtBuffer1[];
double ExtBuffer2[];
double ExtBuffer3[];
double ExtBufferh1[];
double ExtBufferh2[];
double MovingAverage[];
bool AlertBuy=TRUE;
bool AlertSell=TRUE;
int AlertSignal=0;

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

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 i;
   int k;
   int Limit=0;
   double Value=0;
   double LastValue=0;
   double GetBuffer=0;
   double MedianPrice;
   double MinLow=0;
   double MaxHigh=0;
   double sum=0;
   double sumw=0;
   double weight;
   double SmoothBars=NormalizeDouble(MAperiods/3,0);
   int CountedBars=BarsCount;//IndicatorCounted();
   if(CountedBars>Bars-1-SmoothBars)
      CountedBars=Bars-1-(MAperiods/3);
   if(CountedBars<0)
      return(-1);
   if(CountedBars>0)
      CountedBars--;
   Limit=CountedBars;

   for(i=0; i<Limit; i++)
     {
      MovingAverage[i]=iMA(NULL,0,MAperiods,0,0,0,i+ShiftBars);
      MaxHigh=high[Highest(NULL,0,MODE_HIGH,MAperiods,i+ShiftBars)];
      MinLow=low[Lowest(NULL,0,MODE_LOW,MAperiods,i+ShiftBars)];
      MedianPrice=(high[i+ShiftBars]+low[i+Shif

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

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

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

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

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

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

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