2MA Crossover
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «king - 2ma crossover.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор «2MA Crossover» отображает на графике точки пересечения двух скользящих средних. Для каждого пересечения (вверх и вниз) рисуются стрелки в отдельном буфере, что позволяет визуально отслеживать смену краткосрочного тренда.
Индикатор поддерживает четыре типа скользящих средних: SMA, EMA, SMMA и LWMA, с независимыми настройками периода и метода для каждой из двух линий. Визуальное оформление стрелок настраивается через параметр типа маркера.
Встроены механизмы уведомлений: всплывающие алерты и отправка электронной почты при наступлении события пересечения на новом баре. Расчёт выполняется на каждом тике с использованием стандартных функций iMA платформы MetaTrader 5.
Настройки программы
| Настройка | Описание |
|---|---|
| note1 | Метка MA1 — Текстовая метка для первой скользящей средней. |
| MA1 | Период MA1 — Период первой скользящей средней (целое число, по умолчанию 4). |
| note2 | Метка методов MA1 — Текстовая метка с описанием методов скользящих средних (0=sma, 1=ema, 2=smma, 3=lwma). |
| 0=sma, 1=ema, 2=smma, 3=lwma (MA1Mode) | Метод MA1 — Метод первой скользящей средней: 0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA (по умолчанию 1 — EMA). |
| note3 | Разделитель 3 — Разделительная текстовая метка. |
| note4 | Метка MA2 — Текстовая метка для второй скользящей средней. |
| MA2 | Период MA2 — Период второй скользящей средней (целое число, по умолчанию 8). |
| note5 | Метка методов MA2 — Текстовая метка с описанием методов скользящих средних (0=sma, 1=ema, 2=smma, 3=lwma). |
| 0=sma, 1=ema, 2=smma, 3=lwma (MA2Mode) | Метод MA2 — Метод второй скользящей средней: 0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA (по умолчанию 1 — EMA). |
| note6 | Разделитель 6 — Разделительная текстовая метка. |
| note7 | Метка типа стрелки — Текстовая метка «Arrow Type» — тип стрелки. |
| note8 | Метка типов стрелок 1 — Текстовая метка с описанием типов стрелок (Thick, Thin, Hollow, Round). |
| note9 | Метка типов стрелок 2 — Текстовая метка с описанием типов стрелок (Fractal, Diagonal Thin). |
| note10 | Метка типа стрелки 10 — Текстовая метка-описание типа стрелки (Diagonal Thick). |
| note11 | Метка типа стрелки 11 — Текстовая метка-описание типа стрелки (Thumb/Finger). |
| ArrowType | Тип стрелки — Тип отображаемых стрелок: 0 — толстая, 1 — тонкая, 2 — пустая, 3 — круглая, 4 — фрактальная, 5 — тонкая диагональная, 6 — толстая диагональная, 7 — пустая диагональная, 8 — Thumb, 9 — Finger. |
| note12 | Разделитель 12 — Разделительная текстовая метка. |
| AlertOn | Включить алерты — Включает (true) или отключает (false) всплывающие уведомления при пересечении скользящих средних на новом баре. |
| note14 | Разделитель 14 — Разделительная текстовая метка. |
| SendAnEmail | Отправлять email — Включает (true) или отключает (false) отправку электронной почты при пересечении скользящих средних на новом баре. |
Поиск по коду файла
/*
+------------------------------------------------------------------+
| Allows you to enter two ema periods and it will then show you at |
| Which point they crossed over. It is more usful on the shorter |
| periods that get obscured by the bars / candlesticks and when |
| the zoom level is out. Also allows you then to remove the emas |
| from the chart. (emas are initially set at 5 and 6) |
+------------------------------------------------------------------+
*/
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 SkyBlue
#property indicator_width1 3
#property indicator_color2 Magenta
#property indicator_width2 3
extern string note1 = "First Moving Average";
extern int MA1 = 4;
extern string note2 = "0=sma, 1=ema, 2=smma, 3=lwma";
extern int MA1Mode = 1; //0=sma, 1=ema, 2=smma, 3=lwma
extern string note3 = "--------------------------------------------";
extern string note4 = "Second Moving Average";
extern int MA2 = 8;
extern string note5 = "0=sma, 1=ema, 2=smma, 3=lwma";
extern int MA2Mode = 1; //0=sma, 1=ema, 2=smma, 3=lwma
extern string note6 = "--------------------------------------------";
extern string note7 = "Arrow Type";
extern string note8 = "0=Thick, 1=Thin, 2=Hollow, 3=Round";
extern string note9 = "4=Fractal, 5=Diagonal Thin";
extern string note10 = "6=Diagonal Thick, 7=Diagonal Hollow";
extern string note11 = "8=Thumb, 9=Finger";
extern int ArrowType=3;
extern string note12 = "--------------------------------------------";
extern string note13 = "turn on Alert = true; turn off = false";
extern bool AlertOn = false;
extern string note14 = "--------------------------------------------";
extern string note15 = "send Email Alert = true; turn off = false";
extern bool SendAnEmail=false;
double CrossUp[];
double CrossDown[];
string AlertPrefix, MA1short_name, MA2short_name;
string GetTimeFrameStr() {
switch(Period())
{
case 1 : string TimeFrameStr="M1"; break;
case 5 : TimeFrameStr="M5"; break;
case 15 : TimeFrameStr="M15"; break;
case 30 : TimeFrameStr="M30"; break;
case 60 : TimeFrameStr="H1"; break;
case 240 : TimeFrameStr="H4"; break;
case 1440 : TimeFrameStr="D1"; break;
case 10080 : TimeFrameStr="W1"; break;
case 43200 : TimeFrameStr="MN1"; break;
default : TimeFrameStr=Period();
}
return (TimeFrameStr);
}
int init()
{
// код доступен только после оплаты
}
if (ArrowType == 0) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 233);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 234);
}
else if (ArrowType == 1) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 225);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 226);
}
else if (ArrowType == 2) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 241);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 242);
}
else if (ArrowType == 3) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 221);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 222);
}
else if (ArrowType == 4) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 217);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 218);
}
else if (ArrowType == 5) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 228);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 230);
}
else if (ArrowType == 6) {
Показано первые 50% кода (символов: 5118)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.