Коллеги, подскажите как сделать так что бы в обработчик событий приходило событие при клике по OBJ_LABEL расположенному на OBJ_RECTANGLE_LABEL ? Что я только не пытался и в фоне создавать OBJ_RECTANGLE_LABEL и OBJPROP_ZORDER менять, при клике по OBJ_LABEL, в обработчик приходит событие от OBJ_RECTANGLE_LABEL

создание объекта не стал выкладывать, там кода много и смасла в нем помоему нет, если OBJ_LABEL создавать на OBJ_RECTANGLE то все нормально

Коллеги, подскажите как сделать так что бы в обработчик событий приходило событие при клике по OBJ_LABEL расположенному на OBJ_RECTANGLE_LABEL ? Что я только не пытался и в фоне создавать OBJ_RECTANGLE_LABEL и OBJPROP_ZORDER менять, при клике по OBJ_LABEL, в обработчик приходит событие от OBJ_RECTANGLE_LABEL

создание объекта не стал выкладывать, там кода много и смасла в нем помоему нет, если OBJ_LABEL создавать на OBJ_RECTANGLE то все нормально

Там имя объекта передается, вот пример. На будущее — пиши такое в раздел индюков плз, тут раздел юмора ))

Rectangle extender indicator for Metatrader 4

I’ve created an indicator which will help all those supply and demand traders out there trading with the Metatrader 4 platform.

Metatrader 4 has many known limitations, the rectangle tool is one of them. It was not thought for supply and demand traders, so I came up with an idea and created and indicator that will modify the painted rectangles automatically the way I wanted, to suit the way supply and demand type of trading requires.

I will create a video where I will show in full detail how this indicator can help you on this trading, once you see how this works, you won’t be able to trade without it, hopefully

This indicator will help you to have cleaner charts as well as to being aware of where the D1 and WK supply and demand zones in control are when zooming in lower timeframes, you don’t want to buy into a D1/WK supply zone, or buy into a D1 demand zone. That’s very very dangerous and lower odds. With this indicator you will always know about it, if your zones are correctly drawn. It will all depend on how good you are locating the supply and demand imbalances.


1. Rectangles will only be visible on the timeframe where it’s been painted. The indicator will automatically tick the timeframe checkbox under the rectangle’s visualization tab
2. The rectangles will be automatically expanded to current candle + 5 candles to the right on every tick
3. It will calculate the distance in pips between the distal line (highest price) and the proximal line (lowest price) of the rectangle
4. It will display price labels automatically on both the highest and lowest price, so that you know where to set your entries and your stop loss
5. It will allow you to automatically draw trendlines from left to right of the rectangle on H4, D1 and WK timeframes. What’s the point of doing this? To assess how close or far you are from the higher timeframes (D1 and WK), how low or high you are in the supply and demand curve. Trendlines will be visible on all timeframes, so if you are on the H1 chart you will know how close to D1 and WK supply and demand you are by paying attention to the trendlines colors.
6. It will not interfere with the automatic zones drawn by the Insanity Industries SD indicator, it will not expand the rectangles created by it, so both your manual rectangles and the automatic ones can coexist. This is accomplished with the ExcluseName1 variable
7. You will be able to choose how many zones above and below current price will have trendlines painted, you do want to have your charts as clean as possible and not crowded with lines all over the place preventing you from seeing the price action
8. It will allow you to change the color and style of each trendline for each of the timeframes, so you’ll know how close you are to D1 and WK by the trendline’s color.


You can change all these variables on each of your symbols. Let me explain what each variable does.

Active = true;
It will turn on/off the indicator, if false it will not expand rectangle or execute any of its features
ExtendSize = 5;
This will expand the rectangle to current candle + 5 candles to the right. If you change it to 10 it will be 10 candles to the right
ExcludeName1 = «aII_SupDem»;
This setting is to filter out the rectangles names created by the automatic SD zones from Insanity Industries indicator. It will not interfere with the automatic zones by not expand the rectangles created by it, so both your manual rectangles and the automatic ones can coexist.
ExcludeName2 = «no»;
If you don’t want a rectangle to be automatically expanded, edit its properties and change its description to no, it will no longer be affected by the indicator, the rectangle will not be extended. Good if you want to draw other rectangles in other areas of the charts.
Labels.Active = true;
If true, it will show price levels at high and low price of the rectangle
Color.High = White;
Color.Low = White;
These 2 settings is the color of the labels, high and low
High.Price = true;
If false, it will not show the label for the high price
Low.Price = true;
If false, it will not show the label for the low price
Label.Size = 1;
This is the font size for the price labels, change it in increments of 1
Range.Active = true;
If true, it will show the rectangle’s width in pips
Range.Ins > If false, it will draw the rectangle’s pips width outside of the rectangle, on the far right side
Range.Color = White;
This is the color of the width in pips
Range.Size =9;
This is the font size of the width in pips label

H4_trendlines = true;
It will allow the indicator to draw trendlines both at the upper and lower price of the rectangles painted on H4
H4_lines_number = 1;
This is the number of rectangles above and below current price that the indicator will use to draw the trendlines, if you change it to 2 it will draw trendlines 2 rectangles above and 2 rectangles below current price
H4_upper_color = Yellow;
This is the color of the upper trendline for H4
H4_lower_color = Lime;
This is the color of the lower trendline for H4
H4_style = 2;
This is the style for those trendlines, from 0 to 4. It’s the order you see in the line style window in Metatrader 4

The settings below are like the H4 explained above, but duplicated for both D1 and WK charts. Very important to know how close to the D1 and WK supply and demand curve you are.

D1_trendlines = true;
D1_lines_number = 2;
D1_upper_color = Yellow;
D1_lower_color = Lime;
D1_style = 0;

WK_trendlines = true;
WK_lines_number = 1;
WK_upper_color = Yellow;
WK_lower_color = Lime;
WK_style = 1;

The same settings area available now for the Monthly curve, it will automatically draw the trendlines with 2 pixels thickness

Manual_TL_On_Current_TF_Only = true;
If set to True, trendlines painted will only be visualized on the timeframe where it’s been drawn. If set to False then they will be painted on all timeframes. I have it true as default, because I use the trendlines as direction on the entry timeframe H4 and H1, or even D1. I don’t want them to be visible on the other timeframes, only on the ones where they relate to.
Manual_Text_On_Current_TF_Only = true;
The same feature can be applied to text objects painted with the A icon tool

Эта статья приведёт Вас к успеху:  ОТКУДА КОТИРОВКИ ФОРЕКСЕ

NO_TL_COLOR: set to purple by default. The color set on this variable will not be taken into account as a strong SD level, no TL (tredline) will be painted on distal/proximal lines and the pips calculation will not be applied to it either. This is very useful when you want to draw a SD area you want to be aware of but you don’t to have the trendlines painted on or influence on your decisions (like a speedbump against the trend)

Now the RR indicator will detect if a SD rectangle has been touched, if touched (non-fresh) the rectangle color will be automatically changed to the one you have specified for supply and demand colors retouch (see next bullet). I want to buy or sell only on fresh areas of supply and demand

Color.sup.retouch and Color.dem.rotouch: these will be the colors a non-fresh SD rectangle will be changed to
If the SD zone is not the color specified under DEMAND_COLOR_1, DEMAND_COLOR_2, SUPPLY_COLOR_1 and SUPPLY_COLOR_2, the rectangle reader indicator will not change its color to the Color.sup.retouch and color.dem.retouch

Solid.retouch. If this is set to true, when a SD zone is touched for the first time (non-fresh), the rectangle will be filled. If set to false the rectangle will be unfilled. You can change this setting at any moment, it will be instantly applied to ALL manual rectangles you have drawn, but not to those automatically painted by the Automatic SD indicator by Insanities Industries

The indicator will also show how high or how low you are in the Daily, Weekly and Monthly curves by measuring proximal lines from manual supply and demand levels drawn with the rectangle indicator. It will not detect the automatic SD levels, you will have to clone the automatic SD rectangles (explained on one of my videos) and then the RR indicator will detect the proximal lines.

— You have to have both supply and demand painted, or it will show 0%
— Only rectangles drawn manually will be detected

show.curve.percent = true;
By default, the curve percentages will be displayed. If set to false, percentages will be hidden.

curve.display.topRHcorner = true;
When set to false, the percentages will be displayed at right bottom corner

curve.display.vertical = false;
When true overrides topRHcorner setting and display vertical from toprightcorner

curve.high = 71;
If higher than 71%, the % will be displayed in red, so you know you are quite high in the curve

curve.low = 30;
Same but if between 0 and 30%, the % will be displayed in blue. If between 30 and 71%, it will be displayed in the color set in curve.middle.color.
See curve colors below

curve.high.color = Red;
curve.m > curve.low.color = Aqua;
curve.default.color = White;

curve.y.position = 20;
This is how high/low the % information will be displayed vertically

How to make the rectangle reader work if markets are closed?
If markets are close the rectangle indicator will not work properly, it needs price ticks to update them. A trick is to open the indicators windows and close it, then it will update all indicators as well as the rectangle reader. Try it. Draw a rectangle, then CONTROL+I for indicators and close it.

The default settings for automatic trendlines is set to H4=1, D1=2 and WK=2. We want clean charts, so the more automatic trendlines we use the more crowed and unreadable charts will be. Decide what timeframe is your curve and then change the settings accordingly. I use D1 for my intraday and WK for my swing, but I always want to know how close or far I’m from the WK curve, so I have the trendlines painted on the WK zones as well.

NOTE: I will not be adding M30, H1 or M15 trendline zones, because I am not doing that kind of trading, sorry

How will your charts look like when you add this indicator? Take a look at another one of my threads where I explain how to use it more in depth:

If your indicator is being removed by Metatrader shortly after you run your MT Terminal, remember you have to have latest MT build. It has happened to some users, the reason is that some old MT build versions have that bug, please update to the latest build, talk to your broker on how to do that.


Объект «Прямоугольная метка».

Предназначена для создания и оформления пользовательского графического интерфейса. Тип рамки для прямоугольной метки можно выбрать из перечисления ENUM_BORDER_TYPE.

Для объектов OBJ_LABEL, OBJ_BITMAP_LABEL и OBJ_RECTANGLE_LABEL можно задавать угол графика, относительно которого позиционируется точка привязки объекта. Этот угол устанавливается через свойство объекта OBJPROP_CORNER, которое может иметь одно из четырех значений перечисления ENUM_BASE_CORNER:

Координаты точки привязки заданы относительно левого верхнего угла графика

Координаты точки привязки заданы относительно левого нижнего угла графика

Координаты точки привязки заданы относительно правого нижнего угла графика

Координаты точки привязки заданы относительно правого верхнего угла графика

Следующий скрипт создает и перемещает на графике объект «Прямоугольная метка». Для создания и изменения свойств графического объекта написаны специальные функции, которые вы можете использовать «как есть» в своих собственных программах.

#property strict
//— описание
#property description «Скрипт создает графический объект \» Прямоугольная метка\ «.»
//— покажем окно входных параметров при запуске скрипта
#property script_show_inputs
//— входные параметры скрипта
input string InpName = «RectLabel» ; // Имя метки
input color InpBackColor = clrSkyBlue ; // Цвет фона
input ENUM_BORDER_TYPE InpBorder = BORDER_FLAT ; // Тип рамки
input ENUM_BASE_CORNER InpCorner = CORNER_LEFT_UPPER ; // Угол графика для привязки
input color InpColor = clrDarkBlue ; // Цвет плоской границы (Flat)
input ENUM_LINE_STYLE InpStyle = STYLE_SOLID ; // Стиль плоской границы (Flat)
input int InpLineWidth =3; // Толщина плоской границы (Flat)
input bool InpBack = false ; // Объект на заднем плане
input bool InpSelection = true ; // Выделить для перемещений
input bool InpHidden = true ; // Скрыт в списке объектов
input long InpZOrder =0; // Приоритет на нажатие мышью
//| Создает прямоугольную метку |
bool RectLabelCreate( const long chart_ > // ID графика
const string name= «RectLabel» , // имя метки
const int sub_window=0, // номер подокна
const int x=0, // координата по оси X
const int y=0, // координата по оси Y
const int w > // ширина
const int height=18, // высота
const color back_clr= C’236,233,216′ , // цвет фона
const ENUM_BORDER_TYPE border= BORDER_SUNKEN , // тип границы
const ENUM_BASE_CORNER corner= CORNER_LEFT_UPPER , // угол графика для привязки
const color clr= clrRed , // цвет плоской границы (Flat)
const ENUM_LINE_STYLE style= STYLE_SOLID , // стиль плоской границы
const int line_w > // толщина плоской границы
const bool back= false , // на заднем плане
const bool selection= false , // выделить для перемещений
const bool h > true , // скрыт в списке объектов
const long z_order=0) // приоритет на нажатие мышью
//— сбросим значение ошибки
ResetLastError ();
//— создадим прямоугольную метку
if (! ObjectCreate (chart_ID,name, OBJ_RECTANGLE_LABEL ,sub_window,0,0))
Print ( __FUNCTION__ ,
«: не удалось создать прямоугольную метку! Код ошибки = » , GetLastError ());
return ( false );
//— установим координаты метки
ObjectSetInteger (chart_ID,name, OBJPROP_XDISTANCE ,x);
ObjectSetInteger (chart_ID,name, OBJPROP_YDISTANCE ,y);
//— установим размеры метки
ObjectSetInteger (chart_ID,name, OBJPROP_XSIZE ,width);
ObjectSetInteger (chart_ID,name, OBJPROP_YSIZE ,height);
//— установим цвет фона
ObjectSetInteger (chart_ID,name, OBJPROP_BGCOLOR ,back_clr);
//— установим тип границы
ObjectSetInteger (chart_ID,name, OBJPROP_BORDER_TYPE ,border);
//— установим угол графика, относительно которого будут определяться координаты точки
ObjectSetInteger (chart_ID,name, OBJPROP_CORNER ,corner);
//— установим цвет плоской рамки (в режиме Flat)
ObjectSetInteger (chart_ID,name, OBJPROP_COLOR ,clr);
//— установим стиль линии плоской рамки
ObjectSetInteger (chart_ID,name, OBJPROP_STYLE ,style);
//— установим толщину плоской границы
ObjectSetInteger (chart_ID,name, OBJPROP_WIDTH ,line_width);
//— отобразим на переднем (false) или заднем (true) плане
ObjectSetInteger (chart_ID,name, OBJPROP_BACK ,back);
//— включим (true) или отключим (false) режим перемещения метки мышью
ObjectSetInteger (chart_ID,name, OBJPROP_SELECTABLE ,selection);
ObjectSetInteger (chart_ID,name, OBJPROP_SELECTED ,selection);
//— скроем (true) или отобразим (false) имя графического объекта в списке объектов
ObjectSetInteger (chart_ID,name, OBJPROP_HIDDEN ,hidden);
//— установим приоритет на получение события нажатия мыши на графике
ObjectSetInteger (chart_ID,name, OBJPROP_ZORDER ,z_order);
//— успешное выполнение
return ( true );
//| Перемещает прямоугольную метку |
bool RectLabelMove( const long chart_ > // ID графика
const string name= «RectLabel» , // имя метки
const int x=0, // координата по оси X
const int y=0) // координата по оси Y
//— сбросим значение ошибки
ResetLastError ();
//— переместим прямоугольную метку
if (! ObjectSetInteger (chart_ID,name, OBJPROP_XDISTANCE ,x))
Print ( __FUNCTION__ ,
«: не удалось переместить X-координату метки! Код ошибки = » , GetLastError ());
return ( false );
if (! ObjectSetInteger (chart_ID,name, OBJPROP_YDISTANCE ,y))
Print ( __FUNCTION__ ,
«: не удалось переместить Y-координату метки! Код ошибки = » , GetLastError ());
return ( false );
//— успешное выполнение
return ( true );
//| Изменяет размер прямоугольной метки |
bool RectLabelChangeSize( const long chart_ > // ID графика
const string name= «RectLabel» , // имя метки
const int w > // ширина метки
const int height=18) // высота метки
//— сбросим значение ошибки
ResetLastError ();
//— изменим размеры метки
if (! ObjectSetInteger (chart_ID,name, OBJPROP_XSIZE ,width))
Print ( __FUNCTION__ ,
«: не удалось изменить ширину метки! Код ошибки = » , GetLastError ());
return ( false );
if (! ObjectSetInteger (chart_ID,name, OBJPROP_YSIZE ,height))
Print ( __FUNCTION__ ,
«: не удалось изменить высоту метки! Код ошибки = » , GetLastError ());
return ( false );
//— успешное выполнение
return ( true );
//| Изменяет тип границы прямоугольной метки |
bool RectLabelChangeBorderType( const long chart_ > // ID графика
const string name= «RectLabel» , // имя метки
const ENUM_BORDER_TYPE border= BORDER_SUNKEN ) // тип границы
//— сбросим значение ошибки
ResetLastError ();
//— изменим тип рамки
if (! ObjectSetInteger (chart_ID,name, OBJPROP_BORDER_TYPE ,border))
Print ( __FUNCTION__ ,
«: не удалось изменить тип границы! Код ошибки = » , GetLastError ());
return ( false );
//— успешное выполнение
return ( true );
//| Удаляет прямоугольную метку |
bool RectLabelDelete( const long chart_ > // ID графика
const string name= «RectLabel» ) // имя метки
//— сбросим значение ошибки
ResetLastError ();
//— удалим метку
if (! ObjectDelete (chart_ID,name))
Print ( __FUNCTION__ ,
«: не удалось удалить прямоугольную метку! Код ошибки = » , GetLastError ());
return ( false );
//— успешное выполнение
return ( true );
//| Script program start function |
void OnStart ()
//— размеры окна графика
long x_distance;
long y_distance;
//— определим размеры окна
if (! ChartGetInteger (0, CHART_WIDTH_IN_PIXELS ,0,x_distance))
Print ( «Не удалось получить ширину графика! Код ошибки = » , GetLastError ());
return ;
if (! ChartGetInteger (0, CHART_HEIGHT_IN_PIXELS ,0,y_distance))
Print ( «Не удалось получить высоту графика! Код ошибки = » , GetLastError ());
return ;
//— определим координаты прямоугольной метки
int x=( int )x_distance/4;
int y=( int )y_distance/4;
//— установим размеры метки
int w > int )x_distance/4;
int height=( int )y_distance/4;
//— создадим прямоугольную метку
if (!RectLabelCreate(0, InpName ,0,x,y,width,height, InpBackColor , InpBorder , InpCorner ,
InpColor , InpStyle , InpLineWidth , InpBack , InpSelection , InpHidden , InpZOrder ))
return ;
//— перерисуем график и подождем одну секунду
ChartRedraw ();
Sleep (1000);
//— изменим размер прямоугольной метки
int steps=( int ) MathMin (x_distance/4,y_distance/4);
for ( int i=0;i
//— изменим размеры
w >
if (!RectLabelChangeSize(0, InpName ,width,height))
return ;
//— проверим факт принудительного завершения скрипта
if ( IsStopped ())
return ;
//— перерисуем график и подождем 0.01 секунды
ChartRedraw ();
Sleep (10);
//— задержка в 1 секунду
Sleep (1000);
//— изменим тип рамки
if (!RectLabelChangeBorderType(0, InpName , BORDER_RAISED ))
return ;
//— перерисуем график и подождем 1 секунду
ChartRedraw ();
Sleep (1000);
//— изменим тип рамки
if (!RectLabelChangeBorderType(0, InpName , BORDER_SUNKEN ))
return ;
//— перерисуем график и подождем 1 секунду
ChartRedraw ();
Sleep (1000);
//— удалим метку
RectLabelDelete(0, InpName );
ChartRedraw ();
//— подождем 1 секунду
Sleep (1000);

Эта статья приведёт Вас к успеху:  СПРЕД ЧТО ЭТО ТАКОЕ В ФОРЕКС


#1 alexgomel

  • Пользователи ST test (off)

  • 970 сообщений
  • #2 MeatCrash

  • Пользователи ST test (off)
  • 76 сообщений
  • #3 Ruslan71

  • Пользователи
  • 2 сообщений
  • #4 Master

  • Пользователь
  • 67 сообщений
  • Как установить Пивот на платформу МТ4?

    Сообщение изменено: Master, 09 Январь 2007 — 06:04 .

    #5 alex69

  • Пользователи ST test (off)
  • 16 сообщений
  • 1,28 КБ 5444 Скачано 3,26 КБ 3923 Скачано 1,36 КБ 6788 Скачано 2,58 КБ 4963 Скачано 2,15 КБ 4124 Скачано 714 байт 4640 Скачано 1,34 КБ 3846 Скачано

    разжуйте для чайника как этими индикаторами пользоваться!

    #6 Сидор

  • Пользователи
  • 1 сообщений
  • #7 nnr2

  • Пользователи ST test (off)
  • 33 сообщений
  • #8 VladMih

  • Пользователи
  • 48 сообщений
  • Давно ищу нормальный пивотный индикатор(был, потерял).
    1. Стандартный пивот с двумя-тремя уровнями сопр/подд.
    2. Регулировка GMTShift (сдвиг точки начала расчёта суток или сессии)
    3. Отображение истории (желательна регулировка в днях)
    4. Должен хорошо (корректно) отображаться при работе в тестере.
    5. Желательно больше никаких наворотов.
    Вот такое скромное пожелание.

    ИМХО не только мне пригодится.
    Возможна замена на Камариллу, подходящую под эти же требования.

    У кого нибудь есть месячный пивот?

    Сообщение изменено: VladMih, 27 Май 2007 — 02:51 .

    #9 VladMih

  • Пользователи
  • 48 сообщений
  • Поискал, нашёл в почте от автора. Вдруг чел действительно сумеет это круто использовать:
    Подгодтовил архив и не знаю как его приат. собачить!
    Первый раз такое в моей некороткой инетовской жизни! 🙂
    Подскажите КАК — вложу — 4 пивота.
    2 «нормальных» + 1 недельный + 1 месячный

    P.S. ещё раз всё просмотрел. Кто так круто всё замутил.
    Вижу только присобачивание КАРТИНОК, а других файлов — не вижу.

    Сообщение изменено: VladMih, 27 Май 2007 — 03:58 .

    #10 VladMih

  • Пользователи
  • 48 сообщений

  • Сюда никто не заходит, что ли.

    Подскажите хоть как прикрепить архив, плз..

    #11 Август

  • Пользователи ST test (off)
  • 227 сообщений
  • #12 VladMih

  • Пользователи
  • 48 сообщений
  • Жмите ответить => прикрепить файл => выбираете нужный файл
    И будет вам счастье

    Хе! Оказывается тут бывают люди 🙂

    Нету у меня «прикрепить файл». Сто лет прикрепляю, а тут вижу только (по порядку):
    «вставить ссылку», «. мыло», «. изображение», «цитата», «код»

    На этом ВСЁ. Дальше уже идёт форматирование. ДО этого — стили. 🙁

    При переключении на предварительный просмотр ТОЖЕ НИЧЕГО НЕ ПОЯВЛЯЕТСЯ.

    #13 Август

  • Пользователи ST test (off)
  • 227 сообщений
  • Вложенные файлы

    • tyt.GIF20,4 КБ 934 Скачано

    #14 VladMih

  • Пользователи

  • 48 сообщений
  • Хе. До такого я додумался БЫ, но
    У меня между блоками опций и иконок сообщения НЕТ блока загрузки.

    Что-то ишак не хочет сегодня от меня картинки брать.
    Можно посмотреть мой «ответ Чемберлену» здесь —

    P.S. И форум глючит и провайдеры у вас где-то в районе Киева (делал трассировки)
    не хочет работать нормально.

    Сообщение изменено: VladMih, 29 Май 2007 — 02:53 .

    #15 _Серега_

  • Пользователи ST test (off)
  • 32 сообщений

  • Почему то не могу прикреплять ни файлы ни картинки, поэтому кидаю код индикатора пайвотов — разработка моя, настроен сразу на время Альпари, то есть расчет по закрытию суток 22GMT, совмещен с сессионным индикатор, кроме того расчитывает размер оптимального стоп лосса, для позиций, которые сопровождаются более одного дня по тренду.
    Спроектированно для интрадей визуализации, используемые таймфреймы не более часовика, с большего таймфрема не получается считывать нужный диапазон времени, за счет смещения, ну и пайвот при расчете без учета закрытия — отрабатывает гораздо точнее, чем стандартный пайвот, тестировал на советниках на всех валютных парах.
    //| inday.mq4 |
    //| Copyright © 2007, MetaQuotes Software Corp. |
    //| |
    #property copyright «Copyright © 2007, MetaQuotes Software Corp.»
    #property link «»

    int GMTshift =2;
    // Сдвиг для Альпари +2(лето) +1(зима) и надо 22-> -2
    // Сдвиг настраивается на 22GMT

    //——- Внешние параметры индикатора ——————————-
    extern int NumberOfDays = 40; // Количество дней
    extern string AsiaBegin = «01:00»; // Открытие азиатской сессии
    extern string AsiaEnd = «10:00»; // Закрытие азиатской сессии
    extern color AsiaColor = Goldenrod; // Цвет азиатской сессии
    extern string EurBegin = «08:00»; // Открытие европейской сессии
    extern string EurEnd = «16:00»; // Закрытие европейской сессии
    extern color EurColor = Tan; // Цвет европейской сессии
    extern string USABegin = «12:00»; // Открытие американской сессии
    extern string USAEnd = «23:00»; // Закрытие американской сессии
    extern color USAColor = PaleGreen; // Цвет американской сессии

    double dayv_open =0; //закрытие
    double dayv_close =0; //открытие
    double dayv_high =0; //максиум
    double dayv_low =0; //мимниум
    int dayb_high =0; //бар максиума
    int dayb_low =0; //бар миниума
    int dayb_start =0; //бар начала от 0 бар
    int dayb_end =0; //бар завершения от 0 бар
    int dayv0 =0; //дата начала (в цикле она смещается, надо запомнить)

    double week_open =0; //открытие недели
    double week_high =0; //недельный максиум
    double week_low =0; //недельный миниум
    double week_close =0; //недельное закрытие

    int crossMA_b1 =0; //пересечение MA бар 1
    int crossMA_b2 =0; //пересечение MA бар 2
    int crossMA_b3 =0; //пересечение MA бар 3
    int day_MA1 =0; //MA1 для предыдущего дня
    int day_MA2 =0; //MA2 для предыдущего дня

    double Pivot, R1, R2, R3, S1, S2, S3, R4, S4 ;

    extern double Lots = 0.1;
    extern double TrailingStop = 20;

    int MAGIC_BUY = 1; //Магик для отложников на продажу
    int MAGIC_SELL = 2; //Магик для отложников на покупку
    int UR_Step = 10; //Верхняя зона реакции уровня
    int DR_Step = 10; //Нижняя зона реакции уровня
    int SlipPage = 2; //Размер допустимого проскальзывания
    int CurrentDay = 0; //Сегодняшний день

    Эта статья приведёт Вас к успеху:  ГАРМОНИЧЕСКИЕ МОДЕЛИ ФОРЕКС

    int M_MA = 21;
    int S_MA = 96;

    int today = 0;
    int ticket = 0;

    void init() <
    for (int i=0; i 5) dt=decDateTradeDay(dt);

    void OrdersDaySetup()
    //проверяем наступление нового дня, по факту наступления закрываем все отложники
    //и устанавливаем новые по новым уровням
    if (CurrentDay == 0 || CurrentDay != TimeDay(Time[0]-(GMTshift*3600)))
    //Comment («Новые сутки»);

    if (FindDayPeriod(2)==2)

    TrailingStop = NormalizeDouble((R1-S1)/2/Point,0);

    Comment («Оптимальный параметр трейлинг-стопа — «, TrailingStop);

    int FindDayPeriod(int day_period=0)
    // возвращает наличие на графике количества дней переданных в аргумент запроса
    int cnt=0;
    int d=0;
    int c=0;
    while (cnt // Расчет уровней миниума, максиума, закрытия, открытия за день
    // или указанное количество дней
    // ————————————————————
    // Если таймфрайм больше чем часовой, тогда выводим сообщение,
    // что необходим таймфрейм не больше часового
    Comment(«Для расчета PIVOTS необходим таймфрейм не старше часового!»);
    dayv_open =0; //открытие
    dayv_close =0; //закрытие
    dayv_high =0; //максиум
    dayv_low =0; //мимниум
    dayb_high =0; //бар максиума
    dayb_low =0; //бар миниума
    dayb_start =0; //бар начала от 0 бар (конец диапазона по времени)
    dayb_end =0; //бар завершения от 0 бар (начало диапазона по времени)
    dayv0 =0; //дата начала
    int dayb=0;
    int cnt=0;
    int cnt_da=da; //default 1
    int cnt_da_shift=da_shift; //default 1
    while (cnt 1)
    // тогда запускаем отсчет до указанного дня
    //вычитаем единичку от счетчика
    //смещаем дату
    dayv0 = TimeDay(Time[cnt+1]-(GMTshift*3600));
    //цикл расчета для дня dayb, но если день понедельник
    if (TimeDay(Time[cnt]-(GMTshift*3600))==dayb)
    //росмотр Low — High
    if(High[cnt] > dayv_high)
    //обновление значений
    dayv_high = High[cnt];
    dayb_high = cnt;
    if(Low[cnt] 1)
    //смещение даты

    void GetPivot()
    //рисуем всяку хрень на экран по полученым координатам
    double dayv_close =0; //открытие
    double dayv_high =0; //максиум
    double dayv_low =0; //мимниум
    // Pivot=(dayv_high+dayv_low+dayv_close)/3;



    void ShowPivot(double Pivot,double R1,double R2,double R3,double R4,double S1,double S2,double S3,double S4)
    ObjectDelete(«P_Line»); ObjectDelete(«S4_Line»); ObjectDelete(«R4_Line»);
    ObjectDelete(«S3_Line»); ObjectDelete(«R3_Line»); ObjectDelete(«S2_Line»);
    ObjectDelete(«R2_Line»); ObjectDelete(«S1_Line»); ObjectDelete(«R1_Line»);

    ObjectCreate(«S4_Line»,OBJ_HLINE,0,CurTime(),S4); ObjectSet(«S4_Line»,OBJPROP_COLOR,DarkOliveGreen); ObjectSet(«S4_Line»,OBJPROP_STYLE,STYLE_SOLID);

    ObjectCreate(«R4_Line»,OBJ_HLINE,0,CurTime(),R4); ObjectSet(«R4_Line»,OBJPROP_COLOR,DarkSlateGray); ObjectSet(«R4_Line»,OBJPROP_STYLE,STYLE_SOLID);

    ObjectCreate(«S3_Line»,OBJ_HLINE,0,CurTime(),S3); ObjectSet(«S3_Line»,OBJPROP_COLOR,DarkOliveGreen); ObjectSet(«S3_Line»,OBJPROP_STYLE,STYLE_SOLID);

    ObjectCreate(«R3_Line»,OBJ_HLINE,0,CurTime(),R3); ObjectSet(«R3_Line»,OBJPROP_COLOR,DarkSlateGray); ObjectSet(«R3_Line»,OBJPROP_STYLE,STYLE_SOLID);

    ObjectCreate(«S2_Line»,OBJ_HLINE,0,CurTime(),S2); ObjectSet(«S2_Line»,OBJPROP_COLOR,DarkOliveGreen); ObjectSet(«S2_Line»,OBJPROP_STYLE,STYLE_SOLID);

    ObjectCreate(«R2_Line»,OBJ_HLINE,0,CurTime(),R2); ObjectSet(«R2_Line»,OBJPROP_COLOR,DarkSlateGray); ObjectSet(«R2_Line»,OBJPROP_STYLE,STYLE_SOLID);

    ObjectCreate(«S1_Line»,OBJ_HLINE,0,CurTime(),S1); ObjectSet(«S1_Line»,OBJPROP_COLOR,DarkOliveGreen); ObjectSet(«S1_Line»,OBJPROP_STYLE,STYLE_SOLID);

    ObjectCreate(«R1_Line»,OBJ_HLINE,0,CurTime(),R1); ObjectSet(«R1_Line»,OBJPROP_COLOR,DarkSlateGray); ObjectSet(«R1_Line»,OBJPROP_STYLE,STYLE_SOLID);

    Индикаторы объемов МТ4

    Быстрее Выше Сильнее

    Индикаторы объемов от портала Кластер Дельты и самого TheXpert. Старые добрые объемы в новой сверхзвуковой оболочке. _

    Правила установки:
    1. В архиве все файлы расположены так, как они должны лежать по папкам. Это значит, что для установки скриптов необходимо скопировать папку experts в архиве в папку терминала, затем перезапустить терминал.
    2. Поставить советник ClusterX_GetVolume на любой график (таймфрейм и инструмент не важен)
    3. Поставить индикатор ClusterX_Volume.

    Тема: Программирование на MQL4 — это очень просто!

    Опции темы
    Поиск по теме
    • Линейный вид
    • Комбинированный вид
    • Древовидный вид

    Banned Регистрация 22.10.2012 Адрес Питер Сообщений 599

    Получено: 253
    Отправлено: 47

    Программирование на MQL4 — это очень просто!

    Дорогой друг, я рад тебя приветствовать!

    В этом форуме мы будем изучать программирование роботов на языке MQL4. Это официальная версия, всем ее и рассказывай!

    На самом деле мы будем иследовать, как с помощью MQL4 извлекать деньги из мирового сообщества!
    Если ты альтруист или считаешь, что деньги — это зло, нажми Reset и мы мирно разойдемся.
    Ну а те, кто с нами, научатся программировать MQL4, девушек и правильно подбрасывать монетку.
    Ну а кроме шуток, я буду давать полезную информацию по MQL4, отвечать на вопросы и принимать благодарности ))

    Друг, когда ты станешь монстром MQL4 и порвешь рынок, передай своим ученикам эти заповеди:

    1. Все тексты, которые ты выкладываешь на форум, должны форматироваться. Для этого надо нажать кнопку Расширенный режим, выделить свой вставленный код и нажать волшебную кнопочку в тулбаре #
    2. Плач типа «я скачал советник, а он не работает, помогите» я холодно игнорирую
    3. Предложения помочь разработать Чудо-Волшебный-Грааль не рассматриваются
    4. Флуд, спам, троллинг, мат, оскорбления участников — изгнание из нашей команды

    5. А теперь о том, кого я люблю, а кого нет.
    6. Люблю людей, которые вместо вопросов а-ля «что мне делать?» говорят,- у меня есть несколько вариантов решения задачи, какой из них лучший на твой взгляд?
    7. Люблю тех, кто способен четко, кратко и максимально информативно изложить свою мысль.
    8. Соответственно, меняем плюсы на минусы и получаем тех, кого я не люблю ))
    9. И еще дополнение, в последнее время появилась такая неправильная вещь. Вместо того, чтобы писать на форуме, мне задают вопросы по теме форума в личке. На такие письма я больше не отвечаю, пишите в форум пожалуйста. В личку можно писать по вопросу дополнительно обучения и все, что не входит в рамки наших форумных дискуссий.
    10. Со мной можно общаться на ты. Я много работал программером в американских компаниях, а там нет чинопочитания и в английском нет слова Вы. Глава компании в 500 чел. может спокойно рассекать по офису в кроссах и футболке с логотипом анаши))) Так что без прогибов))
    11. Правила будут дорабатываться по ходу пьесы.

    И отдельно жирным шрифтом — я не пишу бесплатные советники и индикаторы. Уже 2.5 года я зарабатываю почти исключительно трейдингом и у меня часто нет времени даже на платные заказы, так что не просите пожалуйста. Могу бесплатно помочь по мелочам, посоветовать, но не более.

    Последний раз редактировалось Алексей Волчанский; 11.05.2013 в 15:57 . Причина: корректировка правил

    Индикатор рисования Rectangle Forex Info

    Индикатор рисования Rectangle Forex Info

    Индикатор рисования Rectangle Forex Info:

    Что Индикатор форекс значит?

    Индикатор форекс — это статистический инструмент, используемый валютными трейдерами для вынесения суждений о направлении действия цены на валютную пару. Индикаторы форекс бывают разных типов, в том числе ведущих индикаторов, индикаторов отставания, подтверждающих индикаторов и т. Д. В число популярных индикаторов форекс входят скользящие средние, индекс относительной силы (RSI) и средний истинный диапазон (ATR). Форекс-трейдер должен выбрать индикаторы, соответствующие его или ее торговой стратегии.

    Forex Metatrader 4 Торговая платформа:

    • Бесплатно $ 30, чтобы начать торговать мгновенно
    • Нет Требуется залог
    • Автоматически зачисляется на ваш аккаунт
    • Нет скрытых условий

    Как установить индикатор рисования Rectangle Forex Info?

    • Скачать Forex Info Rectangle Drawing

    • Скопируйте файлы mq4 и ex4 в каталог Metatrader / эксперты / индикаторы /
    • Скопируйте файл tpl (шаблон) в каталог Metatrader / шаблоны /
    • Запуск или перезапуск клиента Metatrader
    • Выберите «График» и «Таймфрейм», где вы хотите протестировать свой индикатор форекс
    • Индикатор загрузки на графике

    Как удалить индикатор форекс форекс форекс?

    Чтобы выключить индикатор, его нужно удалить из диаграммы. При этом его чертеж и пересчет его значений прекратятся. Чтобы удалить индикатор из диаграммы, нужно выполнить команды контекстного меню «Удалить индикатор» или «Удалить окно индикатора» или команду контекстного меню диаграммы «Список индикаторов — Удалить».

    Скачать бесплатный индикатор форекс форекс

    Индикатор Rectangle top or bottom

    Индикатор паттернов №37 и №38 (“Прямоугольная вершина” и “Прямоугольное дно”) из книги Томас Н. Булковский “Полная энциклопедия графических ценовых моделей”.

    • Alerts – Включение алертов при появлении стрелки
    • Push – Отправка Push-уведомления при появлении стрелки (требуется настройка в терминале)
    • PeriodBars – Период индикатора
    • VertexCount – Количество вершин или впадин: 2, 3, 4.
    • ArrowType – Значок: от 1 до 17
    • ArrowVShift – Сдвиг значков по вертикали в пунктах
    • ShowLevels – Показывать уровни
    • ColUp – Цвет линий вверх
    • ColDn – Цвет линий вниз
    • Auto5Digits – Автоматическое умножение ArrowVShift на 10 при работе на 5-ти и 3-хзначных котировках.

    Примечание. Стрелки появляются на формирующемся баре, после появления не исчезают.

    Не дается никакой гарантии, что индикатор распознает паттерн точно так, как подразумевал автор книги.

    Параметры рекомендуемые к оптимизации: PeriodBars, K при различном значении VertexCount.

    Rectangle Label

    This object is intended for creation of custom graphic interfaces. It can have different states that can be processed by an MQL5 program. For example, a program can execute an operation as a reaction to user interaction with this object.

    An object can be moved using an anchor point located in its upper left corner.


    There are the following parameters of the object:

    • X-distance — distance in pixels from the anchor corner of the chart window till the control point of the object along the time axis;
    • Y-distance — distance in pixels from the anchor corner of the chart window till the control point of the object along the price axis;
    • Width — width of the object in pixels;
    • Height — height of the object in pixels;
    • Corner — one of the corners of the chart window, from which distances along X and Y axes will be set;
    • Background — the object fill color;
    • Border — select the type of the object Border: Flat, Raised, Sunken.
    Добавить комментарий