all rsi v1.1.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «all rsi v1.1.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
all rsi v1.1 — пользовательский индикатор для MetaTrader 4, отображающий мини-графики RSI на нескольких таймфреймах в отдельном окне. Индикатор рассчитывает значения RSI для каждого выбранного периода и выводит их в виде горизонтальных полосок с разделителями и подписями таймфреймов. Поддерживается настройка периода расчёта, выбора поля цены, количества отображаемых баров и расположения графиков. Пользователь может задать порядок отображения таймфреймов, включить сдвиг графиков вправо и настроить цвета текста и разделителей.
Настройки программы
| Настройка | Описание |
|---|---|
| RP | RP — Текстовый заголовок раздела настроек опций |
| RSIperiod | Период RSI — Период расчёта индикатора RSI |
| PF | PF — Описание вариантов поля цены для расчёта |
| 0=PRICE_CLOSE (PriceField) | Поле цены — Выбор цены для расчёта RSI: 0 — цена закрытия, 5 — типичная цена |
| TF | TF — Метка выбора таймфреймов |
| BP | BP — Метка количества баров для отображения в каждом окне |
| barsPerTimeFrame | Баров на таймфрейм — Количество баров, отображаемых в каждом мини-окне индикатора |
| SR | SR — Метка выравнивания мини-графиков вправо |
| shiftRight | Сдвиг вправо — Включает сдвиг мини-графиков вправо |
| CF | CF — Метка отображения текущего таймфрейма перед остальными |
| currentFirst | Текущий первым — Перемещает текущий таймфрейм в начало списка отображения |
| TSC | TSC — Метка настроек цветов текста и разделителей |
| txtColor | Цвет текста — Цвет текста меток таймфреймов |
| separatorColor | Цвет разделителя — Цвет линий-разделителей между мини-графиками |
| EN | EN — Примечание о выборе цветов линий на вкладке Colors |
Поиск по коду файла
#property description "Mini RSI charts for multi-timeframes"
#property version "1.1"
#define indicatorName "All_RSI"
#property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 100
#property indicator_buffers 1
#property indicator_color1 Gold
#property indicator_style1 STYLE_SOLID
#property indicator_level1 50
#property indicator_levelcolor Red
extern string RP = "-------------------- | OPTIONS |";
extern int RSIperiod = 2;
extern string PF = "0=Price_Close 5=Typical_Price";
extern int PriceField = 0; // 0=PRICE_CLOSE
extern string TF = "Chose timeframes (as in periodicity bar)";
extern string timeFrames = "M1;M5;M15;M30;H1;H4;D1;W1;MN";
extern string BP = "Amount of bars to display for each window";
extern int barsPerTimeFrame = 25;
extern string SR = "Align mini charts to the right";
extern bool shiftRight = False;
extern string CF = "Show current timeframe before others";
extern bool currentFirst = False;
extern string TSC = "Text & Spearator Colors";
extern color txtColor = Silver;
extern color separatorColor = DimGray;
extern string EN = "Line colors can be chosen in Colors tab";
double ExtMapBuffer1[];
double ExtMapBuffer2[];
string shortName;
string labels[];
int periods[];
int Shift;
int init() {
// код доступен только после оплаты
}
if (shiftRight) {
Shift = 1;
} else {
Shift = 0;
}
barsPerTimeFrame = MathMax(barsPerTimeFrame,15);
shortName = indicatorName+" ("+RSIperiod+")";
IndicatorShortName(shortName);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexShift(0,Shift*(barsPerTimeFrame+1));
SetIndexShift(1,Shift*(barsPerTimeFrame+1));
SetIndexLabel(0,"RSI");
timeFrames = StringUpperCase(StringTrimLeft(StringTrimRight(timeFrames)));
if (StringSubstr(timeFrames,StringLen(timeFrames),1) != ";") {
timeFrames = StringConcatenate(timeFrames,";");
}
int s = 0;
int i = StringFind(timeFrames,";",s);
int time;
string current;
while (i > 0) {
current = StringSubstr(timeFrames,s,i-s);
time = stringToTimeFrame(current);
if (time > 0) {
ArrayResize(labels ,ArraySize(labels)+1);
ArrayResize(periods,ArraySize(periods)+1);
labels[ArraySize(labels)-1] = current;
periods[ArraySize(periods)-1] = time;
} // END if
s = i + 1;
i = StringFind(timeFrames,";",s);
} // END while loop
if(currentFirst)
for (i=1;i<ArraySize(periods);i++)
if (Period()==periods[i]) {
string tmpLbl = labels[i];
int tmpPer = periods[i];
for (int k=i ;k>0; k--) {
labels[k] = labels[k-1];
periods[k] = periods[k-1];
} // END for
labels[0] Показано первые 50% кода (символов: 4614)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.