QQEm
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «qqem1_mtf.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
QQEm — индикатор для MetaTrader 5, отображаемый в отдельном окне. Он рассчитывает значения RSI заданного периода и применяет к ним скользящую среднюю с настраиваемым методом сглаживания. На основе разницы между последовательными значениями сглаженной RSI вычисляется дополнительный массив данных, который используется для формирования уровня трейлинга.
Индикатор поддерживает работу на разных таймфреймах: при выборе таймфрейма, отличного от текущего, данные берутся через вызов iCustom с соответствующим периодом. Визуально отображаются две линии — сглаженная RSI и уровень трейлинга.
В качестве встроенных расчётов используются стандартные функции MQL5 для RSI и скользящих средних, а также пользовательская логика формирования уровней на основе массивов данных.
Настройки программы
| Настройка | Описание |
|---|---|
| SF | Период сглаживания — Период скользящей средней, применяемой для сглаживания значений RSI. |
| SF_Mode | Метод скользящей средней — Метод скользящей средней для сглаживания RSI. |
| RSI_Period | Период RSI — Период расчёта индикатора RSI. |
| RSI_Price | Тип цены RSI — Тип цены, используемый для расчёта RSI. |
| DARFACTOR | Множитель трейлинга — Множитель, определяющий чувствительность расчёта уровня трейлинга. |
| TimeFrame | Таймфрейм — Таймфрейм, на котором осуществляется расчёт индикатора. |
| SF_Rsi_MaMode | Методы скользящей средней (справка) — Текстовый параметр, описывающий доступные методы скользящей средней. |
| SF_Rsi_Price | Типы цены RSI (справка) — Текстовый параметр, описывающий доступные типы цены для расчёта RSI. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 DarkViolet
#property indicator_style1 STYLE_SOLID
#property indicator_width1 2
#property indicator_color2 Teal
#property indicator_style2 4
extern int SF = 5;
extern int SF_Mode = 1;
extern int RSI_Period = 14;
extern int RSI_Price = 0;
extern double DARFACTOR = 4.236;
extern int TimeFrame = 0;
extern string note_TimeFrames = "M1;5,15,30,60H1;240H4;1440D1;10080W1;43200MN|0-CurrentTF";
extern string notes__ = "RSI(14);RsiMa(SF);WildersPeriod(rsi*2-1);MaAtrRsi(WP)";
extern string SF_Rsi_MaMode = "SMA0 EMA1 SMMA2 LWMA3";
extern string SF_Rsi_Price = "0C 1O 2H 3L 4Md 5Tp 6WghC : Md(HL/2)4,Tp(HLC/3)5,Wgh(HLCC/4)6";
string IndicatorFileName;
int Wilders_Period;
int StartBar;
double TrLevelSlow[];
double AtrRsi[];
double MaAtrRsi[];
double Rsi[];
double RsiMa[];
int init()
{
// код доступен только после оплаты
}
Wilders_Period = RSI_Period * 2 - 1;
if (Wilders_Period < SF)
StartBar = SF;
else
StartBar = Wilders_Period;
IndicatorBuffers(6);
SetIndexBuffer(0, RsiMa);
SetIndexStyle(0, DRAW_LINE);
SetIndexDrawBegin(0, StartBar);
SetIndexStyle(1, DRAW_LINE);
SetIndexBuffer(1, TrLevelSlow);
SetIndexDrawBegin(1, StartBar);
SetIndexBuffer(2, AtrRsi);
SetIndexBuffer(3, MaAtrRsi);
SetIndexBuffer(4, Rsi);
switch(TimeFrame)
{
case 1: string TimeFrameStr = "M1" ; break;
case 5 : TimeFrameStr = "M5" ; break;
case 15 : TimeFrameStr = "M15"; break;
case 30 : TimeFrameStr = "M30"; break;
case 60 : TimeFrameStr = "H1" ; break;
case 240 : TimeFrameStr = "H4" ; break;
case 1440 : TimeFrameStr = "D1" ; break;
case 10080 : TimeFrameStr = "W1" ; break;
case 43200 : TimeFrameStr = "MN"; break;
default : TimeFrameStr = "TF0";
}
TimeFrame= MathMax(TimeFrame, Period());
string ShortName;
ShortName = "QQEm ( "+SF+","+RSI_Period+" ) ["+TimeFrameStr+"] ";
IndicatorShortName (ShortName);
IndicatorFileName = WindowExpertName();
SetIndexLabel(0, "RsiMa "+ShortName+"");
SetIndexLabel(1, "TrLevelSlow "+ShortName+"");
Показано первые 50% кода (символов: 3110)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.