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

super levels_v1.b.mq5

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

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

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

О программе

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

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

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

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

НастройкаОписание
Notes Заметки — Текстовое поле для пользовательских заметок и описания настроек
ZigZagDepth Глубина ZigZag — Глубина ZigZag, определяющая чувствительность построения линий
RetraceDepthMin Мин. глубина ретрейса — Минимальное значение глубины ретрейса для расчёта целевых уровней
RetraceDepthMax Макс. глубина ретрейса — Максимальное значение глубины ретрейса для расчёта целевых уровней
ShowAllLines Показывать все линии — Отображение верхних и нижних линий на графике
ShowAllBreaks Показывать все пробития — Отображение стрелок и целевых уровней при всех пробитиях линий, а не только при определённых паттернах
ShowTargets Показывать целевые уровни — Отображение целевых уровней Target1 и Target2 на графике
Target1Multiply Множитель цели 1 — Множитель для расчёта первого целевого уровня
Target2Multiply Множитель цели 2 — Множитель для расчёта второго целевого уровня
HideTransitions Скрыть переходы — Управляет отображением линий при смене их значений между барами
Получить полный код

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

#define INDICATOR_VERSION    2       // VERSION 2
#define INDICATOR_NAME       "??????_2015"
#define RELEASE_LEVEL        "Public"
#define MT4_BUILD            880

#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1  DodgerBlue   // UpperLine
#property indicator_color2  OrangeRed    // LowerLine
#property indicator_color3  LimeGreen    // Target1
#property indicator_color4  LimeGreen    // Target2
#property indicator_color5  DodgerBlue   // BuyArrow
#property indicator_color6  OrangeRed    // SellArrow
#property indicator_color7  DodgerBlue   // BullDot
#property indicator_color8  OrangeRed    // BearDot
#property indicator_width1  1
#property indicator_width2  1
#property indicator_width3  1
#property indicator_width4  1
#property indicator_width5  3  // BuyArrow
#property indicator_width6  3  // SellArrow
#property indicator_width7  3  // BullDot
#property indicator_width8  3  // BearDot

extern string Notes           = "15pip RangeBars Basic Setup";
extern int    ZigZagDepth     = 12;
extern double RetraceDepthMin = 0.4;
extern double RetraceDepthMax = 1.0;
extern bool   ShowAllLines    = True;
extern bool   ShowAllBreaks   = True;
extern bool   ShowTargets     = False;
extern double Target1Multiply = 1.5;
extern double Target2Multiply = 3.0;
extern bool   HideTransitions = True;

double UpperLine[];
double LowerLine[];
double Target1[];
double Target2[];
double BuyArrow[];
double SellArrow[];
double BullDot[];
double BearDot[];

double   firsthigh, firstlow, lasthigh, lastlow, prevhigh, prevlow, signalprice, brokenline;
datetime firsthightime, firstlowtime, lasthightime, lastlowtime, prevhightime, prevlowtime, signaltime;
datetime redrawtime;  // remember when the indicator was redrawn

int     signal;
#define NOSIG   0
#define BUYSIG  1
#define SELLSIG 2

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

void StatusMessage()
   {
   if(IsTesting() == True) return; // do no more
   double multi = MathPow(10,Digits);
   string msg = INDICATOR_NAME+"  "+TimeToStr(TimeCurrent(),TIME_MINUTES)+"  ";
   if(signal == NOSIG) msg = msg + "NOSIG  ";
   if(signal == BUYSIG) msg = msg + "BUYSIG  "+ TimeToStr(signaltime,TIME_MINUTES)+"  "+DoubleToStr(signalprice,Digits)+"  ";
   if(signal == SELLSIG) msg = msg + "SELLSIG  "+ TimeToStr(signaltime,TIME_MINUTES)+"  "+DoubleToStr(signalprice,Digits)+"  ";
   msg = msg + "ZigZagDepth="+ZigZagDepth+"  ";

   msg = msg + "Spread="+DoubleToStr((Ask-Bid)*multi,0)+"  ";
   msg = msg + "Range="+DoubleToStr((High[0]-Low[0])*multi,0)+"  ";
   Comment(msg);
   }

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

if(redrawtime == Time[0]) {StatusMessage(); return(0);} // if already redrawn on this candle then do no more
else redrawtime = Time[0];                              // remember when the indicator was redrawn

double   zigzag, range, retracedepth, one, two, three;
datetime onetime, twotime, threetime;
int      shift = Bars-1;
while(shift >= 0)
   {

   UpperLine[shift] = UpperLine[shift+1];
   LowerLine[shift] = LowerLine[shift+1];
   Target1[shift] = Target1[shift+1];
   Target2[shift] = Target2[shift+1];

   BullDot[shift] = EMPTY_VALUE;
   BearDot[shift] = EMPTY_VALUE;
   zigzag = iCustom(NULL,0,"ZigZag",ZigZagDepth,5,3,0,shift);
   if(zigzag == High[shift])
      {
      UpperLine[shift] = High[shift];
      firsthigh = prevhigh; firsthightime = prevhightime;
      prevhigh = lasthigh;  prevhightime = lasthightime;
      lasthigh = zigzag;    lasthightime = Time[shift];
      }
   if(zigzag == Low[shift])
      {
      LowerLine[sh

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

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

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

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

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

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

Стоимость полного кода
882₽ ≈ $10.78