precision trend of rsi (histo).mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «precision trend of rsi (histo).mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 5, написанный на языке MQL5. Он предназначен для анализа ценовых данных на основе индикатора RSI и собственного алгоритма определения тренда.
Индикатор рассчитывает значение RSI с заданным периодом и типом цены, затем определяет наивысшее и наинизшее значения RSI за настраиваемый промежуток баров. На основе этих экстремумов и текущего значения RSI применяется алгоритм точного тренда с динамическими полосами усреднённого диапазона.
Результат отображается в виде двух гистограмм: зелёная соответствует восходящему тренду, красная — нисходящему. Индикатор работает в отдельном окне и имеет два буфера данных.
Настройки программы
| Настройка | Описание |
|---|---|
| rsiPeriod | Период RSI. Определяет количество баров, используемых для расчёта индикатора RSI. |
| rsiPrice | Тип цены для расчёта RSI. Указывает, какая цена используется при вычислении индикатора RSI. |
| rsiHighLow | Период поиска экстремумов RSI. Задаёт количество баров для определения наивысшего и наинизшего значений RSI. Должен быть больше 1. |
| avgPeriod | Период усреднения. Определяет количество баров, используемых для расчёта среднего диапазона в алгоритме определения тренда. |
| sensitivity | Чувствительность. Множитель, влияющий на ширину полос усреднённого диапазона при определении тренда. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 clrGreen
#property indicator_color2 clrRed
#property indicator_width1 2
#property indicator_width2 2
#property indicator_minimum 0
#property indicator_maximum 1
#property strict
extern int rsiPeriod = 14; // RSI period
extern ENUM_APPLIED_PRICE rsiPrice = PRICE_CLOSE; // RSI price
extern int rsiHighLow = 5; // RSI high low period (must be > 1)
extern int avgPeriod = 30; // Average period
extern double sensitivity = 3; // Sensitivity
double upBuffer[],dnBuffer[],rsi[];
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason) { return; }
int OnCalculate (const int rates_total,
const int prev_calculated,
const datetime& btime[],
const double& open[],
const double& high[],
const double& low[],
const double& close[],
const long& tick_volume[],
const long& volume[],
const int& spread[] )
{
// код доступен только после оплаты
}
#define _ptInstances 1
#define _ptInstancesSize 8
double _ptWork[][_ptInstances*_ptInstancesSize];
#define __range 0
#define __trend 1
#define __avgr 2
#define __avgd 3
#define __avgu 4
#define __minc 5
#define __maxc 6
#define __close 7
double iPrecisionTrend(double _high, double _low, double _close, int _period, double _sensitivity, int i, int bars, int instanceNo=0)
{
if (ArrayRange(_ptWork,0)!=bars) ArrayResize(_ptWork,bars); instanceNo*=_ptInstancesSize; int r=bars-i-1;
_ptWork[r][instanceNo+__close] = _close;
_ptWork[r][instanceNo+__range] = _high-_low;
_ptWork[r][instanceNo+__avgr] = _ptWork[r][instanceNo+__range];
int k=1; for (; k<_period && (r-k)>=0; k++) _ptWork[r][instanceNo+__avgr] += _ptWork[r-k][instanceNo+__range];
Показано первые 50% кода (символов: 3973)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.