RSI Fan Signals
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rsi_-_fan_signals_mtf.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный индикатор предназначен для платформы MetaTrader 4 и отображает аналитические сигналы на основе индекса относительной силы (RSI) с поддержкой множественных таймфреймов. Он использует несколько периодов расчёта RSI одновременно для формирования агрегированных сигналов, отображаемых в виде стрелок на графике цены.
Индикатор рисует два типа сигналов — восходящие и нисходящие — разными цветами, что позволяет визуально оценить баланс сил на рынке. Поддерживается выбор различных временных интервалов для анализа, а также настройка пороговых уровней и чувствительности сигналов.
Настройки включают количество периодов RSI, тип цены для расчёта, группировку сигналов, уровни перекупленности и перепроданности, а также параметры смещения сигналов от ценовых уровней.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | TimeFrame — Временной интервал, на котором выполняется анализ сигналов |
| RsiLength1 | RsiLength1 — Период первого расчёта RSI |
| RsiLength2 | RsiLength2 — Период второго расчёта RSI |
| RsiLength3 | RsiLength3 — Период третьего расчёта RSI |
| RsiLength4 | RsiLength4 — Период четвёртого расчёта RSI |
| RsiLength5 | RsiLength5 — Период пятого расчёта RSI |
| RsiLength6 | RsiLength6 — Период шестого расчёта RSI |
| RsiLength7 | RsiLength7 — Период седьмого расчёта RSI |
| RsiLength8 | RsiLength8 — Период восьмого расчёта RSI |
| RsiPrice | RsiPrice — Тип цены, используемый для расчёта RSI |
| Group | Group — Пороговое количество совпадающих RSI-сигналов для отображения стрелки |
| LevelUp | LevelUp — Верхний пороговый уровень RSI, при котором сигнал учитывается как восходящий |
| LevelDown | LevelDown — Нижний пороговый уровень RSI, при котором сигнал учитывается как нисходящий |
| GapUp | GapUp — Величина смещения восходящего сигнала от максимальной цены бара |
| GapDown | GapDown — Величина смещения нисходящего сигнала от минимальной цены бара |
Поиск по коду файла
#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;
if (x!=y)
{
int result = 0;
double rsi;
if (RsiLength1>1) { rsi = iRSI(NULL,timeFrame,RsiLength1,RsiPrice,y); result += (rsi > LevelUp); result -= (rsi < LevelDown); }
Показано первые 50% кода (символов: 3281)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.