Будет ли хорошая стратегия работать на случайно сгенерированных данных? - страница 13

 
Maxim Kuznetsov #:

для устойчивой оптимизаций стратегий стоит писать отдельный робот. Со своими требованиями и отдельным ТЗ, которые можно обсудить

1. никакого ММ, общая оценка только в пунктах

2. отрабатываются все сигналы от сигнальной части. Без ограничений на кол-во или встречность позиций

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

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

5. сигналы можно записать, сдвинуть по времени плюс-минус минуты/секунды/тики/бары (все вместе или рандомно) и прогонять снова. Результат не должен кардинально меняться

6*) к сигнальной части даже более относится - эмуляция 4-х знаков на 5-ти значных котировках. Стратегия работающая на 5-ти, но не в зуб ногой на 4-х это странно, это надо отсеивать :-)

Это ВАША стратегия?...

Почти по каждому пункту есть вопросы, которые Вам не понравятся...

Но это Ваше решение...  И если Вас оно устраивает, то не буду вмешиваться...

 
Maxim Kuznetsov #:

а с часовым поясом там всё нормально ?

совпадает у RF и MQ ??

Кстати, да. Где-то год назад сравнивал/выравнивал котировки для кастомного символа по часовым поясам MQ и какого-то другого ДЦ. Различия были. Клеят данные видимо из разных источников и иногда бывает ровно, а иногда бывают смещения 1-2 часа в основном, но кажется и на 4 часа даже было. Деталей уже не помню.

 
Maxim Kuznetsov #:

когда всё верно, то правило про отклонение ~sqrt(V) очень чётко соблюдается. Можно прямо параболы строить, учитывать в рисках и всё великолепно 

Почему бары должны быть пропорциональны тиковому объёму? Для биржевого трейдинга это совсем не обязательно.

И, я не понял, как это учитывать в рисках?

Расскажите подробней, как используете объёмы.

И, может есть смысл автоматизировать выявление кухни по Вашему описательному алгоритму? Я его до конца ещё не понял.

 
Ivan Butko #:
То есть, если цель - симуляция графика цены, то у нас появляются технические статистические закономерности

Т.е. число потенциальных статистических "закономерностей" зависит от числа каких либо внешних ограничений? К примеру у меня в коде ограничение на максимальную свечу 100 точек.

Ivan Butko #:
В итоге, имея одну техническую статистическую закономерность в виде средней волатильности, рабочая стратегия, которая "ждёт" лучшей цены или лучшего "паттерна", своей граальностью будет обязана одному фактору, на который редко обращают внимание - ожиданию. 

Но, тренд же случайно начинается и заканчивается... может есть что-то ещё, кроме статистических наблюдений?

Ivan Butko #:
Это, кстати, говорит о том, что можно нагенерировать огромное множество цен (датасет) для обучения нейросетей, не боясь, что сгенерированный график - это что-то плохое. Наоборот, НС должна будет учитывать все средние показатели и на их основе что-то искать. 

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

 
Maxim Kuznetsov #:

дело именно в этом. точнее и в этом тоже. ММ тем более, убрать нафик

ММ даёт одинаковые риски, т.е. фиксирует цену ошибки. Там изменился заметно процент прибыльных сделок.

Maxim Kuznetsov #:

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

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

Maxim Kuznetsov #:

может вместо моментальных открытий/закрытий стоит сделать открытия/закрытия в течении времени равными частями.

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

Maxim Kuznetsov #:

надо заставить оптимизатор не обращать внимание на мелочи, "размазать" всё моментальное и/или точечное.

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

Maxim Kuznetsov #:

сигналы должны быть устойчивыми и не меняться существенно при изменении параметров +-3-5%. 

Это что за проценты? Относительно цены или чего? В любом случае наличие границ даёт шанс попасть за их приделы.

Maxim Kuznetsov #:

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

Так я об этом и пишу :)))

Вопрос в другом, что с этим делать. Какую эффективную стратегию для борьбы выбрать.

 
Maxim Kuznetsov #:

для устойчивой оптимизаций стратегий стоит писать отдельный робот. Со своими требованиями и отдельным ТЗ, которые можно обсудить

Думаю, надо делать изменение символа и тестировать на нём. В целом идеи правильными нахожу. Кроме усреднения - думаю, лучше использовать задержку на сигнал или уж двигать уровень...

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

Генерировать десяток чартов и проверять каждый нюанс изменения стратегии на них последовательно.

 
Serqey Nikitin #:

Это ВАША стратегия?...

Почти по каждому пункту есть вопросы, которые Вам не понравятся...

Но это Ваше решение...  И если Вас оно устраивает, то не буду вмешиваться...

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

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

иначе получается озвученная выше ситуация: оптимизировалось на данных одного DC, а на данных другого DC всё слилось. 

 
Aleksey Vyazmikin #:

ММ даёт одинаковые риски, т.е. фиксирует цену ошибки. Там изменился заметно процент прибыльных сделок.

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

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

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

Это что за проценты? Относительно цены или чего? В любом случае наличие границ даёт шанс попасть за их приделы.

Так я об этом и пишу :)))

Вопрос в другом, что с этим делать. Какую эффективную стратегию для борьбы выбрать.

относительно MM: в оптимизации считать только пункты или использовать фиксированный лот. Без малейших исключений.  Если робот льёт по пунктам, то он льёт вообще :-) Если какие-то сигналы/входы имеют высокий риск, а какие-то менее,то рассматриваются и оптимизируются они отдельно, а не объединяются через MM

усреднения в данном случае служат двум целям: 1) придавить точность входа. 2) слегка эмулировать реальность. В реальной жизни робот пропускает тики и открывает не сразу, запущенные на разных DC откроют/закроют не одновременно и чуть по разным ценам. Если при оптимизации слегка усреднять (например по 1/5 в течении 5-ти тиков) то итог более правильный.

проценты это про вектор параметров. Например результат оптимизации period_sma=100 take_profit=200. Значит при period_sma=100+-X% take_profit=200+-Y% должен быть схожий положительный результат с единственным пологим максимумом. Плато

 

кстати, из практики про торговлю от уровней/линий: 

- для каждого типа уровней в роботах делаю параметр level_precision в пунктах. Образно - сигнальная линия получает толщину и сигнал срабатывает при level+-level_precision*_Point. Чем "дальше" линия тем больше значение level_precision

- открываю "виртуальной лимиткой" по цене не хуже сигнала. То есть опция ордеров slippage 0, если цена хуже сигнальной или при открытии получена ошибка то переповтор на следующем тике. Сам по себе процесс открытия может занимать существенное время. 

 
Maxim Kuznetsov #:

для устойчивой оптимизаций стратегий стоит писать отдельный робот. Со своими требованиями и отдельным ТЗ, которые можно обсудить

1. никакого ММ, общая оценка только в пунктах

2. отрабатываются все сигналы от сигнальной части. Без ограничений на кол-во или встречность позиций

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

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

5. сигналы можно записать, сдвинуть по времени плюс-минус минуты/секунды/тики/бары (все вместе или рандомно) и прогонять снова. Результат не должен кардинально меняться

6*) к сигнальной части даже более относится - эмуляция 4-х знаков на 5-ти значных котировках. Стратегия работающая на 5-ти, но не в зуб ногой на 4-х это странно, это надо отсеивать :-)

ещё пара пунктов. Должны быть возможности:

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

- исключать из результатов TOP-10 самых удачных сделок.