Новая версия платформы MetaTrader 5 build 3320: Улучшения и исправления - страница 17

 
fxsaber #:

Полностью согласен. К сожалению, другого перехода на MT4-style не нашел. Костыль - 100%. Но почему-то используется массово.

не знаю откуда у Вас такие сведения, я не пользуюсь сразу после того, как глянул код.
 
Andrey Dik #:
не знаю откуда у Вас такие сведения, я не пользуюсь сразу после того, как глянул код.

Статистика. Косвенная, конечно.

Торговый оборот в триллион USD и другие достижения библиотеки за пять лет.
Торговый оборот в триллион USD и другие достижения библиотеки за пять лет.
  • www.mql5.com
Для MetaTrader 5 написана торговая библиотека MT4Orders . Начиналось так. // Список изменений: // 03.08.2016: //   Релиз - писался и проверялся только на оффлайн-тестере. Сегодня библиотеке
 
fxsaber #:

Статистика. Косвенная, конечно.

да, видел, откуда взята цифра триллион не разьясняется в блоге, с таким же успехом можно указать гугл долларов. 
 
Andrey Dik #:
да, видел, откуда взята цифра триллион не разьясняется в блоге, с таким же успехом можно указать гугл долларов. 

Хотелось триллион. Умножил на 10-100 свой оборот.

 
fxsaber #:

По такой логике интересно, что за ZeroMemory здесь вызывается?

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

Штатная. В mql4 тоже есть.

Документация по MQL5: Общие функции / ZeroMemory
Документация по MQL5: Общие функции / ZeroMemory
  • www.mql5.com
ZeroMemory - Общие функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov #:

Штатная.

Вы в суть разговора сначала вникните.
Вопрос про ZerroMemory был риторический.
 
Прошу разработчиков МТ5 восстановить/добавить в каком-либо виде возможность визуально сопоставлять ордера на графике с ордерами во вкладке "Торговля". Хотя бы как в МТ4, где номера ордеров указаны слева. Сейчас не возможно понять при торговле несколькими ордерами, какой ордер какому соответствует. Это, кмк, естественная опция. 
 
Alexey Viktorov #:

Штатная.

В подобных записях это возможно понять только через это.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Новая версия платформы MetaTrader 5 build 3320: Улучшения и исправления

fxsaber, 2022.08.03 09:41

Главное, не забывать на "штатных" функциях в ME нажимать ALT+G. Ну а мало ли это нештатная функция...


Пример.

class CTrade
{
  MqlTradeRequest m_request;
  MqlTradeResult m_result;
  MqlTradeResult m_check_result;
  
  void ClearStructures( void );

  template <typename T>
  void ZeroMemory( T& ) {}

  void ZeroMemory( MqlTradeRequest& ) {}
};

//+------------------------------------------------------------------+
//| Clear structures m_request,m_result and m_check_result           |
//+------------------------------------------------------------------+
void CTrade::ClearStructures(void)
  {
   ZeroMemory(m_request); // OK
   ZeroMemory(m_result); // deprecated behavior, hidden method calling will be disabled in a future MQL compiler version
   ZeroMemory(m_check_result); // deprecated behavior, hidden method calling will be disabled in a future MQL compiler version
  }

В примере еще нарвался на странные warnings.


ЗЫ Обратите внимание на цвет ZeroMemory. Якобы штатная функция. Если был бы вызов this.ZeroMemory, сразу было бы понятно, что вызывается.

 
fxsaber #:

В примере еще нарвался на странные warnings.

Компилятор требует замусоривания - this! Иначе warnings.

 
Renat Fatkhullin #:

С this вы продемонстрировали осознанный самострел с последующим корявым исправлением, не говоря уже о тотальном замусоривании кода.

А какая принципиальная разница, между "префиксом" this и префиксом m_ ?

Другими словами, если с this самострел, то и с m_ самострел. Между this и m_ я выбираю this, потому что это часть языка, интуитивно понятно, работает подсветка и какой никакой контроль. А какие плюсы у m_ ? Оно короче на 3 символа!?

class A {
    int   a;
public:  
    A(int a) { this.a=a; }
};
class A {
    int m_a;
public:  
    A(int a) {    m_a=a; }
};
Renat Fatkhullin #:

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

А никто и не просит его менять - просьба была лишь добавить возможность отключать warning по его номеру