Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
ObjectCreate(name, OBJ_TRIANGLE, WindowFind(WindowExpertName(), Time[-1],вершина1_цена,
Time[-5],вершина2_цена,
Time[-7],вершина3_цена, );
//--------------------------------------------------------------------------------------------------------------------------
Координаты вершин треугольника по времени я задала (к примеру - по времени откр. будущих баров). Дальше мне не совсем понятно. На шкале окна индикатора отображается не цена. А градация значений индикатора.
Мне же нужно "поставить" треугольник с жестко закрепленными вершинами, вне зависимости от цены.
И желательно, жестко закрепить его в правом (или пр.нижнем) углу.
И мне не понятно как задать координаты его вершин - по вертикальной оси шкалы индикатора :
.... ... нет ответа от знатоков...
Видимо, придется принять к сведению, что отрисовать треугольник в окне индикатора средствами MQL невозможно.
Видимо, придется принять к сведению, что отрисовать треугольник в окне индикатора средствами MQL невозможно.
Изначальная задача вот такая.
Мне велели сделать вот что. Если ценовые линии инструментов индикатора на нулевом баре сходятся(сближаются),
т.е. абс. в-на (Symbol1[0]-Symbol2[0]) < ( Symbol1[1] - Symbol2[1])
то треугольнник должен отрисовываться острием вправо - см. рис.
А если линии расходятся, - то острием влево.
Условия я написала. А вот треугольник никак на нарисую...
Цену нужно задавать в единицах индикатора, а время как обычно. может в этом проблема?
Но он всё-равно будет привязан не к экрану, а к графику.
Если сложность понять какие вообще ценовые координаты задавать, то алгоритм следующий:
Если индикатор с автомасштабированием, то определяем количество баров в окне, вычисляем минимум и максимум значений индикатора на этом промежутке, используем их как базовые точки.
Если с фиксированным масштабом, то координаты задаются константами.
Time - массив, у него нет отрицательных элементов.
будущее время можно задать как-то так: Time[0]+X*Period()*60.
По вертикали задаются значения по шкале индикатора.
Понятно. Благодарю всех.
Проще написать словами - "схождение или расхождение", чем мучиться с треугольником ... -
.... ... нет ответа от знатоков...
Видимо, придется принять к сведению, что отрисовать треугольник в окне индикатора средствами MQL невозможно.
Может быть стрелки лучше
ObjectCreate("DevIM0", OBJ_ARROW, window, Time[0]+5500, 0);
ObjectSet("DevIM0", OBJPROP_ARROWCODE, 232);
ObjectSet("DevIM0", OBJPROP_WIDTH, 4);
ставьте в угол лейбу шрифтом Wingdings 2 и не мучайтесь...
Спсб. Можно и стрелками попробывать.
ObjectCreate("DevIM0", OBJ_TRIANGLE, window, Time[0]+5500, 0,Time[0]+8500, 30,Time[0]+8500, -1*30);
Треугольник тоже неплохо рисуется