renko indicador mt5.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.