Как правильно тестировать стратегию в тестере?

 
Проводя тест каждой стратегии фактически мы начинаем торговлю в какой то части из истории торгов . Если мы вошли в отрезок более благоприятное к нашей стратегии конечно все будет прекрасно. Но  правильнее было бы протестировать стратегии с постоянными условиями баланса , эквити ,маржи и свободной маржи  .   Как это можно осуществить ? 
 
Golden Ratio:
Проводя тест каждой стратегии фактически мы начинаем торговлю в какой то части из истории торгов . Если мы вошли в отрезок более благоприятное к нашей стратегии конечно все будет прекрасно. Но  правильнее было бы протестировать стратегии с постоянными условиями баланса , эквити ,маржи и свободной маржи  .   Как это можно осуществить ? 

Для поддержания исходного уровня депозита можно создать функцию имитации вывода средств.

 
khorosh:

Для поддержания исходного уровня депозита можно создать функцию имитации вывода средств.

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

 
Golden Ratio:

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

Могу подсказать, как это сделать, если интересует.

 
khorosh:

Могу подсказать, как это сделать, если интересует.

Буду очень благодарен)) Начал что то искать ,    увидел что вы уже сталкивались с такой проблемой .

В мт5   TesterWithdrawal() есть. А в мт4 он не работает хотя компилируется.

Может  поделитесь своей работой на мт4.

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

Вариант увеличивать лот в процентах от депозита после достижения депозитом исторического максимума. А когда идёт просадка, лот остаётся постоянным, равным последнему значению, до возврата уровня депозита к последнему максимуму. То есть, лот никогда не уменьшается: либо растёт, либо стоит на месте. Вот и будут постоянные условия баланса. Не?

 
Aleksei Stepanenko:

Вариант увеличивать лот в процентах от депозита после достижения депозитом исторического максимума. А когда идёт просадка, лот остаётся постоянным, равным последнему значению, до возврата уровня депозита к последнему максимуму. То есть, лот никогда не уменьшается: либо растёт, либо стоит на месте. Вот и будут постоянные условия баланса. Не?

Нужно реализовать функцию в которой ежедневно снимается прибыл  если оно есть . А лот играет в пределах первоначального баланса .  

 
Golden Ratio:
Проводя тест каждой стратегии фактически мы начинаем торговлю в какой то части из истории торгов . Если мы вошли в отрезок более благоприятное к нашей стратегии конечно все будет прекрасно. Но  правильнее было бы протестировать стратегии с постоянными условиями баланса , эквити ,маржи и свободной маржи  .   Как это можно осуществить ? 

Добрый день ! Немного о тестировании я написал в своем блоге

HOW TO CHECK ANY TRADING SYSTEM
HOW TO CHECK ANY TRADING SYSTEM
  • 2021.05.20
  • www.mql5.com
MQL Market offers a huge selection of trading systems. All of them often show BAD Test Results, or completely hide the test results for MT4. Many of the systems use DEMO accounts and try to convince
 
Anton Kondratev:

Добрый день ! Немного о тестировании я написал в своем блоге

Спасибо . Но тут  вопрос не об корректности исторических данных.

 
Golden Ratio:

Спасибо . Но тут  вопрос не об корректности исторических данных.

При обращении к функции она должна в цикле открывать и тут же закрывать ордер с минимадьным лотом, пока разница между балансом и начальным депо не станет отличаться на величину менее потери на спреде от ордера с минимальной лотностью. 

 

https://www.mql5.com/ru/articles/131

Пока разбираюсь тут. мт5 

Применение функции TesterWithdrawal() для моделирования снятия прибыли
Применение функции TesterWithdrawal() для моделирования снятия прибыли
  • www.mql5.com
В статье рассмотрено применение функции TesterWithDrawal() для оценки рисков в торговых системах, выполняющих снятие определенной части средств в процессе работы. Наряду с этим показано, как применение данной функции влияет на алгоритм расчета просадки по средствам в тестере. Использование данной функции может быть полезным при оптимизации параметров вашего советника.