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

auto-pivot plotter v1-41.mq5

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

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

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

О программе

Индикатор рассчитывает и отображает на графике уровни пивот-поинтов, а также уровни поддержки и сопротивления, основываясь на данных предыдущего торгового дня. Результаты выводятся в виде 8 линий с различной цветовой индикацией.

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

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

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

НастройкаОписание
StartHour Час начала торгового дня, с которого начинается расчёт уровней.
StartMinute Минута начала торгового дня, с которой начинается расчёт уровней.
DaysToPlot Количество дней истории для отображения. При значении 0 обрабатываются и отображаются все доступные данные.
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 Blue
#property indicator_color2 Blue
#property indicator_color3 Blue
#property indicator_color4 Black
#property indicator_color5 Red
#property indicator_color6 Red
#property indicator_color7 Red
#property indicator_color8 LimeGreen

extern int       StartHour=0;
extern int       StartMinute=0;
extern int       DaysToPlot=15;

double Res3[];
double Res2[];
double Res1[];
double Pivot[];
double Supp1[];
double Supp2[];
double Supp3[];
double Extra1[];

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

int deinit()
  {

   return(0);
  }

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

   if(counted_bars<0) return(-1);

   if(counted_bars>0) counted_bars--;

   int limit=Bars-counted_bars;
   int StartMinutesIntoDay=(StartHour*60)+StartMinute; // 8' o'clock x 60 = 480
   int CloseMinutesIntoDay=StartMinutesIntoDay-Period(); //

   if (CloseMinutesIntoDay<0)
      {
         CloseMinutesIntoDay=CloseMinutesIntoDay+1440;
      }

   int BarsInDay=1440/Period();

   for(int i=0; i<limit; i++)
   { 

      if ( (i<((DaysToPlot+1)*BarsInDay))||DaysToPlot==0)   // Used to limit the number of days
      {                                                     // that are mapped out. Less waiting ;)

      int PreviousClosingBar = FindLastTimeMatchFast(CloseMinutesIntoDay,i+1);
      int PreviousOpeningBar = FindLastTimeMatchFast(StartMinutesIntoDay,PreviousClosingBar+1);

      double PreviousHigh= High[PreviousClosingBar];
      double PreviousLow = Low [PreviousClosingBar];
      double PreviousClose = Close[PreviousClosingBar];

      for (int SearchHighLow=PreviousClosingBar;SearchHighLow<(PreviousOpeningBar+1);SearchHighLow++)
      {
         if (High[SearchHighLow]>PreviousHigh) PreviousHigh=High[SearchHighLow];
         if (Low[SearchHighLow]<PreviousLow) PreviousLow=Low[SearchHighLow];
      }

      double P =  (PreviousHigh+PreviousLow+Previous

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

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

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

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

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

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

Стоимость полного кода
381,40₽ ≈ $4.66