Регулировка скорости визуального режима в тестере МТ5 - страница 2

 
Lazar Buga #:
Оно не совсем так что нечто чего-то важнее, векторы и матрицы не менее важны, математическая составляющая, безусловная гибкость и возможность подключить любые библиотеки, это то что выделяет mql5 на фоне других разработчиков, которые кичуться только графикой и визуальной презентативностью.

да какая разница с какой скоростью и как считаются векторы и матрицы, пока обращение к торговому окружению за AccountInfoDouble(ACCOUNT_BALANCE) втормаживает тестер, а обращение к объектам чарта в реале порождает REQUOTE

когда нужна сложная математика, то С/C++ и прочие some-lang. Потому-что они reusable и нужно более-менее гарантировать что математика ещё и правильная (то есть там множество тестов и предпочтительны вещи_с_историей).
И разрабатывать+поддерживать ты её будешь как отдельную библиотеку/модуль(кстати, где они тут ?). 

платформа MQL и так по кол-ву ключевых слов приближается к Коболу

 
Maxim Kuznetsov #:

да какая разница с какой скоростью и как считаются векторы и матрицы, пока обращение к торговому окружению за AccountInfoDouble(ACCOUNT_BALANCE) втормаживает тестер, а обращение к объектам чарта в реале порождает REQUOTE

когда нужна сложная математика, то С/C++ и прочие some-lang. Потому-что они reusable и нужно более-менее гарантировать что математика ещё и правильная (то есть там множество тестов и предпочтительны вещи_с_историей).
И разрабатывать+поддерживать ты её будешь как отдельную библиотеку/модуль(кстати, где они тут ?). 

платформа MQL и так по кол-ву ключевых слов приближается к Коболу

Не ошибается только тот кто ничего не делает.

Там где регулятор скорости, нужно добавить просто edit окно, которое позволит ввести сколько в баров в секунду вы желаете наблюдать, если конечно эту скорость позволяет объемность и загруженность вашего кода.
У каждого свои потребности к скорости визуализации, потому возможно edit input параметр будет простым и элегантным решением.

 
Lazar Buga:

Почему не сделать так что бы скорость работы советника в визуал режиме тестера МТ5 соответствовала некому параметру, например 1 бар/сек, 0.5 бар /сек и т.д.

Если код слишком легкий, то на максимальной скорости тестера, пролетает мгновенно(очень быстро), не успеваешь ничего отследить, а скорость перед максимальной, недостаточно быстра, приходиться ждать лишнее время.

Можно добавлять в код замедлители, вроде цикла выполняющего некие расчеты, пока не подберешь нужную тебе скорость. Но а если исходного кода нет? Играть с ползунком скорости дергая его влево/вправо, - не самое увлекательное занятие.

Поддерживаю, очень актуальная проблема.

В МТ4 такая же проблема. Неплохо было бы тоже решить.

 
Да проблема от которой закипаешь при перемещении ползунка скорости...................

наверняка это не сложная задача..

нужно ли в сервис деск писать предложение или заметили и приняли на вооружение?)))
 
Замедляет самую высокую скорость тестера стратегий.
Принцип простой, но с кучей недостатков. Подойдёт как временное решение, пока разработчики не исправят проблему тестера.
Программно нажимаются стрелки вправо/влево на ползунке тестера, через заданный промежуток времени.
Timer - заданный промежуток.
Delay - параметр задающий разницу между нажатиями влево и вправо.
Например:  Timer = 20;   Delay = 5;  клавиша влево будет нажиматься через 20 миллисекунд,  клавиша вправо будет нажиматься через 100  миллисекунд.

Запускаете советник Delay Tester на любом графике и он будет замедлять одиночные проходы в тестере стратегий.

Советник используют dll


//+------------------------------------------------------------------+
//|                                                 Delay Tester.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com/ru/users/s22aa"
#property version   "1.00"
#define WM_KEYDOWN 0x0100
#define VK_LEFT    0x25  //LEFT ARROW key
#define VK_RIGHT   0x27 //RIGHT ARROW key

#import "user32.dll"
long GetDlgItem(long dlg, int nIDDlgItem);
long FindWindowW(const string class_name, const string window_name);
long SendMessageW(long wnd, uint Msg, long param, long param);
#import

input int Timer = 20;
input int Delay = 5;

bool lagBool = true;
int lag = 0;
//+------------------------------------------------------------------+
int OnInit()
  {
   EventSetMillisecondTimer(Timer);
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTimer()
  {
   long Handle = FindWindowW("MetaQuotes::MetaTester::5.00", NULL);
   if(Handle > 0)
     {
      int ControlID[] = {0x99, 0x807E};
      long handleID = GetHandle(Handle, ControlID);
      if(lagBool)
        {
         if(lag > Delay)
           {
            SendMessageW(handleID, WM_KEYDOWN, VK_RIGHT, 0);
            lagBool = false;
            lag = 0;
           }
        }
      else
        {
         SendMessageW(handleID, WM_KEYDOWN, VK_LEFT, 0);
         lagBool = true;
        }
      lag++;
     }
  }
//+------------------------------------------------------------------+
long GetHandle(long handleID, const int &ControlID[])
  {
   const int Size = ArraySize(ControlID);

   for(int i = 0; i < Size; i++)
      handleID = GetDlgItem(handleID, ControlID[i]);

   return(handleID);
  }
//+------------------------------------------------------------------+



Файлы:
 
Согласен проблема существует! Иногда чтобы подобрать нужную скорость нужно изменить тип цен(
ps  Не претендую на истину. Но кажется в 4 такая же проблема.
 
Anatoli Kazharski #:

Было бы удобно!

Надеюсь обратят внимание.

Спасибо, внимание обратил.

Исправления в MT5 внесены, теперь скорость визуального тиестирования регулируется более плавно.

Изменять принцип регулирования скорости не стал, как и раньше - регулируется задержка тикового потока, но вместо миллисекундной задержки использую задержку в микросекундах.
 
Ilyas #:

Спасибо, внимание обратил.

Исправления в MT5 внесены, теперь скорость визуального тиестирования регулируется более плавно.

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

Спасибо что обращаете внимание на запросы сообщества и так быстро реагируете.

Это когда будет в релизе? В ближайшем обновлении?

 
Ilyas #:

Спасибо, внимание обратил.

Исправления в MT5 внесены, теперь скорость визуального тиестирования регулируется более плавно.

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

Спасибо за оперативное реагирование.

Ещё, если не затруднит, обратите внимание на вопрос в этом и этом посту другой ветки. Он простой, много времени у вас не отнимет ))

P.S. Вопрос не про нормализацию коэффициента копирования, об этом подробнейшим образом всё изложено. Вопрос о нормализации объёма у подписчика, который является результатом умножения объёма поставщика на коэффициент копирования.
 
Ilyas #:

Спасибо, внимание обратил.

Исправления в MT5 внесены, теперь скорость визуального тиестирования регулируется более плавно.

Изменять принцип регулирования скорости не стал, как и раньше - регулируется задержка тикового потока, но вместо миллисекундной задержки использую задержку в микросекундах.
АП теме. Тестировать очень не удобно. Шаг в полсекунды способен отслеживаться человеком. Или хотя бы в треть. Чтобы замедлить скорость тестирования, мне приходится несколько десятков раз нажимать на кнопку, или останавливать вообще, и потом нажимать. Сколько раз я пропускал нужный момент, одному богу известно.
Неплохо было бы шаг задавать программно, какой удобно. в property, или еще как.