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

double_ema_crossover_with_arrow_and_email.mq5

Похожие материалы по тегам

#__slope direction line.mq5MQL5 / MetaTrader 5 · 1 общих теговrange breakout @meowforex1.pineTradingView · 1 общих тегов#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit3.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit2.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Это пользовательский индикатор для MetaTrader 4, который рассчитывает две скользящие средние с настраиваемыми периодами и режимами и определяет точки их пересечения. При пересечении первой средней выше второй на график отображается стрелка вверх, при пересечении ниже — стрелка вниз. Индикатор поддерживает несколько стилей отображения стрелок и четыре типа скользящих средних (SMA, EMA, SMMA, LWMA). Индикатор также предоставляет возможности оповещения через всплывающее окно и отправки email-уведомлений при обнаружении пересечения.

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

НастройкаОписание
note1 Примечание 1 — Текстовая метка, обозначающая группу настроек первой скользящей средней.
MA1 Период первой MA — Целочисленный период расчёта первой скользящей средней.
note2 Примечание 2 — Текстовая подсказка с перечислением доступных режимов скользящей средней.
0=sma, 1=ema, 2=smma, 3=lwma (MA1Mode) Режим первой MA — Тип скользящей средней для первой линии: 0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA.
note3 Примечание 3 — Текстовый разделитель между группами настроек.
note4 Примечание 4 — Текстовая метка, обозначающая группу настроек второй скользящей средней.
MA2 Период второй MA — Целочисленный период расчёта второй скользящей средней.
note5 Примечание 5 — Текстовая подсказка с перечислением доступных режимов скользящей средней.
0=sma, 1=ema, 2=smma, 3=lwma (MA2Mode) Режим второй MA — Тип скользящей средней для второй линии: 0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA.
note6 Примечание 6 — Текстовый разделитель между группами настроек.
note7 Примечание 7 — Текстовая метка для настройки стиля стрелок.
note8 Примечание 8 — Текстовая подсказка со списком доступных типов стрелок.
note9 Примечание 9 — Текстовая подсказка с продолжением списка типов стрелок.
note10 Примечание 10 — Текстовая подсказка с продолжением списка типов стрелок.
note11 Примечание 11 — Текстовая подсказка с продолжением списка типов стрелок.
ArrowType Тип стрелки — Целочисленный код стиля отображения стрелок пересечения (от 0 до 9).
note12 Примечание 12 — Текстовый разделитель между группами настроек.
AlertOn Включить оповещение — Логический переключатель: при true индикатор отправляет всплывающее оповещение при обнаружении пересечения скользящих средних.
note14 Примечание 14 — Текстовый разделитель между группами настроек.
SendAnEmail Отправить email — Логический переключатель: при true индикатор отправляет email-уведомление при обнаружении пересечения скользящих средних.
Получить полный код

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

/*
  +------------------------------------------------------------------+
  | 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 Blue
#property indicator_width1 1
#property indicator_color2 Red
#property indicator_width2 1

extern string note1 = "First Moving Average";
extern int MA1 =   8;
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 =   13;
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=2;
extern string note12 = "--------------------------------------------";
extern string note13 = "turn on Alert = true; turn off = false";
extern bool AlertOn = true;
extern string note14 = "--------------------------------------------";
extern string note15 = "send Email Alert = true; turn off = false";
extern bool SendAnEmail=true;

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 (Arrow

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

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

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

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

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

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

Стоимость полного кода
506,20₽ ≈ $6.19