elliot oscillator - waves 1.03 (mtf) bt.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «elliot oscillator - waves 1.03 (mtf) bt.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 4, реализующий анализ Эллиоттовских осцилляторов на основе разности скользящих средних с настраиваемыми периодами и методом усреднения. Отображает результат в отдельном окне графика с использованием гистограммных и линейных буферов, выделяет локальные пики и строит линии тренда между ними. Поддерживает мультитаймфрейм-режим с интерполяцией данных, а также настраиваемые оповещения через сообщения, звук, электронную почту и push-уведомления.
Настройки программы
| Настройка | Описание |
|---|---|
| Time frame (TimeFrame) | Таймфрейм — Выбор таймфрейма для расчётов и отображения данных индикатора |
| Short period (shortPeriod) | Короткий период — Период короткой скользящей средней, используемой в расчёте осциллятора |
| Long period (longPeriod) | Длинный период — Период длинной скользящей средней, используемой в расчёте осциллятора |
| Price (original should be median) (Price) | Цена — Тип цены (или другое значение), используемый для расчёта скользящих средних |
| Average method to use (original should be SMA) (MaMethod) | Метод усреднения — Метод расчёта скользящей средней (например, SMA, EMA и др.) |
| Unique ID for the indicator (linesIdentifier) | Идентификатор линий — Уникальный идентификатор для объектов-линий, создаваемых индикатором на графике |
| clrNONE; // Zigzag lines color (linesColor) | Цвет линий — Цвет линий тренда, соединяющих пики осциллятора |
| Zigzag lines style (linesStyle) | Стиль линий — Стиль отображения линий тренда (сплошной, пунктир и т.д.) |
| Turn alerts on? (alertsOn) | Оповещения включены — Включает или отключает систему оповещений индикатора |
| Alerts on still opened bar? (alertsOnCurrent) | Оповещения на текущем баре — Определяет, проверять ли условие смены сигнала на ещё не закрытом баре |
| Alerts should display a message? (alertsMessage) | Сообщение — Отображать ли всплывающее сообщение при срабатывании оповещения |
| Alerts should play alert sound? (alertsSound) | Звук — Воспроизводить ли звуковой сигнал при срабатывании оповещения |
| Alerts should send email? (alertsEmail) | Email — Отправлять ли уведомление на электронную почту при срабатывании оповещения |
| Alerts should send notification? (alertsPush) | Push-уведомление — Отправлять ли push-уведомление на мобильное устройство при срабатывании оповещения |
| Interpolate in mtf mode? (Interpolate) | Интерполяция — Включает интерполяцию данных при мультитаймфрейм-режиме для более плавной отрисовки |
| button_note1 | Разделитель кнопки 1 — Текстовый разделитель перед настройками кнопки |
| btn_Subwindow | Подокно кнопки — Номер подокна графика, в котором размещается кнопка управления |
| btn_corner | Угол кнопки — Угол привязки кнопки на графике (верхний правый, нижний левый и т.д.) |
| btn_text | Текст кнопки — Текст, отображаемый на кнопке управления индикатором |
| btn_Font | Шрифт кнопки — Шрифт, используемый для текста кнопки |
| btn_FontSize | Размер шрифта кнопки — Размер шрифта текста кнопки |
| btn_text_ON_color | Цвет текста кнопки (вкл) — Цвет текста кнопки в активном (видимом) состоянии |
| btn_text_OFF_color | Цвет текста кнопки (выкл) — Цвет текста кнопки в неактивном (скрытом) состоянии |
| btn_background_color | Фон кнопки — Цвет фона кнопки управления |
| btn_border_color | Цвет рамки кнопки — Цвет границы кнопки |
| button_x | Позиция X кнопки — Горизонтальная координата размещения кнопки на графике |
| button_y | Позиция Y кнопки — Вертикальная координата размещения кнопки на графике |
| btn_Width | Ширина кнопки — Ширина кнопки управления в пикселях |
| btn_Height | Высота кнопки — Высота кнопки управления в пикселях |
| button_note2 | Разделитель кнопки 2 — Текстовый разделитель после настроек кнопки |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 clrDeepSkyBlue
#property indicator_color2 clrPaleVioletRed
#property indicator_color3 clrYellow
#property indicator_color4 clrBlue
#property indicator_color5 clrLimeGreen
#property indicator_color6 clrRed
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 5
#property indicator_width4 5
#property indicator_width5 2
#property indicator_width6 2
#property strict
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_m15; // Time frame
extern int shortPeriod = 4; // Short period
extern int longPeriod = 36; // Long period
extern ENUM_APPLIED_PRICE Price = PRICE_CLOSE; // Price (original should be median)
extern ENUM_MA_METHOD MaMethod = MODE_EMA; // Average method to use (original should be SMA)
extern string linesIdentifier = "ewH1"; // Unique ID for the indicator
extern color linesColor = clrDarkGray; // clrNONE; // Zigzag lines color
extern ENUM_LINE_STYLE linesStyle = STYLE_DOT; // Zigzag lines style
extern bool alertsOn = false; // Turn alerts on?
extern bool alertsOnCurrent = false; // Alerts on still opened bar?
extern bool alertsMessage = true; // Alerts should display a message?
extern bool alertsSound = true; // Alerts should play alert sound?
extern bool alertsEmail = false; // Alerts should send email?
extern bool alertsPush = false; // Alerts should send notification?
extern bool Interpolate = true; // Interpolate in mtf mode?
extern string button_note1 = "------------------------------";
extern int btn_Subwindow = 3;
extern ENUM_BASE_CORNER btn_corner = CORNER_RIGHT_UPPER;
extern string btn_text = "Elliot osc";
extern string btn_Font = "Arial";
extern int btn_FontSize = 8;
extern color btn_text_ON_color = clrWhite;
extern color btn_text_OFF_color = clrRed;
extern color btn_background_color = clrDimGray;
extern color btn_border_color = clrDarkGray;
extern int button_x = 75;
extern int button_y = 0;
extern int btn_Width = 65;
extern int btn_Height = 20;
extern string button_note2 = "------------------------------";
bool show_data = true;
bool recalc = true;
string IndicatorName, IndicatorObjPrefix,buttonId;
double ellBuffer[],ellUBuffer[],ellDBuffer[],mauBuffer[],madBuffer[],peakUp[],peakDn[],trend[],count[];
string indicatorFileName;
#define _mtfCall(_buff,_ind) iCustom(NULL,TimeFrame,indicatorFileName,PERIOD_CURRENT,shortPeriod,longPeriod,Price,MaMethod,linesIdentifier,linesColor,linesStyle,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,alertsPush,Interpolate,button_note1,btn_Subwindow,btn_corner,btn_text,btn_Font,btn_FontSize,btn_text_ON_color,btn_text_OFF_color,btn_background_color,btn_border_color,button_x,button_y,btn_Width,btn_Height,button_note2,_buff,_ind)
string GenerateIndicatorName(const string target)
{
string name = target;
int try = 2;
while (WindowFind(name) != -1)
{
name = target + " #" + IntegerToString(try++);
}
return name;
}
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
string lookFor = linesIdentifier+":";
for (int i=ObjectsTotal(); i>=0; i--)
{
string name = ObjectName(i);
if (StringFind(name,lookFor)==0) ObjectDelete(name);
}
ObjectsDeleteAll(ChartID(), IndicatorObjPrefix);
}
void createButton(string buttonID,string buttonText,int width,int height,string font,int fontSize,color bgColor,color borderColor,color txtColor)
{
ObjectCreate (0,buttonID,OBJ_BUTTON,WindowOnDropped(),0,0);
ObjectSetInteger(0,buttonID,OBJPROP_COLOR,txtColor);
ObjectSetInteger(0,buttonID,OBJPROP_BGCOLOR,bgColor);
ObjectSetInteger(0,buttonID,OBJPROP_BORDER_COLOR,borderColor);
ObjectSetInteger(0,buttonID,OBJPROP_BORDER_TYPE,BORDER_RAISED);
ObjectSetInteger(0,buttonID,OBJPROP_XSIZE,width);
ObjectSetInteger(0,buttonID,OBJPROP_YSIZE,height);
ObjectSetString (0,buttonID,OBJPROP_FONT,font);
ObjectSetString (0,buttonID,OBJPROP_TEXT,buttonText);
ObjectSetInteger(0,buttonID,OBJPROP_FONTSIZE,fontSize);
ObjectSetInteger(0,buttonID,OBJPROP_SELECTABLE,0);
ObjectSetInteger(0,buttonID,OBJPROP_CORNER,btn_corner);
ObjectSetInteger(0,buttonID,OBJPROP_HIDDEN,1);
ObjectSetInteger(0,buttonID,OBJPROP_XDISTANCE,9999);
ObjectSetInteger(0,buttonID,OBJPROP_YDISTANCE,9999);
}
void handleButtonClicks()
{
if (ObjectGetInteger(0, buttonId, OBJPROP_STATE))
{
ObjectSetInteger(0, buttonId, OBJPROP_STATE, false);
show_data = !show_data;
GlobalVariableSet(IndicatorName + "_visibility", show_data ? 1.0 : 0.0);
recalc = true;
}
}
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
handlПоказано первые 50% кода (символов: 11378)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.