Описание: В дневнике буду излагать ход создания советника, тестирование различных стратегий с помощью него и различные рассуждения по этому поводу. Отзывы и мнения участников форума будут учитываться в работе.
Правила стратегии для покупок: Классич. ТА
Правила стратегии для продаж: Классич. ТА
Торговые инструменты: все спекулятивные, доступные на платформе
Время торговли: круглосуточно, на открытии баров
Мани менеджмент: консервативный до умеренного
Цель: Создание советника для тестирования и отбора стратегий, основанных на классическом ТА.
Требования к советнику:
Тут моя упрощенная классификация
Классификация советников:
По частоте сделок
Среднесрочники – работают по барам
Скальперы - обычно работают по тикам или низшим барам
По алгоритму получения сигнала
Индикаторные – при наличии минимально-необходимой глубины истории показания не зависят от прошлого
Аналитические – показания зависят от прошлых выводов советника, значит зависят от глубины истории
По использованию мат. статистических методов
Сетки, Мартышки – используют
Классическая тактика – 1 сигнал = 1 сделка
По платформе
МТ4, 5
И др.…
По программной реализации на МТ4,5
С ООП
Без ООП
Требования к разрабатываемому советнику
Классификация (см.выше) Среднесрочник, Аналитический, Классическая, с ООП, МТ4 или 5-?
Цель:
Доход 80-150% /год. Макс просадка 30-40%.
ТФ анализируемый от 1 Неделя до 1 Час.
Кол-во сделок около Принятие решений на основе:
Классич.ТА: трендовый анализ, свечные паттерны, волновые паттерны, индикаторы
Технические Требования:
- универсальность-шаблонность кода, для облегчения создания множества разных ТС (портфелей ТС) на основе, а также для переноса в другие С-родственные платформы,
- оптимальность алгоритма – быстродействие,
- система логирования для последующего анализа работы,
- отсутствие предпосылок для ловушек оптимизации (слишком большое кол-во параметров, высокая корреляция пар-ров и …?).
... Что-то ещё забыл)
Мысли по оптимизации:
Оптимизация для средне- и долгосрочника. мысли на основании изученного материала.
1. нет необходимости опт-ции по тикам. Если принятие решений идет по барам (или временным отрезкам вне-зависимости от ТФ)
В некоторых случаях надо по контр.точкам для более точного сопровождения позиций. В остальных можно по ценам открытия.
2. По принципу устойчивости ТС к изменению параметров. Это позволяет отбраковывать плохие системы быстро – прогоняя полную опт-цию с широким шагом – если приемлемые/лучшие показатели лишь в одном диапазоне пар-ра, а в соседних значениях они сравнимы с худшими – в брак.
3. Много писано про опасность подгонки (кстати это может быть видно и если в кластере лучших рез-тов значения каких-то параметров сильно разбросаны) особенно это актуально для ТС с небольшим кол-вом сделок, т.к. мала выборка. Думаю имеет значение длительность периодов опт-ции и форварда, не должен форвард быть сильно меньше.
Интересна технология пошаговой оптимизации Walk forward optimization.
Еще думаю можно так- оптимизировать отдельно по трём разным годам (периоду с достаточной выборкой) и сравнить результаты – если пар-ры сильно отличаются, то ТС неустойчива и оптимизация по бОльшему периоду смысла не имеет.
4. Учёт коррелированности пар-ров может ускорить. Т.е. – если корреляция влияния двух пар-ров на результат мала, то первоначальную оптимизацию можно проводить только по одному. Т.о. если определить группы пар-ров с общей низкой корреляцией, то можно существенно ускорить оптимизацию. Пример: есть какие-либо пар-ры на вход, SL, TP.
Оптимизация SL при прочих равных суть – это нахождение золотой середины – при меньшем значении он будет срабатывать чаще, если сделка могла бы быть плюсовой, при большем уже нет сделок которые пошли обратно и растёт лишь убыток. Если прочие пар-ры еще не оптимальны, то изменение каждого будет давать изменение оптимального SL в обе стороны. К примеру по ТС мы TP «хотим» от 100 п., но не знаем насколько жадничать – 200-500. Прогоним оптимизацию их двух. Если в кластере рез-тов с макс.показателем их значения близки (не встречается сильно отличающихся, например TP и 100 и 500 п. )Так вот мы определили участок где эти пар-ры дают минимальные изменения друг на друга – низкокоррелированы. Можно смело ставить при оптимизации всех остальных параметров – только один из них, это снизит прогоны в разы. Примерно так и работает генетик, но если низкая корреляция пар-ров известна заранее, то можно ещё сэкономить. Минус- Сложнореализуемо (т.к. всё связано и полагаться приходится на неточные предположения ну и опыт), заморачиваться имеет смысл при очень больших объемах расчётов – более актуально для скальперских ТС.
Доп. инфо: В качестве платформы для создания советника выбор пал на МетаТрейдер, по причине простоты освоения языка и распространенности для тестирования на счетах (также потому что для данной стратегии минусы платформ незначительны). Думаю ещё только над тем, сразу под МТ5 писать или МТ4. МТ5 чуть дольше доосвоить язык, но есть свои плюсы при тестировании, минусов вроде больше нет. Кто что посоветует?
