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

 
Ruslan Fakhretdinov:

Здравствуйте.

Вот уже несколько лет смотрю на одну и ту же картину, думал привыкну - НЕ МОГУ! Очень мозолит глаза этот БАГ!

Ошибка в не правильном отображении истории сделок на графике, при частичном закрытии позиции!

Смотрится совсем не логично, ОЧЕНЬ прошу исправить в следующем обновлении!

Заранее благодарен!

То же писал об этом как то... 

 
fxsaber:
Поделитесь в КБ чем-нибудь интересным.

Вот, как обещал: https://www.mql5.com/ru/code/33898 

Дисплей с оптимизацией для вывода текста в чарт по типу консоли
Дисплей с оптимизацией для вывода текста в чарт по типу консоли
  • www.mql5.com
Данная библиотека позволяет создавать дисплеи для удобного вывода текстовой информации в чарт с наиболее оптимальной скоростью
 

Просьба пояснить, почему второй вариант работает быстрее первого?

class A
{
public:  
  virtual int f() const { return(1); } 
};

class B : public A
{
public:
  virtual int f() const { return(2); } 
};

template <typename T>
int g( T Ptr )
{
  int Res = 0;
  
  for (int i = 0; i < 1e6; i++)
    Res += Ptr.f();
    
  return(Res);
}

#include <fxsaber\Benchmark\Benchmark.mqh> // https://www.mql5.com/ru/code/31279

void OnStart()
{  
  A* Ptr = new B;
  
  _B(g(Ptr), 1);     // 3600 mcs.
  _B(g((B*)Ptr), 1); // 2440 mcs.  
  
  delete Ptr;
}
 
отсутствие виртуальности? с учетом того что функция полностью пустая, разница минимальна и не может быть критична.
 
s4sha45:

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


***

1. Вставляйте код правильно (используйте кнопку  Code)

2. Для новичков есть специальные темы (для старого терминала - Вопросы от начинающих MQL4 MT4 MetaTrader 4 и для MQL5 - Вопросы от начинающих MQL5 MT5 MetaTrader 5)

Вопросы от начинающих MQL4 MT4 MetaTrader 4
Вопросы от начинающих MQL4 MT4 MetaTrader 4
  • 2016.11.08
  • www.mql5.com
Если у Вас вопросы по MQL4, MT4, MetaTrader 4, пожалуйста пишите в этой теме. Особенно когда вопросы касаются торговых функций...
 
Andrei Trukhanovich:
отсутствие виртуальности? с учетом того что функция полностью пустая, разница минимальна и не может быть критична.

Хочется разобраться, какие дополнительные вычисления делаются при виртуальности?

 
fxsaber:

Хочется разобраться, какие дополнительные вычисления делаются при виртуальности?

обращение к vtable.

во втором случае наследников нет, поэтому скорее всего virtual компилятор убрал и это получается просто функция.

 
fxsaber:

Хочется разобраться, какие дополнительные вычисления делаются при виртуальности?

Второй вариант полностью оптимизировался как вызов обычной функции, включая распространение констант.

На этом примере нельзя делать выводов из-за экстремальной простоты и полного вырождения кода.

 

 1. Подскажите, какой максимальной StringLen бывают символы? У MetaQuotes в MT5 я нашёл символ максимальной длины в 9 знаков: Coffee_Z0. Но торговля на нём отключена. Отсюда вытекает второй вопрос...

 2. Где можно на демосчёте для MT5 протестировать работу на символах со StringLen != 6? Хотя подозреваю, что такие символы практически неактуальны.

 
x572intraday:

 1. Подскажите, какой максимальной StringLen бывают символы? У MetaQuotes в MT5 я нашёл символ максимальной длины в 9 знаков: Coffee_Z0. Но торговля на нём отключена. Отсюда вытекает второй вопрос...

 2. Где можно на демосчёте для MT5 протестировать работу на символах со StringLen != 6? Хотя подозреваю, что такие символы практически неактуальны.

SBRF-3.21 или даже GOLD-12.21 вполне себе актуальны.

Причина обращения: