extreme_spike mtf@fxsignalspot.com.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «extreme_spike mtf@fxsignalspot.com.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор Extreme Spike MTF предназначен для обнаружения и визуализации экстремальных разворотов цены — основных (major) и второстепенных (minor) верхов и донов — на графике актива. Он строит отдельные линии для каждого типа сигнала, позволяя трейдеру визуально отслеживать структуру рыночных разворотов. Поддерживается анализ на произвольном таймфрейме, что обеспечивает мультитаймфрейтное отображение экстремумов.
Индикатор предоставляет настраиваемую систему уведомлений: отдельные оповещения можно включить для обнаружения основных и малых верхов и донов, а также для момента, когда формирующаяся линия перестаёт перерисовываться (стабильная линия). Доступен режим без репейнта, при котором экстремумы фиксируются только после подтверждения, хотя это вносит задержку в отображение. Параметры минимальной высоты и ширины экстремумов позволяют настраивать чувствительность индикатора под конкретный торговый инструмент и стиль торговли.
В основе расчёта лежит сравнение текущей цены с предыдущими экстремумами и оценка их значимости на основе усреднённого диапазона цены (ATR). Индикатор работает в отдельном окне под графиком и отрисовывает пять линий различного цвета и стиля, соответствующих разным типам экстремумов и их состоянию.
Настройки программы
| Настройка | Описание |
|---|---|
| timeFrame | Таймфрейм анализа — Таймфрейм, на котором осуществляется анализ экстремумов. Если установлен в 0, используется таймфрейм текущего графика. |
| NoRepaint | Без репейнта — Переключатель режима без репейнта. При включении экстремумы фиксируются только после подтверждения, что исключает их последующую перерисовку, но вносит задержку в отображении. |
| MinorMinExtremeHeightATRs | Минимальная высота малого экстремума (в ATR) — Минимальная высота второстепенного экстремума, выраженная в кратности среднему истинному диапазону цены (ATR). |
| MajorToMinorHeightRatio | Соотношение высот основного и малого экстремумов — Коэффициент, определяющий соотношение минимальной высоты основного экстремума к минимальной высоте второстепенного экстремума. |
| MinorMinExtremeWidth | Минимальная ширина малого экстремума — Минимальное количество баров между двумя последовательными второстепенными экстремумами одного типа для подтверждения паттерна. |
| MajorMinExtremeWidth | Минимальная ширина основного экстремума — Минимальное количество баров между двумя последовательными основными экстремумами одного типа для подтверждения паттерна. |
| AlertMajorBottomEnabled | Уведомление основного дна — Включает или отключает уведомление при обнаружении основного дна (крупного разворота вниз). |
| AlertMajorTopEnabled | Уведомление основного верха — Включает или отключает уведомление при обнаружении основного верха (крупного разворота вверх). |
| AlertMinorTopEnabled | Уведомление малого верха — Включает или отключает уведомление при обнаружении второстепенного верха (мелкого разворота вверх). |
| AlertMinorBottomEnabled | Уведомление малого дна — Включает или отключает уведомление при обнаружении второстепенного дна (мелкого разворота вниз). |
| AlertStableEnabled | Уведомление стабильной линии — Включает или отключает уведомление при формировании стабильной линии экстремума, которая больше не перерисовывается. |
| WaitForClose | Ожидание закрытия бара — При включении индикатор ожидает полного закрытия текущего бара перед началом пересчёта значений. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_minimum -1.2
#property indicator_maximum +1.2
#property indicator_buffers 5
#property indicator_color1 Red
#property indicator_width1 3
#property indicator_style1 STYLE_SOLID
#property indicator_color2 DodgerBlue
#property indicator_width2 3
#property indicator_style2 STYLE_SOLID
#property indicator_color3 DimGray
#property indicator_width3 0
#property indicator_color4 White
#property indicator_width4 1
#property indicator_style4 STYLE_SOLID
#property indicator_color5 White
#property indicator_width5 2
#property indicator_style5 STYLE_SOLID
#define ALERT_TOP 1
#define ALERT_BOTTOM 2
#define ALERT_STABLE 3
#define LINE_MINOR 1
#define LINE_MAJOR 2
#define LINE_SHADOW 3
#define LINE_STABLE 4
#define LINE_VALUE_UP 1.0
#define LINE_VALUE_FLAT 0.0
#define LINE_VALUE_DOWN -1.0
#define MODE_LOOKING_FOR_BOTTOM 1
#define MODE_LOOKING_FOR_TOP -1
#define MODE_UNDETERMINED 0
extern int timeFrame = 0;
extern bool NoRepaint = FALSE;
extern double MinorMinExtremeHeightATRs = 2.0;
extern double MajorToMinorHeightRatio = 2.5;
extern int MinorMinExtremeWidth = 2;
extern int MajorMinExtremeWidth = 2;
extern bool AlertMajorBottomEnabled = FALSE;
extern bool AlertMajorTopEnabled = FALSE;
extern bool AlertMinorTopEnabled = FALSE;
extern bool AlertMinorBottomEnabled = FALSE;
extern bool AlertStableEnabled = FALSE;
extern bool WaitForClose = true;
double line1[]; // lineMajorUp
double line2[]; // lineMajorDown
double line3[]; // lineShadowUp, lineShadowDown
double line4[]; // lineStableUp, lineStableDown
double line5[]; // lineMinorUp, lineMinorDown
int MinorLowExtremeIdx = 1;
bool MinorFirstLow = TRUE;
int MinorHiExtremeIdx = 1;
bool MinorFirstHigh = TRUE;
int MinorExtremeMode = 0;
double MinorLowExtremePrice;
double MinorHiExtremePrice;
int MajorLowExtremeIdx = 1;
bool MajorFirstLow = TRUE;
int MajorHiExtremeIdx = 1;
bool MajorFirstHigh = TRUE;
int MajorExtremeMode = 0;
double MajorLowExtremePrice;
double MajorHiExtremePrice;
double MinorMinExtremeHeight;
double MajorMinExtremeHeight;
datetime AlertMinorTopIdx;
datetime AlertMinorBottomIdx;
datetime AlertMajorTopIdx;
datetime AlertMajorBottomIdx;
datetime AlertStableIdx;
string periodName,indicatorFileName;
int BarNumber;
#define RANGE_AVERAGING_PERIOD 250
int init() {
// код доступен только после оплаты
}
int deinit() {
return(0);
}
int start() {
// код доступен только после оплаты
}
void processBar() {
switch( BarNumber ) {
case 0:
break;
case 1:
periodName = getPeriodName();
AlertMinorTopIdx = Time[Bars-1];
AlertMinorBottomIdx = Time[Bars-1];
AlertMajorTopIdx = Time[Bars-1];
AlertMajorBottomIdx = Time[Bars-1];
MinorLowExtremePrice = getLow();
MinorHiExtremePrice = getHigh();
MajorLowExtremePrice = getLow();
MajorHiExtremePrice = getHigh();
break;
default:
MinorMinExtremeHeight = average() * MinorMinExtremeHeightATRs;
MajorMinExtremeHeight = MinorMinExtremeHeight * MajorToMinorHeightRatio;
checkForExtremes( MinorLowExtremeIdx, MinorLowExtremePrice, MinorFirstLow,
MinorHiExtremeIdx, MinorHiExtremePrice, MinorFirstHigh,
MinorExtremeMode, MinorMinExtremeHeight, MinorMinExtremeWidth, LINE_MINOR );
checkForExtremes( MajorLowExtremeIdx, MajorLowExtremePrice, MajorFirstLow,
MajorHiExtremeIdx, MajorHiExtremePrice, MajorFirstHigh,
MajorExtremeMode, MajorMinExtremeHeight, MajorMinExtremeWidth, LINE_MAJOR );
break;
}
return;
}
void checkForExtremes( int& lowExtremeIdx, double& lowExtremePrice, bool& firstLow,
int& hiExtremeIdx, double& hiExtremePrice, bool& firstHigh,
int& extremeMode, double MinExtremeHeight, int MinExtremeWidth, int lineType ) {
if( extremeMode > -1 ) {
if( getLow() < lowExtremePrice ) {
if( !firstLow )
eraseExtreme( lineType, lowExtremeIdx, LINE_VALUE_DПоказано первые 50% кода (символов: 10036)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.