Новая версия платформы MetaTrader 5 build 5800: Улучшенный торговый диалог и удобная работа с CSV в MetaEditor - страница 3

 
Aeon_Ray #:

всё выше сказанное подтверждаю... все кнопки подокон "Tick Charts" и "Depth of Market" - не работают... к этому добавлю - подокна "Tick Charts" и "Depth of Market" сливаются в одном цвете со всей панелью "Новый ордер" - желательно выделить эти подокна контрастно и в рамку... и да - размер всей панели "Новый ордер" (по высоте) желательно привести в соответствие с прошлой версией... (подокно "Depth of Market" можно масштабно уменьшить)

Исправление: в 5781 тиковый чарт работает при выключении курсора, объем и цена сохраняются при смене Limit/Stop/Stop Limit.

Часть кнопок тикового чарта и DoM в бета-версии работает декорацией, постепенно они будут обретать функционал.

Окно DoM уже сейчас едва читаемо на 4k мониторах, а расширенный стакан в него не помещается. IMHO выделение рамками, а не цветом, очень отвлекает в темной теме.

 

У меня установлен MT на MAC OS (m4).

Тестирую оптимизация, используя сетевых агентов тестирования (свои сервера, порядка 1200 ядер в сумме).

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


Прошу помощи, спасибо. 

 
andred2 #:

Тестирую оптимизация, используя сетевых агентов тестирования (свои сервера, порядка 1200 ядер в сумме).

Класс!
 

Ну зааааачеееем? Зачем ломать то, что работает? Зачем делать "лучше" то, что уже было хорошо?

Установил терминал от от брокера(форекс), версия 5779 от 12.04.2026. И вуаля, мой код, который прекрасно  работает в версии 5716 перестал компилироваться. 

Одни телегу блочат, сервера банят, всё для людей. Другие запрещают input переменным задавать другую область видимости, кроме глобальной. Всё для людей. Чтоб жизнь мёдом не казалась.

Мне теперь переписывать кучу кода только потому, что кто-то решил, что мне заняться больше нечем и input переменные должны быть ТОЛЬКО в глобальной области видимости

Ну ведь работало хорошо, зачем это всё делать-то?

Я молчу про тестирование по реальным тикам, там вообще полная жопа, так даже для людей не делает никто. Из пяти нажатий на кнопку "старт" тестирование запускается максимум один раз и то через пару минут, хотя период тестирования выбран "последний год", то-есть всего три месяца!!!  Десять минут жизни, для одного одиночного прохода за три месяца. Слов нет.

За что вы так с нами? Какое такое злое зло мы вам, разработчикам терминала, сделали, что вы сначала делаете хорошо, а потом ломаете это?


PS. Последнее время много нового, хорошего добавили в терминал, я решил, что не буду больше писать критику в адрес разрабов. Не удержался, извините.

PSS Господа разработчики очень хочу услышать от вас, что проблема namespace с input переменными, это просто баг и вы её исправите. Очень надеюсь на вас.

 
Aleksandr Slavskii #:
Другие запрещают input переменным задавать другую область видимости, кроме глобальной. Всё для людей. Чтоб жизнь мёдом не казалась.
https://www.mql5.com/ru/forum/505987/page7#comment_59369739
Вкладка inputs была открыта при запуске скрипта.
Вкладка inputs была открыта при запуске скрипта.
  • 2026.03.13
  • www.mql5.com
неправильно формируется первый бар старших таймфреймов. Месяц первого MN1-бара не совпадает с месяцем первого M1-бара. Отличие количества и времени начала истории баров на разных таймфреймах - обычное дело в МТ5
 

b5779, компилятор ругается на временные объекты (например, функция возвращает структуру) со string-полем.

struct A { string Str; };

struct B : public A
{
  bool Func()
  {
    return(true && (A().Str != NULL)); // possible use of uninitialized variable '+lcl#1'
  }
};

Строка для поискаOshibka 169.

 

Build 5779
Давно заметил, тянется из билда в билд.

В момент каждого появления нового бара

(rates_total - prev_calculated) == 1

Есть пропуск отрисовки индикаторного буфера

пропуск


Воспроизведение:
запустить на М1
дождаться нового прихода бара

//+------------------------------------------------------------------+
//|                                                    TickIndicator |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Copyright 2026, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"

#property indicator_separate_window
#property indicator_plots 1
#property indicator_buffers 1


double buff[];

//+------------------------------------------------------------------+
//| функция OnInit()                                                 |
//+------------------------------------------------------------------+
void OnInit()
{
   SetIndexBuffer(0, buff, INDICATOR_DATA);
   PlotIndexSetInteger(0, PLOT_DRAW_TYPE,  DRAW_LINE);
   PlotIndexSetInteger(0, PLOT_LINE_STYLE, STYLE_SOLID);
   PlotIndexSetInteger(0, PLOT_LINE_COLOR, clrRed);
   PlotIndexSetInteger(0, PLOT_LINE_WIDTH, 1);
   PlotIndexSetString(0,  PLOT_LABEL,"Bid");
   PlotIndexSetDouble(0, PLOT_EMPTY_VALUE, 0.0);   
   IndicatorSetInteger(INDICATOR_DIGITS, _Digits);
}

//+------------------------------------------------------------------+
//| функция OnCalculate()                                            |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
   //сдвиг
   ArrayCopy(buff, buff, 0, 1, rates_total-1);
   
   //вставка последнего значения
   buff[rates_total-1] = SymbolInfoDouble(_Symbol, SYMBOL_BID);
 

   return(rates_total);
}
 
Roman #:

В момент каждого появления нового бара

Есть пропуск отрисовки индикаторного буфера


Воспроизведение:
запустить на М1
дождаться нового прихода бара

Для тиковой отрисовки сдвиг-то с помощью ArrayCopy должен делаться по условию не формирования нового бара! Когда индикаторный буфер автоматически наращивается новым баром, сдвиг не нужен.

Ваш код как раз копирует новый пустой бар из 0-го индекса в 1-ый.

 

Понятно. Это баг, но его исправлять не будут. Спасибо, что ответили.

Не так уж много кода, который мне нужно исправлять, больше паники развёл, извините.

 
Stanislav Korotky #:


Ваш код как раз копирует новый пустой бар из 0-го индекса в 1-ый.

Как новый бар может быть пустым?
Новый бар

(rates_total - prev_calculated) == 1

это первый его тик!

Отрисовка тиков, это всего лишь пример для наглядности проблемы в момент нового бара, раньше такой проблемы не было.