dema macd zones amp alerts 2.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «dema macd zones amp alerts 2.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор рассчитывает MACD на основе двойных экспоненциальных скользящих средних и отображает результат в виде цветных зон на графике. Поддерживает работу на нескольких таймфреймах и визуализирует бычьи и медвежьи фазы с помощью прямоугольников, рисуемых на заднем плане графика. Предусмотрены настраиваемые оповещения — через сообщения, звук и электронную почту — при смене направления сигнала.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм — Выбор таймфрейма для расчёта индикатора |
| FastEMA | Быстрая EMA — Период быстрой экспоненциальной скользящей средней |
| SlowEMA | Медленная EMA — Период медленной экспоненциальной скользящей средней |
| SignalEMA | Сигнальная EMA — Период сигнальной линии |
| Price | Цена — Тип цены для расчёта |
| UniqueID | Уникальный идентификатор — Идентификатор для именования графических объектов на графике |
| ColorUp | Цвет роста — Цвет зоны при сильном бычьем сигнале |
| ColorNeutralUp | Цвет нейтрального роста — Цвет зоны при умеренном бычьем сигнале |
| ColorDown | Цвет падения — Цвет зоны при сильном медвежьем сигнале |
| ColorNeutralDown | Цвет нейтрального падения — Цвет зоны при умеренном медвежьем сигнале |
| MaxValue | Максимальное значение — Верхняя граница отображаемых зон на графике |
| alertsOn | Включить оповещения — Общий переключатель оповещений |
| alertsOnCurrent | Оповещения текущего бара — Проверка оповещений на текущем баре |
| alertsMessage | Оповещение сообщением — Отправка popup-сообщения при изменении сигнала |
| alertsSound | Звуковое оповещение — Воспроизведение звука при изменении сигнала |
| alertsEmail | Email-оповещение — Отправка email при изменении сигнала |
| Dummy | Маркер времени — Вспомогательный параметр для привязки прямоугольников к времени |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 0
extern string TimeFrame = "current time frame";
extern int FastEMA = 12;
extern int SlowEMA = 26;
extern int SignalEMA = 9;
extern int Price = PRICE_CLOSE;
extern string UniqueID = "MACD zones";
extern color ColorUp = C'7,71,49';
extern color ColorNeutralUp = C'85,22,17';
extern color ColorDown = C'98,26,19';
extern color ColorNeutralDown = C'6,55,38';
extern double MaxValue = 200;
extern bool alertsOn = false;
extern bool alertsOnCurrent = true;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsEmail = false;
extern double Dummy = -1;
double macd[];
double signal[];
double colors[];
double times[];
int timeFrame;
string indicatorFileName;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
string lookFor = UniqueID+":";
int lookForLength = StringLen(lookFor);
for (int i=ObjectsTotal()-1; i>=0; i--)
{
string objectName = ObjectName(i);
if (StringSubstr(objectName,0,lookForLength) == lookFor) ObjectDelete(objectName);
}
return(0);
}
int start()
{
// код доступен только после оплаты
}
int i,counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
if (timeFrame!=Period())
{
iCustom(NULL,timeFrame,indicatorFileName,"",FastEMA,SlowEMA,SignalEMA,Price,UniqueID,ColorUp,ColorNeutralUp,ColorDown,ColorNeutralDown,MaxValue,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,Time[0],0,0);
return(0);
}
else if (Dummy<=Time[0]) Dummy = Time[0];
static bool secondTime=false;
if (secondTime)
{
for (;limit<Bars; limit++) if (colors[limit]!=colors[limit+1]) break;
}
else secondTime=true;
for(i = limit; i>=0 ; i--)
{
double price = iMA(NULL,0,1,0,MODE_SMA,Price,i);
if (i>Bars-2)
{
macd[i] = 0;
signal[i] = 0;
continue;
}
macd[i] = iDema(price,FastEMA,i,0)-iDema(price,SlowEMA,i,1);
signal[i] = iDema(macd[i],SignalEMA,i,2);
colors[i] = colors[i+1];
times[i] = times[i+1];
string name = UniqueID+":"+Time[i];
ObjectDelete(name);
if (macd[i]>signal[i] && macd[i]> 0) colors[i] = 1;
if (macd[i]>signal[i] && macd[i]< 0) colors[i] = 2;
if (macd[i]<signal[i] && macd[i]< 0) colors[i] = 3;
if (macd[i]<signal[i] && macd[i]> 0) colors[i] = 4;
if (colors[i]!=colors[i+1] || i==0)
{
times[i]= Time[i];
if (times[i+1]<Time[0])
{
datetime lastTime = Time[i]; if (i==0) lastTime = Dummy;
ObjectCreate(name,OBJ_RECTANGLE,0,times[i+1],0,lastTime,MaxValue);
ObjectSet(name,OBJPROP_BACK,true);
int clr = colors[Показано первые 50% кода (символов: 4721)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.