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

fair_value_gap_scanner_mt5.mq5

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

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

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

О программе

Данный продукт представляет собой индикатор для платформы MetaTrader 5, написанный на языке MQL5. Он сканирует закрытые свечи на наличие Fair Value Gap (FVG) — ценовых пропастей между свечами — и отображает их на графике в виде цветных прямоугольников.

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

Встроенная система уведомлений информирует трейдера о появлении новых незаполненных пропастей. Индикатор выполняет проверку входных параметров при инициализации и удаляет все созданные объекты при деинициализации. Работает на текущем графике и таймфрейме, используя стандартные回调ные функции MQL5.

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

НастройкаОписание
InpMaximumBars Максимальное количество баров для сканирования на графике.
InpMinimumGapPoints Минимальный размер ценовой пропасти в пунктах, при котором она будет обнаружена.
InpShowBullishGaps Отображение бычьих пропастей на графике.
InpShowBearishGaps Отображение медвежьих пропастей на графике.
InpHideMitigated Скрытие уже заполненных (митигированных) пропастей от отображения на графике.
InpUseFullFill Определяет, для расчёта заполнения использовать полное заполнение или первое касание цены.
InpExtensionBars Количество баров для продления отрисовки пропасти вперёд.
InpBullishGapColor Цвет прямоугольника бычьей пропасти.
InpBearishGapColor Цвет прямоугольника медвежьей пропасти.
InpMitigatedColor Цвет прямоугольника для заполненных (митигированных) пропастей.
InpTransparency Уровень прозрачности прямоугольников пропастей на графике.
InpShowLabels Отображение текстовых меток с указанием типа пропасти и статуса заполнения.
InpEnableAlerts Включение или отключение уведомлений о новых пропастях.
Получить полный код

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

#property version   "1.00"
#property description "Closed candle fair value gap scanner with mitigation tracking."
#property indicator_chart_window
#property indicator_plots 0
#property indicator_buffers 0

input group "Gap Detection"
input int              InpMaximumBars        = 400;       // Bars to scan
input double           InpMinimumGapPoints   = 20.0;      // Minimum gap in points
input bool             InpShowBullishGaps    = true;
input bool             InpShowBearishGaps    = true;
input bool             InpHideMitigated      = false;
input bool             InpUseFullFill        = true;      // Full fill or first touch

input group "Display"
input int              InpExtensionBars      = 80;
input color            InpBullishGapColor    = clrPaleGreen;
input color            InpBearishGapColor    = clrMistyRose;
input color            InpMitigatedColor     = clrGainsboro;
input uchar            InpTransparency       = 55;
input bool             InpShowLabels         = true;

input group "Alerts"
input bool             InpEnableAlerts       = false;

string   g_prefix="FVGSCAN_";
datetime g_last_bar=0;
datetime g_last_alert_bar=0;

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

void OnDeinit(const int reason)
  {
   ObjectsDeleteAll(0,g_prefix);
   ChartRedraw(0);
  }

bool IsBullishMitigated(const int formation_index,const double gap_bottom,
                       const double gap_top,const double &low[])
  {
   const double threshold=(InpUseFullFill ? gap_bottom : gap_top);
   for(int index=formation_index-1; index>=0; index--)
      if(low[index]<=threshold)
         return(true);
   return(false);
  }

bool IsBearishMitigated(const int formation_index,const double gap_bottom,
                       const double gap_top,const double &high[])
  {
   const double threshold=(InpUseFullFill ? gap_top : gap_bottom);
   for(int index=formation_index-1; index>=0; index--)
      if(high[index]>=threshold)
         return(true);
   return(false);
  }

void DrawGap(const string id,const datetime start_time,const datetime end_time,
             const double top,const double bottom,const bool bullish,
             const bool mitigated)
  {
   const string rectangle_name=g_prefix+"BOX_"+id;
   color base_color=(mitigated ? InpMitigatedColor :
                     (bullish ? InpBullishGapColor : InpBearishGapColor));

   if(!ObjectCreate(0,rectangle_name,OBJ_RECTANGLE,0,start_time,top,end_time,bottom))
      return;

   ObjectSetInteger(0,rectangle_name,OBJPROP_COLOR,ColorToARGB(base_color,InpTransparency));
   ObjectSetInteger(0,rectangle_name,OBJPROP_FILL,true);
   ObjectSetInteger(0,rectangle_name,OBJPROP_BACK,true);
   ObjectSetInteger(0,rectangle_name,OBJPROP_SELECTABLE,false);
   ObjectSetInteger(0,rectangle_name,OBJPROP_HIDDEN,true);

   if(!InpShowLabels)
      return;

   const string label_name=g_prefix+"TEXT_"+id;
   const double label_price

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

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

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

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

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

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

Стоимость полного кода
483,90₽ ≈ $5.91