rsi-arrows.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rsi-arrows.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор rsi-arrows.mq5 рассчитывает сглаженный RSI и отображает его в отдельном окне графика. В основе лежит расчёт стандартного RSI с заданным периодом и ценовым типом, после чего применяется взвешенное скользящее среднее для формирования центральной линии и верхней/нижней границ канала отклонения.
При пересечении RSI нижней границы на графике рисуются стрелки вверх как сигнал покупки, при пересечении верхней — стрелки вниз как сигнал продажи. Стрелки создаются как графические объекты-стрелки с настраиваемым цветом и размером.
Индикатор поддерживает четыре типа уведомлений: всплывающие сообщения, звуковые сигналы, email и мобильные push-уведомления. Уведомления срабатывают при появлении нового сигнала на указанном баре.
Настройки включают параметры расчёта RSI, канала отклонения, внешний вид стрелок, а также параметры истории и отображения буферов.
Настройки программы
| Настройка | Описание |
|---|---|
| RsiLength | Период расчёта индикатора RSI. |
| RsiPrice | Тип цены, используемый для расчёта RSI (например, PRICE_CLOSE). |
| HalfLength | Половина длины окна для взвешенного скользящего среднего при сглаживании RSI. |
| DevPeriod | Период расчёта стандартного отклонения для формирования границ канала. |
| Deviations | Множитель стандартного отклонения для определения верхней и нижней границ канала. |
| NoDellArr | Переключатель: при включении стрелки не удаляются при отсутствии сигнала. |
| Arr_otstup | Смещение стрелок от цены в пунктах. |
| Arr_width | Толщина линий стрелок на графике. |
| Arr_Up | Цвет стрелок, указывающих направление вверх (сигнал покупки). |
| Arr_Dn | Цвет стрелок, указывающих направление вниз (сигнал продажи). |
| AlertsMessage | Включение или отключение всплывающих сообщений при появлении сигнала. |
| AlertsSound | Включение или отключение звукового сигнала при появлении сигнала. |
| AlertsEmail | Включение или отключение отправки email-уведомлений при появлении сигнала. |
| AlertsMobile | Включение или отключение мобильных push-уведомлений при появлении сигнала. |
| SignalBar | Номер бара, на котором проверяется условие для отправки уведомлений. |
| ShowArrBuf | Включение или отключение отображения буферов стрелок на графике. |
| History | Количество баров, используемых для расчёта индикатора. |
Поиск по коду файла
#property description "modif. by Mobidik"
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 DeepSkyBlue
#property indicator_color2 DarkGray
#property indicator_color3 Orange
#property indicator_color4 LimeGreen
#property indicator_color5 Lime
#property indicator_color6 Magenta
#property indicator_style2 STYLE_DOT
#property indicator_style3 STYLE_DOT
#property indicator_style4 STYLE_DOT
extern int RsiLength = 2;
extern int RsiPrice = PRICE_CLOSE;
extern int HalfLength = 2;
extern int DevPeriod = 100;
extern double Deviations = 1.2;
extern bool NoDellArr = true;
extern int Arr_otstup = 0;
extern int Arr_width = 1;
extern color Arr_Up = DodgerBlue;
extern color Arr_Dn = Gold;
extern bool AlertsMessage = true;
extern bool AlertsSound = false;
extern bool AlertsEmail = false;
extern bool AlertsMobile = false;
extern int SignalBar = 0;
extern bool ShowArrBuf = true;
extern int History = 3000;
int TimeBar;
#define PREFIX "vs1"
double RS[];
double ChMid[];
double ChUp[];
double ChDn[];
double SigUp[];
double SigDn[];
int init()
{
// код доступен только после оплаты
}
int deinit()
{
for (int i = ObjectsTotal()-1; i >= 0; i--)
if (StringSubstr(ObjectName(i), 0, StringLen(PREFIX)) == PREFIX)
ObjectDelete(ObjectName(i));
return(0);
}
int start()
{
// код доступен только после оплаты
}
int i,j,k,counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit=MathMin(History,Bars-counted_bars+HalfLength);
for (i=limit; i>=0; i--) RS[i] = iRSI(NULL,0,RsiLength,RsiPrice,i);
for (i=limit; i>=0; i--)
{
double dev = iStdDevOnArray(RS,0,DevPeriod,0,MODE_SMA,i);
double sum = (HalfLength+1)*RS[i];
double Показано первые 50% кода (символов: 3806)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.