Можно подробнее, покажите скриншот или опишите ситуауию
Например, МАСД. Ручками можно описать уровень. Вопрос как сделать это программными средствами?
У каждой MQL4 программы можно указать дополнительные специфические параметры #property, которые помогают клиентскому терминалу правильно обслуживать программы без необходимости их явного запуска. В первую очередь это касается внешних настроек индикаторов. #property идентификатор значение
|
Можно подробнее, покажите скриншот или опишите ситуауию
Например, МАСД. Ручками можно описать уровень. Вопрос как сделать это программными средствами?
![](https://c.mql5.com/mql4/forum/2007/03/test.gif)
Мне надо, чтобы горизонтальные уровни были подписаны.
Парадокс, можно задать цвет стиль значение, а описать нет ничего. Может пробел в возможностях MQL4?
Мне надо, что горизонтальные уровни были подписаны.
ObjectCreate( "MACD_level_1", OBJ_HLINE, 1, 0, 0.001 );Проверил. Не работает, гад! А зачем тогда нужен такой дескриптор, который на графике не виден?
ObjectSetText( "MACD_level_1", "Первонах" );
Ну тогда остается либо OBJ_LABEL, либо и впрямь создавать Фибо по "цене" и программно назначать уровни вместе с описаниями.
double Level_1=0.001,Level_2=-0.0005; ObjectCreate( "MACD_level_1", OBJ_HLINE, 1, 0,Level_1 ); ObjectCreate( "MACD_level_text1", OBJ_TEXT, 1, TimeCurrent( ) ,Level_1 ); ObjectSetText( "MACD_level_text1", "Level 1",10, "Times New Roman", White ); ObjectCreate( "MACD_level_2", OBJ_HLINE, 1, 0, Level_2 ); ObjectCreate( "MACD_level_text2", OBJ_TEXT, 1, TimeCurrent( ) ,Level_2 ); ObjectSetText( "MACD_level_text2", "Level 2",10,"Times New Roman", White );
Правда, позиционировать текст относительно линий для различных периодов довольно сложно.
![](https://c.mql5.com/mql4/forum/2007/03/levels2macd.gif)
Всё же отбразить названия уровней возможно:
double Level_1=0.001,Level_2=-0.0005; ObjectCreate( "MACD_level_1", OBJ_HLINE, 1, 0,Level_1 ); ObjectCreate( "MACD_level_text1", OBJ_TEXT, 1, TimeCurrent( ) ,Level_1 ); ObjectSetText( "MACD_level_text1", "Level 1",10, "Times New Roman", White ); ObjectCreate( "MACD_level_2", OBJ_HLINE, 1, 0, Level_2 ); ObjectCreate( "MACD_level_text2", OBJ_TEXT, 1, TimeCurrent( ) ,Level_2 ); ObjectSetText( "MACD_level_text2", "Level 2",10,"Times New Roman", White );
Правда, позиционировать текст относительно линий для различных периодов довольно сложно.
Есть такие функции:
void SetLevelValue( | int level, double value) |
level | - | Номер уровня (0-31). |
value | - | Значение для указанного уровня. |
void SetLevelStyle( | int draw_style, int line_width, color clr=CLR_NONE) |
draw_style | - | Стиль линии. Может быть одним из перечисленных стилей линии. Пустое значение (EMPTY) указывает, что стиль не будет изменен. |
line_width | - | Ширина линии. Допустимые значения - 1,2,3,4,5. Пустое значение (EMPTY) указывает, что ширина не будет изменена. |
clr | - | Цвет линии. Пустое значение CLR_NONE указывает, что цвет не будет изменен. |
Через них можно все задать, а вот сделать простое описание не возможно. Обратите внимание на количество возможных уровней (0-31).
indicator_levelN |
double |
горизонтальный уровень N в отдельном окне индикатора, где N от 1 до 8 |
Через #property indicator_levelN их всего 8. Явная не стыковка и пробел в MQL4.
Свою задачу пока решил так: программно задаю уровни (они у меня динамично изменяются), а текст набиваю ручками. Текст остается, если не удалять индикатор.
1. Не нужно путать уровни (32) с индикаторными линиями (8).
2. Графические объекты могут быть привязаны к окну индикатора двумя способами:
а) координатами в пикселях экрана (например, OBJ_LABEL);
б) координатами цены и времени (например, OBJ_TEXT).
Если макс и мин. индикатора жёстко закреплены, то можно использовать
б).
Если макс и мин не фиксированы, то нужно использовать а), при
этом на каждом баре пересчитывать координату по времени - сдвигать
объект вправо на 1 бар (если этого не делать, то граф. объект всё
время будет ехать влево). Координату по Y можно пересчитывать
только если уровни по ходу работы меняются.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Кто знает, как описать горизонтальные уровни для индикаторов? Перерыл все документацию - ничего не нашел.