MTF_MovingAverage
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «#mtf_movingaverage_v1.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный исходный код представляет собой пользовательский индикатор для MetaTrader 5 (язык MQL5), несмотря на то что в заголовке файла указано расширение .mq4. Индикатор отображает скользящую среднюю, рассчитанную на выбранном пользователем таймфрейме, который может отличаться от текущего таймфрейма графика. Это позволяет видеть динамику средней на более старшем или младшем периоде прямо на текущем графике.
В коде используются стандартные функции MetaTrader для работы с индикаторами: SetIndexBuffer, SetIndexStyle, IndicatorShortName, ArrayCopySeries, iMA. Индикатор имеет один буфер для отрисовки линии. Настройки задаются через внешние параметры, которые позволяют выбрать таймфрейм, период средней, сдвиг, метод усреднения и цену применения. Название индикатора формируется динамически в зависимости от выбранных параметров.
Обработка данных происходит в функции start(), где для каждого бара текущего графика определяется соответствующий бар на выбранном таймфрейме и вычисляется значение скользящей средней с помощью iMA. Сдвиг индикатора на графике рассчитывается пропорционально отношению таймфреймов.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм, на котором рассчитывается скользящая средняя. Задаётся числовым значением периода в минутах. Значение 0 означает текущий таймфрейм графика. |
| MAPeriod | Количество баров, используемых для расчёта скользящей средней. Значение по умолчанию 10. |
| ma_shift | Сдвиг скользящей средней относительно текущего бара. Значение по умолчанию 0. |
| ma_method | Метод усреднения скользящей средней. Задаётся числовым значением: 0 — Simple, 1 — Exponential, 2 — Smoothed, 3 — Linear weighted. Значение по умолчанию 0. |
| applied_price | Цена, к которой применяется скользящая средняя. Задаётся числовым значением: 0 — Close, 1 — Open, 2 — High, 3 — Low, 4 — Median, 5 — Typical, 6 — Weighted. Значение по умолчанию 0. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Blue
#property indicator_width1 2
/*************************************************************************
PERIOD_M1 1
PERIOD_M5 5
PERIOD_M15 15
PERIOD_M30 30
PERIOD_H1 60
PERIOD_H4 240
PERIOD_D1 1440
PERIOD_W1 10080
PERIOD_MN1 43200
You must use the numeric value of the timeframe that you want to use
when you set the TimeFrame' value with the indicator inputs.
---------------------------------------
PRICE_CLOSE 0 Close price.
PRICE_OPEN 1 Open price.
PRICE_HIGH 2 High price.
PRICE_LOW 3 Low price.
PRICE_MEDIAN 4 Median price, (high+low)/2.
PRICE_TYPICAL 5 Typical price, (high+low+close)/3.
PRICE_WEIGHTED 6 Weighted close price, (high+low+close+close)/4.
You must use the numeric value of the Applied Price that you want to use
when you set the 'applied_price' value with the indicator inputs.
---------------------------------------
MODE_SMA 0 Simple moving average,
MODE_EMA 1 Exponential moving average,
MODE_SMMA 2 Smoothed moving average,
MODE_LWMA 3 Linear weighted moving average.
You must use the numeric value of the MA Method that you want to use
when you set the 'ma_method' value with the indicator inputs.
**************************************************************************/
extern int TimeFrame=0;
extern int MAPeriod=10;
extern int ma_shift=0;
extern int ma_method=0;
extern int applied_price=0;
double ExtMapBuffer1[];
int init()
{
// код доступен только после оплаты
}
string short_name;
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(0,DRAW_LINE);
if(TimeFrame==0) TimeFrame = Period();
SetIndexShift(0,mПоказано первые 50% кода (символов: 2726)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.