LWMA_with_Bands.v2.0
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «lwma_with_bands v2.0.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
LWMA_with_Bands.v2.0 — пользовательский индикатор для MetaTrader 4, построенный на основе линейно-взвешенного скользящего среднего (LWMA). Индикатор отображает основную линию LWMA на графике цены и рассчитывает до четырёх пар верхних и нижних границ, позволяя визуально оценивать отклонение цены от среднего значения.
Индикатор поддерживает два взаимоисключающих режима формирования границ: на основе ATR (Average True Range) и на основе стандартного отклонения (Standard Deviation). В режиме ATR границы рассчитываются как сумма и разность значения LWMA с произведением ATR на заданный множитель. В режиме Standard Deviation границы формируются на основе рассчитанного стандартного отклонения цен за заданный период с четырьмя уровнями отклонения.
Дополнительно индикатор может отображать текстовые объекты на графике с расстоянием от текущей цены Bid до центральной линии LWMA и до первых верхней и нижней границ, переведённым в пункты. Цвет линии LWMA меняется в зависимости от направления движения: при росте и при снижении используются разные цвета.
Индикатор работает на любом таймфрейме и для любых валютных пар, доступных в MetaTrader 4. Расчёт выполняется на каждом тике с использованием стандартных ценовых данных (Open, High, Low, Close).
Настройки программы
| Настройка | Описание |
|---|---|
| LWMAperiod | Период LWMA — Период расчёта линейно-взвешенного скользящего среднего (LWMA) |
| atrBands | Банды ATR — Переключатель режима формирования границ на основе ATR (Average True Range) |
| stdDevBands | Банды стандартного отклонения — Переключатель режима формирования границ на основе стандартного отклонения |
| DisplayOffsets | Отображение расстояний — Переключатель отображения текстовых объектов с расстоянием от цены Bid до линии LWMA и границ в пунктах |
| atrPeriod | Период ATR — Период расчёта ATR (Average True Range) |
| stdPeriod | Период стандартного отклонения — Период расчёта стандартного отклонения |
| Multiplier1 | Множитель ATR 1 — Множитель ATR для первого уровня верхней и нижней границ (при активном режиме ATR) |
| Multiplier2 | Множитель ATR 2 — Множитель ATR для второго уровня верхней и нижней границ |
| Multiplier3 | Множитель ATR 3 — Множитель ATR для третьего уровня верхней и нижней границ |
| Multiplier4 | Множитель ATR 4 — Множитель ATR для четвёртого уровня верхней и нижней границ |
| Standard Deviation 1 (BandDev1) | Стандартное отклонение 1 — Множитель стандартного отклонения для первого уровня верхней и нижней границ (при активном режиме Standard Deviation) |
| Standard Deviation 2 (BandDev2) | Стандартное отклонение 2 — Множитель стандартного отклонения для второго уровня верхней и нижней границ |
| Standard Deviation 3 (BandDev3) | Стандартное отклонение 3 — Множитель стандартного отклонения для третьего уровня верхней и нижней границ |
| Standard Deviation 4 (BandDev4) | Стандартное отклонение 4 — Множитель стандартного отклонения для четвёртого уровня верхней и нижней границ |
| maxBarsBack | Максимум баров назад — Максимальное количество баров для расчёта индикатора |
Поиск по коду файла
???//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 15
#property indicator_color1 clrWhite
#property indicator_color2 clrDodgerBlue
#property indicator_color3 clrOrange
#property indicator_color4 clrSpringGreen
#property indicator_color5 clrRed
#property indicator_color6 clrSpringGreen
#property indicator_color7 clrRed
#property indicator_color8 clrSpringGreen
#property indicator_color9 clrRed
#property indicator_color10 clrSpringGreen
#property indicator_color11 clrRed
#property indicator_style4 STYLE_DOT
#property indicator_style5 STYLE_DOT
#property indicator_style6 STYLE_SOLID
#property indicator_style7 STYLE_SOLID
#property indicator_style8 STYLE_DOT
#property indicator_style9 STYLE_DOT
#property indicator_style10 STYLE_SOLID
#property indicator_style11 STYLE_SOLID
extern int LWMAperiod = 55;
extern bool atrBands = false;
extern bool stdDevBands = false;
extern bool DisplayOffsets = false;
extern int atrPeriod = 89;
extern int stdPeriod = 21;
extern double Multiplier1 = 3.0;
extern double Multiplier2 = 6.0;
extern double Multiplier3 = 9.0;
extern double Multiplier4 = 12.0;
extern double BandDev1 = 0.5; // Standard Deviation 1
extern double BandDev2 = 1.0; // Standard Deviation 2
extern double BandDev3 = 1.5; // Standard Deviation 3
extern double BandDev4 = 2.0; // Standard Deviation 4
extern int maxBarsBack = 3000;
string shortName;
color textclr = White;
double lwma[], lwma_Up1[], lwma_Dn1[], lwma_Up2[], lwma_Dn2[], lwma_Up3[], lwma_Dn3[], lwma_Up4[], lwma_Dn4[];
double Upper1[], Lower1[], Upper2[], Lower2[], Upper3[], Lower3[], Upper4[], Lower4[];
double PriceBuffer[], StdDevBuffer[];
int pipsDecimal, MaxBarsBack;
void OnInit()
{
// код доступен только после оплаты
}
int deinit()
{
ObjectDelete(0);
return(0);
}
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[],
const int& spread[])
{
// код доступен только после оплаты
}
if (Bars <= 1) return (0);
int limit = rates_total - prev_calculated;
if (limit > MaxBarsBack) limit = MaxBarsBack;
if(prev_calculated > 0) limit++;
double range;
datetime lastTime = 0;
for (int i=limit; i>=0; i--)
{
lwma[i] = EMPTY_VALUE;
lwma_Up1[i] = EMPTY_VALUE;
lwma_Dn1[i] = EMPTY_VALUE;
lwma_Up2[i] = EMPTY_VALUE;
lwma_Dn2[i] = EMPTY_VALUE;
lwma_Up3[i] = EMPTY_VALUE;
lwma_Dn3[i] = EMPTY_VALUE;
lwma_Up4[i] = EMPTY_VALUE;
lwma_Dn4[i] = EMPTY_VALUE;
lwma[i] = iMA(NULL,0,LWMAperiod,0,MODE_LWMA,PRICE_CLOSE,i);
if (Показано первые 50% кода (символов: 8280)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.