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

digital jeepers creepers alert.mq5

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

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

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

О программе

Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 5, который анализирует рыночные свинг-точки (локальные максимумы и минимумы) на заданном интервале истории и отображает их на графике в виде маркеров.

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

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

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

НастройкаОписание
barn Глубина анализа — Задаёт глубину анализа — количество баров от текущего, в пределах которых ищутся свинг-точки. По умолчанию равен 300.
was 19 (Length) Длина окна — Задаёт длину окна сравнения для определения свинг-точек. По умолчанию равен 30.
SoundAlertMode Режим звукового оповещения — Управляет включением звуковых оповещений при смене направления свинга. По умолчанию равен 1.
Soundonly Только звук — Управляет режимом только звуковых оповещений. По умолчанию равен 1.
targets Отображение целевых уровней — Включает или отключает отображение горизонтальных линий целевых уровней, старта и стопа на графике. По умолчанию отключён (false).
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 White
#property indicator_width1 10

extern int       barn=300;
extern int       Length=30;// was 19
double prev;
double last;
double alertBar;
extern int SoundAlertMode = 1;
extern int Soundonly = 1;
extern bool targets = false;

double ExtMapBuffer1[];

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

int deinit()
  {

   ObjectDelete("Start line");
   ObjectDelete("Stop line");
   ObjectDelete("Target1 line");
   ObjectDelete("Target2 line");
   ObjectDelete("Target3 line");
   ObjectDelete("info0");
   ObjectDelete("info1");
   ObjectDelete("info2");
   ObjectDelete("info3");
   return(0);
  }

int start()
  {
      // код доступен только после оплаты
   }
   int    counted_bars=IndicatorCounted();
   int shift,Swing,Swing_n,uzl,i,zu,zd,mv;
   double PointA,PointB,PointC,Target1,Target2,Target3,Fantnsy,CrazyDream,Start,Stop;
   double LL,HH,BH,BL,NH,NL; 
   double Uzel[10000][3]; 
   string text;

      Swing_n=0;Swing=0;uzl=0; 
      BH =High[barn];BL=Low[barn];zu=barn;zd=barn; 

for (shift=barn;shift>=0;shift--) { 
      LL=10000000;HH=-100000000; 
   for (i=shift+Length;i>=shift+1;i--) { 
         if (Low[i]< LL) {LL=Low[i];} 
         if (High[i]>HH) {HH=High[i];} 
   } 

   if (Low[shift]<LL && High[shift]>HH){ 
      Swing=2; 
      if (Swing_n==1) {zu=shift+1;} 
      if (Swing_n==-1) {zd=shift+1;} 
   } else { 
      if (Low[shift]<LL) {Swing=-1;} 
      if (High[shift]>HH) {Swing=1;} 
   } 

   if (Swing!=Swing_n && Swing_n!=0) { 
   if (Swing==2) {
      Swing=-Swing_n;BH = High[shift];BL = Low[shift]; 
   } 
      uzl=uzl+1; 
   if (Swing==1) {
      Uzel[uzl][1]=zd;
      Uzel[uzl][2]=BL;
   } 
   if (Swing==-1) {
      Uzel[uzl][1]=zu;
      Uzel[uzl][2]=BH; 
   } 
      BH = High[shift];
      BL = Low[shift]; 
   } 

   if (Swing==1) { 
      if (High[shift]>=BH) {BH=High[shift];zu=shift;}} 
      if (Swing==-1) {
          if (Low[shift]<=BL) {BL=Low[shift]; zd=shift;}} 
      Swing_n=Swing; 
   } 
   for (i=1;i<=uzl;i++) { 

         mv=StrToInteger(DoubleToStr(Uzel[i][1],0));

      if(prev > Uzel[i][2] && ExtMapBuffer1[mv]!=Uzel[i][2] && SoundAlertMode > 0 && Bars>alertBar) {Alert("BUY Signal on ",Symbol()," Period ",Period());alertBar = Bars;}
      if(prev < Uzel[i][2] && ExtMapBuffer1[mv]!=Uzel[i][2] && SoundAlertMode > 0 && Bars>alertBar) {Alert("SELL Signal on ",Symbol()," Period ",Period());alertBar = Bars;}

      if(prev > Uzel[i][2] && ExtMapBuffer1[mv]!=Uzel[i][2] && Bars>ale

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

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

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

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

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

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

Стоимость полного кода
425,30₽ ≈ $5.20