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

blubbb mightyzones [kokoveni].mq5

Похожие материалы по тегам

#__slope direction line.mq5MQL5 / MetaTrader 5 · 1 общих теговrange breakout @meowforex1.pineTradingView · 1 общих тегов#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit3.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit2.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

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

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

НастройкаОписание
In Minutes: 1, 5, 15, 30, 60, 240, 1440 (CustomPeriod) Пользовательский период — Временной интервал для анализа ценовых данных
Bars to be processed (to save CPU time) (MaxBars) Максимум баров — Ограничение количества обрабатываемых баров для экономии ресурсов
Minimum multiple of previous bar to cause a line (MinFactor) Минимальный множитель — Порог минимального изменения для отображения линии зоны
Mail Отправка почтой — Включает отправку email-уведомлений при наступлении событий
SoundFile Файл звука — Имя звукового файла для воспроизведения при оповещениях
ColLineLong Цвет линии роста — Цвет линии для зоны долгосрочного роста
ColLineShort Цвет линии падения — Цвет линии для зоны краткосрочного падения
ColZoneLong Цвет зоны роста — Цвет заливки зоны долгосрочного роста
ColZoneShort Цвет зоны падения — Цвет заливки зоны краткосрочного падения
ColZoneLongOld Цвет старой зоны роста — Цвет заливки устаревшей зоны долгосрочного роста
ColZoneShortOld Цвет старой зоны падения — Цвет заливки устаревшей зоны краткосрочного падения
Получить полный код

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

#property indicator_chart_window

extern int    CustomPeriod    = 0;        // In Minutes: 1, 5, 15, 30, 60, 240, 1440
extern int    MaxBars         = 500;      // Bars to be processed (to save CPU time)
extern double MinFactor       = 2;        // Minimum multiple of previous bar to cause a line
extern bool   Mail            = false;
extern string SoundFile       = "alert.wav";
extern color  ColLineLong     = Lime;
extern color  ColLineShort    = Red;
extern color  ColZoneLong     = Green;
extern color  ColZoneShort    = Maroon;
extern color  ColZoneLongOld  = 0x004000;
extern color  ColZoneShortOld = 0x000040;

int MaxLines = 2000;
double L[2000], S[2000];
double LM[2000], SM[2000];
datetime LT[2000], ST[2000];
int Trend;
double RealPoint;
string PeriodNice;

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

int deinit() {
  for(int j = 0; j < MaxLines; j++) {
    ObjectDelete("ZS"+j+PeriodNice);
    ObjectDelete("ZSA"+j+PeriodNice);
    ObjectDelete("ZSB"+j+PeriodNice);
    ObjectDelete("ZL"+j+PeriodNice);
    ObjectDelete("ZLA"+j+PeriodNice);
    ObjectDelete("ZLB"+j+PeriodNice);
  }
  for(j = 0; j < Trend; j++) ObjectDelete("ZR"+j+PeriodNice);
  return(0);
}

double GetRealPoint() {
  switch (Digits) {
    case 3: return(0.01);
    case 5: return(0.0001);
  }
  return(Point);
}

string GetPeriodNice(int s) {
  if (s == 0) s = Period();
  if (s % 60 > 0) return("M"+s);
  s /= 60;
  if (s % 24 > 0) return("H"+s);
  s /= 24;
  if (s % 7 > 0) return("D"+s);
  return("W"+s);
}

double Ti(int s) {
  return(iTime(NULL, CustomPeriod, s));
}

double Op(int s) {
  return(iOpen(NULL, CustomPeriod, s));
}

double Cl(int s) {
  return(iClose(NULL, CustomPeriod, s));
}

string GetTimeDiffNice(int t) {
  t = Time[0] - t;
  if (t < 120) return(t+" seconds ago");
  t /= 60;
  if (t < 120) return(t+" minutes ago");
  t /= 60;
  if (t < 48) return(t+" hours ago");
  t /= 24;
  return(t+" days ago");
}

void DisplayAlert(string s) {
  if (SoundFile != "") PlaySound(SoundFile);
  Alert(s);
  Comment(TimeToStr(TimeCurrent(), TIME_MINUTES)+" "+s);
  if (Mail) SendMail(s, s);
}

int start() {
      // код доступен только после оплаты
   }
  static double old = 0;
  static datetime latestWicking = 0;
  if ((Time[0] > latestWicking) && (old > 0)) for(int j = 0; j < MaxLines; j++) {
    if ((S[j] > 0) && (Close[0] > S[j]) && (old <= S[j])) {
      DisplayAlert("Look for a "+Symbol()+" SHORT on "+PeriodNice+" (MightyZone)");
      latestWicking = Time[0];
      break;
    }
    if ((L[j] > 0) && (Close[0] < L[j]) && (old >= L[j])) {
      DisplayAlert("Look for a "+Symbol()+" LONG on "+PeriodNice+" (MightyZone)");
      latestWicking = Time[0];
      break;
    }
  }
  old = Close[0];

  static datetime latest = 0;
  int changed = Bars - IndicatorCounted();
  if (changed < 2) return(0);

  for(int i = MathMin(changed-1, MaxBars); i > 0; i--) {
    if (latest >= Ti(i)) continue;
    latest = Ti(i);

    for(j = 0; j < MaxLines; j++) {
      if ((L[j] > 0) && (Cl(i) <= LM[j])) {
        string n = "ZR"+Trend+PeriodNice;
        ObjectCreate(n, OBJ_RECTANGLE, 0, 0, 0);
        ObjectSet(n, OBJPROP_TIME1, LT[j]);
        ObjectSet(n, OBJPROP_PRICE1, L[j]);
        ObjectSet(n, OBJPROP_TIME2, Ti(i));
        ObjectSet(n, OBJPROP_PRICE2, LM[j]);
        ObjectSet(n, OBJPROP_COLOR, ColZoneLongOld);
        ObjectSet(n, OBJPROP_BACK, true);
        L[j] = 0;
        Trend++;
      }
      if ((S[j] > 0) && (Cl(i) >= SM[j])) {
        n = "ZR"+Trend+PeriodNice;
        ObjectCreate(n, OBJ_RECTANGLE, 0, 0, 0);
        ObjectSet(n, OBJPROP_TIME1, ST[j]);

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

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

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

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

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

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

Стоимость полного кода
564,80₽ ≈ $6.90