OnChart DSS Bressert Rsi
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «onchart_dss_bressert_-_rsi_nmc.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор «OnChart DSS Bressert Rsi» отображает на графике MetaTrader 5 четыре буфера: линию скользящей средней, верхнюю и нижнюю полосы на основе ATR с заданными уровнями перекупленности и перепроданности, а также сигнальную линию, рассчитанную через DSS (Dynamic Swing System) на базе RSI. Индикатор применяет настраиваемые параметры сглаживания, периодов и ценовых типов для гибкой аналитики.
Поддерживается выбор временного интервала как текущего, так и любого другого доступного на платформе. При смене таймфрейма автоматически подбирается соответствующий интервал для расчёта ATR. Индикатор корректно обрабатывает перерисовку, используя собственные исторические данные и вызов собственного расчёта через iCustom для работы на разных таймфреймах.
Все расчёты выполняются на основе стандартных функций MetaTrader: iRSI, iMA, iATR и пользовательской функции iDss. Индикатор не использует торговые API и предназначен исключительно для технического анализа ценовых данных.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Временной интервал для расчёта индикатора. Можно задать конкретный таймфрейм или текущий, а также специальные значения calculateValue и returnBars. |
| RsiPeriod | Период расчёта индикатора относительной силы (RSI). |
| RsiPrice | Тип цены, используемой для расчёта RSI (например, закрытие, открытие и т. д.). |
| StochasticLength | Длина (количество баров) для расчёта стохастического диапазона в функции DSS. |
| SmoothEMA | Параметр сглаживания для DSS, определяющий коэффициент экспоненциального скользящего среднего. |
| maPeriod | Период (количество баров) расчёта скользящей средней. |
| maMethod | Метод расчёта скользящей средней (например, простая, экспоненциальная и т. д.). |
| maPrice | Тип цены, используемой для расчёта скользящей средней. |
| AtrLength | Длина (период) расчёта среднего истинного диапазона (ATR), используемого для построения верхней и нижней полос. |
| overBought | Уровень перекупленности, задающий верхнюю границу коридора относительно скользящей средней. |
| overSold | Уровень перепроданности, задающий нижнюю границу коридора относительно скользящей средней. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Crimson
#property indicator_color2 Goldenrod
#property indicator_color3 Goldenrod
#property indicator_color4 DeepSkyBlue
#property indicator_width4 2
#property indicator_style1 STYLE_DASH
extern string TimeFrame = "Current time frame";
extern int RsiPeriod = 14;
extern int RsiPrice = PRICE_CLOSE;
extern int StochasticLength = 55;
extern int SmoothEMA = 15;
extern int maPeriod = 20;
extern int maMethod = 1;
extern int maPrice = 0;
extern int AtrLength = 120;
extern int overBought = 90;
extern int overSold = 10;
double Buffer1[];
double Buffer2[];
double Buffer3[];
double Buffer4[];
string indicatorFileName;
bool returnBars;
bool calculateValue;
int timeFrame;
int atrTimeFrame;
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) { Buffer1[0] = MathMin(limit+1,Bars-1); return(0); }
if (calculateValue || timeFrame == Period())
{
for (int i=limit; i>=0; i--)
{
int r = iBarShift(NULL,atrTimeFrame,Time[i]);
double avgRange = iATR(NULL,atrTimeFrame,AtrLength,r);
double maValue = iMA(NULL,0,maPeriod,0,maMethod,maPrice,i);
double rsi = iRSI(NULL,0,RsiPeriod,RsiPrice,i);
double stochValue = iDss(rsi,rsi,rsi,StochasticLength,SmoothEMA,i);
Buffer1[i] = maValue;
Buffer2[i] = maValue+(avgRange*(overBought-50)/100);
Buffer3[i] = maValue-(avgRange*(50- overSold)/100);
Buffer4[i] = maValue+(stochValue -50)/100*avgRange;
}
return(0);
}
limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrame,indicatorFileПоказано первые 50% кода (символов: 4781)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.