RSI digital Kahler
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rsi_digital_kahler_-_prices__lines__alerts_2_1.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор «RSI digital Kahler» рассчитывает значение RSI на выбранной цене с заданным периодом, применяет сглаживание методом скользящей средней и экспоненциальной средней, а затем определяет направление тренда по взвешенной комбинации быстрой и медленной пропорций. Результат отображается в отдельном окне в виде цветных линий, меняющих цвет в зависимости от направления тренда.
Индикатор поддерживает настраиваемые верхний и нижний уровни, а также четыре режима определения тренда: по наклону линии, по пробою уровней и по направлению тренда. При смене тренда могут отрисовываться вертикальные линии с настраиваемым цветом и стилем.
Система оповещений позволяет получать уведомления несколькими способами: всплывающие сообщения, звуковые сигналы, push-уведомления и email. Оповещения срабатывают при смене направления тренда и могут быть настроены на текущую или предыдущую свечу.
Настройки программы
| Настройка | Описание |
|---|---|
| Calculating period (rperiod) | Период расчёта — Период расчёта |
| Price (rprice) | Цена — Цена |
| Smoothing period (speriod) | Период сглаживания — Период сглаживания |
| Smoothing method (smethod) | Метод сглаживания — Метод сглаживания |
| Lines width (linesWidth) | Толщина линий — Толщина линий |
| Fast ratio (fastr) | Быстрая пропорция — Быстрая пропорция |
| Slow ratio (slowr) | Медленная пропорция — Медленная пропорция |
| Upper level (levelUp) | Верхний уровень — Верхний уровень |
| Lower level (levelDown) | Нижний уровень — Нижний уровень |
| Alerts and lines should be on? (alertsLinesOnSlope) | Режим линий и оповещений — Режим отображения линий и оповещений |
| Show vertical lines (verticalLinesVisible) | Показывать вертикальные линии — Показывать вертикальные линии |
| Vertical lines unique ID (verticalLinesID) | Идентификатор вертикальных линий — Уникальный идентификатор вертикальных линий |
| Color for down cross (verticalLinesUpColor) | Цвет для восходящего пересечения — Цвет для восходящего пересечения |
| Color for up cross (verticalLinesDownColor) | Цвет для нисходящего пересечения — Цвет для нисходящего пересечения |
| Lines style (verticalLinesStyle) | Стиль линий — Стиль линий |
| Lines width (verticalLinesWidth) | Толщина вертикальных линий — Толщина вертикальных линий |
| Turn alerts on? (alertsOn) | Включить оповещения — Включить оповещения |
| Alerts on current (still opened) bar (alertsOnCurrent) | Оповещения на текущей свече — Оповещения на текущей (открытой) свече |
| Alerts should show pop-up message (alertsMessage) | Всплывающие сообщения — Оповещения должны показывать всплывающее сообщение |
| Alerts should play alert sound (alertsSound) | Звуковое оповещение — Оповещения должны воспроизводить звук |
| Alerts should send push notification (alertsPushNotif) | Push-уведомления — Оповещения должны отправлять push-уведомление |
| Alerts should send email (alertsEmail) | Email-уведомления — Отправлять email |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 5
#property indicator_color1 clrSilver
#property indicator_color2 clrDeepSkyBlue
#property indicator_color3 clrDeepSkyBlue
#property indicator_color4 clrSandyBrown
#property indicator_color5 clrSandyBrown
#property indicator_width1 3
#property indicator_width2 3
#property indicator_width3 3
#property indicator_width4 3
#property indicator_width5 3
#property strict
enum enPrices
{
pr_close, // Close
pr_open, // Open
pr_high, // High
pr_low, // Low
pr_median, // Median
pr_typical, // Typical
pr_weighted, // Weighted
pr_average, // Average (high+low+open+close)/4
pr_medianb, // Average median body (open+close)/2
pr_tbiased, // Trend biased price
pr_haclose, // Heiken ashi close
pr_haopen , // Heiken ashi open
pr_hahigh, // Heiken ashi high
pr_halow, // Heiken ashi low
pr_hamedian, // Heiken ashi median
pr_hatypical, // Heiken ashi typical
pr_haweighted, // Heiken ashi weighted
pr_haaverage, // Heiken ashi average
pr_hamedianb, // Heiken ashi median body
pr_hatbiased // Heiken ashi trend biased price
};
enum enMode
{
mo_cls, // Color change on slope
mo_cl1, // Color change on levels break into the zones
mo_cl2, // Color change on levels break - trend direction
mo_cl3 // Color change on levels break - counter trend direction
};
extern int rperiod = 14; // Calculating period
extern enPrices rprice = pr_close; // Price
extern int speriod = 14; // Smoothing period
extern ENUM_MA_METHOD smethod = MODE_SMA; // Smoothing method
extern int linesWidth = 3; // Lines width
extern double fastr = 8; // Fast ratio
extern double slowr = 22; // Slow ratio
extern double levelUp = 0.8; // Upper level
extern double levelDown = -0.8; // Lower level
extern enMode alertsLinesOnSlope = mo_cls; // Alerts and lines should be on?
extern bool verticalLinesVisible = false; // Show vertical lines
extern string verticalLinesID = "RSIC Lines1"; // Vertical lines unique ID
extern color verticalLinesUpColor = clrDeepSkyBlue; // Color for down cross
extern color verticalLinesDownColor = clrSandyBrown; // Color for up cross
extern ENUM_LINE_STYLE verticalLinesStyle = STYLE_DOT; // Lines style
extern int verticalLinesWidth = 0; // Lines width
extern bool alertsOn = false; // Turn alerts on?
extern bool alertsOnCurrent = true; // Alerts on current (still opened) bar
extern bool alertsMessage = true; // Alerts should show pop-up message
extern bool alertsSound = false; // Alerts should play alert sound
extern bool alertsPushNotif = false; // Alerts should send push notification
extern bool alertsEmail = false; // Alerts should send email
double buffer[];
double bufferda[];
double bufferdb[];
double bufferua[];
double bufferub[];
double trend[];
double work[];
int init()
{
// код доступен только после оплаты
}
int deinit()
{
string lookFor = verticalLinesID+":";
int lookForLength = StringLen(lookFor);
for (int i=ObjectsTotal()-1; i>=0; i--)
{
string name = ObjectName(i);
if (StringSubstr(name,0,lookForLength) == lookFor) ObjectDelete(name);
}
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 (trend[limit]==-1) CleanPoint(limit,bufferda,bufferdb);
if (trend[limit]== 1) CleanPoint(limit,bufferua,bufferub);
for(int i=limit; i>=0; i--)
{
work[i] = iRsi(getPrice(rprice,Open,Close,High,Low,i),rperiod,i);
double fast_k = work[i];
double slow_k = iMAOnArray(work,0,speriod,0,smethod,i);
double temp = 0;
if ((slowr*slow_k+fastr*fast_k)/(fastr+slowr)>50.0) temp= 1;
if ((slowr*slow_k+fastr*fast_k)/(fastr+slowr)<50.0) temp=-1;
buffer[i] = iEma(temp,rperiod,i);
bufferda[i] = EMPTY_VALUE;
bufferdb[i] = EMPTY_VALUE;
bufferua[i] = EMPTY_VALUE;
bufferub[i] = EMPTY_VALUE;
trend[i] = 0;
if (i<Bars-1)
{
switch (alertsLinesOnSlope)
{
case mo_cls:
trend[i] = trend[i+1];
if (buffer[i]>buffer[i+1]) trend[i] = 1;
if (buffer[i]<buffer[i+1]) trend[i] = -1;
break;
case mo_cl1:
if (buffer[i]>levelUp) trend[i] = 1;
if (buffer[i]<levelDown) trend[i] = -1;
break;
case mo_cl2:
trend[i] = trend[i+1];
if (buffer[i]>levelUp) trend[i] = 1;
if (buffer[i]<levelDown) trend[i] = -1;
break;
case mo_cl3:
trend[i] = trend[i+1];
if (buffer[i]<levelUp && buffer[i+1]>levelUp) trend[i] = -1;
if (buffer[i]>levelDown && buffer[i+1]<levelDown) trend[i] = 1;
}
if (trend[i] == -1) PlotPoint(i,bufferda,bufferdb,buffer);
if (trend[i] == 1) PloПоказано первые 50% кода (символов: 9361)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.