воскресенье, 22 октября 2017 г.

Параметры настройки робота. Версии SWT-Exp и SWT-Exp_v1

Параметры настройки робота.

Версии SWT-Exp и SWT-Exp_v1 (версии идентичные, поменялось обозначение)

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

При сбрасывании робота на график торгуемого инструмента появляется диалоговое окно для настройки параметров. (Описание прежних редакций робота смотрите по метке Робот. в списке меток в верхней части главной страницы блога.)


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

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

VectorOfHighTrendsFiltration_1_4 - целое число от 1 до 4. Значение параметра и режим вектора фильтрации (L,M,S,L,D,Id):
4 - долгосрочный тренд - включены фильтры всех трендов от внутридневного до долгосрочного - (L,M,S,L,D,Id) = (1,1,1,1,1,1);
3 - среднесрочный тренд - включены фильтры всех трендов от внутридневного до среднесрочного, отключен фильтр долгосрочного тренда - (L,M,S,L,D,Id) = (0,1,1,1,1,1);
2 - краткосрочный тренд - включены фильтры всех трендов от внутридневного до краткосрочного, отключены фильтры среднесрочного и долгосрочного трендов - (L,M,S,L,D,Id) = (0,0,1,1,1,1);
1 - локальный тренд - включены фильтры всех трендов от внутридневного до локального, отключены фильтры краткосрочного, среднесрочного и долгосрочного трендов - (L,M,S,L,D,Id) = (0,0,0,1,1,1).
SWTwaveFilter_1_3 - целое число от 1 до 3. Задает тип фильтра для разделения стохастических волновых трендов:
1 - полосовой фильтр второго порядка;
2 - полосовой фильтр второго порядка без краевых эффектов (билинейное z-преобразование);
3 - полосовой фильтр четвертого порядка.
AdaptiveAdjustmentMode_0_3 - целое число от 0 до 3. Задает режим адаптивной настройки на конфигурацию трендов:
0 - нет адаптивной настройки, все тренды независимы и объединяются по И;
1 - отключение коррекционных режимов;
2 - отключение коррекционных режимов, если тренд на уровень старше или тренд на уровень младше направленные;
3 - отключение коррекционных режимов если тренд на уровень младше направленный.
TypeOfTradeSignal_1_3 - целое число от 0 до 3. Задает тип торгового сигнала, по которому открываются позиции:
0 - открытие позиций по сигналам заблокировано. Закрытие - в обычном порядке. Режим может использоваться для автономного запуска сеточного алгоритма по предустановкам стартовых уровней;
1 - вход только по сигналу волн;
2 - вход по сигналу волн и по прорыву канала волатильности;
3 - вход только по прорыву канала волатильности.
AutoMM - выбор режима автоматического определения размера (объема) позиции. Значение true соответствует автоматическому определению размера позиции, значение false - ручной выбор размера позиции, задаваемый параметром LotsForManualMM.
RiskPercForTradeAutoMM - максимальный процент риска на сделку при AutoMM=true и размере стопа по волатильности, задаваемого через параметры робота. При отсутствии стопа объем считается исходя из размера волатильности краткосрочного тренда плюс волатильность локального: V240+V60.
Процент риска считается от рискового капитала: средства за минусом уровня допустимой просадки счета AllowedAbsoluteDrawdownLevel, задаваемого в глобальных переменных терминала. Если уровень AllowedAbsoluteDrawdownLevel не задан, то риск считается исходя из общего объема средств на счете. Если заданный или рассчитанный размер лота больше допустимого в торговом терминале, то в советнике автоматически устанавливается максимально допустимый размер лота. Если заданный или рассчитанный размер лота меньше допустимого в торговом терминале, то в советнике автоматически устанавливается минимально допустимый размер лота.
NMaxNumberOrdersInMarket - максимальное количество ордеров в рынке по инструменту, открываемых советником по торговым сигналам. Позиции по сигналам волн (комментарий SWT) и позиции по прорыву канала волатильности (комментарий vSWT) учитываются отдельно. Ограничение не распространяется на позиции, открываемые сеточным алгоритмом (комментарий GrSWT).
LotsForManualMM - размер лота для торговли фиксированным объемом, задаваемым вручную, и действующий при AutoMM=false.
TheSizeTakeProfit_0_6 - целое число от 0 до 6. Задает размер ордера тейк-профит:
0 - ордер тейк-профит не устанавливается;
1 - ордер тейк-профит равен волатильности внутридневного тренда V01;
2 - ордер тейк-профит равен волатильности внутридневного тренда V05;
3 - ордер тейк-профит равен волатильности дневного тренда V15;
4 - ордер тейк-профит равен волатильности локального тренда V60;
5 - ордер тейк-профит равен волатильности краткосрочного тренда V240;
6 - ордер тейк-профит равен волатильности среднесрочного тренда V1440.
TheSizeStopLoss_0_4 - целое число от 0 до 4. Задает размер ордера стоп-лосс, устанавливаемого при открытии позиции:
0 - ордер стоп-лосс не устанавливается;
1 - ордер стоп-лосс равен волатильности часового тренда V01 плюс волатильность внутричасового V00 плюс удвоенный спред;
2 - ордер стоп-лосс равен волатильности внутридневного тренда V05 плюс волатильность часового V01 плюс удвоенный спред;
3 - ордер стоп-лосс равен волатильности дневного тренда V15 плюс волатильность внутридневного V05 плюс удвоенный спред;
4 - ордер стоп-лосс равен волатильности локального трендаV60 плюс волатильность дневного V15 плюс удвоенный спред;
Поправка по волатильности задает доверительный интервал для стопа. Поправка на размер спреда необходима для инструментов, у которых спред больше параметров волатильности для младших трендов.
TheMovingStopLoss - при значении параметра true происходит подтягивание ордера стоп-лосс за позицией при продвижении позиции в зону прибыли. Работает в зоне прибыли и в зоне убытка, чем отличается от трейлинг-стопа.
LowRiskEntry - при значении параметра true позиции открываются со стопом за границей канала волатильности графика М1 (индикатор SWT_VolatilityCh). Действие параметра не распространяется на начальный уровень стоп-лосс позиций сеточного алгоритма. Рекомендуется использовать в направлении вектора трендов при агрессивной торговле внутри дня от границ канала. При долгосрочной торговле результат непредсказуем. 
LowRiskMovingStop - при значении параметра true стоп-лосс движется вслед за движением границы канала волатильности графика М1 (индикатор SWT_VolatilityCh). Рекомендуется использовать в направлении вектора трендов при агрессивной торговле внутри дня от границ канала. При долгосрочной торговле результат непредсказуем. 
TheBreakevenStop - при значении параметра true движущийся стоп и трейлинг-стоп прекращают движение при достижении уровня безубыточного стопа. Полезно на затяжных трендах с большими откатами.
TrailingStopAdaptive - при значении параметра true работает трейлинг стоп в размере ордера стоп-лосс для часового тренда (V01+V00 + удвоенный спред). При значении параметра false используется размер трейлинг стопа, задаваемый вручную параметром TrailingStopManualSize.
TrailingStopManualSize - размер трейлинг-стопа, задаваемого вручную. Активен, если адаптивный трейлинг стоп отключен (параметр  TrailingStopAdaptive=false). При значении 0 - ручной трейлинг-стоп отсутствует. Если значение больше 0, но меньше минимально допустимого в торговом терминале, то устанавливается минимально допустимое + 5пп.
VolChannelTimeframeSelection_1_3 - целое число от 1 до 3. Задает таймфрейм для расчета канала волатильности:
1 - М1 - канал волатильности для часового тренда;
2 - М5 - канал волатильности для внутридневного тренда;
3 - М15 - канал волатильности для дневного тренда.
Grid - при значении параметра true в дополнение к основным торговым алгоритмам включается сеточный алгоритм, наращивающий объем по мере продвижения рынка в направлении торгуемого тренда. Запуск алгоритма производится по первой сделке данного направления. Сеточный алгоритм работает независимо от состояния фильтров до тех пор, пока не сформируется сигнал закрытия позиций данного направления.
Шаг сетки равен размеру стопа для часового тренда V (V=V01+V00+удвоенный спред) с поправкой на множитель шага сетки GridStepFaktor. С ростом волатильности шаг сетки растет, с уменьшением - снижается.
Стоп-лосс сетки равен размеру стопа для часового тренда V=V01+V00 с поправкой на множитель стопа сетки GridStopFaktor.
Тейк-профит для позиций сетки устанавливается равным тейк-профиту для основного алгоритма.
GridStepFaktor - множитель переменного шага сетки в единицах V (установка по умолчанию 0.45).
GridStopFaktor - множитель стопа сетки в единицах V (установка по умолчанию 0.50).
UpLevel и DownLevel - уровни старта сеточного алгоритма при ручном запуске сетки в момент загрузки робота. Используются после выключения терминала. если необходимо восстановить работу сеточного алгоритма от какого либо уровня. Могут использоваться для инициации работы сеточного алгоритма без использования основных торговых алгоритмов.
TimeOutOpenNewPosMinutes -  интервал в минутах блокировки открытия по торговому сигналу однотипной позиции с целью исключения эффекта "дребезга" индикаторов вблизи пороговых уровней. Установка интервала меньше 12 минут заблокирована программно.
Ограничение не распространяется на позиции, открываемые сеточным алгоритмом.
ControlManualPosByExpert - при значении параметра true советник управляет позициями, открытыми вручную, устанавливая размер стопа, трейлинг и закрывая позиции, при поступлении соответствующих сигналов.
HftMode - закрывает позиции по по инструменту при броске цен против позиции на величину V в пределах минуты, а также в безусловном порядке независимо от настройки других параметров подтягивает стоп на величину V при броске цен в сторону открытой позиции. Используется для аварийного выхода из рынка при резком росте волатильности, чаще всего вследствие сильной реакции на новости. В обычном режиме влияния на параметры открытых ордеров не оказывает. Использовать с осторожностью. На некоторых инструментах приводит к необоснованной ликвидации позиций на тонком рынке.
Magic - мэджик-идентификатор обеспечивает возможность настройки различных копий роботов для одновременной работы на одном инструменте с разными конфигурациями параметров для различных типов торгуемых трендов. Значение по умолчанию 112358. Селекция позиций при их обработке экспертом производится по символу и мэджик-идентификатору. При желании трейдер может задавать свои значения идентификатора для работы на одном и том же инструменте различных версий советника с различными настройками параметров. Нельзя использовать несколько экземпляров робота на одном инструменте с одинаковым мэджик-идентификатором;
HideLabels - при значении параметра true отключается режим отображения меток, показывающих состояние торгового робота. Используется при желании разгрузить график от лишних графических элементов.
TestOfExpert - при значении параметра true с целью ускорения работы программы отключаются избыточные режимы индикации.
SizeLabel - задает размер шрифта графических объектов (меток), если настройки компьютера не позволяют использовать шрифт по умолчанию.

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

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




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

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




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

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


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

InitAB - обозначение параметра TheInitialAccountBalance и заданное числовое значение начального баланса.
ADDL - обозначение параметра AllowedAbsoluteDrawdownLevel  и заданное значение допустимого уровня абсолютной просадки.
EqSL - обозначение параметра EquityStopLoss и заданное числовое значение допустимого абсолютного уровня снижения средств в единицах баланса торгового счета.
EqTP - обозначение параметра EquityProfitTarget и заданный уровень целевого профита по эквити в единицах баланса торгового счета.
EqTP Prc - обозначение параметра EquityProfitTargetPerc и заданное числовое значение процентного шага по новой цели прибыли.
Sig+Hft+Block - комбинированный индикатор, значения десятичных разрядов которого несут следующую информацию:
- первый разряд слева - значение параметра TypeOfTradeSignal_1_3;
- второй разряд слева - значение параметра HftMode;
- третий разряд слева - значение параметра Block.
Man+Gr+N - комбинированный индикатор, значения десятичных разрядов которого несут следующую информацию:
- первый разряд слева - значение параметра ConrolManualPosByExpert;
- второй разряд слева - значение параметра Grid;
- третий разряд слева - значение параметра NMaxNumberOrdersInMarket.
Pr+St+Ms - комбинированный индикатор, значения десятичных разрядов которого несут следующую информацию:
- первый разряд слева - значение параметра TheSizeTakeProfit_0_6;
- второй разряд слева - значение параметра TheSizeStopLoss_0_4;
- третий разряд слева - значение параметра TheMovingStopLoss.
LrE+Lms+Br - комбинированный индикатор, значения десятичных разрядов которого несут следующую информацию:
- первый разряд слева - значение параметра LowRiskEntry;
- второй разряд слева - значение параметра LowRiskMovingStop;
- третий разряд слева - значение параметра TheBreakevenStop.
AdTrS+Lot - комбинированный индикатор, значения десятичных разрядов которого несут следующую информацию:
- первый разряд слева - значение параметра TrailingStopAdaptive;
- второй разряд слева - значение параметра LotsForManualMM.
Amm+Risk - комбинированный индикатор, значения десятичных разрядов которого несут следующую информацию:
- первый разряд слева - значение параметра AutoMM;
- второй разряд слева - значение параметра RiskPercForTradeAutoMM.
VolChTF - значение параметра VolChannelTimeframeSelection_1_3.Long, Medium, Short, Local, Daily, IDay - комбинированные индикаторы, знак которых показывает состояние фильтров трендов и направление движения по каждому тренду. Значения десятичных разрядов несут следующую информацию:
- знак - направление движения при действующем фильтре;
- первый разряд слева: 1 - тренд принимается во внимание, 0 - фильтр тренда отключен;
- второй разряд слева - значение параметра настройки адаптивного режима AdaptiveAdjustmentMode_0_3;
- третий разряд слева - характер движения:
- 1 - коррекция;
- 2 - тренд;
- 0 - фильтр отключен.
UpLvl и DnLvl показывают верхний и нижний уровни старта сеточного алгоритма при ручном запуске сетки в момент загрузки робота или текущие уровни, на которых будут открываться позиции.
Нулевые значения означают, что сеточный алгоритм или не включен или еще не запущен.
TypeOfFilter показывает тип фильтра волн SWT-метода, задаваемый параметром SWTwaveFilter_1_3.
Алгоритм работы не является черным ящиком и абсолютно прозрачен. Пояснения по деталям формирования торговых сигналов и особенностям их фильтрации в материалах блога.

2. SWT-метод. Пояснения к параметрам настройки робота.

2.1. Признак тренд-коррекция.



Индикаторы направления тренда расположены в окне индикатора SWT.
Индикатор направления тренда для волны четвертого уровня - бирюзовая гистограмма - отображается жирной линией темно-синего цвета. Расположение индикатора на верхней и нижней границах канала волатильности означают соответственно восходящий и нисходящий тренд.
Расположение индикатора внутри канала в области положительных значений - нисходящая коррекция.
Расположение индикатора внутри канала в области отрицательных значений - восходящая коррекция.
Аналогичный индикатор для волны третьего уровня - красная гистограмма - отображается тонкой линией темно-синего цвета.
Всего в SWT-роботе напрямую используются индикаторы долгосрочного, среднесрочного, краткосрочного, локального, дневного и внутридневного трендов, отображаемые волнами четвертого уровня соответственно графиков масштаба D1, H4, H1, M15, M5 и M1.
При использовании адаптивных режимов настройки на рынок учитываются параметры основного (волна четвертого уровня графика недельного масштаба) и часового (волна третьего уровня графика М1) трендов.
Признаки трендов комбинируются в зависимости от выбранного режима настройки, разрешая или запрещая открытие/закрытие позиций торговым роботом по торговым сигналам или признакам разворота торгуемого движения.

2.2. Формирование торговых сигналов.

Торговые сигналы для открытия позиций при использовании робота бывают трех типов:
1 - вход только по сигналу волн;
2 - вход только по прорыву канала волатильности;
3 - вход по сеточному алгоритму.

2.2.1. Вход по сигналу волн.



Сигнал по движению волн формируется по данным графика минутного масштаба и бывает двух типов:
- пересечение волной второго уровня (гистограмма василькового цвета) нулевой линии (вверх - покупка, вниз - продажа);
- восстановление роста волны в области положительных значений (покупка) или снижения в области отрицательных значений (продажа).
Торговые сигналы используются для открытия позиции при трех условиях:
- открытие позиции разрешено по признаку торгуемого движения (фильтр трендов);
- в рынке находится количество ордеров меньше максимально разрешенного значения, задаваемого параметром NMaxNumberOrdersInMarket. Метки позиций, открываемых по сигналу волн, в комментариях задаются символом "SWT";
- превышен интервал "дребезга" TimeOutOpenNewPosMinutes с момента открытия предыдущей позиции по сигналу волн.

2.2.2. Вход по прорыву канала волатильности.



Сигнал по прорыву канала волатильности формируется при прорыве текущих уровней поддержки/сопротивления, рассчитанных индикатором SWT_SRLvls на графике минутного масштаба. Прорыв верхней границы канала - сигнал на покупку. Прорыв нижней границы - сигнал на продажу.
Торговые сигналы по прорыву канала волательности используются для открытия позиции при трех условиях:
- открытие позиции разрешено по признаку торгуемого движения (фильтр трендов);
- в рынке находится количество ордеров меньше максимально разрешенного значения, задаваемого параметром NMaxNumberOrdersInMarket. Метки позиций, открываемых по сигналу волн, в комментариях задаются символом "vSWT";
- превышен интервал "дребезга" TimeOutOpenNewPosMinutes с момента открытия предыдущей позиции по прорыву канала волатильности.
Сквозная индикация текущих значений канала волатильности на графиках всех масштабов возможна с помощью индикатора SWT_VolatilityCh.

2.2.3. Вход по сеточному алгоритму.

Сеточный алгоритм включается опцией Grid=true. Полезен на затяжных трендах после резкого перелома предыдущего характера движения, так как позволяет с незначительным дополнительным риском нарастить объем позиции и получить прибыль большего размера. чем без использования сетки.
Инициация сеточного алгоритма производится открытием позиции по одному из двух типов торговых сигналов, рассмотренных выше.
Открытие позиции формирует уровень сетки, при превышении которого в случае покупок (или снижении, если речь идет о продажах) открывается дополнительная позиция того же направления и формируется новый уровень сетки. Текущий уровень срабатывания сеточного алгоритма отображается в индикации параметров робота. На рисунке внизу это уровень покупок 0.7850 выше текущего состояния рынка.



Размеры шага сетки и стопа сеточного алгоритма задаются в настройках робота и зависят от текущей волатильности рынка для часового тренда с учетом волатильности внутричасового тренда и спреда - параметр V.
Позиции сеточного алгоритма маркируются меткой "GrSWT". Количество их ничем не ограничено, не влияет на количество позиций, открываемых по сигналам, и определяется только размером торгуемого движения и волатильностью рынка.
Инициировать работу сеточного алгоритма можно и при загрузке робота, задавая в параметрах настройки верхний или нижний уровень срабатывания сетки (или оба уровня, если выбор направления не определен).

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

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