Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2426
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
оптимизатор МТ5 очень любит рисовать дугу при высоком факторе восстановления: вначале идёт резкий рост, а потом 80% всего остального баланса - флетит.
Этот косяк можно исправить, если оптимизировать по R-квадрат или что-то подобное.
Как реализовать в коде, чтобы на первые строчки выставлялись сеты где максимально роооовный рост баланса?
Подскажите, пожалуйста,
оптимизатор МТ5 очень любит рисовать дугу при высоком факторе восстановления: вначале идёт резкий рост, а потом 80% всего остального баланса - флетит.
Этот косяк можно исправить, если оптимизировать по R-квадрат или что-то подобное.
Как реализовать в коде, чтобы на первые строчки выставлялись сеты где максимально роооовный рост баланса?
Используйте пользовательский критерий оптимизации.
Подскажите, как можно сделать дисконнект в тестере?
Можно попробовать весь код инициализации перенести в отдельную функцию, которая будет выполнятся в OnTick() каждый n баров.
Сам такого не делал, может и что не учитываю...
как вариант каждое открытие новой сделки сохранять в блокноте
Почему нельзя просто узнать какие открыты позиции из PositionGetInteger(), PositionGetDouble(), PositionGetString()?
Подскажите, пожалуйста,
оптимизатор МТ5 очень любит рисовать дугу при высоком факторе восстановления: вначале идёт резкий рост, а потом 80% всего остального баланса - флетит.
Этот косяк можно исправить, если оптимизировать по R-квадрат или что-то подобное.
Как реализовать в коде, чтобы на первые строчки выставлялись сеты где максимально роооовный рост баланса?
Можно попробовать весь код инициализации перенести в отдельную функцию, которая будет выполнятся в OnTick() каждый n баров.
Сам такого не делал, может и что не учитываю...
Почему нельзя просто узнать какие открыты позиции из PositionGetInteger(), PositionGetDouble(), PositionGetString()?
Не в той теме открыл, для MT5го хотел.
Можно, просто как это все тестануть, узнать какие переменные сохранены, какие нет и что вообще эксперт вызывает после реконнекта?
Например после реконнекта эксперт загружает OnInit или нет? можно в нем проверять открытые позиции и запоминать лот и если это все есть то делать сразу расчеты которые надо
Не в той теме открыл, для MT5го хотел.
Можно, просто как это все тестануть, узнать какие переменные сохранены, какие нет и что вообще эксперт вызывает после реконнекта?
Например после реконнекта эксперт загружает OnInit или нет? можно в нем проверять открытые позиции и запоминать лот и если это все есть то делать сразу расчеты которые надо
Вот тут глянуть "Загрузка и выгрузка экспертов".
Всем привет. Подскажите, как можно сделать дисконнект в тестере? есть эксперт по сетке и при дисконнекте на реальной торговле он перезапускается и начинает все с нуля, вижу как вариант каждое открытие новой сделки сохранять в блокноте и при дисконнекте и повтором подключении читать блокнот на наличии инфы, чет нигде не нашел как можно сделать дисконнект на тестере, либо можно просто в коде написать отключение и подключение например через 10 баров.. как-нибудь так?
Чтобы протестить естественно)
Можно поступить так. Сделайте в своём советнике две функции Save() и Load(). Первую вызывайте на каждом тике (или при наступлении значимых событий). Она должна сохранять всю необходимую информацию о текущем состоянии в файл. Формат хранения и состав сохраняемой информации выбираете сами. Вторая функция загружает информацию о состоянии из этого файла. В функции OnInit() советник должен вызывать Load() и затем находить открытые ранее позиции (если они есть), понимать по прочитанной из файла информации какие позиции оставить, а какие закрыть и как дальше продолжать работу. Файл лучше хранить в общей папке терминалов.
Для тестирования берёте любой интервал и разбиваете его на две части по какой-то дате внутри интервала. В параметры советника добавляете параметр "даты реконнекта". В OnTick() добавляете проверку, что если наступила дата реконнекта, то подождать несколько баров и потом принудительно вызвать OnInit(). Если дата реконнекта пустая, то дополнительного вызова OnInit() не будет происходить. Затем запускаете в тестере один раз с пустой датой реконнекта, а затем с какой-то конкретной. Если результаты совпадут или почти совпадут, то всё работает как надо.
кОЛЛЕГИ - вопрос организационный... написал робота - вроде торгует по условиям... еще не до конца проверил...
Интересует - может кто знает - напишите каким образом можно организовать учет так называемых виртуальных сделок? т.е. робот запущен, но реал не торгует - но вместо открытия - закрытия сам пункты считает и например на экран выводит... там не надо формировать типа полного отчета о виртуальных торгах... достаточно текущий лосс или профит по символам (торгуется одновременно два символа спреда) - по сути из ветви темы: https://www.mql5.com/ru/forum/122468/page55
кто в курсе тот в курсе...
Так вот как оптимальным образом настроить вывод и запись например можно в отдельную даже переменную (-ые) текущий профит лосс... общий профит лосс.. типа этого... можно добавить третью переменную типа за день. Профит лосс.
1. текущая прибыль/убыток = ...
2. общая прибыль/убыток по закрытым позициям = ...
типа этого...
там дело в том, что на центовых к примеру нет тех символов - какие есть на стандартных реалах... и даже на мин входах на стандартных реалах тестировать так не варик... убыток ощутимый все равно при настройках... для меня....
настройка робота еще не полностью проведена...
Это все пока на МТ 4
попробовал открыть демо... смотрю... может и нет там нужных символов для торгов на реале.....
кОЛЛЕГИ - вопрос организационный... написал робота - вроде торгует по условиям... еще не до конца проверил...
Интересует - может кто знает - напишите каким образом можно организовать учет так называемых виртуальных сделок? т.е. робот запущен, но реал не торгует - но вместо открытия - закрытия сам пункты считает и например на экран выводит... там не надо формировать типа полного отчета о виртуальных торгах... достаточно текущий лосс или профит по символам (торгуется одновременно два символа спреда) - по сути из ветви темы: https://www.mql5.com/ru/forum/122468/page55
кто в курсе тот в курсе...
Так вот как оптимальным образом настроить вывод и запись например можно в отдельную даже переменную (-ые) текущий профит лосс... общий профит лосс.. типа этого... можно добавить третью переменную типа за день. Профит лосс.
1. текущая прибыль/убыток = ...
2. общая прибыль/убыток по закрытым позициям = ...
типа этого...
там дело в том, что на центовых к примеру нет тех символов - какие есть на стандартных реалах... и даже на мин входах на стандартных реалах тестировать так не варик... убыток ощутимый все равно при настройках... для меня....
настройка робота еще не полностью проведена...
Это все пока на МТ 4
попробовал открыть демо... смотрю... может и нет там нужных символов для торгов на реале.....
вы хотите вместо реальных сделок, поводить сделки в "виртуальном окружении" ?
это у fxsaber есть такое: https://www.mql5.com/ru/code/22577
хотя для спредов и арбитражей лучше самому делать.