воскресенье, 15 мая 2016 г.

SWT-робот. Закончена корректировка терминов и ассортимента параметров робота



Сегодня завершил финишную правку программы торгового робота. Все возможные изменения и настройки режимов теперь можно осуществлять с помощью настраиваемых параметров, не влезая внутрь программного кода. Главное не запутаться самому и не запутать робота.
Впрочем выход простой - работать в режиме установок по умолчанию, если дополнительные опции не нужны или если пользователь не знает, зачем они.
Названия параметров приведены в соответствие с действиями, выполняемых программой.
В процессе этой  технической работы также немного расширен функционал робота в настройке режимов краткосрочного и среднесрочного трендов, а именно:
- добавлена возможность включения "мягкого" режима фильтрации, когда вместо признака направленного тренда используется признак снижения (роста) и по тренду и по коррекции;
- введена возможность выбора объединения признаков краткосрочного и среднесрочного трендов по ИЛИ (OR) и по И (AND).
Для фильтров локального тренда, кроме фильтра внутридневного тренда, введены следующие опции:
- фильтрация для всех сделок;
- фильтрация только до первой сделки, потом фильтры отключаются;
- первая сделка открывается без фильтров, все последующие с учетом фильтров.
Эти варианты обеспечивают большую гибкость в плане контроля рисков.



Назначение параметров следующее:
- LotsForManualMM - размер лота для торговли фиксированным объемом без AutoMM;
- AutoMM - параметр выбора режима автоматического определения размера (объема) позиции, значение true соответствует автоматическому определению размера позиции, значение false - ручной выбор размера позиции, задаваемый параметром LotsForManualMM;
- RiskPercForTradeAutoMM - процент риска на сделку при AutoMM=true. Если заданный размер или рассчитанный лота меньше допустимого в торговом терминале, то в советнике автоматически устанавливается минимально допустимый размер лота;
- MaxNumberOrdersInMarket - максимальное количество ордеров в рынке по инструменту;
- TotalRiskLimitPerc - максимальный общий риск в процентах по всему портфелю торгуемых инструментов;
- TrailingStopAdaptive - включение/выключение режима адаптивного трейлинг-стопа. Адаптивный трейлинг-стоп включается на режиме коррекционного движения по торгуемому тренду;
- TrailingStopManualSize - размер трейлинг-стопа, задаваемого вручную. Активен, если TrailingStopAdaptive выключен. При значении 0 - ручной трейлинг стоп отсутствует. Если значение больше 0, но меньше минимально допустимого в торговом терминале, то устанавливается минимально допустимое + 5пп;
- Long - торгуем/не торгуем лонг;
- Short - торгуем/не торгуем шорт;
- OnlyOpen - при включенном режиме позиции только открываются и сопровождаются трейлинг-стопом. Закрытие позиций происходит только по достижению уровней ордеров стоп-лосс и тейк-профит;
- CloseManualPosByExpert - возможность закрытия экспертом позиций, ранее открытых или открываемых вручную. Пользоваться с осторожностью, поскольку открытие позиции против тренда, торгуемого роботом, приведет к закрытию позиции сразу же после открытия;
- Filtr_IDayTrend - при параметре true для открытия позиции принимаются во внимание только сигналы в направлении внутридневного тренда;
FiltrLocalTrendStart - при значении true параметр используется для блокировки входа на развороте локального тренда если сумма всех волн на графике М15 находится за пределами 0.7071 от границ канала волатильности (пунктирный канала на диаграмме волн). Сделки в направлении продолжения тренда открываются без ограничений;
FiltrDirectedLocalTrend - при значении true сделки открываются только в фазе направленного тренда и не открываются в фазе коррекционного движения рынка по локальному тренду;
- FiltrLocalTrendEnd - при значении true параметр блокирует открытие сделок в направлении локального тренда: если волна четвертого уровня графика М15 больше 0.7071 (меньше -0.7071) границы канала волатильности на диаграмме волн. Сделки в противоположном направлении открываются без ограничений;
FilteringOnlyFirstTrade - при значении true фильтрация производится только для первой сделки по инструменту, при наличии хотя бы одной открытой позиции дальнейшая фильтрация не производится. Первая открытая позиция по инструменту дает зеленый свет всем последующим без учета фильтров локального тренда;
FilteringExeptFirstTrade - если есть риск пропустить движение, то при значении параметра true фильтрация для первой сделки по инструменту не производится. Остальные позиции по инструменту открываются с учетом параметров фильтров локального тренда. Чтобы исключить конфликтную ситуацию в программе советника состояние, при котором оба параметра FilteringOnlyFirstTrade и FilteringExeptFirstTrade имеют значения true, эквивалентно состоянию, когда оба параметра имеют значение false, т.е. когда фильтрация по этим параметрам отключена;.
- SwitchToSignalSUMM - при значении true для формирования торгового сигнала используется не пересечение нулевой линии волной второго уровня графика М1, а пересечение нулевой линии суммой всех волн графика М1;
- AggressiveMode - в режиме агрессивной торговли риск на позицию и количество открываемых сделок умножаются на величину AModeFactor на интервале направленного тренда;
SwitchToShortTrend - переключение в режим краткосрочного тренда;
SwitchToMediumTrend - переключение в режим среднесрочного тренда.Режим среднесрочного тренда рекомендуется использовать совместно с режимом краткосрочного тренда;
MajorTrendsSwitchToSoftMode - переключение режима фильтрации по краткосрочному и среднесрочному тренду с "жесткого" режима направленного тренда на "мягкий" режим фильтрации, когда вместо признака направленного тренда используется признак снижения (роста) и по тренду и по коррекции;
MajorTrendsSwitchFromOrToAndMode - переключение режима объединения признаков краткосрочного и среднесрочного трендов по ИЛИ (OR) на режим по И (AND);
LeverageLimits - задается предельный размер кредитного плеча, в рамках которого советник может открывать позиции. Если заданный размер кредитного плеча больше плеча, предоставленного брокером, то действуют ограничения по кредитному плечу брокера. Например, плечо у брокера 1:500, а вы можете установить 1:25 и советники не будут открывать новые позиции, если набран объем, соответствующий кредитному плечу 1:25. Это впрочем не препятствует ручной догрузке счета;
- Magic - мэджик-идентификатор для селекции позиций, открытых советниками SWT-метода. Значение по умолчанию 112358 - одинаковое для всех типов советников. Селекция позиций при их обработке экспертом производится по символу и мэджик-идентификатору. При желании трейдер может задавать свои значения идентификатора для работы различных версий советника с различными параметрами.

Недельку-другую погоняю в тестовом режиме. Может что-то где-то отредактирую чисто по стилю, не затрагивая структуры программы.

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

Удачи!!!


Комментариев нет:

Отправить комментарий