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

 
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 от компании бкс, все прекрасно за исключением того, что у меня в терминале при прогоне любого советника (как встроенного так и своего) в тестере стратегий не открываются ордера. В логах ошибок нет. Эти же советники без проблем работают в других терминалах. Их техподдержка разводит руками и говорит что это не их проблемы. Может у вас будут идеи как сделать так, чтобы в тестере стратегий начали открываться ордера?   

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

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

 

что за прикол у меня не находит определение для POSITION_COMMISSION даже синим не подсвечивается?  (5.00 1340)

 
Karputov Vladimir:

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

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

Я подключался с терминала от другой компании в котором у меня все советники работают. После ввода учетных данных от бкс и запуска любого советника в тестере стратегий сделки осуществлятся перестали.  Билд у бкс 1340

 

 
Danil Nesterov:

Я подключался с терминала от другой компании в котором у меня все советники работают. После ввода учетных данных от бкс и запуска любого советника в тестере стратегий сделки осуществлятся перестали.  Билд у бкс 1340

 

Проверьте разрешения на торговлю:

//+------------------------------------------------------------------+
//|                                                      IsTrade.mq5 |
//|                              Copyright © 2015, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2015, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   if(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
      Alert("Проверьте в настройках терминала разрешение на автоматическую торговлю!");
   else
     {
      if(!MQLInfoInteger(MQL_TRADE_ALLOWED))
         Alert("Автоматическая торговля запрещена в свойствах программы для ",__FILE__);
     }

   if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
      Alert("Автоматическая торговля запрещена для счета ",AccountInfoInteger(ACCOUNT_LOGIN),
            " на стороне торгового сервера");

   if(!AccountInfoInteger(ACCOUNT_TRADE_ALLOWED))
      Comment("Торговля запрещена для счета ",AccountInfoInteger(ACCOUNT_LOGIN),
              ".\n Возможно, подключение к торговому счету произведено по инвест паролю.",
              "\n Проверьте журнал терминала, есть ли там такая запись:",
              "\n\'",AccountInfoInteger(ACCOUNT_LOGIN),"\': trading has been disabled - investor mode.");

  }
//+------------------------------------------------------------------+
Файлы:
IsTrade.mq5  2 kb