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

adaptive T3 Rainbow

adaptive t3 rainbow - generic nmc.mq5
Вы автор или правообладатель?

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

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

О программе

Адаптивный индикатор T3 Rainbow для MetaTrader 5, отображаемый на графике в виде единственной линии цвета LimeGreen. Индикатор рассчитывает несколько сглаженных значений на основе алгоритма T3 с различными периодами и адаптивно корректирует их с использованием стандартного отклонения и скользящей средней.

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

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

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

НастройкаОписание
TimeFrame Рабочий таймфрейм индикатора, а также режим работы: расчёт значения или возврат количества баров
T3Price Тип цены, используемой для расчёта индикатора (например, цена закрытия)
Interpolate Включает или отключает интерполяцию значений индикатора для плавного отображения между барами при смене таймфрейма
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1  LimeGreen
#property indicator_width1  2

extern string TimeFrame       = "Current time frame";
extern string T3Periods       = "14;17;20;23;26;29;32;35";
extern string T3Hots          = "0.7;0.7;0.7;0.7;0.7;0.7;0.7;0.7";
extern string T3AdaptPeriods  = "25;25;25;25;25;25;25;25";
extern string T3Originals     = "T;T;T;T;T;T;T;T";
extern int    T3Price         = PRICE_CLOSE;
extern bool   Interpolate     = true;

double Buffer0[];

string indicatorFileName;
bool   returnBars;
bool   calculateValue;
int    timeFrame;

int    size;
bool   originals[];
double aperiods[];
double periods[];
double hots[];

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 = MathMin(Bars-counted_bars,Bars-1);
         if (returnBars) { Buffer0[0] = MathMin(limit+1,Bars-1); return(0); }

   if (calculateValue || timeFrame == Period())
   {
      for(int i=limit; i >= 0; i--)
      {
         double sum = 0;
         for (int k=0; k<size; k++)
         {
            double dev = iStdDev(NULL,0,aperiods[k],0,MODE_SMA,T3Price,i);
            double avg = iSma(dev,aperiods[k],i,k);
            if (dev!=0) 
                   double period = periods[k]*avg/dev;
            else          period = periods[k];
            if (period<3) period = 3;

            sum += iT3(iMA(NULL,0,1,0,MODE_SMA,T3Price,i),period,hots[k],originals[k],i,k);
         }      
         if (k>0) Buffer0[i] =  sum/k;       

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

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

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

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

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

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

Стоимость полного кода
659,50₽ ≈ $8.06