Как написать робастного эксперта - страница 2

 

Как насчет технической неубиваемости эксперта вне рамок торговой стратегии?

Большинство торговых роботов вообще не имеют блоков обработки торговых ошибок.


 
C-4:
Исправил своим первым постом в этой ветке.

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

Наверное, технические аспекты в этой теме будут неинтересны, поэтому 6 7 8 9 не интересны.

Предлагаю отдельно остановиться на (1) и (4 5) и (3)

Причем (1) это оочень широко.

Rosh:

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

Вот пример чистого (1) -- http://www.comon.ru/user/Mikola/blog/post.aspx?index1=22733

- обоснование

- реализация

- проверка

Там конечно своя специфика, но в качестве начального примера подойдет.

Renat:

Как насчет технической неубиваемости эксперта вне рамок торговой стратегии?

Большинство торговых роботов вообще не имеют блоков обработки торговых ошибок.

Есть мнение, что робастный эксперт даже с ошибками (не в основной логике конечно же) будет работать в прибыль :)
Фрактальный индикатор силы рынка
Фрактальный индикатор силы рынка
  • 2010.10.25
  • www.comon.ru
Для принятия решений об операциях на реальном счете я использую фрактальный индикатор силы рынка. Конечную формулу в этой публикации я выписывать не буду, поскольку она «трехэтажная», да и методика еще не закончена в том виде, в котором мне мы бы хотелось. Здесь будут описаны основные ход мысли, использованный при построении, принципы...
 
TheXpert:

Есть мнение, что робастный эксперт даже с ошибками (не в основной логике конечно же) будет работать в прибыль :)

Пару ошибок исполнения на нормальной долгосрочке (речь о пипсовке не идет) и такое мнение будет по большим вопросом.

Вопрос - у многих ли результаты тестов сохраняются(более-менее совпадают) в обычном и Random delay режимах?



 

Напишу общие слова.

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

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

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

Процесс построения ТС сводится к попытке найти более совершенные фильтры от рыночного шума.

При поиске ТС способной игнорировать рыночный шум я не использую TP, SL, ММ и подобные штуки. Это все прикручиваю позже для увеличения доходности. На стабильность, как я выяснил для себя, это все не влияет, но может создавать видимость стабильности. 
 

 
Renat:

Вопрос - у многих ли результаты тестов сохраняются(более-менее совпадают) в обычном и Random delay режимах?

Разница не большая. На EURUSD при депозите 10000, за пол года и доходности 30-40% разница 2-3$. Самое большое, что замечал долларов 10. На разных ТС количество сделок от 30 до 100.
Документация по MQL5: Торговые функции / HistoryDealsTotal
Документация по MQL5: Торговые функции / HistoryDealsTotal
  • www.mql5.com
Торговые функции / HistoryDealsTotal - Документация по MQL5
 
Renat:

Как насчет технической неубиваемости эксперта вне рамок торговой стратегии?

Большинство торговых роботов вообще не имеют блоков обработки торговых ошибок.

Да, к робастности это имеет прямое отношение, иначе эксперт не сможет воспроизвести ТС в реальных условиях. 
 

Многие пытаются обсуждать какой должна быть стратегия, а это вопрос второстепенный, ибо стратегии могут быть самыми разными. "Знать новостной фон, слухи, ***" - всё это хорошо, но для интрадей-стратегий чаще всего не обязательно знать даже время выхода новостей (пусть начинают пинать теоретики).

Мои "постулаты" для создания робастого советника: 

1. Главное - стратегия должна быть рабочей. Рабочая стратегия будет работать на любом рынке, хоть и с разной степенью профитности. Чтобы это обеспечить она должна быть проверена на разных типах рынков.

2. В стратегии не должно быть места неформализуемым элементам. ЛЮБОЙ элемент должен быть формализуем хотя бы сложными математическими приёмами. Если элемент не формализуется - не используем, пытаемся обойтись без него, а если не получается - для советника разрабатываем ДРУГУЮ стратегию.

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

4. Программист должен овладеть этой стратегией ДО написания кода или очень тщательно выполнять указания автора стратегии (обычно программистов "сносит", начинают вкраплять что-то своё).

Идеал - когда трейдер и программист одно лицо. Иначе может быть убита самая хорошая ТС.  

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

 PS: насчет технической "неубиваемости" ничего не пишу, ибо считаю, что это входит в понятие "опытный программист" + надеюсь, что в МТ5 эту проблему смогут помочь эффективно решить готовые блоки защиты от торговых ошибок, сетевых сбоев и т.д. и т.п., профессионально выполненные разработчиками терминала или под их контролем    

 
TheXpert:

Ни на чуть, это только обозначение тем. 

Человек обозначил общие правила для создания сигналов. Разумеется частных примеров можно множество рассмотреть.  
 

Если всё-таки согласится с классиками (Доу в частности), а именно:

1. История повторяется ;

2. График отражает всё (достаточен только теханализ);

3. Всегда есть тренды.

   И я с этим согласен. Плюс современные технологии (компьютерная оптимизация и тестирование истории). По поводу чисто случайного процесса - не согласен. Проверяем следующим образом. Возьмём советник с небольшим количеством оптимизирумых параметров и прогонов соответственно (ну там не более 100). Запускваем бэк+ фарвард - анализ. И смотрим сколько среди положительных бэков будет положителных фарвардов (и соответственно наоборот) . Увидим явную корреляцию - на положителные бэки будет всё-таки больше положительных фарвардов и наоборот. Этот простой эксперимент даёт надежду, что можно создать систему, когда на исторических данных мы её "обучаем", а на будующих данных получим прибыль.

  Посему советники можно делать не мудрёными. Главный блок - это поиск трендов. Мне нравиться их искать с помощью простых индикаторов типа Accelerator на больших свечах (W1, D1) . И блок откатов на рабочем таймфрейме. Можно использовать Осцилляторы или Band. С этой задачей вполне справиться Визард. Я считаю что главное в создании прибыльной системы - это не нахождение некого крутого алгоритма извлечения прибыли из рынка (Грааль), а построение Системы советников, которые каждый в отдельности получают небольшую и возможно не очень устойчивую прибыль, но вместе дают хорошую кривую баланса.

  Никаких закономерностей рынка искать не надо - все эти закономерности есть на графике - это тренды и флэты. Мы эти закономерности неявно выявляем методом подбора совокупности индикаторов и проверкой их в тестере. Если удаётся без оптимизации протестировать советник на нескольких годах истории и получить прибыль - похоже, что закономерности пойманы. Ещё лучше если советник даёт прибыль и по нескольким инструментам. Дополнительную уверенность даст метод  "покачать" парметрами(если советник не испортится). Далее фарвард-анализ по 3-5 последним годам. На его основе получим макимальный провал. По провалу получим величину депозита (2-3 провала на любителя) . Тут же увидим длину (по времени) убыточного периода. Теперь на демо-счёте в OnLine тестируем советник по времени более максимального убыточного периода. Теперь на реал с миниальной величиной лота и  т.д. Параллелно разрабатываем новую Систему советников. Как только первая ситема советников начнёт плохо настраиваться под историю (не проходит фарвард) у вас уже должна быть готова новая система. И так всё время. То есть нельзя создать систему на вечные времена.

  Таким образом трйдер должен непрерывно разрабатывать новые ситемы советников с учётом новых возможностей и технологий и изменений рынка. Для этого ему нужен качественный инструментарий (например МТ5) . И главное в этом иструментарии  должно быть не столько мощный и гибкий язык программирования (MQL5) , сколько средства быстрого построения разнообразных торговых стратегий (Визард) , тестирования стратегий (Тестер), хранения и анализа полученных результатов (специализированная СУБД) .

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

 

   

 
Erm955:

Если всё-таки согласится с классиками (Доу в частности)  

Я согласен с написанным вами (и с Доу :) ) на 99.99%,

но это о создании ТС (ну еще о методах оптимизации), а не о создании робастого советника. 

 

Согласитесь, хороших стратегий немало, в т.ч. и НЕНАВОРОЧЕНЫХ, а робастых советников по ним несоизмеримо меньше, хотя большинство из этих ТС пытались положить на код целые армии программистов.