Планы развития тестера торговых стратегий MetaTrader 5 - страница 19

 

Здравствуйте.

Предлагаю внести дополнительный режим тестирования в Тестер стратегий.

1.       Название «С периодическим выводом прибыли»

2.       Реализация:

2.1.    Выбрать период, по истечении которого будет выводиться прибыль

2.1.1. Неделя, месяц, квартал, произвольный

2.2.    Выбрать какой процент от прибыли, заработанной в течении периода выводится.

2.3.    На графике выделять выводы прибыли другим цветом, чтобы отличать от кривой убытка.

2.4.    В отчете Бэктест добавить графу выведено прибыли в валюте счета;

3.       Резюме

Считаю, что данный режим даст прикладную оценку стратегии, наглядно показывая не только то, что советник прибыльный (математически), но и может ли советник приносить выводимуюприбыль и каков размер этой прибыли и как этот выводимый объем будет влиять на устойчивость советника. Собственно говоря, именно ради этого создаются советники, чтобы понять сколько можно заработать, а не какая кривая доходности будет показана на каком-то временном интервале.
 
KoDim:

Здравствуйте.

Предлагаю внести дополнительный режим тестирования в Тестер стратегий.

1.       Название «С периодическим выводом прибыли»

TesterWithdrawal

 
KoDim:

Здравствуйте.

Предлагаю внести дополнительный режим тестирования в Тестер стратегий.

1.       Название «С периодическим выводом прибыли»

2.       Реализация:

2.1.    Выбрать период, по истечении которого будет выводиться прибыль

2.1.1. Неделя, месяц, квартал, произвольный

2.2.    Выбрать какой процент от прибыли, заработанной в течении периода выводится.

2.3.    На графике выделять выводы прибыли другим цветом, чтобы отличать от кривой убытка.

2.4.    В отчете Бэктест добавить графу выведено прибыли в валюте счета;

3.       Резюме

Считаю, что данный режим даст прикладную оценку стратегии, наглядно показывая не только то, что советник прибыльный (математически), но и может ли советник приносить выводимуюприбыль и каков размер этой прибыли и как этот выводимый объем будет влиять на устойчивость советника. Собственно говоря, именно ради этого создаются советники, чтобы понять сколько можно заработать, а не какая кривая доходности будет показана на каком-то временном интервале.
TesterWithdrawal(), TesterDeposit()
Документация по MQL5: Общие функции / TesterWithdrawal
Документация по MQL5: Общие функции / TesterWithdrawal
  • www.mql5.com
Общие функции / TesterWithdrawal - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Артем, спасибо за ответ. Я не знал о такой функции.

Но я далеко не программист, хотя и постоянно самостоятельно модифицирую свой советник.

Я сделал предложение с точки зрения рядового пользователя МТ5 покупающего советники и определяющего эффективность потенциального приобретения.

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

 

Всем привет!

Планируется ли добавить функции типа TesterGet...?

например, TesterGetDouble(TESTER_MAX_DRAWDOWN) была бы полезной

Все это можно получить и без этих запросов, но было бы удобным получать данные значения напрямую.

 
https://www.mql5.com/ru/docs/constants/environment_state/statistics
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Статистика тестирования
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Статистика тестирования
  • www.mql5.com
Максимальная просадка баланса в процентах. В процессе торговли баланс может испытать множество просадок, для каждой фиксируется относительное значение просадки в процентах. Возвращается наибольшее значение Максимальная...
 

Господа разработчики! Столкнулся в тестере с проблемой, помогите найти решение!

Есть 16ти ядерный процессор (32 потока), пока 64ГБ памяти. Планировал его использовать для оптимизации на реальных тиках. Но получилось вот что:

1. Каждый агент МТ5 выделяет для себя отдельно кусок оперативки, даже, если тест идет на одной паре, а не на разных. Причем, для примера, если тестировать на кроссах, то он еще подгружает мажоры. В результате, при тестировании на реальных тиках за период 2 года, каждый агент берет на себя по 7ГБ памяти. Да, стоит сказать, что я пробовал на популярном брокере, у которого 70% тиков повторяющиеся (с одинаковыми Ask и Bid), потом буду использовать кастомную фильтрованную историю. Таким образом, чтобы загрузить 64ГБ памяти, можно тестировать только на 8 агентах. Выход - кастомная история с фильтрацией повторяющихся тиков, постоянный контроль объема памяти, а следовательно и периода тестирования, еще плюс 64ГБ памяти и тестировать на 16 агентах. Так получается!? Так это я за два года тестировал....а если более длительный период брать...?! 


2. Я поставил пока временно SSD с другого компа EVO 860. При запуске оптимизации даже из 8-ми проходов, агенты пытаются одновременно получить доступ к SSD, чтобы накачать для себя в RAM тиковой истории. Никакой очередности не предусмотрено, из-за чего SSD становится "красным" и в журнале МТ5 сыпятся ошибки:

Ранее использовал 16ГБ памяти на 8-ми потоках, так винт сразу уходил в своп, ошибок подобных не было но тестировать так было невозможно долго.Теперь же тестер не может выполнить проходы, из-за того, что не удалось скачать тики, хотя пишет, что недостаточно памяти! Действительно, если прикинуть, что мой SSD, судя по показаниям системы тужился в то время пусть до 600MB/s, чтобы заполнить даже 64ГБ RAM ему потребуется более 100 секунд. Следовательно старые SSD вообще не подходят, жду более скоростной (вроде как до 3500MB/s), но даже с ним, если добавлю еще 64ГБ, вся память будет заполняться более 30 секунд. Т.е. ошибки останутся.


Т.о., ГОСПОДА РАЗРАБОТЧИКИ. Нужно ваше внимание к этой проблеме, иначе использовать многоядерные процессоры получается крайне неудобно, а то и бесполезно! Может я что-то не так делаю или есть опции, о которых я не знаю? Буду признателен!

Если возможно, то было бы чудесно более экономно использовать память RAM. Пусть даже только при оптимизации на одной валютной паре! Ведь, если тест идет на одной паре, наверняка можно всем агентам обращаться к одной и той-же области памяти. Зачем им каждому плодить себе копии?! Тогда отпадет проблема в нехватке памяти, в скорости считывания с жесткого диска и удешевит существенно конструкцию!

Если же это невозможно, то можно ли организовать какую-то очередь для доступа агентов к жесткому диску и(или) увеличить время ожидания копирования, или, если на одной паре ведется тест, делать копию одинаковых блоков из RAM в RAM. Но оптимизация использования памяти конечно была бы гораздо эффективнее! Скажите, планируются ли какие-то подобные улучшения в работе с RAM? Или все же это невозможно и надо просто увеличивать ее объем?

Спасибо!

 
dsfx:

Разработчики обещали подумать над этим после НГ.

 
А можно как нибудь назначить комиссию для кастомных символов, что-то не могу найти? Маркап будет не совсем тем, что мне нужно
Причина обращения: