123PatternsV7WithAlerts
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «123 patterns v7 alerts source code.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для платформы MetaTrader 4, предназначенный для обнаружения и визуализации паттернов 1-2-3 на ценовом графике. Использует встроенный индикатор ZigZag для определения ключевых точек разворота и рассчитывает глубину коррекции для подтверждения сигналов. Отображает линии поддержки и сопротивления, стрелки потенциальных входов и точки разворота бычьих и медвежьих движений на графике.
Настройки программы
| Настройка | Описание |
|---|---|
| generalSettings | Общие настройки — Текстовый разделитель, обозначающий начало группы общих параметров индикатора. |
| maxNoOfCandles | Максимум свечей — Ограничение количества свечей, участвующих в расчёте; значение 0 означает все свечи на графике. |
| OneTwoThreeSettings | Настройки паттерна 1-2-3 — Текстовый разделитель, обозначающий начало группы параметров паттерна 1-2-3. |
| ZigZagDepth | Глубина ZigZag — Параметр глубины для встроенного индикатора ZigZag, определяющий минимальное расстояние между пиками и впадинами. |
| RetraceDepthMin | Минимальная глубина коррекции — Минимальное значение глубины коррекции, при котором сигнал считается подтверждённым. |
| RetraceDepthMax | Максимальная глубина коррекции — Максимальное значение глубины коррекции, при котором сигнал считается подтверждённым. |
| ShowAllLines | Показать все линии — Включает отображение всех линий поддержки и сопротивления на графике. |
| ShowAllBullBearDots | Показать точки быков и медведей — Включает отображение маркеров в ключевых точках разворота бычьих и медвежьих движений. |
| ShowAllBreaks | Показать все пробои — Включает отображение сигналов при пробое уровней вне стандартной конфигурации паттерна 1-2-3. |
| alertSettings | Настройки уведомлений — Текстовый разделитель, обозначающий начало группы параметров системы оповещений. |
| 123 setup (Point2BreakAlerts) | Уведомления при пробое точки 2 — Включает отправку уведомлений при пробое уровня в рамках стандартного паттерна 1-2-3. |
| not 123 setup (BreakUpperLineAlerts) | Уведомления при пробое верхней линии — Включает отправку уведомлений при пробое верхней линии вне стандартного паттерна 1-2-3. |
| not 123 setup (BreakLowerLineAlerts) | Уведомления при пробое нижней линии — Включает отправку уведомлений при пробое нижней линии вне стандартного паттерна 1-2-3. |
| PopupAlerts | Всплывающие уведомления — Включает вывод всплывающих окон с сообщениями на графике при срабатывании условий. |
| EmailAlerts | Email-уведомления — Включает отправку email-сообщений при срабатывании условий уведомлений. |
| PushNotificationAlerts | Push-уведомления — Включает отправку push-уведомлений на мобильное устройство при срабатывании условий. |
Поиск по коду файла
#define INDICATOR_NAME "123PatternsV7WithAlerts"
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 DodgerBlue // UpperLine
#property indicator_color2 OrangeRed // LowerLine
#property indicator_color3 Goldenrod // BullDot
#property indicator_color4 CornflowerBlue // BearDot
#property indicator_color5 DodgerBlue // BuyArrow
#property indicator_color6 OrangeRed // SellArrow
#property indicator_width1 1
#property indicator_width2 1
#property indicator_width3 3 // BullDot
#property indicator_width4 3 // BearDot
#property indicator_width5 3 // BuyArrow
#property indicator_width6 3 // SellArrow
extern string generalSettings=" ================== 1-2-3 settings =======================";
extern string strMaxNoOfCandles= " ***** Number of candles which will be back calculated;0=all on chart";
extern int maxNoOfCandles = 1000;
extern string OneTwoThreeSettings=" ================== 1-2-3 settings =======================";
extern int ZigZagDepth = 6;
extern double RetraceDepthMin = 0.4;
extern double RetraceDepthMax = 1.0;
extern bool ShowAllLines = True;
extern bool ShowAllBullBearDots = false;
extern bool ShowAllBreaks = True;
extern string alertSettings=" ================== ALERT settings =======================";
extern bool Point2BreakAlerts = true;//123 setup
extern bool BreakUpperLineAlerts = true;//not 123 setup
extern bool BreakLowerLineAlerts = true;//not 123 setup
extern bool PopupAlerts = true;
extern bool EmailAlerts = false;
extern bool PushNotificationAlerts = false;
int lastP2BreakAlert=3;
int lastLineBreakAlert=3;
string msg;
double UpperLine[];
double LowerLine[];
double BuyArrow[];
double SellArrow[];
double BullDot[1000];
double BearDot[1000];
double firsthigh, firstlow, lasthigh, lastlow, prevhigh, prevlow, signalprice, brokenline;
datetime firsthightime, firstlowtime, lasthightime, lastlowtime, prevhightime, prevlowtime, signaltime;
datetime redrawtime; // remember when the indicator was redrawn
int signal;
#define NOSIG 0
#define BUYSIG 1
#define SELLSIG 2
void initIndex(bool doInit,int indexNo,int drawStyle,double &Arr[],int arrSym){
if (!doInit)
return;
SetIndexStyle(indexNo,drawStyle);
SetIndexBuffer(indexNo,Arr);
SetIndexArrow(indexNo,arrSym);
}
int init() {
// код доступен только после оплаты
} // end of init()
int start()
{
// код доступен только после оплаты
}
double zigzag, range, retracedepth, one, two, three;
datetime onetime, twotime, threetime;
int shift = Bars-1;
bool isBrokenUpperLine=false;
bool isBrokenLowerLine=false;
if (maxNoOfCandles >0)
shift=maxNoOfCandles ;
while(shift >= 0)
{
Print(shift);
UpperLine[shift] = UpperLine[shift+1];
LowerLine[shift] = LowerLine[shift+1];
BullDot[shift] = EMPTY_VALUE;
BearDot[shift] = EMPTY_VALUE;
zigzag = iCustom(NULL,0,"ZigZag",ZigZagDepth,5,3,0,shift);
if(zigzag == High[shift])
{
UpperLine[shift] = High[shift];
firsthigh = prevhigh; firsthightime = prevhightime;
prevhigh = lasthigh; prevhightime = lasthightime;
lasthigh = zigzag; lasthightime = Time[shift];
}
if(zigzag == Low[shift])
{
LowerLine[shift] = Low[shift];
firstlow = prevlow; firstlowtime = prevlowtime;
prevlow = lastlow; prevlowtime = lastlowtime;
lastlow = zigzag; lastlowtime = Time[shift];
}
one = prevlow; onetime = prevlowtime;
two = lasthigh; twotime = lasthightime; if(twotime == Time[shift]){two = prevhigh; twotime = prevhightime;}
three = lastlow; threetime = lastlowtime;
if(one - two != 0) retracedepth = (three - two) / (one - two); // retrace depth
if(shift > 0 && retracedepth > RetraceDepthMin && retracedepth < RetraceDepthMax && brokenline != UpperLine[shift] && Low[shift] < UpperLine[shift] && Close[shift] > UpperLine[shift])
{
range = MathAbs(two - three); // range is the distance between two and three
BuyArrow[shift] = Low[shift]-(High[shift]-Low[shift])/2;
BullDot[iBarShift(NULL,0,onetime)] = one; // ONE
BullПоказано первые 50% кода (символов: 7171)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.