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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.