• Добро пожаловать на инвестиционный форум!

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

    Впрочем, для начала надо зарегистрироваться!
  • 🐑 Моисей водил бесплатно. А мы платим, хотя тоже планируем работать 40 лет! Принимай участие в партнеской программе MMGP
  • 📝 Знаешь буквы и умеешь их компоновать? Платим. Дорого. Бессрочная акция от MMGP: "ОПЛАТА ЗА СООБЩЕНИЯ"

Почему после «прекрасных» тестов советник сливает?

realnotstory

МАСТЕР
Регистрация
07.09.2016
Сообщения
2,855
Реакции
522
Поинты
0.000
Алгоритмической торговлей сегодня никого не удивить. Она имеет массу преимуществ по психологической разгрузке, отсутствию промашек (если не учитывать незначительный процент багов) и безусловное удобство: не надо сидеть «сверля» взглядом монитор, выполняя роль «приставки» к торговому терминалу, нажимая на кнопку buy/sell всякий раз, когда помещенные на график индикаторы, пересекутся.

Трейдеру, в своем стремлении к «легкой» алготорговле, надо пойти по одному из трех путей:

1. Формализовать торговые правила системы – написать Советник.
2. Заказать по выработанному алгоритму робота у стороннего программиста.
3. Приобрести грааль.

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



Проблемы тестовой выборки.

В тестере МТ4 пользователь выбирает исторический период котировок. Если отнестись к этому выбору как «любой отрезок времени», то Вы рискуете получить однобокий результат. Например, на рынке развивается долгосрочный тренд, оттестированная на нем торговая система, показав замечательные результаты, сольет при смене текущего тренда на противоположный.

Историческая выборка должна пропорционально содержать все три состояния рынка: тренд вверх, вниз и флэт. Такой тест даст более правдоподобный результат и будет способствовать «долгожительству» системы.



Учет высоковолатильных участков проводится отдельно, оттестированную и принятую к реальной торговле систему, запускают на исторических котировках, соответствующих кризисным годам. Кризисы случаются достаточно редко, чтобы «подгонять» систему под них.

Проблема «переоптимизации»

В тестере есть функция, позволяющая оптимизировать параметры. Воспользовавшись ей на тестовых участках малой протяженности ценового ряда, Вы позволите системе «выучить» этот кусок котировок, с внедренным в Метатрейдеровский тестер, генетическим алгоритмом это не составит труда и не займет много времени, в результате, на реальных котировках, любой иной разброс параметров ценового движения, приведет к сливу. Хотите оптимизировать? Берите не менее 10 000 таймфреймов, чем длиннее участок, тем больше вероятность снизить этот эффект.
Точность торговой системы, построенная на логике индикаторов принимающих относительно бесконечные значения, ограничена экстремумами теста. Если Ваш Советник не собран на осцилляторах, ограниченных, как правило, диапазоном изменения значений от -100 до 100 или от 0 – 100, то «новые» неизвестные по тестам значения цен, выходящие за ценовой тестовый ряд, повлекут убытки.

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

Разрывы интернет соединения, чем так часто грешат терминалы Метатрейдера, приводят к потере отслеживания роботом позиций, а значит они не будут закрыты «по условию». Потребуется перезапуск Советника и закрытие текущих позиций «руками».

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

Последнюю проблему, которую я хотел выделить на основе личного опыта - робота надо вовремя «снять» с торговли и подвергнуть оптимизации параметров. Это может продлить жизнь алгоритму.

Я обычно отслеживаю соответствие тестовым значениям, таким как: максимальной просадке, матожиданию, количеству убыточных сделок подряд, таких же реальных значений, если параметры выходят за поле допуска 25%, система будет сливать.

Также, я заметил, что на результативность торгов влияет протяженность тестов, более мене успешная торговля сохраняется на реальном участке, равным 1/3 тестового.

Что еще Вы, коллеги могли бы добавить – это важная тема, трейдеры тратят средства на покупку или время, а потом хоронят, быть может удачно найденные алгоритмы – надо помочь.
------------------------
Автор: realnotstory

Авторские права на статью принадлежат MMGP.COM
 

Вложения

  • Алоошибки 1.jpg
    Алоошибки 1.jpg
    13.1 KB · Просмотры: 521
  • Алоошибки 2.jpg
    Алоошибки 2.jpg
    23.1 KB · Просмотры: 503
Последнее редактирование модератором:

PIRANHAfx

ТОП-МАСТЕР
Регистрация
12.03.2014
Сообщения
5,528
Реакции
2,983
Поинты
11.270
Re: Почему после «прекрасных» тестов Советник сливает?

Что еще Вы, коллеги могли бы добавить – это важная тема, трейдеры тратят средства на покупку или время, а потом хоронят, быть может удачно найденные алгоритмы – надо помочь.
Если реальная торговля будет вестись на торговом счете с комиссией, то в тестере надо это учитывать и увеличивать спред на размер комиссии.
Тогда будет более менее реальная картинка, естественно без проскальзываний.

Если математическое ожидание в тестере меньше или равно 1 спреду, то вероятно этот советник не будет приносить прибыль в реальной торговле.
МО должно быть хотя бы 5 спредов (если это не мартингейл).
Хотя там можно привести значение мо в абсолютном выражении к спреду.

Так же если торговля ведется по низколиквидным и высоковолатильным кросс курсам (eurnzd, gbpnzd), и если тейк стратегии в диапазоне 8-10 пп, то в реальности результаты торговли будут хуже, чем в тесте.
Так как в тестере отсутствует расширение спреда, а при расширении спреда в реальной торговле до 4-5 пп МО на дистанции будет сильно ниже расчетного.
 
Последнее редактирование:

PiterZx

ТОП-МАСТЕР
Регистрация
02.02.2015
Сообщения
6,223
Реакции
3,820
Поинты
2.810
Re: Почему после «прекрасных» тестов Советник сливает?

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

Igorenergy

Интересующийся
Регистрация
05.05.2014
Сообщения
61
Реакции
12
Поинты
0.000
Потому что тестер не учитывает все рыночные условия, а именно
1) расшения спреда
2) реквоты, проскальзывания
3) свопы
4) потиковое изменение котировок
5) задержки и обрывы в сети, между компьютером/VPS и сервером брокера

из этого следует что "Мерилом гения трейдерской мысли" в роботостроении могут быть только отчеты/стейтменты, инвест доступы и мониторинги с реальных счетов
 
Последнее редактирование:

PIRANHAfx

ТОП-МАСТЕР
Регистрация
12.03.2014
Сообщения
5,528
Реакции
2,983
Поинты
11.270
из этого следует что "Мерилом гения трейдерской мысли" в роботостроении могут быть только отчеты/стейтменты, инвест доступы и мониторинги с реальных счетов
Было бы странно измерять успешность стратегии отчетом из тестера.))))
Из отчета тестера можно лишь сделать вывод что система имела положительное мат ожидание и ее замысел рационален.
Конечно есть огромное количество оговорок и если. Важно чтобы не было переоптимизации, я лично вообще не оптимизирую в тестере стратегии.
Важно чтобы сов работал по закрытому бару, открывал сделки.
Важно чтобы не попадал в гэпы при тесте.
Ну про мат ожидание я уже выше писал.

А что на реале будет, то трейдеру не известно, ему известно только как управлять рисками и все.
 

PiterZx

ТОП-МАСТЕР
Регистрация
02.02.2015
Сообщения
6,223
Реакции
3,820
Поинты
2.810
Потому что тестер не учитывает все рыночные условия, а именно
1) расшения спреда
2) реквоты, проскальзывания
3) свопы
4) потиковое изменение котировок
5) задержки и обрывы в сети, между компьютером/VPS и сервером брокера

из этого следует что "Мерилом гения трейдерской мысли" в роботостроении могут быть только отчеты/стейтменты, инвест доступы и мониторинги с реальных счетов

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

MaKsim01

Профессионал
Регистрация
12.11.2015
Сообщения
1,449
Реакции
232
Поинты
0.000
Потому что тестер не учитывает все рыночные условия, а именно
1) расшения спреда
2) реквоты, проскальзывания
3) свопы
4) потиковое изменение котировок
5) задержки и обрывы в сети, между компьютером/VPS и сервером брокера
Совершенно верно. Но особенно те кто только приходит на рынок об этом не знают, вот и ведуться на такие уловки и покупают этих советникив.
 

Sashok-by

Любитель
Регистрация
21.01.2017
Сообщения
285
Реакции
31
Поинты
0.000
Вот и меня интересовал этот вопрос. Вроде сначала всё хорошо, но потом не очень. Всё что угодно может влиять. Может как-то подстраивать его под себя.
 

realnotstory

МАСТЕР
Регистрация
07.09.2016
Сообщения
2,855
Реакции
522
Поинты
0.000
Потому что тестер не учитывает все рыночные условия, а именно
Это мелочи можно учесть увеличив спред, поменяв стратегию на среднесрочную или долгосрочную, или радикально сменив брокера, если он сильно этим "грешит".
 

Igorenergy

Интересующийся
Регистрация
05.05.2014
Сообщения
61
Реакции
12
Поинты
0.000
Это мелочи можно учесть увеличив спред, поменяв стратегию на среднесрочную или долгосрочную, или радикально сменив брокера, если он сильно этим "грешит".

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

realnotstory

МАСТЕР
Регистрация
07.09.2016
Сообщения
2,855
Реакции
522
Поинты
0.000
онстантное значение спреда точности тестированию не добавит
Просто можно сделать запас по спреду - это уберет вопросы и по проскальзованию и по расширению.
 

PIRANHAfx

ТОП-МАСТЕР
Регистрация
12.03.2014
Сообщения
5,528
Реакции
2,983
Поинты
11.270
Просто можно сделать запас по спреду - это уберет вопросы и по проскальзованию и по расширению.

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

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

darow

Специалист
Регистрация
12.02.2013
Сообщения
1,642
Реакции
195
Поинты
0.000
На тестере может показывать плюс, а на реале наоборот большая часть сделок будет в минус как раз из за исполнения и экстремального расширения спреда.
тестер это вообще не проверка. Хотите злитесь, хотите нет. Но тестить на истории это все фигня, нужно прямо в боевых условиях, понятное дело депозит не 10 пачек баксов нужно, но нужно депозит делать из минимального лота. А далее по планируемой загрузке от депо. если у вас бот работает от 1 до 5 минут то вам нужно тестить от 3-6 месяцев, тогда можно о чем-то начинать говорить, но не делать еще выводы. Соответственно, если тайм выше время тестирования выше, например мой бот работает на высоких таймах то мне пришлось его тестить 2 года почти. Если бы знал такое заранее, я бы наверное не взялся за такое))), но правда и не было бы у меня бота)))
 

PIRANHAfx

ТОП-МАСТЕР
Регистрация
12.03.2014
Сообщения
5,528
Реакции
2,983
Поинты
11.270
тестер это вообще не проверка.

Спорное утверждение.)
Тестер дает информацию о целесообразности использования алгоритма. Есть ли вообще там +мо на дистанции.

Естественно алгоритм не должен быть тестерным граалем.

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

А чего мне злиться то? Я и так прекрасно знаю как проводить тестирование и ввод в работу сова.:wink2:
Делается так:

1. Создается первичный алгоритм и тестируется на предмет наличия +мо.

2. Параллельно собирается статистика.

3. Допиливается алго исходя из статистики. Оптимизация в тестере НЕ проводится вообще.

4. Опять прогоняется алго на предмет пределов риска.
Вырабатываются мм для разных счетов (консерва, агрессив).

5. Проверка на демо на правильность работы алгоритма.

6. Открытие микро реала для начала сборки статистики (спред проскальзывания и т.д. на нужных компаниях).

7. Сбор статистики ведется от 6 месяцев до 1 года (если интрадей).

А далее по планируемой загрузке от депо. если у вас бот работает от 1 до 5 минут то вам нужно тестить от 3-6 месяцев, тогда можно о чем-то начинать говорить, но не делать еще выводы. Соответственно, если тайм выше время тестирования выше, например мой бот работает на высоких таймах то мне пришлось его тестить 2 года почти. Если бы знал такое заранее, я бы наверное не взялся за такое))), но правда и не было бы у меня бота)))

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

darow

Специалист
Регистрация
12.02.2013
Сообщения
1,642
Реакции
195
Поинты
0.000
Если робот это воплощение ручной торговой стратегии, то достаточно и 6 месяцев теста, чтобы проверить устойчивость самого бота к разным фортелям терминала (разрывы соединения и т.д.).
ну как то да))) а когда люди тут пишут, что свояют бота за день или за час. то это развод чистейшей воды), причем порой самих же себя и разводят. програмеры которые ботов пишут, это нормальные ребята и они все знают что все их заказчики сольют поэтому берут строго за написание ботов))) и кстати у них самих ботов в реальной работе нету зачастую... как это не странно.
 

PIRANHAfx

ТОП-МАСТЕР
Регистрация
12.03.2014
Сообщения
5,528
Реакции
2,983
Поинты
11.270
ну как то да))) а когда люди тут пишут, что свояют бота за день или за час. то это развод чистейшей воды), причем порой самих же себя и разводят. програмеры которые ботов пишут, это нормальные ребята и они все знают что все их заказчики сольют поэтому берут строго за написание ботов))) и кстати у них самих ботов в реальной работе нету зачастую... как это не странно.

Ну вероятно можно сваять бота за день, но к торговле это же никак не относится. Код то наверное можно за день накропать, особенно если там 300-500 строк всего.))) Или из шаблонов склепать.

Мне по статистике бота пишут (первичный алго по ТЗ) от 3-х до 10 дней.

И 90% этих ботов выбрасываются в мусорку на первом шаге. Нет +МО в тестере.)))

Поэтому и у большинства программистов нет совов, потому что нет прибыльных алгоритмов.
 

darow

Специалист
Регистрация
12.02.2013
Сообщения
1,642
Реакции
195
Поинты
0.000
90% этих ботов выбрасываются в мусорку на первом шаге. Нет +МО в тестере.)))

Поэтому и у большинства программистов нет совов, потому что нет прибыльных алгоритмов.


Ну в общем вопрос темы считаю решенным на 99%) всем спасибо.
 
Последнее редактирование:

PIRANHAfx

ТОП-МАСТЕР
Регистрация
12.03.2014
Сообщения
5,528
Реакции
2,983
Поинты
11.270
Ну в общем вопрос темы считаю решенным на 99%) всем спасибо.

А что тут решено?

Все верно, минимум 90% всех идей убыточны на дистанции, если бы было иначе миллионеров было бы эдак в 100 раз больше.:wink2:
 
Сверху Снизу