Перейти к содержанию

Тестирование советников - тема для программистов


Рекомендуемые сообщения

Тестирование советников - тема для программистов Опубликовано (изменено)


AndreyGold На кой вам нужно тестировать Сов с ММ? Чтобы видеть красивый рост графика?
Все тесты всегда делаются со стандартным лотом. Просадка высчитывается делением значения максимальной на начальный депозит.
Этих данных вполне достаточно, чтобы иметь представление о просадке, доходе сета. далее на калькуляторе высчитывается соотношение лота в депо (0.01 на 500 тугриков), и после этого уже только прикручивается ММ для этого соотношения.


Это понятно, а если хочется красивый график ?

Добавлено: 22-05-2015 13:24:19


Генетический алгоритм тестера отбирает максимальные результаты для последующих пргонов => кол-во сделок должно находиться в прямой пропорции к результату, возвращаемому OnTester.
т.е. ret = TesterStatistics(STAT_DEALS) * ... * TesterStatistics(STAT_PROFIT) / TesterStatistics(STAT_EQUITY_DD);


0ll
А можно мне не сразу соображающему (и это еще мягко сказано :d) чуть разжевать этот момент.
Как я понял Вашу логику, то прописав строчку :
ret = TesterStatistics(STAT_DEALS) * TesterStatistics(STAT_PROFIT) / TesterStatistics(STAT_EQUITY_DD);
в модуль Ontester() и выбрав в качестве Optimized parameter "Custom". Мы получаем в результатах оптимизации столбец Ontester result, отсортировав по которому, мы должны получить лучшие результаты с точки зрения "Количества сделок*Соотношение прибыли к просадке" и таким образом
как бы "отсекается" недостаточная выборка ну и мы имеем более плавную кривую доходности, так ?
А у меня почему то в столбец Ontester result прописываются только нули. Что я недопонял ?

Изменено пользователем Старик
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

  • Ответов 274
  • Создано
  • Последний ответ

Популярные авторы

Популярные авторы

Популярные посты

Имхо виноват генетический алгоритм ! Но без него время теста увеличится на порядок... Я тестирую сначала быстро и грубо, но в широком диапазоне с широким шагом, потом смотрю на влияние переменных на

Перейти

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

Перейти

Rever27 я, например, делаю так: double OnTester() { double ret=0.0; if (TesterStatistics(STAT_EQUITY_DD)>0) ret = TesterStatistics(STAT_PROFIT) / TesterStatistics(STAT_EQUITY_DD); else

Перейти
Тестирование советников - тема для программистов Опубликовано
AndreyGold для получения нужных результатов для разных ботов нужно подходить индивидуально, для каких-то моментов общее кол-во сделок благо, а могут быть ситуации когда это плохо... Поэтому обозначил "*...*" - может весовой коэф. а может и не *, а + делать. в общем это творческий процесс.

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

Тестирование советников - тема для программистов Опубликовано


Это понятно, а если хочется красивый график ?


Что мешает сделать красивый график, после того, как будет подобран правильный сет?
Не понимаю я этого стремления делать миллионы на картинке.
Вот первый скрин. ММ отключен. Просадка 6,5%, Доход - 37%


Я посчитал что для меня это мало, уже имея эти данные прогнал пару с 5% риском на сделку
Результат: Просадка по тестеру 14,5%, Доход - 199,5%
Ссылка на сообщение
Поделиться на другие сайты

Тестирование советников - тема для программистов Опубликовано (изменено)
Спойлер



Это понятно, а если хочется красивый график ?


Что мешает сделать красивый график, после того, как будет подобран правильный сет?
Не понимаю я этого стремления делать миллионы на картинке.
Вот первый скрин. ММ отключен. Просадка 6,5%, Доход - 37%


Я посчитал что для меня это мало, уже имея эти данные прогнал пару с 5% риском на сделку
Результат: Просадка по тестеру 14,5%, Доход - 199,5%


Так при мультитестировании сделать правильный красивый график никак не получается, вот в чем и вопрос. То есть если Вам например надо показать результаты форвард-теста потенциальному инвестору то варианта 4:
1) Ваша сова должна сама учитывать мультивалютность
2) Мы показываем результаты тестов с лотом 0,01 и на пальцах объясняем а как было бы на самом деле
3) Мы корректируем руками полученные данные
4) Мы показываем результаты, которые корректны из-за неправильного рассчета размера-лота от счета (это как сейчас) Изменено пользователем AndreyGold
Ссылка на сообщение
Поделиться на другие сайты

Тестирование советников - тема для программистов Опубликовано
AndreyGold просто не сделаешь (в МТ4). Надо писать скрипт, который пересчитывает стейты по каждой паре и составляет суммарный стейт с поправкой на размер лота, а потом этот стейт грузить в анализатор.
Ссылка на сообщение
Поделиться на другие сайты

Тестирование советников - тема для программистов Опубликовано

Господа, а как на Ваш взгляд, такой подход : если стратегия настроена на работу на средне-долгосроке (например работает только на дневках). То при первом "грубом" прогоне оптимизации, отключать генетический алгоритм и делать прогон на модели "Control points". С одной стороны получаем
многочасовую оптимизацию (в зависимости от кол-ва параметров и мощности компа 10 лет -> ~ 16 часов работы компа).
С другой - первая картина будет более полная и сократится время, на дальнейший анализ и количество последующих прогонов оптимизаций.

Ссылка на сообщение
Поделиться на другие сайты

Тестирование советников - тема для программистов Опубликовано
AndreyGold тут от нашего мнения мало зависит.
1. если сова использует трал (обычный), то тестирование по контрольным точкам даст ложный результат. (а также БУ и прочие переносы стопов)
2. Если сова выходит по ТП, то результат будет искажен.
3. Наблюдал лично, что сделка должна была закрыться - Хай свечи был выше МА (например), а она не закрылась, а при прогоне на всех тиках - все в порядке. Видимо это особенности МТ.

Вы сами можете это посмотреть: прогоните на коротком отрезке бота по разным методам и сравните количество сделок...
  • Лайк 3
Ссылка на сообщение
Поделиться на другие сайты

Тестирование советников - тема для программистов Опубликовано
0ll Ну то есть даже для первого, грубого определения влияния диапазона переменных на результат, Вы считаете такой подход неправильным ?
Ссылка на сообщение
Поделиться на другие сайты

Тестирование советников - тема для программистов Опубликовано

0ll Ну то есть даже для первого, грубого определения влияния диапазона переменных на результат, Вы считаете такой подход неправильным ?

Нет. я намекал, что от реализации алгоритма зависят результаты - я ж не знаю логику... Тут к каждой сове нужен индивидуальный подход.
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

  • 2 months later...
Тестирование советников - тема для программистов Опубликовано

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

Moving_Average.mq4

Ссылка на сообщение
Поделиться на другие сайты

Тестирование советников - тема для программистов Опубликовано

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

Ссылка на сообщение
Поделиться на другие сайты

Тестирование советников - тема для программистов Опубликовано


Спасибо, моих знаний пока на это не хватает.


Ну так приобретайте знания - читайте документацию.
Вы решили поэкспериментировать с простым мувингом, который и нафиг никому не нужен?
Продолжайте эксперимент - читайте и разбирайтесь. Или бросьте.

Других-то зачем зовете за вас ваши эксперименты доделывать? Пользы от этого всем не будет никакой...

На самом деле ваш затык потому, что, видимо, у вас нет самых элементарных знаний ни про форекс, ни про программирование...
Подумайте нужно ли вам хоть что-то из обеих...

Ну и в данном топике был вполне рабочий и нормально выписанный бот на машке.
Найдите его и посмотрите как такие вещи хорошие программисты пишут...
Это очень хороший способ обучения - разбирать коды хороших программистов, пока не станет понятен смысл каждой буквы.

Но я серьезно, без обид - вы точно решили осваивать программирование?...
Если да, то учитесь искать информацию самостоятельно - никто не будет за вас месяц за месяцем исправлять ваши ошибки и показывать вам то, что вы должны были найти и изучить по возможности самостоятельно.
Программисты всегда одиноки - почти всегда просто некому разбираться в ваших кодах и помочь...
  • Лайк 3
Ссылка на сообщение
Поделиться на другие сайты

Тестирование советников - тема для программистов Опубликовано


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


А так проверьте - вроде открывает

P.S. Надеюсь Старик не забанит :d ;)

Moving_Average_2.mq4

  • Лайк 4
Ссылка на сообщение
Поделиться на другие сайты

Тестирование советников - тема для программистов Опубликовано



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


А так проверьте - вроде открывает

P.S. Надеюсь Старик не забанит :d ;)

Конечно нет! :d

Ну помогли вы человеку, может очень хорошему, завершить его программистский эксперимент...
Просто вы человеку рыбку дали.
А я предлагал сначала подумать хочет ли он быть рыбаком и если да, то подумать насчет изготовления удочки.
Ну посмотрим придет ли вскоре человек сюда за новой, очередной рыбкой...
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

  • 3 weeks later...
Тестирование советников - тема для программистов Опубликовано

Подскажите, пожалуйста: есть два результата теста советника, один с неким включенным фильтром, другой с выключенным (сделок больше соответственно). Мне интересно посмотреть на сделки, которые были отфильтрованы. Есть ли способ как-нибудь сравнить эти два отчета, удалив все совпадающие сделки, чтобы остались только отфильтрованные? В EA Analyzer такой функции вроде нет, просто глазами отсматривать где там лишняя сделка закралась тяжеловато, а тупо html файлы сравнить тоже не получилось :-?

Ссылка на сообщение
Поделиться на другие сайты

Тестирование советников - тема для программистов Опубликовано
nertok Все можно сделать через Ексель. Правда, чтобы удалять одинаковые значения, нужно писать макрос на поиск и сравнение всех сделок и удалению совпадений. Немного геморрно.
Второй вариант, если на заморачиваться сильно:
1) Копируешь данные стейтмента из терминала или отчета в ексель. Выделяешь колонку С, включаешь фильтр и выбираешь все значения, кроме s/l и t/p. Оставшиеся значения удаляешь, убираешь фильтр и у тебя остаются только необходимые сделки с s/l и t/p.
Спойлер


2) Тоже самое делаем на другом листе со вторым отчетом и получаем:
Спойлер


3) Объединяешь данные на одном листе рядом друг с другом.
4) Строишь График. Выбираешь Вставка - График - Точечный с прямыми отрезками. (Можно строить на отдельном листе, прописав графику постоянный диапазон данных для будущих работ)
Вставляешь в диапазон данных времени и баланса, получаются 2 ряда на одном графике - сравнивай на здоровье.
Спойлер


Можно поиграть с настойками прозрачности графика и т.п. Пример во вложении

Пример.xlsx

  • Лайк 4
Ссылка на сообщение
Поделиться на другие сайты

Тестирование советников - тема для программистов Опубликовано
Rever27, спасибо за подробный ответ, но это не совсем то, что было нужно. Примерно то же самое EA Analyzer делать умеет (удалять все ордера без конечного результата и строить график двух отчетов сразу). Мне все же нужен был именно список уникальных фильтрующихся ордеров, чтобы глаза не ломать, высматривая на графике изменения.

Однако, предложенный пример подсказал как это сделать с помощью Excel. Если вдруг кому понадобится, я делал так:

1. В EA Analyzer объединил два отчета в портфель, удалил все пустые ордера (What If - remove zero trades), экспортировал List of trades результата в csv.
2. В Excel выделил столбец "P/L in pips" (можно и по другим делать), Главная - Условное форматирование - Правила выделения ячеек - Повторяющиеся значения. В итоге все дублирующиеся выделяются цветом.
3. Тот же столбец, Данные - Фильтр. В верхней ячейке поставил По цвету - Нет заливки.

В итоге получается именно список недублирующихся ордеров b-)
Ссылка на сообщение
Поделиться на другие сайты

Тестирование советников - тема для программистов Опубликовано
nertok Тоже вариант, но будет работать только, если этот фильтр строго добавляет дополнительные сделки. Если же он как то влияет на прибыль, даже на копейку изменит доход, то отчет будет уже не корректным, т.к. останутся два значения баланса (к примеру 100,01 и 100,02), которые перемешаются с общими данными. Жаль, что МетаТрейдер комменты торговли в отчет не записывает, с ними можно было бы фильтровать по всякому.
Тут уже либо макросом, либо доп вычислениями и сравнениями в дополнительных столбцах.
Вообще, если отличный форум по Ексель _http://excelworld.ru
Там я многому научился, куча программистов, подскажут и решат практически любую задачу, как платно, так и бесплатно.

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

  • 1 month later...
Тестирование советников - тема для программистов Опубликовано

Насколько на Ваш взгляд, можно доверять результатам тестов 99,90% ?
Допустим среднесрочная стратегия. Спред при тестировании, увеличен в 2 раза от стандартного, дневного. Стоп-лосы 200-400 пипсов на 5знаке. Период тестирования 10 лет и количество сделок >2000.
Другими словами все данные для подстраховки тестовых результатов вроде как соблюдены (вроде ничего не упущено).
При какой минимальной прибыльности (Profit Factor) имеет смысл ковырять стратегию ?

Ссылка на сообщение
Поделиться на другие сайты

Тестирование советников - тема для программистов Опубликовано


При какой минимальной прибыльности (Profit Factor) имеет смысл ковырять стратегию ?

Одного профит фактора,имхо, мало для принятия решения. Нужно смотреть на плавность кривой эквити, глубину просадок, количество лосей подряд и т.д.
Доверять тестам можно, НО они-же на истории... Опять-же надо знать основу стратегии, чтоб предполагать как поведёт себя бот на реале...
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

Тестирование советников - тема для программистов Опубликовано


Насколько на Ваш взгляд, можно доверять результатам тестов 99,90% ?
Допустим среднесрочная стратегия. Спред при тестировании, увеличен в 2 раза от стандартного, дневного. Стоп-лосы 200-400 пипсов на 5знаке. Период тестирования 10 лет и количество сделок >2000.
Другими словами все данные для подстраховки тестовых результатов вроде как соблюдены (вроде ничего не упущено).
При какой минимальной прибыльности (Profit Factor) имеет смысл ковырять стратегию ?



Если не доверять качеству 99%, то чему тогда доверять при тестировании?
Для меня самый главный показатель сейчас Фактор восстановления: dRecoveryFactor = TesterStatistics(STAT_PROFIT)/TesterStatistics(STAT_BALANCE_DD) ?
Далее идет количество сделок и количество убыточных сделок подряд. По ним и фильтрую полученные результаты.

После проведения Форварда/Бекварда смотрю, чтобы на про этих промежутках график шел строго вверх, т.к. если хоть один из них будет в убытке - значит система не стабильна.
  • Лайк 3
Ссылка на сообщение
Поделиться на другие сайты

Тестирование советников - тема для программистов Опубликовано

Парни, раскжите мне - малоопытному, про Форвард/Беквард тест , что это значит? например: я скачал тики с дукаскопи с 2013 года, когда (в какой момент времени) мне оптимизировать и тестировать советник? и вообще, какой лучше период с дукаса скачивать, зависит ли период оптимизации и тестирования от алгоритма работы сова(скальпер, трендовый, и.т.д.)?

Ссылка на сообщение
Поделиться на другие сайты

Тестирование советников - тема для программистов Опубликовано
romariogold тестирование/оптимизация тема субъективная, сколько людей - столько мнений. Рынок меняется и некоторые системы работают периодами. Скальпер по-идее должен работать более-менее равномерно. Имхо оптимизировать надо с января по июнь 2015 и потом смотреть как сова работает в 13-14 гг и с июля по н.в.
  • Лайк 3
Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Специальное предложение


  • Рекомендуемые брокеры

  • ×
    ×
    • Создать...