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

renko indicador mt5.mq5

Вы автор или правообладатель?

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

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

О программе

Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 5, реализующий построение Ренко-диаграммы. Индикатор отображает графические блоки в отдельном окне, используя данные закрытия цен минимального таймфрейма (M1), независимо от таймфрейма графика, к которому он присоединён.

Индикатор рисует Ренко-блоки в виде цветных свечей: красные и синие цвета обозначают направление движения цены. Поддерживаются четыре буфера данных — открытие, максимум, минимум и закрытие каждого блока, а также буфер цвета.

Входной параметр позволяет задать размер блока в пунктах. При значении менее 50 пунктов автоматически используется минимальный размер в 50 пунктов. Индикатор также отображает уровень по последней цене на графике.

Настройки программы

НастройкаОписание
Box size (in pips) (InpBoxSize) Размер блока (в пунктах) — Размер блока в пунктах. Если заданное значение меньше 50, автоматически применяется минимальный размер 50.
Получить полный код

Поиск по коду файла

#property version   "1.00"
#property description "The Renko chart. Regardless of whether what a time frame is used for the chart on which the indicator is attached, "
#property description "the Renko is calculated by the closing prices of ?1 time frame."

#property indicator_separate_window
#property indicator_buffers 5
#property indicator_plots   1

#property indicator_label1  "Renko Open;Renko High;Renko Low;Renko Close"
#property indicator_type1   DRAW_COLOR_CANDLES
#property indicator_color1  clrRed,clrBlue
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

input int      InpBoxSize = 100; // Box size (in pips)

double         BoxOpenBuffer[];
double         BoxHighBuffer[];
double         BoxLowBuffer[];
double         BoxCloseBuffer[];
double         BoxColors[];

double         boxSize;    

int OnInit() {
      // код доступен только после оплаты
   }

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
{
      // код доступен только после оплаты
   }

   double RenkoBuffer[], BackupBuffer[], Close[];
   int m1RatesTotal = Bars(_Symbol, PERIOD_M1);
   int renkoShift = 0;
   int barShift;

   for ( ; ArrayResize(RenkoBuffer, m1RatesTotal) == -1 && 
      ArrayResize(BackupBuffer, m1RatesTotal) == -1 &&
      ArrayResize(Close, m1RatesTotal) == -1; m1RatesTotal /= 2 );

   if ( CopyClose(_Symbol, PERIOD_M1, 0, m1RatesTotal, Close) != m1RatesTotal ) {
      Print("Failed to copy history data for the ?1 time frame. Error #", GetLastError());
      return(0);
   }
   RenkoBuffer[renkoShift] = Close[0];
   renkoShift += 1;

   for ( barShift = 1; MathAbs(Close[barShift]-Close[0]) <= boxSize; barShift++ );

   for ( ; Close[barShift] > RenkoBuffer[renkoShift] + boxSize; ) {
      renkoShift += 1;
      RenkoBuffer[renkoShift] = RenkoBuffer[renkoShift-1] + boxSize;
   }
   for ( ; Close[barShift] < RenkoBuffer[renkoShift] - boxSize;  ) {
      renkoShift += 1;
      RenkoBuffer[renkoShift] = RenkoBuffer[renkoShift-1] - boxSize;
   }

   for ( ; barShift < m1RatesTotal; barShift++ ) {
      if ( renkoShift > ArraySize(RenkoBuffer) - 100 ) {
         ArrayCopy(BackupBuffer, RenkoBuffer);
         ArrayResize(RenkoBuffer, ArraySize(RenkoBuffer) + m1RatesTotal);
        

Показано первые 50% кода (символов: 4530)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
453₽ ≈ $5.54