Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 969

 
borilunad:
Как же можно пиксела, если график по вертикали гуляет? Только по пипсам резон!
Масштаб можно зафиксировать или пересчитывать расстояние при изменении масштаба. Точно не знаю зачем потребовалось так специфично измерять расстояния, но видимо нужно. Хотя может он просто не может применить единицы цены т. к. они double, а ему надо int, но в вопрос так не поставлен.
 

Не корректно работает индикатор. При удалении его с графика надписи не пропадают.

Не силён в программировании, поэтому обращаюсь к знатокам.  Поправьте индюшонок, буду благодарен.

 

И цвет индикатора по умолчанию чёрный, поэтому желательно поменять. 

 

В идеале ещё бы возможность устанавливать в любое место графика.

 

Спасибо. 

Файлы:
 
PozitiF:
Можно запоминать видимые цены и время на графике и сравнивать, как только график растянется или ещё чего то и видимые области уменьшатся либо увеличатся. Расставить невидимые лейблы на графике через определённое расстояние запомнить расстояние, и сверять.
Проще по значениям Машек, сравнивая по пипсам*Point, определённым оптимизацией!
 
borilunad:
Проще по значениям Машек, сравнивая по пипсам*Point, определённым оптимизацией!
Полностью согласен.
 
Можно ли на лету поправлять котировки в файле онлайнового графика? Идея в том, что бы жестко привязать цену открытия бара к цене закрытия предыдущего бара.
 
SunnYtheDreamer:
Функция: ChartTimePriceToXY
https://docs.mql4.com/ru/chart_operations/charttimepricetoxy

Передашь в неё значения МА, получишь координаты пикселя относительно окна графика, а затем уже пиши алгоритм вычисления расстояния между двумя точками.


Спасибо!
 
Alligator:

Не корректно работает индикатор. При удалении его с графика надписи не пропадают.

Не силён в программировании, поэтому обращаюсь к знатокам.  Поправьте индюшонок, буду благодарен.

 

И цвет индикатора по умолчанию чёрный, поэтому желательно поменять. 

 

В идеале ещё бы возможность устанавливать в любое место графика.

 

Спасибо. 

Попробуйте исправить сами. Цвет объектов задается в строке
extern color ExtColor=Black;

Т.е., вы можете поменять цвет сами при вызове индикатора во входных параметрах, или, назначте другой цвет в программе, по умолчанию.

В программе не удаляются объекты при удалении индикатора с графика. Это строка в deinit()

   if(windex>0) ObjectsDeleteAll(windex);

 Нужно удалить проверку if(windex>0). Оставить только удаление всех объектов. 

 
Mislaid:
Попробуйте исправить сами. Цвет объектов задается в строке

Т.е., вы можете поменять цвет сами при вызове индикатора во входных параметрах, или, назначте другой цвет в программе, по умолчанию.

В программе не удаляются объекты при удалении индикатора с графика. Это строка в deinit()

 Нужно удалить проверку if(windex>0). Оставить только удаление всех объектов. 

 

Спасибо тебе, добрый человек! Практически получилось, проверку if(windex>0) я удалил, но теперь при удалении индикатора

удаляются все графические объекты , которые рисуют другие индикаторы, которые в это время висят на графике.

Что можно сделать ?

Спасибо ещё раз.

 
Alligator:

Спасибо тебе, добрый человек! Практически получилось, проверку if(windex>0) я удалил, но теперь при удалении индикатора

удаляются все графические объекты , которые рисуют другие индикаторы, которые в это время висят на графике.

Что можно сделать ?

Спасибо ещё раз.

В этом случае удаление объектов должно быть таким

   ObjectsDeleteAll(0, "Head_", 0, OBJ_LABEL);
 
AlexeyVik:

В этом случае удаление объектов должно быть таким

Не помогло.

Удаляется только шапка (самая верхняя строка) индикатора, подписи во второй строке на графике остаются. 

Причина обращения: