← К каталогу
Исходный код · ID 2699

precision trend of rsi (histo).mq5

Похожие материалы по тегам

!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 2 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 2 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedingvonepointoneone.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedging 1.10 optimized.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedging 1.09 a (2).mq4MQL4 / MetaTrader 4 · 2 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Данный продукт представляет собой пользовательский индикатор для платформы 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 и перейдите к оплате.

Стоимость полного кода
397,30₽ ≈ $4.86