Ошибки, баги, вопросы - страница 1607

 
threat:
В моем случае это не выход, так как объектов много - это линии сетки вместо стандартной. Из-за read only ограничения теряется возможность "поднимать" и "опускать" объекты "по высоте". Странное и неудобное ограничение. Только мешает.

Есть способ программно вытащить объект наверх.

Выставить сначала объекту невидимость на всех таймфреймах, затем снова выставить нужную видимость.

Именно так делается в панелях

 
threat:
Странное и неудобное ограничение. Только мешает.

Это - время создания объекта.

Хотите нужное время у объекта - создайте объект в нужное время. А как Вы хотели?

 
Slawa:

Это - время создания объекта.

Хотите нужное время у объекта - создайте объект в нужное время. А как Вы хотели?

а хотел он совсем другое. "поднимать" и "опускать" объекты.
 
Slawa:

Есть способ программно вытащить объект наверх.

Выставить сначала объекту невидимость на всех таймфреймах, затем снова выставить нужную видимость.

Именно так делается в панелях

Это как ? Что то я не пойму ...

Я например в своих панелях прячу не нужные элементы за пределами графика...

 
Slawa:

Есть способ программно вытащить объект наверх.

Выставить сначала объекту невидимость на всех таймфреймах, затем снова выставить нужную видимость.

Именно так делается в панелях

а как опустить объект в самый низ? Наверно лучше уж создать дополнительное поле layer у объектов и сортировать их не по дате создания, а по слоям. Или привязаться к существующему свойству OBJPROP_ZORDER
 
Vladimir Pastushak:

Это как ? Что то я не пойму ...

Я например в своих панелях прячу не нужные элементы за пределами графика...

Вот так:

//+------------------------------------------------------------------+
//| Показывает кнопку                                                |
//+------------------------------------------------------------------+
void CColorButton::Show(void)
  {
//--- Выйти, если элемент уже видим
   if(CElement::IsVisible())
      return;
//--- Сделать видимыми все объекты
   for(int i=0; i<CElement::ObjectsElementTotal(); i++)
      CElement::Object(i).Timeframes(OBJ_ALL_PERIODS);
//--- Состояние видимости
   CElement::IsVisible(true);
  }
//+------------------------------------------------------------------+
//| Скрывает кнопку                                                  |
//+------------------------------------------------------------------+
void CColorButton::Hide(void)
  {
//--- Выйти, если элемент скрыт
   if(!CElement::IsVisible())
      return;
//--- Скрыть все объекты
   for(int i=0; i<CElement::ObjectsElementTotal(); i++)
      CElement::Object(i).Timeframes(OBJ_NO_PERIODS);
//--- Состояние видимости
   CElement::IsVisible(false);
  }
//+------------------------------------------------------------------+
//| Перерисовка                                                      |
//+------------------------------------------------------------------+
void CColorButton::Reset(void)
  {
//--- Выйдем, если элемент выпадающий
   if(CElement::IsDropdown())
      return;
//--- Скрыть и показать
   Hide();
   Show();
  }
 
Vladimir Pastushak:

Это как ? Что то я не пойму ...

Я например в своих панелях прячу не нужные элементы за пределами графика...

Вот, например

//+------------------------------------------------------------------+
//| Display object on chart                                          |
//+------------------------------------------------------------------+
bool CPanel::OnShow(void)
  {
   return(m_rectangle.Timeframes(OBJ_ALL_PERIODS));
  }
//+------------------------------------------------------------------+
//| Hide object from chart                                           |
//+------------------------------------------------------------------+
bool CPanel::OnHide(void)
  {
   return(m_rectangle.Timeframes(OBJ_NO_PERIODS));
  }

Я именно про эту технику говорил.

Ваш способ отличается от Timeframes(OBJ_NO_PERIODS) тем, что не меняет порядка отрисовки объектов

 
Slawa:

Вот, например

Я именно про эту технику говорил.

Ваш способ отличается от Timeframes(OBJ_NO_PERIODS) тем, что не меняет порядка отрисовки объектов

Не понял, хочу уточнить Timeframes(OBJ_NO_PERIODS) может изменить порядок отрисовки объектов ?

В моем случае порядок   картинка А  картинка Б Картинка В

С применение  OBJ_ALL_PERIODS порядок можно изменить на любой другой ? Б В А  ????

 
Здравствуйте. Столкнулся со следующей проблемой - скачал терминал метатрейдер 5 от компании бкс, все прекрасно за исключением того, что у меня в терминале при прогоне любого советника (как встроенного так и своего) в тестере стратегий не открываются ордера. В логах ошибок нет. Эти же советники без проблем работают в других терминалах. Их техподдержка разводит руками и говорит что это не их проблемы. Может у вас будут идеи как сделать так, чтобы в тестере стратегий начали открываться ордера?   
 
Danil Nesterov:
Здравствуйте. Столкнулся со следующей проблемой - скачал терминал метатрейдер 5 от компании бкс, все прекрасно за исключением того, что у меня в терминале при прогоне любого советника (как встроенного так и своего) в тестере стратегий не открываются ордера. В логах ошибок нет. Эти же советники без проблем работают в других терминалах. Их техподдержка разводит руками и говорит что это не их проблемы. Может у вас будут идеи как сделать так, чтобы в тестере стратегий начали открываться ордера?   

Какой билд терминала? Если в этом-же терминале подключится к другому торговому серверу (Вы вообще знаете, что из одного терминала можно подключаться к любому торговому серверу?)- как будут себя вести советники?

Вставьте сюда скриншот тестере стратегий, вкладка "Настройки". Посмотрим, что там за настройки.