MACD-RSI
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «macd^rsi - arrows.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор MACD-RSI для MetaTrader 5 объединяет анализ двух технических индикаторов — MACD и RSI — в одном отдельном окне. Он рассчитывает MACD на основе экспоненциальных скользящих средних, формирует сигнальную линию и вычисляет RSI на основе разностей значений MACD.
Индикатор отображает три графика: гистограмму MACD, сигнальную линию и линию RSI, каждый из которых имеет собственное цветовое оформление. Дополнительно поддерживается отображение стрелок при пересечении определённых уровней с возможностью выбора цветов и идентификатора объектов на графике.
При инициализации настраиваются буферы, стиль отображения и подпись каждого графика. RSI рассчитывается с возможностью регулировки калибровки, что позволяет адаптировать отображаемые значения под предпочтения пользователя. При деинициализации удаляются все созданные стрелки с графика.
Настройки программы
| Настройка | Описание |
|---|---|
| FastEMA | Период быстрой экспоненциальной скользящей средней для расчёта MACD. |
| SlowEMA | Период медленной экспоненциальной скользящей средней для расчёта MACD. |
| SignalSMA | Период простой скользящей средней для формирования сигнальной линии. |
| RSIPeriod | Период расчёта индикатора RSI. |
| caliber | Коэффициент калибровки для корректировки значений RSI. |
| ShowArrowsForMacdCross | Включает отображение стрелок при пересечении линий MACD. |
| ShowArrowsForRsiCross | Включает отображение стрелок при пересечении линий RSI. |
| ShowArrowsForMacdRsiCross | Включает отображение стрелок при пересечении MACD и RSI. |
| arrowsIdentifier | Идентификатор стрелок для управления объектами на графике. |
| arrowsUpColor1 | Цвет верхних стрелок для пересечений MACD. |
| arrowsDnColor1 | Цвет нижних стрелок для пересечений MACD. |
| arrowsUpColor2 | Цвет верхних стрелок для пересечений RSI. |
| arrowsDnColor2 | Цвет нижних стрелок для пересечений RSI. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Silver
#property indicator_color2 Red
#property indicator_color3 DodgerBlue
#property indicator_width1 2
extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;
extern int RSIPeriod=14;
extern double caliber=4.0; //need for RSI caliber
extern bool ShowArrowsForMacdCross = true;
extern bool ShowArrowsForRsiCross = true;
extern bool ShowArrowsForMacdRsiCross = true;
extern string arrowsIdentifier = "macdRsiArrows1";
extern color arrowsUpColor1 = DeepSkyBlue;
extern color arrowsDnColor1 = Red;
extern color arrowsUpColor2 = PaleVioletRed;
extern color arrowsDnColor2 = Gold;
double RSIBuffer[];
double PosBuffer[];
double NegBuffer[];
double MacdBuffer[];
double SignalBuffer[];
double trend1[];
double trend2[];
int init()
{
// код доступен только после оплаты
}
int deinit()
{
deleteArrows();
return(0);
}
int start()
{
// код доступен только после оплаты
}
int limit;
int counted_bars=IndicatorCounted();
double rel,negative,positive;
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
for(int i=0; i<limit; i++)
MacdBuffer[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
for(i=0; i<limit; i++)
SignalBuffer[i]=iMAOnArray(MacdBuffer,Bars,SignalSMA,0,MODE_SMA,i);
i=Bars-RSIPeriod-1;
if(counted_bars>=RSIPeriod) i=Bars-counted_bars-1;
while(i>=0)
{
double sumn=0.0,sump=0.0;
if(i==Bars-RSIPeriod-1)
{
int k=Bars-2;
while(k>=i)
{
rel=MacdBuffer[k]-MacdBuffer[k+1];
if(rel>0) sump+=rel;
else sumn-=rel;
k--;
}
positive=sump/RSIPeriod;
negative=sumn/RSIPeriod;
Показано первые 50% кода (символов: 3717)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.