четверг, 24 августа 2017 г.

Робот. Параметры настройки финальной версии.

1. SWT-метод. Параметры настройки робота.

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

1.1. Список параметров и их назначение.

При сбрасывании робота на график торгуемого инструмента появляется диалоговое окно для настройки параметров.



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

Назначение параметров следующее.



1.1.1. Группа торговых сигналов

TheSignalsModeOption - выбор волны для формирования торгового сигнала. Значения параметра и тип волны: - 0 - сигнал формируется по волне второго уровня графика М1 - внутричасовой тренд;
- 1 - сигнал формируется по волне третьего уровня графика М1 - часовой тренд;
- 2 - сигнал формируется по волне четвертого уровня графика М1 - внутридневной тренд.
TheFirstTypeTradingSignal - при значении параметра true для формирования торгового сигнала используется пересечение сигнальной волной нулевой линии в направлении торгуемого тренда.
TheSecondTypeTradingSignal - при значении параметра true для формирования торгового сигнала используется разворот сигнальной волны второго уровня выше/ниже нулевой линии в направлении торговли. Использование режима целесообразно на сильных тренда, когда на откате волна второго уровня не заходит за нулевую линию.


1.1.2. Группа фильтрации сигналов и управления режимом торговли

FiltrIDayTrendOption - целое число от 0 до 2. При значении параметра 0 данный тренд при открытии позиций в расчет не принимается. При значении параметра 1 для открытия позиции принимаются во внимание только сигналы в направлении тренда. Значение параметра больше 1 блокирует открытие сделок в направлении тренда если волна четвертого уровня графика М1 больше/меньше границы канала волатильности на диаграмме волн (назначение - предотвратить вход в рынок в зоне возможного окончания импульса (свинга)). Сделки в противоположном направлении открываются без ограничений.
FiltrDailyTrend - при значении параметра true для открытия позиции принимаются во внимание только сигналы в направлении тренда.
FiltrLocalTrend  - при значении параметра true для открытия позиции принимаются во внимание только сигналы в направлении тренда.
FiltrShortTrend - при значении параметра true для открытия позиции принимаются во внимание только сигналы в направлении тренда.
FiltrMediumTrend - при значении параметра true для открытия позиции принимаются во внимание только сигналы в направлении тренда.
FiltrLongTrend - при значении параметра true для открытия позиции принимаются во внимание только сигналы в направлении тренда.
FiltrBasicTrend - при значении параметра true для открытия позиции принимаются во внимание только сигналы в направлении тренда.
TheAdaptibeMode - при значении параметра true не принимается во внимание направление коррекций по трендам старше внутридневного. На фильтр внутридневного тренда этот параметр не оказывает влияния.

1.1.3. Группа настройки параметров риска.

MaxNumberOrdersInMarket - максимальное количество ордеров в рынке по инструменту, открываемых советником по торговым сигналам. Ограничение не распространяется на позиции, открываемые сеточным алгоритмом.
LotsForManualMM - размер лота для торговли фиксированным объемом, задаваемым вручную, без AutoMM.
AutoMM - параметр выбора режима автоматического определения размера (объема) позиции. Значение true соответствует автоматическому определению размера позиции, значение false - ручной выбор размера позиции, задаваемый параметром LotsForManualMM.
RiskPercForTradeAutoMM - максимальный процент риска на сделку при AutoMM=true и размере стопа, задаваемого через параметры робота. При отсутствии стопа объем считается исходя из волатильности краткосрочного тренда (V240). Если заданный или рассчитанный размер лота меньше допустимого в торговом терминале, то в советнике автоматически устанавливается минимально допустимый размер лота. Если заданный или рассчитанный размер лота больше допустимого в торговом терминале, то в советнике автоматически устанавливается максимально допустимый размер лота.
TheSizeTakeProfitOption - размер ордера тейк-профит. Значения параметра и размер ордера:
0 - ордер тейк-профит не устанавливается;
1 - ордер тейк-профит равен волатильности часового тренда V01;
2 - ордер тейк-профит равен волатильности внутридневного тренда V05;
3 - ордер тейк-профит равен волатильности дневного тренда V15;
4 - ордер тейк-профит равен волатильности локального тренда V60;
5 - ордер тейк-профит равен волатильности краткосрочного тренда V240.
TheSizeStopLossOption - начальный уровень ордера стоп-лосс. Значения параметра и размер ордера:
0 - ордер стоп-лосс не устанавливается;
1 - ордер стоп-лосс равен волатильности часового тренда V01;
2 - ордер стоп-лосс равен волатильности внутридневного тренда V05;
3 - ордер стоп-лосс равен волатильности дневного тренда V15;
4 - ордер стоп-лосс равен волатильности локального трендаV60;
5 - ордер стоп-лосс равен волатильности краткосрочного трендаV60.
StopModeOption - задает доверительный интервал для стопа:
0 - поправки нет;
1 - ордер стоп-лосс увеличивается на 20%;
2 - ордер стоп-лосс увеличивается на 44.8%;
3 - ордер стоп-лосс увеличивается на величину волатильности тренда на один уровень ниже.
TheMovingStopLossMode при значении параметра true происходит подтягивание ордера стоп-лосс за позицией (трейлинг) за позицией при продвижении позиции в зону прибыли.

1.1.4. Группа настройки параметров управления трейлинг-стопом.

TrailingStopManualSize - размер трейлинг-стопа, задаваемого вручную. Активен, если адаптивный трейлинг стоп отключен (параметр  TrailingStopAdaptiveOpion=0). При значении 0 - ручной трейлинг-стоп отсутствует. Если значение больше 0, но меньше минимально допустимого в торговом терминале, то устанавливается минимально допустимое + 5пп.
TrailingStopAdaptiveOption - выбор режима режима адаптивного трейлинг-стопа:
0 - адаптивный трейлинг отключен;
1 - размер трейлинг стопа равен размеру ордера стоп-лосс для часового тренда;
2 - размер трейлинг стопа равен ордеру стоп-лосс для внутридневного тренда;
3 - размер трейлинг стопа равен размеру ордера стоп-лосс для дневного тренда.
TheBreakevenStop - при значении параметра true движение стопов прекращается при выходе позиции на уровень безубыточности.


1.1.5. Дополнительные параметры.

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


1.1.6. Сеточный алгоримт.

Grid - при значении параметра true включается сеточный алгоритм, наращивающий объем по мере продвижения рынка в направлении торгуемого тренда. Запуск алгоритма по первой сделке данного направления. Сеточный алгоритм работает независимо от состояния фильтров до тех пор, пока не сформируется сигнал закрытия позиций данного направления.
GridStepFaktor - множитель переменного шага сетки в единицах волатильности часового тренда V01, по умолчанию принимается равным 0.9.
GridVolumeFaktor - дополнительный множитель объема для позиций, открываемых сеточным алгоритмом, по сравнению с объемом позиций, открываемых основным алгоритмом.


1.1.7. Мэджик-идентификатор и вспомогательные режимы.

HftOneExpertMode- закрывает позиции по по инструменту при броске цен против позиции на величину волатильности минимального стопа в пределах минуты, а также в безусловном порядке независимо от настройки других параметров устанавливает стоп в минимальном размере при броске цен в сторону открытой позиции. Используется для аварийного выхода из рынка при резком росте волатильности, чаще всего вследствие сильной реакции на новости. В обычном режиме влияния на параметры открытых ордеров не оказывает.
Magic - мэджик-идентификатор обеспечивает возможность настройки различных копий роботов для одновременной работы на одном инструменте с разными конфигурациями параметров для различных типов торгуемых трендов. Значение по умолчанию 112358. Селекция позиций при их обработке экспертом производится по символу и мэджик-идентификатору. При желании трейдер может задавать свои значения идентификатора для работы на одном и том же инструменте различных версий советника с различными настройками параметров.
CloseOnTimeHours - задает максимальный интервал удержания открытых позиций в часах (если в этом есть необходимость). При значении 0 неактивен.
Test  - отключает ряд вспомогательных режимов робота при тестировании.
EquityProfitTargetTestPerc - задает при тестировании процент целевой прибыли, при котором закрываются все позиции, устанавливается новый порог цели и возобновляется торговля.

1.1.8. Глобальные переменные.

В область глобальных переменных вынесена настройка параметров, общих для всех инструментов торгового счета.
В дополнение к уже имеющимся возможностям организовано взаимодействие отдельных копий робота, действующих на различных инструментах, в единую систему, позволяющую реализовать блокировку работы всех копий роботов при достижении параметром эквити стоп-лосс или максимально допустимого убытка убытка по торговому счету.
При достижении целей профита по эквити все позиции закрываются, устанавливается новый уровень цели и работа роботов продолжается.
С помощью системы глобальных переменных задаются следующие параметры:
- задание уровня начального баланса торгового счета для очередного торгового цикла (начало цикла определяется трейдером);
- задание уровня допустимой абсолютной просадки по счету для очередного торгового цикла;
- задание единого для всех копий роботов уровня целей прибыли для выхода по эквити;
- задание единого для всех копий роботов уровня стоп-лосс для выхода по эквити.
Настройка параметров производится в диалоговом окне глобальных переменных, которое вызывается нажатием клавиши F3 или выбором соответствующего пункта в разделе меню Сервис.





1.1.8.1. Группа настройки параметров торгового счета.

Заполнять не обязательно, если не задан уровень допустимой просадки.
TheInitialAccountBalance - начальный баланс торгового счета.
AllowedAbsoluteDrawdownLevel -допустимый уровень абсолютной просадки.
TheHftCloseMode - при значении параметра 1 закрывает позиции по инструменту при броске цен против позиции на величину волатильности внутридневного тренда в пределах минуты, а также в безусловном порядке независимо от настройки других параметров устанавливает адаптивный трейлинг-стоп при броске цен в сторону открытой позиции. Используется для аварийного выхода из рынка при резком росте волатильности, чаще всего вследствие сильной реакции на новости.Рекомендуется к постоянному включению. В обычном режиме влияния на параметры открытых ордеров не оказывает.

1.1.8.2. Группа параметров по коллективной работе роботов с эквити.

Данные параметры рекомендуется задавать на одном из пула роботов, торгующих на счете. Иначе при различных цифрах закрытие позиций будет производится по наименьшему из заданных значений выхода с прибыль. и по наибольшему из заданных значений выхода с убытком.
EquityProfitTarget - уровень целевого профита по эквити в единицах баланса торгового счета. Если ноль, то не включается. При достижении заданного уровня все открытые позиции закрываются, устанавливается новый уровень цели с учетом процентного шага по прибыли и работа роботов продолжается.
EquityProfitTargetPerc - процентный шаг уровня целей по прибыли.
EquityStopLoss - уровень допускаемого плавающего убытка по эквити в единицах баланса торгового счета. При достижении заданного уровня все открытые позиции закрываются, а работа пула роботов блокируется до задания нового уровня.
Block - параметр блокировки работы роботов. При уровне средств на счете, отличном от нуля, производится проверка, не вышли ли параметры счета за заданные границы по убыткам. Если вышли, то работа советников блокируется. Если сумма средств на счете меньше или равна нулю, работа советника также блокируется, хотя это в общем-то и не нужно.

При смене торгового счета появляется диалоговое окно предупреждений с предложением проверить и при необходимости задать параметры глобальных переменных для нового торгового счета ("Type F3 anf check the GlobalVariables for new account").





1.1.9. Индикация параметров настройки.

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



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

InitAB - обозначение параметра TheInitialAccountBalance и заданное числовое значение начального баланса.
ADDL - обозначение параметра AllowedAbsoluteDrawdownLevel  и заданное значение допустимого уровня абсолютной просадки.
EqSL - обозначение параметра EquityStopLoss и заданное числовое значение допустимого абсолютного уровня снижения средств в единицах баланса торгового счета.
EqTP - обозначение параметра EquityProfitTarget и заданный уровень целевого профита по эквити в единицах баланса торгового счета.
Block - обозначение и значение параметра блокировки работы роботов.

CmpGrHft - комбинированный индикатор, значения десятичных разрядов которого несут следующую информацию:
- первый разряд слева - значение параметра ConrolManualPosByExpert;
- второй разряд слева - значение параметра Grid;
- третий разряд слева - значение параметра Hft.
PrStLsMs - комбинированный индикатор, значения десятичных разрядов которого несут следующую информацию:
- первый разряд слева - значение параметра TheSizeTakeProfitOption;
- второй разряд слева - значение параметра TheSizeStopLossOption;
- третий разряд слева - значение параметра StopModeOption;
- четвертый разряд слева - значение параметра TheMovingStopLossMode.
AtrBr - комбинированный индикатор, значения десятичных разрядов которого несут следующую информацию:
- первый разряд слева - значение параметра TrailingStopAdaptiveOption;
- второй разряд слева - значение параметра TheBreakevenStop.
SigMode - комбинированный индикатор,  значения десятичных разрядов которого несут следующую информацию:
- первый разряд слева - значение параметра TheFirstTypeTradingSignal;
- второй разряд слева - значение параметра TheSecondTypeTradingSignal;
- третий разряд слева - значение параметра TheSignalsModeOption.
Basic - комбинированный индикатор, знак которого показывает направление движения по долгосрочному тренду, а значения десятичных разрядов несут следующую информацию:
- знак - направление движения;
- первый разряд слева - значение параметра FiltrBasicTrend;
- второй разряд слева - значение параметра адаптивного режима TheAdaptiveMode;
- третий разряд слева - характер движения:
- 1 - коррекция;
- 2 - тренд;
- 0 - игнорируется.
Long - комбинированный индикатор, знак которого показывает направление движения по долгосрочному тренду, а значения десятичных разрядов несут следующую информацию:
- знак - направление движения;
- первый разряд слева - значение параметра FiltrLongTrend;
- второй разряд слева - значение параметра адаптивного режима TheAdaptiveMode;
- третий разряд слева - характер движения:
- 1 - коррекция;
- 2 - тренд;
- 0 - игнорируется.
Medium - комбинированный индикатор, знак которого показывает направление движения по среднесрочному тренду, а значения десятичных разрядов несут следующую информацию:
- знак - направление движения;
- первый разряд слева - значение параметра FiltrMediumTrend;
- второй разряд слева - значение параметра адаптивного режима TheAdaptiveMode;
- третий разряд слева - характер движения:
- 1 - коррекция;
- 2 - тренд;
- 0 - игнорируется.
Short - комбинированный индикатор, знак которого показывает направление движения по краткосрочному тренду, а значения десятичных разрядов несут следующую информацию:
- знак - направление движения;
- первый разряд слева - значение параметра FiltrShortTrend;
- второй разряд слева - значение параметра адаптивного режима TheAdaptiveMode;
- третий разряд слева - характер движения:
- 1 - коррекция;
- 2 - тренд;
- 0 - игнорируется.
Local - комбинированный индикатор, знак которого показывает направление движения по локальному тренду, а значения десятичных разрядов несут следующую информацию:
- знак - направление движения;
- первый разряд слева - значение параметра FiltrLocalTrend;
- второй разряд слева - значение параметра адаптивного режима TheAdaptiveMode;
- третий разряд слева - характер движения:
- 1 - коррекция;
- 2 - тренд;
- 0 - игнорируется.
Daily - комбинированный индикатор, знак которого показывает направление движения по дневному тренду, а значения десятичных разрядов несут следующую информацию:
- знак - направление движения;
- первый разряд слева - значение параметра FiltrDailyTrend;
- второй разряд слева - значение параметра адаптивного режима TheAdaptiveMode;
- третий разряд слева - характер движения:
- 1 - коррекция;
- 2 - тренд;
- 0 - игнорируется.
IDay - комбинированный индикатор, знак которого показывает направление движения по дневному тренду, а значения десятичных разрядов несут следующую информацию:
- знак - направление движения;
- первый разряд слева - значение параметра FiltrIDayTrendOption;
- второй разряд слева - значение параметра адаптивного режима TheAdaptiveMode;
- третий разряд слева - характер движения:
- 1 - коррекция;
- 2 - тренд;
- 0 - игнорируется.

Две числа внизу колонки показывают верхний и нижний уровни срабатывания ордеров сеточного алгоритма. Нулевые значения означают, что сеточный алгоритм или не включен или еще не запущен.
Алгоритм работы не является черным ящиком и абсолютно прозрачен. Пояснения по деталям формирования торговых сигналов и особенностям их фильтрации в материалах блога.

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

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