dema macd zones amp alerts 2_sp ahtf.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «dema macd zones amp alerts 2_sp ahtf.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный индикатор рассчитывает MACD на основе DEMA (двойной экспоненциальной скользящей средней) с параметрами FastEMA, SlowEMA и SignalEMA. Вместо стандартного расчёта EMA применяются два уровня DEMA, разность которых формирует линию MACD, а третий уровень DEMA от MACD — сигнальную линию.
Индикатор отображает цветовые зоны на графике в виде прямоугольников, определяя четыре состояния по соотношению MACD и сигнальной линии: MACD выше сигнала и положительное, MACD выше сигнала и отрицательное, MACD ниже сигнала и отрицательное, MACD ниже сигнала и положительное. Прямоугольники перерисовываются при смене цвета.
Поддерживается работа на различных таймфреймах через перечисление enTimeFrames, включая возможность выбора старших таймфреймов. Индикатор также предоставляет систему уведомлений с настраиваемыми типами оповещений.
Настройки программы
| Настройка | Описание |
|---|---|
| Time frame (TimeFrame) | Таймфрейм — Таймфрейм, на котором рассчитывается индикатор, с поддержкой выбора старших таймфреймов. |
| FastEMA | Быстрая EMA — Период быстрой экспоненциальной скользящей средней для расчёта DEMA, используемой в линии MACD. |
| SlowEMA | Медленная EMA — Период медленной экспоненциальной скользящей средней для расчёта DEMA, используемой в линии MACD. |
| SignalEMA | Сигнальная EMA — Период экспоненциальной скользящей средней для расчёта сигнальной линии на основе MACD. |
| Price | Тип цены — Тип цены, используемой для расчёта индикатора (например, цена закрытия). |
| UniqueID | Уникальный идентификатор — Уникальный идентификатор объектов индикатора на графике, используемый для именования и удаления прямоугольников. |
| ColorUp | Цвет вверх — Цвет отрисовки прямоугольника в зоне, где MACD выше сигнальной линии и положительный. |
| ColorNeutralUp | Нейтральный цвет вверх — Цвет отрисовки прямоугольника в зоне, где MACD выше сигнальной линии и отрицательный. |
| ColorDown | Цвет вниз — Цвет отрисовки прямоугольника в зоне, где MACD ниже сигнальной линии и отрицательный. |
| ColorNeutralDown | Нейтральный цвет вниз — Цвет отрисовки прямоугольника в зоне, где MACD ниже сигнальной линии и положительный. |
| MaxValue | Максимальное значение — Максимальное значение по оси Y для отрисовки прямоугольников на графике. |
| alertsOn | Уведомления включены — Главный переключатель включения системы уведомлений. |
| alertsOnCurrent | Уведомления на текущем баре — Переключатель выбора бара для проверки условия уведомления: текущий бар или предыдущий. |
| alertsMessage | Уведомления в виде сообщений — Переключатель отображения всплывающего сообщения при срабатывании уведомления. |
| alertsSound | Звуковые уведомления — Переключатель воспроизведения звукового сигнала при срабатывании уведомления. |
| alertsEmail | Уведомления по email — Переключатель отправки электронной почты при срабатывании уведомления. |
| Dummy | Заглушка — Числовой параметр, используемый для фиксации времени при отрисовке прямоугольников на текущем баре. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 0
#property indicator_maximum 1
#property indicator_minimum 0
enum enTimeFrames
{
tf_cu = PERIOD_CURRENT, // Current time frame
tf_m1 = PERIOD_M1, // 1 minute
tf_m5 = PERIOD_M5, // 5 minutes
tf_m15 = PERIOD_M15, // 15 minutes
tf_m30 = PERIOD_M30, // 30 minutes
tf_h1 = PERIOD_H1, // 1 hour
tf_h4 = PERIOD_H4, // 4 hours
tf_d1 = PERIOD_D1, // Daily
tf_w1 = PERIOD_W1, // Weekly
tf_mn1 = PERIOD_MN1, // Monthly
tf_n1 = -1, // First higher time frame
tf_n2 = -2, // Second higher time frame
tf_n3 = -3 // Third higher time frame
};
extern enTimeFrames TimeFrame = tf_cu; // Time frame
extern int FastEMA = 12;
extern int SlowEMA = 26;
extern int SignalEMA = 9;
extern int Price = PRICE_CLOSE;
extern string UniqueID = "MACD zones H";
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[], signal[], colors[], times[];
int timeFrame, wind;
string indicatorFileName;
int init()
{
// код доступен только после оплаты
}
int timeFrameValue(int _tf)
{
int add = (_tf>=0) ? 0 : MathAbs(_tf);
if (add != 0) _tf = _Period;
int size = ArraySize(iTfTable);
int i =0; for (;i<size; i++) if (iTfTable[i]==_tf) break;
if (i==size) return(_Period);
return(iTfTable[(int)MathMin(i+add,size-1)]);
}
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]< Показано первые 50% кода (символов: 5456)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.