Пытаюсь модифицировать координату времени правой метки:
Исправил
void ModeObjects() { for(int i=ObjectsTotal()-1;i>=0;i--) { if(ObjectType(ObjectName(i))==OBJ_TREND) ObjectSet(ObjectName(i),OBJPROP_TIME2,Time[0]+PeriodSeconds()*BarsCount); if(ObjectType(ObjectName(i))==OBJ_ARROW_RIGHT_PRICE) ObjectSet(ObjectName(i),OBJPROP_TIME1,Time[0]+PeriodSeconds()*BarsCount); } }
Приветствую! Пытаюсь модифицировать координату времени правой метки:
Таким образом модифицируется координата времени трендовой линии, но метка не модифицируется. В чем может быть причина?
По задумке метка должна быть на правом конце трендовой линии и перемещаться вместе с ее правым концом.
Пробовал двигать метку с помощью ObjectMove, ObjectSetInteger, менял свойства метки, но никак.
у меня работает старым способом через ObjectMove
//+------------------------------------------------------------------+
//| Перемещает точку привязки |
//+------------------------------------------------------------------+
bool ArrowPriceMove(const long chart_ID=0,// ID графика
const string name="Price",// имя метки
datetime time=0, // координата времени точки привязки
double price=0) // координата цены точки привязки
{
//--- если координаты точки не заданы, то перемещаем ее на текущий бар с ценой Bid
if(!time)
time=TimeCurrent();
if(!price)
price=SymbolInfoDouble(Symbol(),SYMBOL_BID);
//--- сбросим значение ошибки
ResetLastError();
//--- переместим точку привязки
if(!ObjectMove(chart_ID,name,0,time,price))
{
Print(__FUNCTION__,
": не удалось переместить точку привязки! Код ошибки = ",GetLastError());
return(false);
}
//--- успешное выполнение
return(true);
OBJPROP_TIME надо OBJPROP_TIME1 это координата 1-ой точки
Исправил
Когда делал перебор по типу объекта, не работало а когда показали перебор по именам объектов заработало. Благодарствую!
void ModeObjects() { for(int i=ObjectsTotal()-1;i>=0;i--) { string name=ObjectName(i); if(StringFind(name,"Line",0)>-1) ObjectSet(ObjectName(i),OBJPROP_TIME2,Time[0]+PeriodSeconds()*BarsCount); if(StringFind(name,"Label",0)>-1) ObjectSet(ObjectName(i),OBJPROP_TIME1,Time[0]+PeriodSeconds()*BarsCount); WindowRedraw(); } }
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Приветствую! Пытаюсь модифицировать координату времени правой метки:
Таким образом модифицируется координата времени трендовой линии, но метка не модифицируется. В чем может быть причина?
По задумке метка должна быть на правом конце трендовой линии и перемещаться вместе с ее правым концом.
Пробовал двигать метку с помощью ObjectMove, ObjectSetInteger, менял свойства метки, но никак.
код индикатора: