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

VWMA+CG 4C

vwma+cg 4c aa mtf tt.mq5
Вы автор или правообладатель?

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

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

О программе

Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 4, написанный на языке MQL4. Он рассчитывает объёмно-взвешенную скользящую среднюю (VWMA) и отображает её на графике цены вместе с верхней и нижней границами отклонений. Индикатор использует несколько буферов для отрисовки линий VWMA, полос, стрелок и цветовых сигналов.

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

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

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

НастройкаОписание
Time frame to use (TimeFrame) Таймфрейм — Таймфрейм, на котором рассчитывается индикатор
Interpolate Интерполяция — Переключатель интерполяции значений между таймфреймами
24; //56; (Length) Длина — Целочисленный параметр, задающий длину расчётного периода VWMA
18; (Smooth) Сглаживание — Целочисленный параметр, задающий дополнительное сглаживание расчёта VWMA
Mode Метод сглаживания — Тип применяемого метода сглаживания для расчёта скользящей средней
Price Применяемая цена — Тип применяемой цены для расчёта индикатора
Deviations Отклонения — Числовой параметр, задающий множитель отклонения для расчёта верхней и нижней границ полос
onlyBANDS; (ShowVWMA) Отображение VWMA — Режим отображения линий: без линий, только VWMA, только полосы или все линии
CalcArrows Расчёт стрелок — Режим расчёта стрелок: выключен, по тренду через Open/Close High/Low или по изменению цвета
AlertsOnHiLo Оповещения по High/Low — Переключатель оповещений при касании ценой уровней High/Low вместо Close
На каком баре сигналить.... (SIGNALBAR) На каком баре сигналить.... — Целочисленный параметр, определяющий номер бара, на котором проверяется условие для оповещения
"news.wav"; //"expert.wav"; // //"stops.wav" // // (SoundFile) Звуковой файл — Строковый параметр, задающий путь к звуковому файлу для оповещений
Получить полный код

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

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

#property indicator_chart_window
#property indicator_buffers 7

#property indicator_color1  clrDarkOrange  //DodgerBlue  //Silver //Gray
#property indicator_color2  clrDarkOrchid  //Magenta  //Red  //Maroon
#property indicator_color3  clrLightCyan  //LimeGreen  //DarkBlue
#property indicator_color4  clrRed  //Gold  
#property indicator_color5  clrLime  //Aqua  //Blue
#property indicator_color6  clrMagenta  //DarkOrchid  //
#property indicator_color7  clrLightSkyBlue //DeepSkyBlue

#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, onlyVWMA, onlyBANDS, allLINES };
enum calcARR { ArrowsOFF, TrendOCLH, ChangeCOLOR };

extern ENUM_TIMEFRAMES TimeFrame  =  PERIOD_CURRENT; // Time frame to use
extern bool          Interpolate  =  false;
extern int                Length  =  12;  //24;  //56;
extern int                Smooth  =  6;   //18;
extern ENUM_MA_METHOD       Mode  =  MODE_LWMA;
extern ENUM_APPLIED_PRICE  Price  =  PRICE_WEIGHTED;
extern double         Deviations  =  2.618;
extern showCHL          ShowVWMA  =  allLINES;  //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  =  "alert.wav";  //"news.wav";  //"expert.wav";  //   //"stops.wav"   //   //

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

string IndikName;  bool calculateVwma = 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+Length);

   if (returnBars)  { tmBuffer[0] = limit+1;  return(0); }
   if (calculateVwma) { calculateVWMA(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,Interpolate,Length,Smooth,Mode,Price,Deviations,0,y);
     upBuffer[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,Interpolate,Length,Smooth,Mode,Price,Deviations,1,y);
     dnBuffer[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,Interpolate,Length,Smooth,Mode,Price,Deviations,2,y);
     FLAG[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,Interpolate,Length,Smooth,Mode,Price,Deviations,9,y);

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

         clrSEL[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,Interpolate,Length,Smooth,Mode,Price,Deviations,5,y);
         clrBUY[i] = iCustom(NULL,TimeFrame,In

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

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

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

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

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

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

Стоимость полного кода
917,10₽ ≈ $11.21