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

#4x bheurekso pattern(2).mq5

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

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

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

О программе

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

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

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

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

НастройкаОписание
lines Включает или отключает построение линий поддержки и сопротивления.
step Определяет глубину просмотра истории в барах для анализа моделей.
Dell Определяет, удалять ли ранее построенные линии и объекты перед новым построением.
AlertEnbl Включает или отключает все звуковые и всплывающие оповещения индикатора.
BullHaramiAlert Разрешает оповещение при появлении бычьего харами.
BullCrossAlert Разрешает оповещение при появлении бычьей проникающей линии.
BullEngulfAlert Разрешает оповещение при появлении бычьего поглощения.
BullPierceAlert Разрешает оповещение при появлении бычьего просвета облаков.
MorningStarAlert Разрешает оповещение при появлении бычьей утренней звезды.
HammerAlert Разрешает оповещение при появлении бычьего молота.
BearHaramiAlert Разрешает оповещение при появлении медвежьего харами.
BearCrossAlert Разрешает оповещение при появлении медвежьей проникающей линии.
BearEngulfAlert Разрешает оповещение при появлении медвежьего повешенного.
Hammer2Alert Разрешает оповещение при появлении медвежьего поглощения.
DarkCloudAlert Разрешает оповещение при появлении медвежьих тёмных облаков.
EveningStarAlert Разрешает оповещение при появлении медвежьей вечерней звезды.
ShooterAlert Разрешает оповещение при появлении медвежьей падающей звезды.
clrLines Задаёт цвет линий и текстовых подписей индикатора.
clrBuy Задаёт цвет отображения сигналов на покупку.
clrSell Задаёт цвет отображения сигналов на продажу.
Получить полный код

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

#property strict
#property version "2.0"

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 clrLime
#property indicator_color2 clrRed

input bool       lines=true;  // Построение линий
input int        step=500;    // Глубина просмотра истории
input bool       Dell=true;   // Каждый раз стирать и строить линии по новой
input bool       AlertEnbl = true; // Вкл/Выкл. всех оповещений
input bool       BullHaramiAlert = true;  // Бычий Харами
input bool       BullCrossAlert = true;   // Бычья Проникающая линия
input bool       BullEngulfAlert = true;  // Бычье Поглощение
input bool       BullPierceAlert = true;  // Бычий Просвет облаков
input bool       MorningStarAlert = true; // Бычья Утреняя Звезда
input bool       HammerAlert = true;      // Бычий Молот
input bool       BearHaramiAlert = true;  // Медвежий Харами
input bool       BearCrossAlert = true;   // Медвежья Проникающая линия
input bool       BearEngulfAlert = true;  // Медвежий Повешенный
input bool       Hammer2Alert = true;     // Медвежье Поглощение
input bool       DarkCloudAlert = true;   // Медвежьи Темные облака
input bool       EveningStarAlert = true; // Медвежья Вечерняя звезда
input bool       ShooterAlert = true;     // Медвежья Падающая звезда

input color clrLines = clrBlack;// Color Lines and Text
input color clrBuy = clrBlue;// Color BUY
input color clrSell = clrRed;// Color SELL

double ExtMapBuffer1[];
double ExtMapBuffer2[];
static datetime lastAlert = Time[0];

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

int deinit()
  {

   ObjectsDeleteAll(0,OBJ_TEXT);
   ObjectsDeleteAll(0,OBJ_ARROW);

   for(int i=1; i<50; i++)
     {
      ObjectDelete("-"+(string)i);
      ObjectDelete("+"+(string)i);
     }

   return(0);
  }

void SetArrow(int sh, datetime tm, double pr, int cod,color clr)
  {
   ObjectCreate("Arrow-"+(string)sh,OBJ_ARROW,0,tm,pr);
   ObjectSet("Arrow-"+(string)sh,OBJPROP_ARROWCODE,cod);
   ObjectSet("Arrow-"+(string)sh,OBJPROP_COLOR,clr);
  }
void SetArrow1(int sh, datetime tm, double pr, int cod,color clr)
  {
   ObjectCreate("Arrow+"+(string)sh,OBJ_ARROW,0,tm,pr);
   ObjectSet("Arrow+"+(string)sh,OBJPROP_ARROWCODE,cod);
   ObjectSet("Arrow+"+(string)sh,OBJPROP_COLOR,clr);
  }

void SetText(int sh,datetime tm,double pr,string text,color clr)
  {
   ObjectCreate("x"+(string)sh,OBJ_TEXT,0,tm,pr);
   ObjectSetText("x"+(string)sh,text);
   ObjectSet("x"+(string)sh,OBJPROP_COLOR,clr);
  }
void SetText1(int sh,datetime tm,double pr,string text,color clr)
  {
   ObjectCreate("y"+(string)sh,OBJ_TEXT,0,tm,pr);
   ObjectSetText("y"+(string)sh,text);
   ObjectSet("y"+(string)sh,OBJPROP_COLOR,clr);
  }

void Setline(int sh,datetime tm,double pr,datetime tm1,double pr1, color clr)
  {
   ObjectCreate("-"+(string)sh,OBJ_TREND,0,tm,pr,tm1,pr1,clr);
   ObjectSet("-"+(string)sh,7,STYLE_SOLID);
   ObjectSet("-"+(string)sh,10,false);
   ObjectSet("-"+(string)sh,6,clr);
  }
void Setline1(int sh,datetime tm,double pr,datetime tm1,double pr1, color clr)
  {
   ObjectCreate("+"+(string)sh,OBJ_TREND,0,tm,pr,tm1,pr1,clr);
   ObjectSet("+"+(string)sh,7,STYLE_SOLID);
   ObjectSet("+"+(string)sh,10,false);
   ObjectSet("+"+(string)sh,6,clr);
  }

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

   int myBars=0, StartBar=0;//, Kedip(false);
   int shift=0, shift1=0, shift2=0, shift3=0;
   bool BullEngulf=False, MorningStar=False, BullPierce=False, Hammer=False,Name=false,Arrow=false;
   bool BearEngulf=False, EveningStar=False, DarkCloud=False, Shooter=False,Name1=false,Arrow1=false;
   bool BullHarami=False, BearHarami=false, BullCross=false, BearCross=false,up=false,down=false;
   int limit=0,n=0,a=0,b=0,x=0,doji=false;
   double  l[1000],h[1000];
   ArrayInitialize(l,0);
   ArrayInitialize(h,0);

   int p3[100],x1[100];
   p3[1]=0;
   if(myBars!=Bars)
     {
      myBars=Bars;
     }
   limit=step;//Bars-counted_bars;
   for(shift=limit; shift>=0; shift--)
     {

      shift1=shift+1;
      shift2=shift+2;
      shift3=shift+3;

      if((iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,shift)>iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,shift1)) &&
         (iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,shift1)>iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,shift2)) &&
         (iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,shift2)>iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,shift3)))
         up=true;
      else
         up=false;
      if((iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,shift)<iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,shift1)) &&
         (iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,shift1)<iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,shift2)) &&
         (iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,shift2)<iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,shift3)))
         down=true;
      else
         down=false;

      if(5==Period())
        {
         a=15;
         b=5;
        }
      if(15==Period())
        {
         a=7;
         b=3;
        }
      if(60==Period())
        {
         a=25;
         b=15;
        }
      if(240==Period())
        {
         a=30;
         b=20;
        }
      if(1440==Period())
        {
         a=35;
         b=25;
        }

      if((down)&&(Open[shift2]>Close[shift2]) && (Open[shift1]>Close[shift2]) && (Close[shift1]<Open[shift2]) &&
         (Close[shift1]>Open[shift1]))
         BullHarami=true;
      else
         BullHarami=false;

      if((Open[shift2]>Close[shift2]) && (Open[shift1]>Close[shift2])&& (Open[shift1]<Open[shift2])&& (Close[shift1]>Open[shift2]))
         BullCross=true;
      else
         BullCross=false;

      if((Close[shift2]<Open[shift2]) && (Open[shift1]<Close[shift2]) && //| l[shift1] < l[shift2]) &
         (Close[shift1]>Open[shift2]))
         BullEngulf=True;
      else
         BullEngulf=False;

      if(!BullEngulf)
        {
         if((Close[shift2]<Open[shift2]) && (Close[shift1]>Open[shift1]) &&
            ((Open[shift1]<Close[shift2]) /*|| (Low[shift1]<Low[shift2])*/) &&
            (Close[shift1]>Close[shift2]+((Open[shift2]-Close[shift2])/2)))
            BullPierce=True;
         else
            BullPierce=False;
        }
      else
        {
         BullPierce=False;
        }

      if((Close[shift3]<Open[shift3]) && (Open[shift2]<Close[shift3]) && (Close[shift2]<Close[shift3]) &&
         ((Open[shift1]>Close[shift2]) && (Open[shift1]>Open[shift2])) && (Close[shift1]>=Close[shift3]))
         MorningStar=True;
      else
         MorningStar=False;

      if((Open[shift1]-Low[shift1]>MathMax(High[shift1]-Close[shift1],Close[shift1]-Open[shift1])*3) &&
         (Close[shift1]-Low[shift1]>MathMax(High[shift1]-Close[shift1],Close[shift1]-Open[shift1])*3))
         Hammer=True;
      else
         Hammer=False;

      if((up)&&(Open[shift2]<Close[shift2]) && (Open[shift1]<Close[shift2]) && (Close[shift1]>Open[shift2]) &&
         (Close[shift1]<Open[shift1]))
         BearHarami=true;
      else
         BearHarami=false;

      if((Open[shift2]<Close[shift2]) && (Open[shift1]<Close[shift2])&&(Open[shift1]>Open[shift2])&& (Close[shift1]<Open[shift2]))
         BearCross=true;
      else
         BearCross=false;

      if((Close[shift2]>Open[shift2]) && (Close[shift1]<Open[shift1]) && (Open[shift1]>Close[shift2]) &&
         ((Close[shift1]<Open[shift2])))
         BearEngulf=True;
      else
         BearEngulf=False;

      if(!BearEngulf)
        {
         if((Close[shift2]>Open[shift2]) && ((Open[shift1]>Close[shift2]) /*|| (High[shift1]>High[shift2]*/) &&
            (Close[shift1]<Close[shift2]-((Close[shift2]-Open[shift2])/2)))
            DarkCloud=True;
         else
            DarkCloud=False;
        }
      else
        {
         DarkCloud=False;
        }

      if((Close[shift3]>Open[shift3]) && (Open[shift2]>Close[shift3]) && (Close[shift2]>Close[shift3]) &&
         ((Open[shift1]<Close[shift2]) && (Open[shift1]<Open[shift2])) && (Close[shift1]<Close[shift3]))
         EveningStar=True;
      else
         EveningStar=False;

      if((up)&&(High[shift1]-Open[shift1]>MathMax(Close[shift1]-Low[shift1],Open[shift1]-Close[shift1])*3)&&
         (High[shift1]-Close[shift1]>MathMax(Close[shift1]-Low[shift1],Open[shift1]-Close[shift1])*3))
         Shooter=True;
      else
         Shooter=False;

      if((BullEngulf || BullPierce || MorningStar || BullHarami || BullCross) &&
         (Close[shift]>Close[shift1])&& Close[shift]>Open[shift1])
        {

         Name=true;
         Arrow=true;
        }
      else
        {ExtMapBuffer1[shift] = 0.0; Name=false; Arrow=false; }

      if((BearEngulf || DarkCloud || EveningStar || Shooter || BearHarami || BearCross) &&
      

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

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

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

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

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

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

Стоимость полного кода
1 289,30₽ ≈ $15.76