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

adaptive T3 rainbow

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

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

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

О программе

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

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

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

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

НастройкаОписание
TimeFrame Выбранный таймфрейм для анализа и расчёта индикатора. По умолчанию используется текущий таймфрейм графика. Также поддерживаются специальные режимы calculateValue и returnBars для внутренней передачи данных.
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% кода (символов: 6586)

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

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

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

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

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

Стоимость полного кода
658,60₽ ≈ $8.05