Новая версия платформы MetaTrader 4 build 1353

 

В пятницу 10 декабря 2021 года будет выпущено обновление MetaTrader 4. Оно содержит следующие изменения:

  • Минимальной поддерживаемой версией десктопных клиентских терминалов становится билд 1340. Более старые версии не смогут подключаться к обновленным серверам брокеров.
  • Общие исправления и повышение стабильности работы платформы.
  • Исправления по крешлогам.

Обновление будет доступно через систему Live Update.

 
MetaQuotes:

В пятницу 10 декабря 2021 года будет выпущено обновление MetaTrader 4. Оно содержит следующие изменения:

  • Минимальной поддерживаемой версией десктопных клиентских терминалов становится билд 1340. Более старые версии не смогут подключаться к обновленным серверам брокеров.
  • Общие исправления и повышение стабильности работы платформы.
  • Исправления по крешлогам.

Обновление будет доступно через систему Live Update.

Жёстко с минимальной версией.
 
радикальненько, оптимизация пошла, старые коды вычистили из маркета, ещё бы обязали компилировать только в новом билде иначе скроют с витрины, было в вообще зашибись особенно тем кто наплодил 100+ продуктов
 

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

MarketInfo(..)
И сделать запрет на компиляцию с этой фигнёй, чтобы не продолжали писать мусорные коды.
 
Vitaly Muzichenko #:

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

И сделать запрет на компиляцию с этой фигнёй, чтобы не продолжали писать мусорные коды.

Да, большинство применений MarketInfo можно успешно заменить на SymbolInfo, что делает код более универсальным. Но до сих пор остаются запросы, которые заменить нельзя:

void OnStart()
{
   Print("MarketInfo margin required: ", MarketInfo(Symbol(), MODE_MARGINREQUIRED));
   Print("SymbolInfo margin initial: ", SymbolInfoDouble(Symbol(), SYMBOL_MARGIN_INITIAL));
   Print("SymbolInfo margin maintenance: ", SymbolInfoDouble(Symbol(), SYMBOL_MARGIN_MAINTENANCE));
}

К сожалению:

2021.12.10 08:34:21.358 Test NZDUSD,H1: SymbolInfo margin maintenance: 0.0
2021.12.10 08:34:21.358 Test NZDUSD,H1: SymbolInfo margin initial: 0.0
2021.12.10 08:34:21.358 Test NZDUSD,H1: MarketInfo margin required: 678.95
 
Vitaly Muzichenko #:

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

И сделать запрет на компиляцию с этой фигнёй, чтобы не продолжали писать мусорные коды.
А в чем заключается революционный смысл?
Простите, ни в чем, ибо в 4-рке давно уже работает и то и другое.
 
Renat Akhtyamov #:
А в чем заключается революционный смысл?
Простите, ни в чем, ибо в 4-рке давно уже работает и то и другое.

Когда сами научитесь писать коды - сразу увидите отличие. Здесь ключевое слово: "научитесь"

Те коды что частенько выкладывают на форуме, похожи на это:


---

Иногда присылают коды для переделки, вот смотришь на код и видишь, что писался совсем недавно, но написан в стиле "Дичь"

 
Vitaly Muzichenko #:

Когда сами научитесь писать коды - сразу увидите отличие. Здесь ключевое слово: "научитесь"

Те коды что частенько выкладывают на форуме, похожи на это:


Иногда присылают коды для переделки, вот смотришь на код и видишь, что писался совсем недавно, но написан в стиле "Дичь"

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

Что же получается - мнения разделились?

А кто натворил бед?

Осталась бы команда прежней без появления новой с тем же смыслом, встал бы этот вопрос?
 
Vitaly Muzichenko #:

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

И сделать запрет на компиляцию с этой фигнёй, чтобы не продолжали писать мусорные коды.

Запрет это чересчур, но убрать надо давно. Помните в отдельном разделе документации был список устаревших функций? С ними всё компилировалось, но они были спрятаны и мало кто ими пользовался…

В том числе надо-бы туда-же перенести и такие как DoubleToStr() и подобные…


 
Vitaly Muzichenko #:

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

И сделать запрет на компиляцию с этой фигнёй, чтобы не продолжали писать мусорные коды.

У меня в библиотеке есть только один запрос, использующий MarketInfo() для МТ4:

bool CSymbolInfo::_RefreshPointDepoChange(string strSymbol)
{
   #ifdef __MQL5__
      bool bRes = SymbolInfoDouble(strSymbol,SYMBOL_TRADE_TICK_VALUE,m_dTickDepoChange);
      return(bRes);
   #else //  __MQL5__
      m_dTickDepoChange = MarketInfo(strSymbol,MODE_TICKVALUE);
      return(true);
   #endif // __MQL5__
};

Когда-то эту величину нельзя было получить в MT4 через SymbolInfoDouble(). Сейчас поглядел - вроде как это уже не так. Надо проверить, и если параметр SYMBOL_TRADE_TICK_VALUE в МТ4 работает - то, и правда, можно от MarketInfo() отказаться. Я не против.

 
Alexey Viktorov #:

В том числе надо-бы туда-же перенести и такие как DoubleToStr() и подобные…

А как предлагается преобразовывать значение double в строку? 

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