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

Veritech

adx-stochhisto-awesome.mq5
Вы автор или правообладатель?

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

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

О программе

Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 4, который агрегирует сигналы трёх встроенных индикаторов (Stochastic Histogram, Advanced ADX и Awesome) и отображает графические стрелки на графике при их совпадении в одном направлении. Индикатор рисует стрелки вверх (зелёные) при подтверждении покупательского сигнала и стрелки вниз (красные) при подтверждении продавательского сигнала.

Индикатор поддерживает настраиваемые номера буферов для каждого из трёх внешних индикаторов, что позволяет гибко сопоставлять выходные данные с конкретными линиями сигналов. Также предусмотрен механизм оповещений, который может уведомлять трейдера при появлении нового сигнала на текущем баре.

Внутренняя логика включает расчёт динамического диапазона на основе среднего значения диапазона цен за несколько баров, используемого для определения положения стрелок. Индикатор корректно обрабатывает пересчёт при изменении данных и предотвращает повторную отправку дублированных оповещений в рамках одного бара.

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

НастройкаОписание
====================== (s0) Разделитель настроек 1 — Текстовый разделитель для группы настроек первого внешнего индикатора.
Indicator File Name (IndicatorName) Имя индикатора 1 — Имя первого внешнего индикатора, чьи данные используются для формирования сигналов.
Signal Buffer Up ("Call") (IndiBufferCall) Буфер сигнала вверх (индикатор 1) — Номер буфера для чтения сигнального значения вверх (Call) первого внешнего индикатора.
Signal Buffer Down ("Put") (IndiBufferPut) Буфер сигнала вниз (индикатор 1) — Номер буфера для чтения сигнального значения вниз (Put) первого внешнего индикатора.
====================== (s1) Разделитель настроек 2 — Текстовый разделитель для группы настроек второго внешнего индикатора.
IndicatorName2 Имя индикатора 2 — Имя второго внешнего индикатора, чьи данные используются для формирования сигналов.
Signal Buffer Up ("Call") (IndiBufferCall2) Буфер сигнала вверх (индикатор 2) — Номер буфера для чтения сигнального значения вверх (Call) второго внешнего индикатора.
Signal Buffer Down ("Put") (IndiBufferPut2) Буфер сигнала вниз (индикатор 2) — Номер буфера для чтения сигнального значения вниз (Put) второго внешнего индикатора.
====================== (s2) Разделитель настроек 3 — Текстовый разделитель для группы настроек третьего внешнего индикатора.
IndicatorName3 Имя индикатора 3 — Имя третьего внешнего индикатора, чьи данные используются для формирования сигналов.
Signal Buffer Up ("Call") (IndiBufferCall3) Буфер сигнала вверх (индикатор 3) — Номер буфера для чтения сигнального значения вверх (Call) третьего внешнего индикатора.
Signal Buffer Down ("Put") (IndiBufferPut3) Буфер сигнала вниз (индикатор 3) — Номер буфера для чтения сигнального значения вниз (Put) третьего внешнего индикатора.
CountedBars Количество обработанных баров — Задаёт максимальное количество баров, анализируемых при начальном расчёте индикатора.
UseAlert Использовать оповещения — Включает или отключает отправку оповещений при появлении нового совпадающего сигнала.
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 clrLime
#property indicator_color2 clrRed

enum onoff {
   NO = 0,
   YES = 1 
};
enum signaltype {
   IntraBar = 0,   // Intrabar
   ClosedCandle = 1       // On new bar
};

extern string s0 = "===== SIGNAL SETTINGS ============="; // ======================
extern string IndicatorName = "StochHistogram"; // Indicator File Name
extern int IndiBufferCall = 0;      // Signal Buffer Up ("Call") 
extern int IndiBufferPut = 1;       // Signal Buffer Down ("Put") 

extern string s1 = "===== SIGNAL SETTINGS ============="; // ======================
extern string IndicatorName2 = "Advanced ADX - 2 alerts";
extern int IndiBufferCall2 = 0;      // Signal Buffer Up ("Call") 
extern int IndiBufferPut2 = 1;       // Signal Buffer Down ("Put") 

extern string s2 = "===== SIGNAL SETTINGS ============="; // ======================
extern string IndicatorName3 = "Awesome";
extern int IndiBufferCall3 = 1;      // Signal Buffer Up ("Call") 
extern int IndiBufferPut3 = 2;       // Signal Buffer Down ("Put") 

extern int CountedBars=300;
extern bool   UseAlert   = false;

string infolabel_name;
string chkenable;
bool infolabel_created;
int lbnum = 0;
bool initgui = false;

datetime sendOnce;   // Candle time stampe of signal for preventing duplicated signals on one candle
string asset;        // Symbol name (e.g. EURUSD)
string signalID;     // Signal ID (unique ID)
bool alerted = false;
int ForegroundColor;
bool active = true;
double ArrowUPbuff[];
double ArrowDNbuff[];

int OnInit()
{
      // код доступен только после оплаты
   }

void OnDeinit(const int reason)
{
   EventKillTimer();
   ObjectDelete(0, infolabel_name); 
   ObjectDelete(0, chkenable); 
}

/*/+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
      

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

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

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

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

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

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

Стоимость полного кода
420,30₽ ≈ $5.14