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

Bheurekso pattern

#4x bheurekso pattern copynovo.mq5
Вы автор или правообладатель?

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

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

О программе

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

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

НастройкаОписание
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;  // Drawing lines
input int        step=500;    // History viewing depth
input bool       Dell=true;   // Erase and rebuild lines each time
input bool       AlertEnbl = true; // On off. all notifications
input bool       BullHaramiAlert = true;  // Bull Harami
input bool       BullCrossAlert = true;   // Bullish Penetration Line
input bool       BullEngulfAlert = true;  // Bullish Engulfing
input bool       BullPierceAlert = true;  // Bullish Clearance of Clouds
input bool       MorningStarAlert = true; // Bull Morning Star
input bool       HammerAlert = true;      // Bull Hammer
input bool       BearHaramiAlert = true;  // Bear Harami
input bool       BearCrossAlert = true;   // Bear penetrating линия
input bool       BearEngulfAlert = true;  // Bearish Hanged Man
input bool       Hammer2Alert = true;     // Bearish Engulfing
input bool       DarkCloudAlert = true;   // Bear Dark Clouds

input bool       EveningStarAlert = true; // Bear Evening Star
input bool       ShooterAlert = true;     // Bear Evening Star

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

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

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

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

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

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

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

Стоимость полного кода
1 272,10₽ ≈ $15.55