candlestick_alerts_set 3.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «candlestick_alerts_set 3.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор распознаёт японские свечные паттерны на графике цены. Используется скользящая средняя EMA с периодом 5 для определения направления тренда, после чего проверяются бычьи и медвежьи модели: харами, кросс, поглощение, проникновение, утренняя и вечерняя звезда, молот, тёмное облако и звезда падения. Обнаруженные паттерны отмечаются стрелками, текстовыми метками и трендовыми линиями на графике.
Индикатор поддерживает несколько типов уведомлений: всплывающие сообщения на графике, звуковые сигналы, push-уведомления и отправку электронной почты. Настраивается отображение линий, смещение графических объектов и цветовое оформление для разных категорий паттернов. Параметр шага задаёт глубину анализа в барах.
Передаваемые ключи, токены, пароли и секреты в продукте не используются. Прибыль и гарантии результатов не предоставляются. Индикатор работает в окне графика и использует два буфера для отрисовки стрелок бычьих и медвежьих паттернов.
Настройки программы
| Настройка | Описание |
|---|---|
| lines | Переключатель отображения трендовых линий для подтверждённых паттернов |
| step | Число баров, начиная с которых производится расчёт паттернов |
| Dell | Переключатель удаления устаревших графических объектов при движении цены |
| ___ | Текстовый параметр — метка группы настроек раздела уведомлений |
| displayAlert | Переключатель отображения всплывающих уведомлений прямо на графике при срабатывании паттерна |
| alertsMessage | Переключатель всплывающих сообщений при срабатывании паттерна |
| alertsSound | Переключатель воспроизведения звукового сигнала при срабатывании паттерна |
| alertsNotify | Переключатель отправки push-уведомлений при срабатывании паттерна |
| alertsEmail | Переключатель отправки электронной почты при срабатывании паттерна |
| alertsSoundName | Имя звукового файла для воспроизведения оповещения |
| arrowDisplacement | Смещение стрелок по вертикали относительно цены обнаруженного паттерна |
| textDisplacement | Смещение текстовых меток по вертикали относительно цены обнаруженного паттерна |
| _______Set_Color_Size_Bull | Метка группы настроек цвета для бычьих паттернов |
| ColorBullCross | Цвет отображения бычьего кросс-паттерна |
| ColorArrowsBullCross | Цвет стрелок для бычьего кросс-паттерна |
| ColorBullEngulf | Цвет отображения бычьего паттерна поглощения |
| ColorBullHarami | Цвет отображения бычьего паттерна харами |
| _______Set_Color_Size_Bear | Метка группы настроек цвета для медвежьих паттернов |
| ColorBearCross | Цвет отображения медвежьего кросс-паттерна |
| ColorArrowsBearCross | Цвет стрелок для медвежьего кросс-паттерна |
| ColorBearEngulf | Цвет отображения медвежьего паттерна поглощения |
| ColorBearHarami | Цвет отображения медвежьего паттерна харами |
| _______Set_Color_Other | Метка группы настроек цвета для прочих паттернов |
| ColorMorningStar | Цвет отображения утренней звезды |
| ColorHammer | Цвет отображения молота |
| ColorEveningStar | Цвет отображения вечней звезды |
| Size | Размер шрифта текстовых меток паттернов на графике |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red
extern bool lines = true;
extern int step = 500;
extern bool Dell = true;
extern string ___ = "Alerts";
extern bool displayAlert = false;
extern bool alertsMessage = false;
extern bool alertsSound = true;
extern bool alertsNotify = false;
extern bool alertsEmail = false;
extern string alertsSoundName = "alert1.wav";
extern double arrowDisplacement = 1.0;
extern double textDisplacement = 1.5;
extern string _______Set_Color_Size_Bull;
extern color ColorBullCross=clrAqua;
extern color ColorArrowsBullCross=clrAqua;
extern color ColorBullEngulf=clrDeepSkyBlue;
extern color ColorBullHarami=clrLime;
extern string _______Set_Color_Size_Bear;
extern color ColorBearCross =clrCrimson;
extern color ColorArrowsBearCross =clrCrimson;
extern color ColorBearEngulf =clrCrimson;
extern color ColorBearHarami =clrCrimson;
extern string _______Set_Color_Other;
extern color ColorMorningStar =clrAqua;
extern color ColorHammer =clrOrange;
extern color ColorEveningStar =clrMagenta;
color ColorBullPierce =clrAqua;
extern int Size=10;
double ExtMapBuffer1[];
double ExtMapBuffer2[];
int init()
{
// код доступен только после оплаты
}
int deinit()
{
ObjectsDeleteAll(0,OBJ_TEXT);
ObjectsDeleteAll(0,OBJ_ARROW);
ObjectsDeleteAll(0,OBJ_TREND);
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)
{
ObjectCreate("x"+sh,OBJ_TEXT,0,tm,pr);
ObjectSetText("x"+sh,text);
ObjectSet("x"+sh,OBJPROP_COLOR,clr);
ObjectSet("x"+sh,OBJPROP_FONTSIZE,Size);
}
void SetText1(int sh,datetime tm,double pr,string text,color clr)
{
ObjectCreate("y"+sh,OBJ_TEXT,0,tm,pr);
ObjectSetText("y"+sh,text);
ObjectSet("y"+sh,OBJPROP_COLOR,clr);
ObjectSet("y"+sh,OBJPROP_FONTSIZE,Size);
}
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,STYLE_SOLID);
ObjectSet("-"+sh,10,false);
ObjectSet("-"+sh,6,Yellow);
}
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,STYLE_SOLID);
ObjectSet("+"+sh,8,false);
ObjectSet("+"+sh,6,LightBlue);
}
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=7; b=3;} //a=text b= arrows
if (15 == Period()){a=15; b=5;}
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]){
Показано первые 50% кода (символов: 12872)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.