Скачать MetaTrader 5

Есть ли ограничение в длине названия функции ObjectCreate?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vladislav Andruschenko
95953
Vladislav Andruschenko  

Всем привет, подскажите в чем секрет:

 Есть ли ограничение в длине названия функции ObjectCreate? 

Есть новостной индикатор, он строит линии по текущим новостям взятых с экономического календаря,

на каждую новость он рисует  линию с стилем =1 

но некоторые линии получаются сплошными, не то чтобы плохо - но вводит в заблуждение почему так.

 

картинка такая:

 

 

 

ObjectCreate("line"+News[i],OBJ_VLINE,0,TimeNews[i],0);
         ObjectSet("line"+News[i],OBJPROP_STYLE,1);
         ObjectSet("line"+News[i],OBJPROP_COLOR,Col);

         if(bartime[ArrayBsearch(bartime,TimeNews[i])]==bartime[i]){na++;bartime[i]=-1; }else na=0;
         if(TimeDayOfWeek(TimeNews[i])!=predTime){na=0;predTime=TimeDayOfWeek(TimeNews[i]);}
         double raz=WindowPriceMax(0)-WindowPriceMin(0);
         ObjectCreate(News[i],OBJ_ARROW,0,0,0);
         ObjectSet(News[i],OBJPROP_TIME1,TimeNews[i]);
         ObjectSet(News[i],OBJPROP_PRICE1,High[iBarShift(Symbol(),0,TimeNews[i])]+na*raz/42);
Файлы:
atztek
279
atztek  
Vladon:

Всем привет, подскажите в чем секрет:

 Есть новостной индикатор, он строит линии по текущим новостям взятых с экономического календаря,

на каждую новость он рисует  линию с стилем =1 

но некоторые линии получаются сплошными, не то чтобы плохо - но вводит в заблуждение почему так.



Измените толщину линий на минимальную и тогда сможете пользоваться любым стилем.
Vladislav Andruschenko
95953
Vladislav Andruschenko  
OBJPROP_WIDTH 8 int Получает/устанавливает ширину линии объекта

она итак минимальная, эффект тот же 

Boeing747
241
Boeing747  
Vladon:

Всем привет, подскажите в чем секрет:

 

Есть новостной индикатор, он строит линии по текущим новостям взятых с экономического календаря,

на каждую новость он рисует  линию с стилем =1 

но некоторые линии получаются сплошными, не то чтобы плохо - но вводит в заблуждение почему так.

 

картинка такая:

 

 

 

возможно из за что встречаются одинаковые названия объектов "line"+New[i]  но с разным временем установки TimeNews[i]  и машина не знает с каким объектом работать на данный момент ,
Vladislav Andruschenko
95953
Vladislav Andruschenko  
если на графике посмотреть свойства то эта линия таки простая линия, сплошная, но в коде четко прописан стайл = 1. 
Vladislav Andruschenko
95953
Vladislav Andruschenko  
Boeing747:
возможно из за что встречаются одинаковые названия объектов "line"+New[i]  но с разным временем установки TimeNews[i]  и машина не знает с каким объектом работать на данный момент ,

тоже так думал но нет. 
Vladislav Andruschenko
95953
Vladislav Andruschenko  

тут все намного сложнее, скорее это линии времени на которое нет в базе котировок

 

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

Vladislav Andruschenko
95953
Vladislav Andruschenko  

ну да значка нету на графике, вернее есть но он с ценой 0:

 

 

 

 

 

 

а линия без цены. буду смотреть дальше 

 в календаре есть эта запись

Fri Jul 12,21:15,GMT,USD,USD Fed's Williams Presents a Monetary Policy Paper in Vancouver,Low,,,



Boeing747
241
Boeing747  
Vladon:

тоже так думал но нет. 
возможен  еще такой вариант ; если цвет Col не определен  то будет отрисовка стилем - сплошной и красного цвета то есть по умолчанию.
Vladislav Andruschenko
95953
Vladislav Andruschenko  

цвет проверил:

 

         if(Vazn[i]=="High"|| Vazn[i]=="HIGH")Col=high;else

         if(Vazn[i]=="Medium"|| Vazn[i]=="MEDIUM")Col=medium;else

         if(Vazn[i]=="Low"|| Vazn[i]=="LOW")Col=low;else Col=White;

 все равно рисует красную линию 

Vladislav Andruschenko
95953
Vladislav Andruschenko  

нашел зацепку, если к объекту не применяется постановки стиля он рисует красную сплошную

 

ObjectCreate("line"+"XXXXXX",OBJ_VLINE,0,Time[0],0);

 

нарисовал красную сплошную, тогда другой момент.

 

может другой вариант

         if(ObjectFind("line"+News[i])==-1)ObjectCreate("line"+News[i],OBJ_VLINE,0,TimeNews[i],0);
         ObjectSet("line"+News[i],OBJPROP_STYLE,1);
         ObjectSet("line"+News[i],OBJPROP_COLOR,Col);
         ObjectSet("line"+News[i],OBJPROP_WIDTH,1);

 он не понимает длину стринга? 

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий