Ошибки, баги, вопросы - страница 1943

 
Anton Ohmat:

2 вопроса.

1. Как на экран в МТ5 вывести значения стопов по позиии как это было в МТ4. Стало крайне не удобно. Так-как не могу посмотреть даже в истории стопы к сделке. Выводится только в ордерах отдельно, может это как-то включить можно галочкой?

2. Какие котировки использует агент перед во время тестирования - моего терминала или свои загруженные по символу. Спрашиваю потому что часто стал замечать разные результаты теста агента и теста на моем компе одиночного

1. Истории модификации TakeProfit и StopLoss нет. Отображается всегда текущее значение TakeProfit и StopLoss. Хотите видеть, как двигались TakeProfit и StopLoss - делайте самостоятельно объектами. Благо появились свойства  POSITION_REASONDEAL_REASON и ORDER_REASON

2. Тестер стратегий использует торговую историю с торгового сервера к которому Вы залогинились в терминале.


Anton Ohmat:
И вопрос. Можно ли при тестировании что-то указать в эксперте чтоб в бектесте сразу выбирало например вывод ордеров и сделок по умолчанию а нет описание результатов. Не удобно, приходится по 100-200 раз в час клацать при отладке

Нет, нельзя.

Anton Ohmat:

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

может можно перед обновлением ПО его больше тестировать. Убил пару часов прежде чем подумал что в терминале глюк


Прежде, чем что-то обозвать "глюком" нужно изучить документацию (Особенности тестирования - Алгоритмический трейдинг, торговые роботы) - читать раздел полностью.

Anton Ohmat:

Частая проблема. Когда 1-2 агента подвисают и ничего не считают. В итоге виснет полностью весь тест, соответственно потеря времени и денег на тесте(

Реально надоела такая проблема - можно ли как-то такое устранить, например если агент считает медленнее чем 200-300 других агентов, то его или не ждем или исключаем его полностью. Валятся тесты на 500-600 прогоне

Как вариант выход из положения - руками выкл сделал и потом вкл и все работает дальше до какого-то тормозящего агента и потом все опять

Работайте со своим кодом - 99.9% - у Вас забит лог ошибками вроде "нет денег на открытие позиции".

Anton Ohmat:

Подскажите как можно отсеять из результатов оптимизации значения с просадкой большой, как это было в мт4


Тестер стратегий -> вкладка "Оптимизация" -> двойной клик по заглавию ряда "Просадка, %" отсортирует результаты тестирования по возростанию/убыванию просадки.

 
Anton Ohmat:

Частая проблема. Когда 1-2 агента подвисают и ничего не считают. В итоге виснет полностью весь тест, соответственно потеря времени и денег на тесте(

Реально надоела такая проблема - можно ли как-то такое устранить, например если агент считает медленнее чем 200-300 других агентов, то его или не ждем или исключаем его полностью. Валятся тесты на 500-600 прогоне

Как вариант выход из положения - руками выкл сделал и потом вкл и все работает дальше до какого-то тормозящего агента и потом все опять

Попробуйте делать OrderSend только после успешного выполнения OrderCheck. Если не поможет - в СД.

 

Советник откомпилирован под 1641, где реализована быстрая работа с торговой историей.

Возможно ли при оптимизации попасть на Агента билда 1596, где история работает ОЧЕНЬ медленно, и, соответственно, получить замедление оптимизации в разы?

 

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

Библиотеки: TesterBenchmark

fxsaber, 2017.07.24 14:13

Берем советник из поставки и запускаем его в тестере, получая такие данные производительности

------
OnTesterInit
i = 0 Pass = 0 OnTester = 2.231 s.: Count = 3387955, 1518581.4 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
i = 1 Pass = 1 OnTester = 2.214 s.: Count = 3387955, 1530241.6 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
iMin = 1 Results[iMin] = 2.214s.
iMax = 0 Results[iMax] = 2.231s.
Amount = 2 Mean = 2.223 s. - 79.08%
OnTesterDeinit
------
Interval = 5.621 s., Count = 0, 0.0 unit/sec

Теперь же запустим этот же советник, но с использованием Trade.mqh

------
OnTesterInit
i = 0 Pass = 0 OnTester = 3.330 s.: Count = 3387955, 1017403.9 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
i = 1 Pass = 1 OnTester = 3.475 s.: Count = 3387955, 974951.1 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
iMin = 0 Results[iMin] = 3.330s.
iMax = 1 Results[iMax] = 3.475s.
Amount = 2 Mean = 3.402 s. - 89.73%
OnTesterDeinit
------
Interval = 7.584 s., Count = 0, 0.0 unit/sec

Получилось, что торговая СБ в 1.5 раза медленнее чистого MQL5!

Предположил, что причина в этом, и внес маленькую правку в Trade.mqh

//+------------------------------------------------------------------+
//| Access functions PositionSelect(...)                             |
//+------------------------------------------------------------------+
bool CPositionInfo::Select(const string &symbol)
  {
   return(PositionSelect(symbol));
  }

Но тормоза СБ-варианта не исчезли.

Где собака зарыта, что СБ так тормозит?

 

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

Библиотеки: TesterBenchmark

fxsaber, 2017.07.24 14:24

Это был режим Оптимизации. А теперь ЭТОТ же советник, но в режиме одиночного прогона

Core 1  2017.07.21 23:59:59   Interval = 5.140 s., Count = 3387955, 659135.2 unit/sec
Core 1  EURUSD,M1: 3387955 ticks, 52608 bars generated. Test passed in 0:00:05.164.

Одиночный прогон на локальном Агенте в 2.3 раза медленнее, чем на ЭТОМ же Агенте, но во время Оптимизации!


Возможно, дело в тормозах тестера, поэтому посмотрим, что покажет профилирование только OnTick (вопросы исполнения и другого торгового окружения на результат не будут влиять) в режимах Оптимизации и одиночного прохода.


Оптимизация

------
OnTesterInit
i = 0 Pass = 0 OnTester = 2.910 s.: OnTick Profiler: Count = 3387955, Interval = 0.969 s., 3496753.0 unit/sec , Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
i = 1 Pass = 1 OnTester = 2.862 s.: OnTick Profiler: Count = 3387955, Interval = 0.952 s., 3559797.1 unit/sec , Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
iMin = 1 Results[iMin] = 2.862s.
iMax = 0 Results[iMax] = 2.910s.
Amount = 2 Mean = 2.886 s. - 78.06%
OnTesterDeinit
------
Interval = 7.394 s., Count = 0, 0.0 unit/sec


Одиночный

Core 1  2017.07.21 23:59:59   Interval = 6.149 s. (Profiler: Count = 3387955, Interval = 4.018 s., 843148.2 unit/sec)
Core 1  EURUSD,M1: 3387955 ticks, 52608 bars generated. Test passed in 0:00:06.162.


Чистое выполнение самого OnTick аж в 4.2 раза медленнее в режиме Одиночного прогона, чем при Оптимизации. И это на одном и том же локальном Агенте!

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

Библиотеки: TesterBenchmark

fxsaber, 2017.07.24 14:33

Такая же ситуация и в MT4. Возможно, в четверке тормоза из-за формирования логов во время Одиночного прохода.

 

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

Зачем сбрасываются цвета - это крайне неудобно, особенно, если индикатор МТФ и цвета привязаны к ТФ.

 
Работайте со своим кодом - 99.9% - у Вас забит лог ошибками вроде "нет денег на открытие позиции".

    Посидел подождал, что вернет медленный агент. По итогу вернул ошибку INIT_PARAMETERS_INCORRECT (никаких операций не производится). Что в моем случае говорит о том что параметры на вход не подходят. Поэтому с вероятностью 99 из 100 могу сказать что кто-то включил просто старенький ноутбук в систему. Идея теряет смысл из-за этого. Наблюдаю в MQL5 Cloud USA


Это в логах

MQL5 Cloud USA    genetic pass (0, 206) tested with error "incorrect input parameters" in 0:00:00.359 (PR 142)

 

Вопрос к разработчикам (я извиняюсь если надоел)

Не пойму - на генетическом алгоритме у меня пишет 12000 проходов а агенты по факту делают только 9000 как быть? - куда девается еще 3000 результатов

 
Прежде, чем что-то обозвать "глюком" нужно изучить документацию (Особенности тестирования - Алгоритмический трейдинг, торговые роботы) - читать раздел полностью.
Графические объекты при тестировании

Во время тестирования/оптимизации не осуществляется построение графических объектов. Таким образом, при обращении к свойствам созданного объекта во время тестирования/оптимизации эксперт получит нулевые значения.

Данное ограничение не распространяется на тестирование в визуальном режиме.
так а киким образом кроме визуализации можно посмотреть в на графике хорошо ли робот поставил стопы? Визуализация медленная ((
 
fxsaber:

Советник откомпилирован под 1641, где реализована быстрая работа с торговой историей.

Возможно ли при оптимизации попасть на Агента билда 1596, где история работает ОЧЕНЬ медленно, и, соответственно, получить замедление оптимизации в разы?

Нет, старым агентам в клауде задачи не раздаются.
Причина обращения: