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

 
Sergey Gridnev #:
Но я встречал где-то кусок Вашего весьма запутанного кода

Откровенно, пишу плохо. Но не привожу подобных аргументов.

Четко показал неоднозначность при чтении кода от MQ и объяснил потенциальные проблемы при отказе от this. А как писать - дело каждого.

 
Andrey Dik #:

а в приведённом примере из СБ как раз всё хорошо.

Что хорошего? Там же при чтении непонятно, что вызывается. Скопируете этот кусок кода к себе и получите совсем другой результат.

 
Alexey Viktorov #:

А как вам это из того-же файла библиотеки

нормально там всё, обёрнуто в классе.

 
Andrey Dik #:

нормально там всё, обёрнуто в классе.

Понятно что нормально, но вы-же утверждаете, что так делать нельзя… Мягко выражаясь.

 
fxsaber #:

Откровенно, пишу плохо.

Я так не считаю.
Вы стремитесь к мегаоптимальности в ущерб понимаемости Вами же. Это Ваш выбор, но это выбор одиночки, в команде так нельзя.
Я извиняюсь, если мое мнение Вас задело. Это всего-лишь моё мнение.
 

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

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

Renat Fatkhullin, 2022.08.03 09:30

Внутри функци область видимости правильно указана:

bool CTrade::OrderSend(const MqlTradeRequest &request,MqlTradeResult &result)
  {
//....
      res=::OrderSend(request,result);

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

//+------------------------------------------------------------------+
//| Clear structures m_request,m_result and m_check_result           |
//+------------------------------------------------------------------+
void CTrade::ClearStructures(void)
  {
   ZeroMemory(m_request);
   ZeroMemory(m_result);
   ZeroMemory(m_check_result);
  }

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

 
fxsaber #:

Четко показал неоднозначность при чтении кода от MQ и объяснил потенциальные проблемы при отказе от this. А как писать - дело каждого.

Я Вас поддержу, там явная неоднозначность визуального восприятия.
 
Sergey Gridnev #:
Я так не считаю.
Вы стремитесь к мегаоптимальности в ущерб понимаемости Вами же. Это Ваш выбор, но это выбор одиночки, в команде так нельзя.
Я извиняюсь, если мое мнение Вас задело. Это всего-лишь моё мнение.

Все отлично! Стараюсь конструктивно показать, что с отказом от this появляются подводные камни даже при copy-paste.


Поэтому без этого стараюсь не читать код.

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

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

fxsaber, 2022.08.03 09:41

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

 
Alexey Viktorov #:

Понятно что нормально, но вы-же утверждаете, что так делать нельзя… Мягко выражаясь.

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

может быть не совсем понятно изъяснился сначала.

 
Andrey Dik #:

глобально дефайнить системные функции как делает fxsaber делать нехорошо

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