fractal - channel breakout.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «fractal - channel breakout.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 4, отображающий в окне графика канал, построенный по фракталам с настраиваемым периодом. Канал состоит из верхней и нижней границ, которые обновляются при появлении новых фрактальных экстремумов и сохраняют предыдущее значение, пока новый экстремум не подтверждён. Направление канала используется для визуального выделения текущего состояния рынка.
Индикатор поддерживает несколько режимов отображения: линии канала, цветные свечи, точки, а также их комбинации. Цвета и толщина линий, свечей и фитилей настраиваются. Дополнительно могут выводиться стрелки в моменты смены направления, с настройкой размера, кода символа, цвета и отступа от цены.
Предусмотрена работа на выбранном таймфрейме, включая пользовательский, с возможностью интерполяции значений между барами старшего таймфрейма. Встроена система оповещений о смене направления канала: всплывающее сообщение, звук, электронная почта и push-уведомление. Оповещения могут срабатывать как на закрытом баре, так и на текущем незакрытом баре.
Настройки программы
| Настройка | Описание |
|---|---|
| Time frame (TimeFrame) | Таймфрейм — Таймфрейм, на котором выполняется расчёт индикатора. |
| Custom time frame to use (if custom time frame used) (TimeFrameCustom) | Пользовательский таймфрейм — Пользовательский таймфрейм в минутах, если выбран вариант пользовательского таймфрейма. |
| Fractal period 5 = std mt4 fractal (FractalPeriod) | Период фрактала — Период фрактала; значение 5 соответствует стандартному фракталу MetaTrader 4. |
| Upper fractal price (PriceHigh) | Цена верхнего фрактала — Цена, используемая для расчёта верхнего фрактала. |
| Lower fractal price (PriceLow) | Цена нижнего фрактала — Цена, используемая для расчёта нижнего фрактала. |
| Display type (DisplayType) | Тип отображения — Выбор способа отображения: канал, цветные свечи, точки или их комбинации. |
| Bars width (when candles are included in display) (BarsWidth) | Толщина свечей — Толщина свечей при отображении в виде цветных свечей. |
| Wicks width (when candles are included in display) (WickWidth) | Толщина фитилей — Толщина фитилей при отображении в виде цветных свечей. |
| Lines width (when lines are included in display) (LinesWidth) | Толщина линий — Толщина линий канала. |
| Upper channel color (UpChannelColor) | Цвет верхнего канала — Цвет верхней границы канала. |
| Lower channel color (DnChannelColor) | Цвет нижнего канала — Цвет нижней границы канала. |
| Up candle color (UpBarsColor) | Цвет свечей вверх — Цвет свечей при восходящем направлении. |
| Down candle color (DnBarsColor) | Цвет свечей вниз — Цвет свечей при нисходящем направлении. |
| Up wick color (UpWickColor) | Цвет фитилей вверх — Цвет фитилей при восходящем направлении. |
| Down wick color (DnWickColor) | Цвет фитилей вниз — Цвет фитилей при нисходящем направлении. |
| Up arrow size (UpArrowSize) | Размер стрелки вверх — Размер стрелки вверх. |
| Down arrow size (DnArrowSize) | Размер стрелки вниз — Размер стрелки вниз. |
| Up arrow code (UpArrowCode) | Код стрелки вверх — Код символа для стрелки вверх. |
| Down arrow code (DnArrowCode) | Код стрелки вниз — Код символа для стрелки вниз. |
| Up arrow gap (UpArrowGap) | Отступ стрелки вверх — Отступ стрелки вверх от ценового уровня. |
| Down arrow gap (DnArrowGap) | Отступ стрелки вниз — Отступ стрелки вниз от ценового уровня. |
| Up Arrow color (UpArrowColor) | Цвет стрелки вверх — Цвет стрелки вверх. |
| Down Arrow color (DnArrowColor) | Цвет стрелки вниз — Цвет стрелки вниз. |
| Arrow on first bars? (ArrowOnFirst) | Стрелка на первом баре — Определяет, привязывать ли стрелку к первому бару при переходе между таймфреймами. |
| Turn alerts on? (alertsOn) | Включить оповещения — Включает или отключает оповещения о смене направления канала. |
| Alerts on still opened bar? (alertsOnCurrent) | Оповещения на текущем баре — Разрешает срабатывание оповещений на текущем незакрытом баре. |
| Alerts should show popup message? (alertsMessage) | Всплывающее сообщение — Показывать всплывающее сообщение при срабатывании оповещения. |
| Alerts should play a sound? (alertsSound) | Звуковое оповещение — Воспроизводить звуковой сигнал при срабатывании оповещения. |
| Alerts should send email? (alertsEmail) | Оповещение по email — Отправлять оповещение по электронной почте. |
| Alerts should send notification? (alertsNotify) | Push-уведомление — Отправлять push-уведомление при срабатывании оповещения. |
| Interpolate in multi timeframe mode? (Interpolate) | Интерполяция — Включает интерполяцию значений при работе на старшем таймфрейме. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 8
#property strict
enum enDisplay
{
en_lin, // Display channel
en_his, // Display colored candles
en_all, // Display channel and candles
en_lid, // Display channel with dots
en_hid, // Display colored candles with dots
en_ald, // Display channel and candles with dots
en_dot // Display dots
};
enum enTimeFrames
{
tf_cu = 0, // 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_mb1 = PERIOD_MN1, // Monthly
tf_cus = 12345678 // Custom time frame
};
extern enTimeFrames TimeFrame = tf_cu; // Time frame
extern int TimeFrameCustom = 0; // Custom time frame to use (if custom time frame used)
extern int FractalPeriod = 5; // Fractal period 5 = std mt4 fractal
extern ENUM_APPLIED_PRICE PriceHigh = PRICE_HIGH; // Upper fractal price
extern ENUM_APPLIED_PRICE PriceLow = PRICE_LOW; // Lower fractal price
extern enDisplay DisplayType = en_lid; // Display type
extern int BarsWidth = 1; // Bars width (when candles are included in display)
extern int WickWidth = 2; // Wicks width (when candles are included in display)
extern int LinesWidth = 2; // Lines width (when lines are included in display)
extern color UpChannelColor = clrTeal; // Upper channel color
extern color DnChannelColor = clrOrange; // Lower channel color
extern color UpBarsColor = clrTeal; // Up candle color
extern color DnBarsColor = clrOrange; // Down candle color
extern color UpWickColor = clrTeal; // Up wick color
extern color DnWickColor = clrOrange; // Down wick color
extern int UpArrowSize = 2; // Up arrow size
extern int DnArrowSize = 2; // Down arrow size
extern int UpArrowCode = 159; // Up arrow code
extern int DnArrowCode = 159; // Down arrow code
extern double UpArrowGap = 0.5; // Up arrow gap
extern double DnArrowGap = 0.5; // Down arrow gap
extern color UpArrowColor = clrDodgerBlue; // Up Arrow color
extern color DnArrowColor = clrMagenta; // Down Arrow color
extern bool ArrowOnFirst = true; // Arrow on first bars?
extern bool alertsOn = true; // Turn alerts on?
extern bool alertsOnCurrent = false; // Alerts on still opened bar?
extern bool alertsMessage = true; // Alerts should show popup message?
extern bool alertsSound = false; // Alerts should play a sound?
extern bool alertsEmail = false; // Alerts should send email?
extern bool alertsNotify = false; // Alerts should send notification?
extern bool Interpolate = true; // Interpolate in multi timeframe mode?
double histou[];
double histod[];
double wickou[];
double wickod[];
double upper[];
double lower[];
double arrowu[];
double arrowd[];
double trend[];
string indicatorFileName;
bool returnBars;
int init()
{
// код доступен только после оплаты
}
int deinit() { return(0); }
int start()
{
// код доступен только после оплаты
}
int i,counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = fmin(Bars-counted_bars,Bars-1);
if (returnBars) { histou[0] = limit+1; return(0); }
if (TimeFrame == Period())
{
int half = FractalPeriod/2;
for(i=limit; i>=0; i--)
{
if (i<Bars-1)
{
int r;
bool found = true;
double compareTo = iMA(NULL,0,1,0,MODE_SMA,PriceHigh,i);
for (r=1;r<=half;r++)
{
if ((i+r)<Bars && iMA(NULL,0,1,0,MODE_SMA,PriceHigh,i+r)> compareTo) { found=false; break; }
if ((i-r)>=0 && iMA(NULL,0,1,0,MODE_SMA,PriceHigh,i-r)>=compareTo) { found=false; break; }
}
if (founПоказано первые 50% кода (символов: 9070)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.