Статья хорошая, но первоначальная идея всё же несколько иная. Т.е. не читать с конца, а сделать наоборот. Как по результатам найти оптимальные условия входов или выходов. Вроде этого. Сейчас же в тестере может наложиться хороший вход на плохой выход и общий результат будет плохой. В этом случае высока вероятность того, что хороший вход просто будет отсеян в мусор. То же самое с выходами. Подход чисто практический, цели тоже.
Коллеги, как-то недавно после тестирования очередной программы посетила меня идея. А не попробовать ли разработать методику раздельного тестирования качества входов и выходов. Уж очень они друг на друга влияют в общей программе. Например, проанализировать, на сколько цена прошла в нужном направлении, сколько потребовалось времени на это и т.п. То же попробовать сделать с выходами. Без открытия позиций. Анализировать только условия. Иначе постоянно решаем уравнение с двумя неизвестными.
Вопрос вот в чём: может кто-то уже этим занимался, и есть наработки и опыт?
Поделитесь, если можно.
Написать индюк, заглядывающий вперед на n-е количество баров (естественно речь идет об анализе истории!!!!!!) и логировавть его и твои входы, а потом анализировать "это" "как-то". Сам индюк, например, максимальный High и/или минимальный Low минус "Цена входа" (можно еще "виртуальную просадку" оценивать/выводить и т.п.). Но тут появятся дополнительные неизвестные - число баров вперед.
Да и с анализом вопрос - кто в чем сведущ и насколько "это" будет работать в будущем.
В идеале получилось БЫ отсеять "всегда не оптимальные входы" и "не замахиваться на несбыточные TP"
С тестирование качества выходов - для меня сложнее - не могу уложить в своей голове алгоритм оценки. Что-то типа аналог предыдущего, но на n-баров вперед "флэт".
Скажу сразу - у меня пока не получилось получить "промышленную систему" на этом принципе.
ЗЫ. Если сделки в тестере не совпадают со сделками на реале (мало ли), то можно независимо выводить "сигналы на вход" с реальной торговли и "индикатор" в разные файлы, а потом join'ить их во внешнем SQL-сервере.
Для тестирования входов я применял такой подход. Выход делался заведомо запаздывающим. Например по времени. При закрытии ордера максимальный профит и максимальная просадка до максимального профита записывались в файл. Заодно записывалась и масса других данных (от времени профита/просадки до показаний индикаторов в момент открытия позиции и в те же моменты максимального профита/просадки, одним словом на что фантазии хватит). После чего пытался проанализировать эту прорву данных, без особых впрочем итоговых чудес :).
Для тестирования выходов в литературе предлагается использовать случайные входы.
Коллеги, как-то недавно после тестирования очередной программы посетила меня идея. А не попробовать ли разработать методику раздельного тестирования качества входов и выходов. Уж очень они друг на друга влияют в общей программе. Например, проанализировать, на сколько цена прошла в нужном направлении, сколько потребовалось времени на это и т.п. То же попробовать сделать с выходами. Без открытия позиций. Анализировать только условия. Иначе постоянно решаем уравнение с двумя неизвестными.
Вопрос вот в чём: может кто-то уже этим занимался, и есть наработки и опыт?
Поделитесь, если можно.
Качество входа зависит от того насколько точно система анализирует историю, а вот выход - это совсем другой вопрос.
В идеале позиция должна сопровождаться в каждый момент ее развития и соответственно регулироваться - доливаться, усредняться или сокращаться и закрываться. Сопровождение и выход из позиции - это и есть главная работа.
такой подход. в эсперте допускается неограниченное количество ордеров, выполняются открытия на всех точках входа.
Не совсем так. Не нужно вообще ордера открывать. Нужно просто фиксировать время и цену открытия, а потом анализировать до какого уровня добрался профит. Далее обработка, небольшое изменение условия и опять прогон. Просто, в принципе. Но сразу будет видна потенциальная прибыль.
С выходами действительно сложнее. Их можно оптимизировать только после оптимизации входов. Но то, что сейчас многие тестируют не входы-выходы, а ордера, я считаю в принципе неверным. Хотя, конечно, если открывать неограниченное количество ордеров и их отслеживать, то получается нормально. Только сложно и управлять ордерами и оценить правильно качество входов и выходов отдельно друг от друга. Всё же мне кажется, что лучше просто сначала прогнать условия входа. Сразу должно быть видно. Полученную статистику по профиту и другим параметрам уже можно обработать любыми статистическими методами. Тут только фантазия ограничивает.
Я, собственно, и интересовался теми параметрами, которые народ, возможно, и анализировал. Не одному же мне такая идея пришла в голову. Мне видится, что нужно анализировать максимальный профит за заданный интервал времени (не больше) до ухода в убыток. Остальное как-то не видится. Может, кто ещё что думает? Программу-то наваять несложно. Нужно придумать сначала.
цель оптимизации системы подающей сиганлы к открытию - максимум прибыли, минимум убытков. отрабатываем все точки входа, оптимизируем стоплосс и тейкпрофит и видим что из себя представляют сигналы - какую прибыль они могут взять не уходя в определенный стоплоссом убыток.
цель оптимизации системы подающей сиганлы к открытию - максимум прибыли, минимум убытков. отрабатываем все точки входа, оптимизируем стоплосс и тейкпрофит и видим что из себя представляют сигналы - какую прибыль они могут взять не уходя в определенный стоплоссом убыток.
Кто бы возражал :) Но я предлагаю отделить котлеты от мух. А именно, сначала отработать входы, а потом только выходы.
Например, делаем программу, в которой описываем условие входа. Задаём количество баров после срабатывания условия, в течение которых производится подсчёт прибыли. Далее фиксируем максимальную прибыль до окончания этих баров или ухода цены в убыток в файл для дальнейшей обработки. Прогоняем по истории. Определяемся, по какому критерию будем оптимизировать качество входов - по максимальной прибыли, минимуму убытков и т.д. Изменяем условие - проверяем результат. И так до получения приемлемых потенциальных результатов. Я подчёркиваю - потенциальных! И только после этого начинаем заниматься выходами. Для этого можно на основании полученных условий уже открывать ордера - это проще. Оптимизацию возможно вести по сравнению получаемых результатов с потенциальными.
В общем-то, всё. Вся идея.
Сейчас же все пытаются сразу оттестировать всё. И входы и выходы. При этом, мне кажется, далеко не просто выявить причину убытков или недостаточной эффективности программы, особенно, если есть ограничения на количество открываемых ордеров. Да, впрочем, ограничения всё равно будут - не от ДЦ, так от депозита. Поэтому программу с неограниченным количеством ордеров просто несерьёзно рассматирвать в качестве тестового образца.
Повторяю - сделать это очень просто. У меня, собственно, только один был вопрос к общественности: не занимался ли уже кто-то этим? Не люблю я делать то, что кто-то уже делал.
Может это поможет. Нужно иметь 5 разных алгоритмов (логик работы).
- Вход в бай.
- Выход из бай.
- Вход в селл.
- Выход из селл.
- Управляющий, при неоднозначной ситуации, выставление SL по фракталу (или еще как).
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Коллеги, как-то недавно после тестирования очередной программы посетила меня идея. А не попробовать ли разработать методику раздельного тестирования качества входов и выходов. Уж очень они друг на друга влияют в общей программе. Например, проанализировать, на сколько цена прошла в нужном направлении, сколько потребовалось времени на это и т.п. То же попробовать сделать с выходами. Без открытия позиций. Анализировать только условия. Иначе постоянно решаем уравнение с двумя неизвестными.
Вопрос вот в чём: может кто-то уже этим занимался, и есть наработки и опыт?
Поделитесь, если можно.