Новая версия платформы MetaTrader 5 build 2815: Доступ к стакану цен из Python, улучшения в отладчике и профилировщике - страница 14

 

Если бы в MqlTradeTransaction(и/или в MqlTradeResult) присутствовал не только тикет ордера, но и мэджик, это бы сильно облегчило жизнь, особенно в ситуациях, например, когда ордера в активных уже нет, а в истории ещё нет, или при асинхронной отправке запроса.

Имеется в виду одновременная работа нескольких роботов на одном символе при неттинге.

 
Alexey Viktorov:
А продвинутые пользователи не видят более серьёзных проблем в работе терминала, отладчика, тестера?

Улучшения, ошибки, все.

 

А это почему вы удалили из цитаты

Моё возмущение было обращено не только и не столько к вам… Сколько вы сообщаете об ошибках я знаю, читал… Всё, ухожу…
 
traveller00:
При запуске советника было бы удобно копировать-вставлять входные параметры, как это сделано в окне тестирования.

+

И совместимость с тестерными сетами чтобы была.

Следующий шаг — Ctrl+C на графике, Ctrl+V на другом, и применяется весь шаблон (цвета, советники, индикаторы).

 
Andrey Khatimlianskii:

+

И совместимость с тестерными сетами чтобы была.

Следующий шаг — Ctrl+C на графике, Ctrl+V на другом, и применяется весь шаблон (цвета, советники, индикаторы).

Совместимость автоматически будет, если из Тестер механизм полностью заимствовать.

Через CTRL+V в Тестере запихиваю настройки вместе с текстовыми комментариями внутри. Все правильно обрабатывается.

 

b.2830

Запускаю тестовый советник на графике MLTR (Открытие):

int  OnInit() { Profit(); return(INIT_SUCCEEDED); }
void OnTick() { Profit(); }
//+------------------------------------------------------------------+
void Profit()
  {
   double profit = 0.0;
   if(OrderCalcProfit(ORDER_TYPE_BUY,"MTLR",1.0,83.85,84.85,profit))
     Print("Profit =", profit);
   else
     Print("Error calculating profit.");
  }

Получаю верный ответ:

2021.03.14 04:44:43.648 test (MTLR,M1)  Profit =1.0

Если этот же советник запустить в визуализаторе то, получаю ошибочное число:

2021.01.06 18:49:59   Profit =84.84999999999999
Файлы:
test.mq5  1 kb
 

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

Canvas vs Labels

fxsaber, 2021.03.13 18:42

Запускаю такой код.

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

void OnInit()
{  
  USAGE::MinInterval = 100 * 1000; // 100 ms.
  
  EventSetMillisecondTimer((int)USAGE::MinInterval / 1000);  
}

void OnTimer()
{
  _USAGE // Расчет нагрузки.

  USAGE::GraphCreate(1200, 900, 200); // Вывели график нагрузки.
}

void OnDeinit( const int )
{
  USAGE::GraphDelete(); // Удалили график нагрузки.
}

Вкратце, он замеряет, сколько времени выполняется OnTimer каждые 100 мс. При этом строит внутри OnTimer график замеров. Получается такой результат.

Отъедает 15-20%. Видимо, тормозная видеокарта. Но вопрос в другом. Если мышкой начинаю дергать ценовой график (при зажатой ЛКМ двигать влево-вправо), то нагрузка возрастает в два раза. На анимации выше это отлично видно. С чем связана такая особенность?


Еще раз повторяю. OnTimer выполняется в два раза дольше, если двигать мышкой ценовой график.

Профилировщик странно работает.


В режиме Функции по строка всегда пусто. Пробовал другие коды - аналогично. b2832. Изменение настроек профилировщика через галочки ничего не меняет.

 

В ME не работает переход по ALT+G на поле/методе.

#include <Graphics\Graphic.mqh>

class A
{
public:
  void f()
  {
    class CGraphic2 : public CGraphic
    {
    public:
      bool Attach( const long chart_id, const string objname )
      {
       const bool Res = m_canvas.Attach(chart_id, objname, COLOR_FORMAT_ARGB_NORMALIZE); // ALT+G переход не работает.

       return(Res);
      }
    };
  }
};

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

 

В ME обратил внимание на такие строки в логе.

2021.03.15 15:31:40.624 MQL5 debugger   failed to read memory with error 299
2021.03.15 15:31:40.624 MQL5 debugger   failed to read memory (8 bytes from 000002BC85DA72E8)
2021.03.15 15:31:40.628 MQL5 debugger   failed to read memory with error 299
2021.03.15 15:31:40.628 MQL5 debugger   failed to read memory (8 bytes from 000002BC85DA72E8)

Раньше не встречал.

 

Если ввести в терминал, джентельменский набор символов, трейдера будут пользоваться платформой, так как будут знать, что они могут получить картину рынка, открыв терминал МТ5

По моему эффект от ведения набора символов будет больше чем от всех улучшении скорости

  • Индексы валют
  • Облигации
  • Индексы акции
  • Фьючерсы
  • Биткойн 
Причина обращения: