RubicBox
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rubicbox v.01.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
RubicBox — индикатор для MetaTrader 5, который выявляет последовательности внутренних баров (inside bars), когда диапазон High/Low бара полностью укладывается в пределы предыдущего бара. При достижении заданного минимального количества таких баров индикатор рисует на графике прямоугольную рамку из двух горизонтальных линий, ограничивающую временной интервал и уровни открытия и закрытия серии.
Если после серии внутренних баров появляется обычный бар, нарушающий условие inside bar, индикатор может отправить уведомления: всплывающее сообщение на графике, звуковой сигнал и/или мобильное уведомление. Все объекты рисунка управляются через уникальный префикс, задаваемый пользователем, что позволяет на одном графике использовать несколько экземпляров индикатора без конфликтов.
Индикатор работает в основном таймфрейме и рассчитывает свои значения на каждом новом баре. Параметры позволяют настраивать минимальное количество баров для отрисовки, цвет и стиль линий, а также типы активируемых уведомлений.
Настройки программы
| Настройка | Описание |
|---|---|
| UniqueName | Уникальный префикс для именования графических объектов, создаваемых индикатором, позволяющий различать экземпляры на одном графике. |
| MinBars | Минимальное количество последовательных внутренних баров, необходимое для отрисовки рамки на графике. |
| BoxColor | Задаёт цвет линий рамки, отрисовываемой на графике при обнаружении серии внутренних баров. |
| BoxWidth | Задаёт толщину линий рамки, отрисовываемой на графике. |
| BoxStyle | Задаёт стиль линий рамки (например, пунктирная или сплошная линия). |
| AlertsMessage | Включает или отключает всплывающие сообщения на графике при пробое серии внутренних баров. |
| AlertsSound | Включает или отключает звуковой сигнал при пробое серии внутренних баров. |
| AlertsSoundFile | Задаёт путь к звуковому файлу, который воспроизводится при срабатывании звукового уведомления. |
| AlertsMobile | Включает или отключает мобильные уведомления при пробое серии внутренних баров. |
Поиск по коду файла
#property version "1.00"
#include <stdlib.mqh>
#property indicator_chart_window
extern string UniqueName = "RubicBox";
extern int MinBars = 3;
extern color BoxColor = Blue;
extern int BoxWidth = 2;
extern ENUM_LINE_STYLE BoxStyle = STYLE_DASH;
extern bool AlertsMessage = true;
extern bool AlertsSound = true;
extern string AlertsSoundFile = "news.wav"; ///"stops.wav" //"alert2.wav" //"expert.wav";
extern bool AlertsMobile = true;
int TimeBar = 0;
datetime insideTimeStart;
datetime insideTimeEnd;
datetime insideTimeBox;
int insideShift = 0;
int insideCount = 0;
double insideHight = 0;
double insideLow = 0;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
DeleteObj(UniqueName);
return(0);
}
int start()
{
// код доступен только после оплаты
}
void RubicBox(int limit)
{
for(int shift=limit;shift>=1;shift--)
{
double shiftLow = (Close[shift]<Open[shift]?Close[shift]:Close[shift]);
double shiftHigh = (Close[shift]>Open[shift]?Close[shift]:Close[shift]);
if( shiftLow >= Low[shift+1] && shiftHigh <= High[shift+1]) //InsideBar
{
if( insideShift == 0)
{
insideShift = shift+1;
insideTimeStart = Time[shift];
insideLow = Close[shift];
insideHight = Close[shift];
}
insideLow = (Close[shift]<insideLow?Close[shift]:insideLow);
insideHight = (Close[shift]>insideHight?Close[shift]:insideHight);
insideTimeEnd = Time[shift];
insideCount++;
if( insideCount >= MinBars && insideTimeBox!=insideTimeEnd)
{
string name = UniqueName + " " + TimeToStr(insideTimeStart);
DeleteBox(name);
PlotBox(name,insideTimeStart,insideLow,insideTimeEnd,insideHight,BoxStyle,BoxColor,BoxWidth,0);
PlotBox(name,insideTimeStart,insideLow,insideTimeEnd,insideHight,BoxStyle,BoxПоказано первые 50% кода (символов: 3359)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.