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

 
FERD2345:
Не могу открыть демо счёт. Кнопка далее не горит. Всё галочки поставил и поля заполнил.

Теперь более жесткие требования ко всем полям.

Заполните корректными данными и попробуйте снова, пожалуйста.

Если не получится, приложите скриншот.

 

Баг визуального тестера.

В советнике используется индикатор MACD, при запуске визуального тестирования "подвал" с графикой индикатора появляется не всегда, то есть, то нет, т.е. приходится перезапускать тест до тех пор, пока не появится. Такая же ерунда при запуске штатного примера эксперта MACD.

Проблема решилась добавлением в конце OnInit паузы: Sleep(1);

 
Возможно ли получить результат с пробелами?
#define PRINT(A) Print(#A)

void OnStart()
{
  PRINT(int i = 2); //  inti=2
}


Для своего профайлера нужно.

 
Привет. Вот ситуация, которая устойчиво подтверждается. Бот торгует на реале. Потом беру этот же участок в тестере, и там совершенно другой результат, настолько другой, что бывает, что отличается в 5 раз прибыль. Повторяемость действий бота есть, то есть код выполняется одинаково. Как такое может быть?
[Удален]  
Ivan_Invanov:
Привет. Вот ситуация, которая устойчиво подтверждается. Бот торгует на реале. Потом беру этот же участок в тестере, и там совершенно другой результат, настолько другой, что бывает, что отличается в 5 раз прибыль. Повторяемость действий бота есть, то есть код выполняется одинаково. Как такое может быть?

Исключительно моё мнение: МТ, тестер и оптимизатор - суть разные сущности. 

 
Баг в дебагере МТ5 (build 2450) некорректное срабатывание установленных вручную точек останова:
void test(){
   if(false){
      int i = 1;      // вручную установленная точка останова
   }   
}                     // место срабатывания точки останова при отладке

void OnStart(){
   test();   
}


UPD:
Спасибо за критику, вернулся к изначальному проекту и выделил возникшую проблему без переоптимизаций кода:
class A{
public:
   bool m_flag;
   A* m_next;
   A(bool flag) : m_flag(flag){}
   
   void test(){
      if(m_flag){
         printf("1");
         m_next = m_next;    // Вручную установленная точка останова срабатывает как для false так и true условий
         //m_next = &this;   // Ok
      }   
   }
};

void OnStart(){
  {A a(false); a.test();}   // Result: breakpoint              Expected result: 
  {A a(true);  a.test();}   // Result: printf + breakpoint     Expected result: printf + breakpoint
}
 
Sergey Dzyublik:
Баг в дебагере МТ5 (build 2450) некорректное срабатывание установленных вручную точек останова:

Объясните пожалуйста, зачем так извращаться?

if(false)
Вы пользуетесь отладкой?
 
Sergey Chalyshev:

Объясните пожалуйста, зачем так извращаться?

Вы пользуетесь отладкой?

Код демонстрирует БАГ, где в условие зайти нельзя, но все-равно срабатывает точка останова, при этом совсем в другом месте кода.
Еще вопросы?

 

Написал в службу поддержи открытия следующее сообщение.

Тестировал робота на истории. Получил странные результаты. На скрине нижняя часть таблицы. Если учесть, что торговля ведётся с 100.000 рублями, отрицательный баланс -6049 при просадке 17% кажется неправдоподобным. Действительно, когда я открываю график тестирования этого набора параметров, получаю положительный баланс при указанной просадке. Счёт реальный 75287 (что видно на фото). В чём может быть причина такого поведения программы?

Ещё могу добавить, что такое поведение у всех наборов параметров.

Получил ответ:

К сожалению, подобного рода вопросы не в компетенции технической поддержки.

Просьба обращаться к разработчикам терминала.

В чём может быть причина?

 
Sergey Dzyublik:

Код демонстрирует БАГ, где в условие зайти нельзя, но все-равно срабатывает точка останова, при этом совсем в другом месте кода.
Еще вопросы?

Мне кажется всё правильно. Программа игнорирует if(false) и срабатывает на ближайшем по коду месте.)