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

tma+cg 4c aa mtf tt.mq5

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

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

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

О программе

Индикатор TMA+CG 4C AA MTF TT рассчитывает треугольную скользящую среднюю (TMA) с настраиваемой длиной и отображает полосы отклонений на основе стандартного отклонения цены. Поддерживает работу на различных таймфреймах, включая мультитаймфреймный режим, при котором данные старшего таймфрейма переносятся на текущий график.

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

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

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

НастройкаОписание
TimeFrame Таймфрейм, на котором рассчитывается индикатор. Может быть установлен на любой период для мультитаймфреймного анализа. Значение PERIOD_CURRENT означает расчёт на текущем графике.
HalfLength Параметр длины треугольной скользящей средней (TMA). Задаёт половину периода усреднения. Минимальное допустимое значение равно 1.
Price Тип цены, используемый для расчёта треугольной скользящей средней и полос отклонений.
Deviations Множитель отклонения, определяющий ширину верхней и нижней полос вокруг треугольной скользящей средней. Умножается на квадратный корень из стандартного отклонения.
Interpolate Переключатель интерполяции значений индикатора между барами старшего таймфрейма. При включённом режиме значения плавно распределяются между соответствующими барами текущего графика.
ShowTMA Определяет, какие элементы индикатора отображаются на графике: только линию TMA, только полосы, и то и другое, или ничего не отрисовывать.
CalcArrows Задаёт режим расчёта стрелок сигналов: отключённый режим без стрелок, режим по тренду открытия/закрытия свечей или режим смены цвета полос.
AlertsOnHiLo Включает или отключает генерацию уведомлений при касании ценой максимума или минимума барабана верхней/нижней полосы. При значении true уведомления срабатывают по ценам High/Low, при false — по ценам Close.
SIGNALBAR Номер бара относительно текущего, на котором проверяется условие для формирования сигнала и отправки уведомления.
SoundFile Путь к звуковому файлу, который воспроизводится при срабатывании звукового уведомления.
Получить полный код

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

#property description "Индикатор перерисовывается!!!"
#property description "^^^^   ^^^   ^^^   ^^^   ^^^   ^^^^" ////   ^^^   ^^^"     ^^^   ^^^   ^^^   ^^^   ^^^^"
#property description "Почта:  t*******e*@mail.ru" 
#property version  "6.0"

#property indicator_chart_window
#property indicator_buffers 7

#property indicator_color1  clrSilver //Gray
#property indicator_color2  clrDarkOrange  //Red  //Maroon
#property indicator_color3  clrLime  //DarkBlue
#property indicator_color4  clrGold  //Red
#property indicator_color5  clrAqua  //Blue
#property indicator_color6  clrRed  //DarkOrange
#property indicator_color7  clrDeepSkyBlue

#property indicator_width1  0
#property indicator_width2  2
#property indicator_width3  2
#property indicator_width4  0
#property indicator_width5  0
#property indicator_width6  2
#property indicator_width7  2

#property indicator_style1  STYLE_DOT
#property indicator_style2  STYLE_DOT
#property indicator_style3  STYLE_DOT
#property indicator_style6  STYLE_DOT
#property indicator_style7  STYLE_DOT

enum showCHL { NoLINES, onlyTMA, onlyBANDS, allLINES };
enum calcARR { ArrowsOFF, TrendOCLH, ChangeCOLOR };

extern ENUM_TIMEFRAMES    TimeFrame     = PERIOD_CURRENT; // Time frame to use
extern int                HalfLength    = 24;  //56;
extern ENUM_APPLIED_PRICE Price         = PRICE_WEIGHTED;
extern double             Deviations    = 1.618;
extern bool               Interpolate   = false;
extern showCHL            ShowTMA       = onlyBANDS;
extern calcARR            CalcArrows    = ChangeCOLOR;
extern bool               AlertsOnHiLo  = false;
extern int                SIGNALBAR     =  1;   //На каком баре сигналить....
extern bool               AlertsMessage =  true,   //false,    
                          AlertsSound   =  true,   //false,
                          AlertsEmail   =  false,
                          AlertsMobile  =  false;
extern string             SoundFile     =  "alert2.wav";  //"news.wav";  //"expert.wav";  //   //"stops.wav"   //   //

double tmBuffer[], upBuffer[], dnBuffer[];
double clrSEL[], clrBUY[];
double arrSEL[], arrBUY[];
double wuBuffer[], wdBuffer[], FLAG[];

string IndikName;
bool calculateTma = false;   bool returnBars  = false;
string  messageUP, messageDN, sufix;  datetime TimeBar=0;  

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

int deinit() { Comment("");  return(0); }

int start()
{
      // код доступен только после оплаты
   }
   int CountedBars=IndicatorCounted();
   if (CountedBars<0) return(-1);
   if (CountedBars>0) CountedBars--;
   int i, y, x, limit = MathMin(Bars-1,Bars-CountedBars+HalfLength);

   if (returnBars)  { tmBuffer[0] = limit+1;  return(0); }
   if (calculateTma) { calculateTMA(limit);  return(0); }
   if (TimeFrame > _Period) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,TimeFrame,IndikName,-99,0,0)*TimeFrame/_Period));

   for (i=limit; i>=0; i--)
    {
     y = iBarShift(NULL,TimeFrame,Time[i]);
     x = y;  if (i<Bars-1) x = iBarShift(NULL,TimeFrame,Time[i+1]);

     tmBuffer[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,HalfLength,Price,Deviations,0,y);
     upBuffer[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,HalfLength,Price,Deviations,1,y);
     dnBuffer[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,HalfLength,Price,Deviations,2,y);
     FLAG[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,HalfLength,Price,Deviations,9,y);

     if (!Interpolate) {
         if (x!=y) {
             arrSEL[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,HalfLength,Price,Deviations,3,y);
             arrBUY[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,HalfLength,Price,Deviations,4,y); } 

         clrSEL[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,HalfLength,Price,Deviations,5,y);
         clrBUY[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,HalfLength,Price,Deviations,6,y); }

     if (TimeFrame!=_Period) { if (CalcArrows==1) setu

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

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

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

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

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

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

Стоимость полного кода
875,70₽ ≈ $10.70