Значит, так — оптимизирую параметры стратегии.
Бек-тесты. Пока есть оптимизм относительно лишь двух инструментов: EUR/USD & USD/JPY.
То, что не видно на картинках:
одна сделка в рынке
длительность от 6 до 21 часа
стоп-лосс и тейк-профит есть для каждой сделки в пределах 100 пунктов
Форвард-тест за год:
В этом году начал торговать по этим системам на реале, но пока мало сделок.
К чему вообще пишу, кроме создания некоего пиара.
На этом сайте встречал интересные мысли в ходе обсуждения таких вопросов как «подгонка», «оптимизация», «машинное обучение».
Вот как-то так машины дробят пространство векторов. Деревья решений делят пространство многомерными прямоугольниками, причем количество конечных нодов прямо указывает на количество полученных (непересекающихся) подпространств, где доля успехов достаточно велика для нашей задачи.
Если данные делятся косой линией, дерево будет работать плохо, но SVM справится лучше: проведет многомерную плоскость под любым углом.
Комитеты моделей (Леса решений и т.п.) справляются с задачей лучше.
Множество наложенных прямоугольников позволяют аппроксимировать сложные формы.
Так вот, мы пытаемся отделить в своих стратегиях состояния рынка, в которых наши торговые приказы генерируют положительное МО.
С тестером стратегий, который встроен в платформы, например, в МетаТрейдер, мат.часть не менее интересна и сбрасывать такой подход со счетом было бы не оптимально.
Возьмем конкретно результат бектеста по моей стратегии.
У меня генератор сигналов на buy & sell использует зеркально похожие значения, только с разным знаком. Соответственно, на двумерной поверхности получается так:
Но что же за измерения использованы здесь?
Нужно понимать, что любой кусок графика котировочного процесса находится в бесконечномерном пространстве.
Выбор конкретных измерений для эксперимента — задача, лежащая целиком на плечах аналитика.
Но это не отменяет возможность поручить машине сделать некую черновую работу. Что имеется в виду?
Аналитик может подготовить множество возможных измерений, которые, по его мнению, окажутся полезными (информативными для целевой переменной). В моем случае, к примеру, я взял глубину лага для оценки ценовых разниц. Но так как я не обладаю сакральным знанием о том, какой лаг окажется наиболее информативным, машина пробует их все.
Допустим, по оси х на рисунке лежит лаговое значение от 1 до 1000 минут, а по оси у — пороговое значение price return на выбранном лаге, пробитие которого приведет к приказу на покупку (и зеркально — на продажу).
Понятно, что если бы я выбрал две другие переменные, то локация прямоугольников стала бы совершенно другой.
Возможен случай, когда выборк измерений приведет к тому, что в любой локации плотность успехов будет одинакова плоха. То есть информационная нагруженность набора этих измерений будет близка к нулю.
Отмечу, что, несмотря на перебор большого количества возможных измерений, стратегия будет построена на весьма ограниченном наборе. У меня это 8 важных и еще 2 менее важных переменных (измерений).
Вернемся к тестеру стратегий для перебора параметров и сравним его с деревом.
Отличие самое важное одно: моя стратегия это единственный терминальный нод (прямоугольник), в котором достаточно много сделок.
Дерево решений и ансамбли на его основе создают много терминальных нодов, которые «упаковывают» точки в k измерений из n возможных. Например, n может быть равно 200, а терминальный нод №10 использует k = 5 измерениям. Но при этом K большое — общее количество задействованных измерений во всех ветвях дерева также будет много меньше 200.
Также, есть второе важное отличие, например, деревьев, и оптимизатора стратегий на основе ГА. Дерево — жадный алгоритм, приводящий всегда к одному и тому же результату, не всегда оптимальному. ГА может привести к разным результатам, при этом перебрав несколько субоптимальных.
В свете этих соображений хочу резюмировать, что метод оптимизации стратегий перебором параметров имеет место под солнцем. Принципиальные методологические его отличия от других методов машинного обучения не делают его чем-то принципиально худшим.
Важен дизайн эксперимента: количество данных, разбиение выборки на части и проверка вне выборки. И т.д. по списку.
Количество измерений в финальной модели должно быть просто сокращено до «разумного» списка. Незначимые можно удалить, чтобы не создавать воздушных замков.
Спасиб. Я торгую в реале на ПАММ счете и с детальнейшим мониторингом. Как наберется 100 сделок (через примерно полгода) я выложу ссылки.
потом скажу. )
спс за улыбку.
На реале вообще может на быть. Тестировать надо, как здесь уже совершенно справедливо писали, по всем тикам.
Напоминает советник 4indi.
Все остальное тоже абсолютно не понял, что имелось ввиду.
Многие индикаторы в mql уже имеются в виде готовых функций. Их достаточно типовыми командами вставить в код и подобрать параметры при оптимизации.
Посчитайте внимательно, арифметика рулит. Тест постоянным лотом. Умножаем максимальную просадка на 2. Это будет расчетный начальный депозит с заложенным буфером под бОльшую просадку. Поделитесь чистую прибыль на расчетный начальный депозит. Поделите на 15 лет. Получите около 50% в год.
Вы, я так понял посмотрели на мой указанный в тесте начальный депозит и сделали все выводы. А если я люблю оптимизировать с депозитом 1 миллиард? В общем, депозит или торгуемый объем подбирается с учетом максимального допустимого риска.
А слово биржа — сладкое томление в предвкушении больших денег. )
А все самое крутое и интересное уже давным давно обсосано на
forum.mql4.com/ru.
//***************
Я и сам оттуда. Просто пытаюсь понять, есть ли здесь интересная аудитория.
Почему так считаете? Есть ли признаки какие-то рандомности?
Я реально хочу чему-то научиться. Просто сам я не могу дать финальной оценки своей системы без хотя бы годового реал-тестирования. А вы видите рандомность. Как?
Коллега, боюсь огорчить вас. Статистика с вами не согласна.
Смотрите мой первый скриншот. У меня средняя сделка убыточная и прибыльная равны 50 (пунктам). Соответственно, я перебиваю спред и зарабатываю на перекосе вероятности 56.07%.
Что такое случайная система? Бросаем монету и случайно входим с тейком/стопом равным 50 пунткам. Даже без учета того, что есть некий спред, давайте прикинем точно, какие шансы есть у случайной системы сгенерить мат.ожидание как у меня или лучше.
Смотрим код на R:
Прокомментирую. Я пользуюсь биномиальным распределением (вики в помощь), чтобы посчитать вероятность того, что при априорной вероятности успеха 50% (без учета спреда), система за 1327 сделок сделает 744 прибыльных (0,5607).
Вот это число — p-value = 5.480382e-06 (0.0000055) — вероятность такого события (744 или больше успехов) или, если говорить о шансах, то это будет 1 к 182,469.
А если мы еще приблизимся к реальности, и возьмем, что априорная вероятность достичь тейк-профита с учетом спреда случайной системы = 49%, то тут вообще карнавал:
Переводя в шансы, 1 к 6,733,526.
Так что, ваши слова весьма далеки от истины. Надо подтянуть матчасть.
Про остальное — почитаю, спасибо.
Аа, пардон, это я пропустил. Прошу прощения.
Я и не говорю, что это финальное доказательство — мой форвард. Какова будет мощность у теста для такого небольшого количества наблюдений? Предположу, что низкая.
Форвард будет продолжен.
Вы лучше выскажитесь о бек-тесте.
Вы в своем блоге, который я с интересом читаю, ведь пишите о прогоне на тесте?
А с форвад-показателями я сам прекрасно разберусь. Чо там — тупо статистика.
Понял вашу мысль, Коллега. И подход ваш понял. Хорошо, согласен. Наподгонять можно и правда сильно.
Вот, думаю, можно ли для двунаправленных сделок такой стат.тест провернуть на форворде.
Алготрейдеров мало.
//*************
По тесту ни чего не могу сказать пока что. Закономерность, скорее всего, есть.А вот будет работать за пределами тестера — не ясно.
Пара дополнительных вопросов.
1). 1 тест — так понимаю, пятизнак, тест проводился постоянным лотом =1 1usd MO=1п ?
2) Стратегия использует входы «по рынку» (в данном случае на открытии бара), либо отложенные ордера?
Похожий результат в тестере дают по парам EUR/USD & USD/JPY пробойные стратегии. Например, на кажой вершине зиг-заг кидаешь стоп ордер, при СЛ=ТП — получаешь похожий на Ваш результат. Но, на реале из-за проскальзываний не будет работать в +.
Да. Я также думаю. Когда делаю подбор параметров, я сначала беру 7 лет последних, включая кризис 8-ого года. Если подобрать с 2009-го года, то на кризисе почти всегда жуткое падение.
Так вот, оставшиеся 7 лет до периода оптимизации использовал для backward-теста. В моих стратегиях там было красиво, росло довольно ровно.
Потом беру все 14 лет и дошлифовываю.
Далее остается лишь реальный форвард.
Пятизнак. Спред 30 = 0,00030. Лот 0.1, соответственно USD1.00 = 0.00010. Мат.ожидание 64 пипетки (6 старых пунктов). Все сделано для того, чтобы заложиться на случай проскальзываний.
Входы отложенными ордерами, но не stop, а limit.
Стратегия на возврат тренда после микро-отката.
Про стоповую — пробойную — стратегию тоже знаю, но без зигзага.
Ну, в остальном, надеюсь, бронебойности хватит для реала. Сейчас реальные спреды по EUR/USD 10-20 пипеток, проскальзывания, правда, могут быть.
//******************
EUR/USD*USD/JPY =EUR/JPY
Пробовали ли применить данную стратегию к EUR/JPY?
EurJpy — Да). Этот инструмент показывает те же закономерности. Экспериментирую на нем.
Про показатель подогноннасти считаю вопрос открытым. Для себя лично я его решаю только проверкой на отделенных по времени частях временного ряда, и на реальном тестировании, конечно. Но какие-то статистические замечания по имеющимся бек-тестам было бы интересно послушать, но видно не судьба.
Спасибо.