inside_bar.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «inside_bar.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Inside Bar — это пользовательский индикатор для MetaTrader 5, предназначенный для обнаружения и визуализации так называемых «внутренних баров» (Inside Bar) на выбранном таймфрейме. Внутренний бар — это свеча, у которой верхняя и нижняя точки полностью находятся внутри диапазона предыдущей свечи. Индикатор отрисовывает два уровня: верхний (High, зелёный) и нижний (Low, красный), что позволяет визуально отслеживать зоны сужения волатильности на графике.
Индикатор работает путём последовательного анализа баров на указанном таймфрейме поиска. При обнаружении внутреннего бара уровни High и Low записываются в буферы и проецируются на соответствующие бары текущего таймфрейма графика. Если последовательность внутренних баров превышает заданную длину, маркировка сбрасывается. Индикатор поддерживает все стандартные таймфреймы MetaTrader и корректно обрабатывает загрузку исторических данных.
Индикатор размещается в окне графика и использует два буфера для отрисовки линий. Он инициализируется стандартным образом через OnInit и пересчитывается при каждом обновлении котировок через OnCalculate. Параметр таймфрейма поиска может быть задан пользователем вручную, при этом индикатор проверяет, что выбранный таймфрейм не превышает таймфрейм текущего графика.
Настройки программы
| Настройка | Описание |
|---|---|
| Period to find Inside Bar (TF_find) | Таймфрейм поиска Inside Bar — Таймфрейм, на котором выполняется поиск внутренних баров (Inside Bar). По умолчанию установлен H1. Допустимы стандартные значения ENum_TIMEFRAMES MetaTrader. Если задан текущий таймфрейм графика, он автоматически подставляется вместо него. Индикатор не работает, если вы |
Поиск по коду файла
#property version "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_style1 STYLE_SOLID
#property indicator_style2 STYLE_SOLID
#property indicator_width1 2
#property indicator_width2 2
extern ENUM_TIMEFRAMES TF_find=PERIOD_H1; //Period to find Inside Bar
double HighBuff[];
double LowBuff[];
double LastHigh;
double LastLow;
int length=5, len=0;
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
Comment("");
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long& tick_volume[],
const long& volume[],
const int& spread[])
{
// код доступен только после оплаты
}
if (rates_total-prev_calculated<=0) return(0);
if (TF_find<_Period)
{
Comment("Time frame must be not more than 'Period to find Inside Bar' "+TFtoStr(TF_find));
return (0);
}
int limit=1;
if (prev_calculated==0 || rates_total-prev_calculated>1)
{
ArrayInitialize(HighBuff,EMPTY_VALUE);
ArrayInitialize(LowBuff,EMPTY_VALUE);
limit=iBars(_Symbol,TF_find)-2;
}
for (int i=limit; i>=1; i--)
{
datetime time1=iTime(_Symbol,TF_find,i);
datetime time2=time1+PeriodSeconds(TF_find);
int bar_now=iBarShift(_Symbol,_Period,time1,false);
if (iLow(_Symbol,TF_find,i) > iLow(_Symbol,TF_find,i+1) &&
iHigh(_Symbol,TF_findПоказано первые 50% кода (символов: 3139)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.