а зачем закомментировал ?
ObjectSetInteger(indicatorWindow,label,OBJPROP_RAY_RIGHT, false ); ObjectSetInteger(indicatorWindow,label,OBJPROP_RAY_LEFT, false );
OBJPROP_RAY | Вертикальная линия продолжается на все окна графика |
у тебя не вертикальная линия
а зачем закомментировал ?
Пробовал. Не помогло. Еще раз попробовал (вставил эти 2 строки что выше). все равно луч.
OBJPROP_RAY убрал. тоже самое.
Пишу советника на стандартном индикаторе MACD. Хочу вывести дивергенцию на график индикатора(нарисовать линию в 1 окне).
линию рисует, меняю толщину, цвет, а сделать ее отрезком не могу.
Помогите сделать линию отрезком а не лучем. Спасибо.
"indicatorWindow" - неправильное название. Нужно делать название "chart_ID" - тогда сразу увидите, что должен стоять идентификатор графика. Если это текущий график - значит это будет "0".
Также ВСЕГДА НУЖНО проверять коды возврата. ObjectSetInteger ведь может вернуть true, а может вернуть и false. В этом случае нужно проверять коды возврата.
Был такой график:
трендовая линия имеет название "label".
Применяем такой скрипт:
//+------------------------------------------------------------------+ //| Test.mq5 | //| Copyright © 2016, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2016, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.00" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { ResetLastError(); if(!ObjectSetInteger(0,"label",OBJPROP_RAY_RIGHT,false)) Print(GetLastError()); ResetLastError(); if(!ObjectSetInteger(0,"label",OBJPROP_RAY_LEFT,false)) Print(GetLastError()); } //+------------------------------------------------------------------+
и фокус-покус: у нас получился отрезок:
А у вас не перепутаны координаты? У вас луч влево направлен.
поменял координаты специально чтоб луч не мешал.
ObjectCreate(label,OBJ_TREND,indicatorWindow,x2,y2,x1,y1);
результат тот же. тока луч в право.
"indicatorWindow" - неправильное название. Нужно делать название "chart_ID" - тогда сразу увидите, что должен стоять идентификатор графика. Если это текущий график - значит это будет "0".
Не знаю как имя переменной может на это влиять. Но не помогает. принтует 1.
2016.07.15 18:33:44.672 2015.08.14 13:40 #MACDiverZ_1bf EURUSD,H4: DrawIndicatorTrendLine: chart_ID= : 1 Âðåìÿ = 2015.08.14 12:00
---==== ЗАБЫЛ СКАЗАТЬ ЧТО Этот код MQL4 ====---
Не знаю как имя переменной может на это влиять. Но не помогает. принтует 1.
2016.07.15 18:33:44.672 2015.08.14 13:40 #MACDiverZ_1bf EURUSD,H4: DrawIndicatorTrendLine: chart_ID= : 1 Âðåìÿ = 2015.08.14 12:00Имя переменной призвано восстановить сознание и направить его на путь истинный (то есть на путь изучения MQL5) :).
Пример привёл. Вы уже упорно пихаете в свою переменную (хоть и назвали её теперь по новому) значение "1". В справке написано черным по белому:
bool ObjectSetInteger(long chart_id, // идентификатор графика
string name, // имя
ENUM_OBJECT_PROPERTY_INTEGER prop_id, // свойство
long prop_value // значение
);
Параметры
chart_id
[in] Идентификатор графика. 0 означает текущий график.
Имя переменной призвано восстановить сознание и направить его на путь истинный (то есть на путь изучения MQL5) :).
Пример привёл. Вы уже упорно пихаете в свою переменную (хоть и назвали её теперь по новому) значение "1". В справке написано черным по белому:
bool ObjectSetInteger(long chart_id, // идентификатор графика
string name, // имя
ENUM_OBJECT_PROPERTY_INTEGER prop_id, // свойство
long prop_value // значение
);
Параметры
chart_id
[in] Идентификатор графика. 0 означает текущий график.
Я в коде ищу где у меня индикатор , там и рисую. потому и 1.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Пишу советника на стандартном индикаторе MACD. Хочу вывести дивергенцию на график индикатора(нарисовать линию в 1 окне).
линию рисует, меняю толщину, цвет, а сделать ее отрезком не могу.
Помогите сделать линию отрезком а не лучем. Спасибо.