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

Bheurekso_pattern

bheurekso_pattern@totusmod@.mq5
Вы автор или правообладатель?

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

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

О программе

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

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

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

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

НастройкаОписание
lines Отображать линии — Включает или отключает отображение линий тренда, связанных с найденными свечными моделями.
line_color_1 Цвет линии 1 — Цвет первой линии тренда, отображаемой на графике.
line_style_1 Стиль линии 1 — Стиль начертания первой линии тренда.
line_width_1 Толщина линии 1 — Толщина первой линии тренда в пикселях.
line_color_2 Цвет линии 2 — Цвет второй линии тренда, отображаемой на графике.
line_style_2 Стиль линии 2 — Стиль начертания второй линии тренда.
line_width_2 Толщина линии 2 — Толщина второй линии тренда в пикселях.
texts Отображать тексты — Включает или отключает вывод текстовых подписей с названиями найденных свечных моделей.
step Шаг расчета — Количество последних баров, на которых выполняется поиск свечных моделей.
Dell Удалять устаревшие объекты — Управляет удалением устаревших графических объектов (стрелок, текстов и линий) при появлении новых сигналов.
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red

extern bool       lines=true;
extern color      line_color_1         = clrBlack;
extern ENUM_LINE_STYLE  line_style_1   = STYLE_SOLID;
extern int        line_width_1         = 1;
extern color      line_color_2         = clrBlue;
extern ENUM_LINE_STYLE  line_style_2   = STYLE_SOLID;
extern int        line_width_2         = 1;
extern bool       texts= false;
extern int        step=500;
extern bool       Dell=true;

double ExtMapBuffer1[];
double ExtMapBuffer2[];

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

int deinit()
  {

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

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

   return(0);
  }

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

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

void Setline(int sh,datetime tm,double pr,datetime tm1,double pr1, color clr)
{
	ObjectCreate("-"+sh,OBJ_TREND,0,tm,pr,tm1,pr1,clr);
	ObjectSet("-"+sh,7,line_style_1);
	ObjectSet("-"+sh,10,false);
	ObjectSet("-"+sh,OBJPROP_WIDTH,line_width_1);
	ObjectSet("-"+sh,6,line_color_1);
}
void Setline1(int sh,datetime tm,double pr,datetime tm1,double pr1, color clr)
{
	ObjectCreate("+"+sh,OBJ_TREND,0,tm,pr,tm1,pr1,clr);
	ObjectSet("+"+sh,7,line_style_2);
	ObjectSet("+"+sh,OBJPROP_WIDTH,line_width_2);
	ObjectSet("+"+sh,10,false);
	ObjectSet("+"+sh,6,line_color_2);
}

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,n,a,b,x,doji=false; 
  	double  l[1000] ,h[1000];

	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;
		

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

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

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

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

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

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

Стоимость полного кода
1 055,50₽ ≈ $12.90