rsi_-_fan_signals_mtf_nmc.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rsi_-_fan_signals_mtf_nmc.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор отображает сигналы на основе нескольких периодов RSI одновременно, работая на графике MetaTrader 5. Для каждого бара вычисляется совокупный результат по восьми RSI с различными длинами периодов, и если достаточное количество из них указывает на перекупленность или перепроданность, на графике появляется стрелка.
Сигналы располагаются с учётом волатильности цены через средний истинный диапазон (ATR), что обеспечивает разнесение отметок в зависимости от текущей амплитуды колебаний. Поддерживается мног таймфреймовый анализ — индикатор может считывать данные с указанного таймфрейма и отображать результаты на текущем графике.
Индикатор использует два буфера для отрисовки стрелок: красные стрелки обозначают потенциальные сигналы на понижение, зелёные — на повышение. Параметр Group определяет минимальное количество совпадающих RSI-периодов для формирования сигнала.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм для анализа. Допускается выбор из стандартных периодов (M1, M5, M15, M30, H1, H4, D1, W1, MN) или специальное значение "Current time frame" для текущего графика. Значение "returnBars" включает режим возврата количества баров. |
| RsiLength1 | Длина первого периода RSI. Если значение больше 1, соответствующий RSI участвует в формировании сигнала. |
| RsiLength2 | Длина второго периода RSI. Если значение больше 1, соответствующий RSI участвует в формировании сигнала. |
| RsiLength3 | Длина третьего периода RSI. Если значение больше 1, соответствующий RSI участвует в формировании сигнала. |
| RsiLength4 | Длина четвёртого периода RSI. Если значение больше 1, соответствующий RSI участвует в формировании сигнала. |
| RsiLength5 | Длина пятого периода RSI. Если значение больше 1, соответствующий RSI участвует в формировании сигнала. |
| RsiLength6 | Длина шестого периода RSI. Если значение больше 1, соответствующий RSI участвует в формировании сигнала. |
| RsiLength7 | Длина седьмого периода RSI. Если значение больше 1, соответствующий RSI участвует в формировании сигнала. |
| RsiLength8 | Длина восьмого периода RSI. Если значение больше 1, соответствующий RSI участвует в формировании сигнала. Значение 0 отключает этот период. |
| RsiPrice | Тип цены для расчёта RSI. По умолчанию используется PRICE_CLOSE (закрытие). |
| Group | Порог согласованности — минимальное количество RSI-периодов из восьми, которые должны одновременно указывать на перекупленность (для сигнала вверх) или перепроданность (для сигнала вниз). |
| LevelUp | Верхний пороговый уровень RSI: значения RSI выше этого уровня трактуются как перекупленность и увеличивают счётчик в сторону сигнала на повышение. |
| LevelDown | Нижний пороговый уровень RSI: значения RSI ниже этого уровня трактуются как перепроданность и увеличивают счётчик в сторону сигнала на понижение. |
| GapUp | Коэффициент разнесения стрелки вверх: умножается на ATR(10) для определения смещения от максимума бара при сигнале на повышение. |
| GapDown | Коэффициент разнесения стрелки вниз: умножается на ATR(10) для определения смещения от минимума бара при сигнале на понижение. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 C'225,0,0'
#property indicator_color2 C'0,225,0'
#property indicator_width1 2
#property indicator_width2 2
extern string TimeFrame = "Current time frame";
extern int RsiLength1 = 5;
extern int RsiLength2 = 8;
extern int RsiLength3 = 11;
extern int RsiLength4 = 14;
extern int RsiLength5 = 17;
extern int RsiLength6 = 20;
extern int RsiLength7 = 24;
extern int RsiLength8 = 0;
extern int RsiPrice = PRICE_CLOSE;
extern int Group = 6;
extern double LevelUp = 70;
extern double LevelDown = 30;
extern double GapUp = 0.25;
extern double GapDown = 0.25;
double signalUp[];
double signalDn[];
int timeFrame;
bool returnBars;
string indicatorFileName;
int init()
{
// код доступен только после оплаты
}
int deinit(){ return(0); }
int start()
{
// код доступен только после оплаты
}
int counted_bars = IndicatorCounted();
if(counted_bars < 0) return(-1);
if(counted_bars > 0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
if (returnBars) { signalUp[0] = limit+1; return(0); }
if (timeFrame != Period()) limit = MathMax(limit,MathMin(Bars,iCustom(NULL,timeFrame,indicatorFileName,"returnBars",0,0)*timeFrame/Period()));
for(int i = limit; i>=0; i--)
{
int y = iBarShift(NULL,timeFrame,Time[i]);
int x = iBarShift(NULL,timeFrame,Time[i+1]);
signalUp[i] = EMPTY_VALUE;
signalDn[i] = EMPTY_VALUE;
Показано первые 50% кода (символов: 2997)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.