1. SWT-Robot. Параметры настройки и состояния
SWT-Robot - расширенная версия ряда предыдущих программ предыдущих программ с добавлением возможности использования контр-трендовой торговли и адаптивного алгоритма сетки и двумя сервисными сервисными добавками - адаптивный трейлинг стоп и закрытие прибыльных позиций на паттернах разворота внутридневного тренда.
Прежние версии робота можно получить отключив дополнительные параметры настройки.
1.1. Параметры настройки.
Рис.1.1. График с установленным торговым роботом.
SWT-Robot - это программа для реализации торговых стратегий на основе SWT-метода. Торговые стратегии определяются выбором значений параметров робота, определяющих режимы его работы.

Рис.1.2. Диалоговое окно настройки параметров робота.
Несмотря на множество параметров большинство из них при настройках остается неизменным
Кратко опишем назначение и функции параметров. Детальное пояснение правил открытия и закрытия позиций будет дано в следующих разделах.
TrendVector - целое число, задающее глубину анализа рынка и определяющее старший тренд, начиная с которого учитываются все тренды более низкого уровня при определении направления торговли. Количество трендов, используемых для проектирования торговых стратегий восемь: Basic - основной, Long - долгосрочный, Medium - среднесрочный, Short - краткосрочный, Weekly - недельный, Daily - дневной, IDay - внутридневной и Hourly - часовой тренды.
Значение параметра 9 означает, что в расчет принимается глобальный и все младшие тренды, значение параметра 8 - основной и все младшие тренды и т.д.
Тренды Daily - дневной, IDay - внутридневной и Hourly - часовой учитываются всегда.
AdaptibeMode - режим адаптивной настройки на результирующий тренд.
В режиме AdaptibeMode=true тренды Basic - основной, Long - долгосрочный, Medium - среднесрочный, Short - краткосрочный и Weekly - недельный учитываются начиная со старшего направленного. Например, если TrendVector = 8, основной и долгосрочный тренды находятся в фазе коррекции, а среднесрочный тренд направленный, то учитываются все тренды, начиная со среднесрочного и ниже. Направление основного и долгосрочного трендов при этом игнорируются.
Если все старшие тренды за исключением недельного находятся в фазе коррекции, то недельный тренд учитывается и при коррекционном характере движения рынка по этому тренду.
В режиме AdaptibeMode=false учитываются все тренды согласно установкам параметра TrendVector. независимо от того направленное или коррекционное движение идет по этим трендам.
В режиме AdaptibeMode=false учитываются все тренды согласно установкам параметра TrendVector. независимо от того направленное или коррекционное движение идет по этим трендам.
ContrTrend - при значении параметра true меняет направление торговли по тренду на контртрендовое. Значение параметра не влияет на дневной, внутридневной и часовой тренды, направление торговли по которым остается неизменным независимо от значения параметра ContrTrend.
ReverseReadyToTrade - при true устанавливает разрешение на открытие первой позиции после отката по дневному или внутридневному трендам. Недельный тренд противоположного направления (направленный,не коррекционный!) сбрасывает ранее установленное разрешение на открытие позиции независимо от отката.
DominantTrend - в режиме AdaptibeMode=true при значении параметра true робот учитывает только старший из направленных трендов, при значении false - направления всех трендов ниже старшего из направленных.
DominantCorrection - при значении параметра true робот учитывает направленные тренды с направлением, противоположным доминирующему тренду. Режим работает только при AdaptibeMode=true, DominantTrend = true. В режиме ContrTrend влияние режима изучено недостаточно, в некоторых ситуациях учет доминирующей коррекции идет на пользу в других нет, но большого влияния на результаты не оказывает.
Grid=true - при открытии позиции по торговому алгоритму включает режим адаптивной сетки в выбранном направлении торговли открывая дополнительные позиции с переменным шагом, рассчитываемым автоматически, как произведение V*GridStepFactor, где GridStepFactor - множитель шага сетки.
Параметр V рассчитывается как сумма текущего значения трех величин:
- волатильности часового тренда;
- волатильности внутричасового тренда;
- спреда.
При отсутствии позиций, открытых торговым алгоритмом, запуск сетки может быть инициирован открытием позиции любого объема (лучше минимального) в ручном режиме.
Рост установленного шага сетки при экстремальном росте волатильности младших трендов ограничен величиной 1/10 волатильности недельного тренда
Параметр V рассчитывается как сумма текущего значения трех величин:
- волатильности часового тренда;
- волатильности внутричасового тренда;
- спреда.
При отсутствии позиций, открытых торговым алгоритмом, запуск сетки может быть инициирован открытием позиции любого объема (лучше минимального) в ручном режиме.
Рост установленного шага сетки при экстремальном росте волатильности младших трендов ограничен величиной 1/10 волатильности недельного тренда
DoubleGrid=true - режим адаптивной сетки, при котором позиции открываются при движении цены в обе стороны, как по направлению торговли, так и на откате против направления торговли.
HardGrid - режим, при котором при открытии позиций по сеточному алгоритму новые уровни сетки устанавливаются при выходе за уже отработанный диапазон.
GridStepManual - при значении, отличном от нуля, задает шаг сетки, устанавливаемый вручную.
GridStepFactor - множитель, предназначенный для изменения масштаба шага сетки, уменьшая или увеличивая его относительно исходного значения.
GridTakeProfitSize задает размер ордера t/p для позиций сетки. При значении параметра ноль ордер устанавливается на общих основаниях, задаваемых параметром TakeProfitLevel. При отличном от нуля значении параметра положение ордера t/p относительно цены открытия позиции определяется как произведение установленного шага сетки на GridTakeProfitSize.
LeverageLimit - задание предельно допустимого значение кредитного плеча. При значении ноль используется кредитное плечо, разрешенное брокером.
RiskLimitPerc - лимит риска по открытым позициям. При значении ноль лимит риска не устанавливается. При выходе суммарной позиции в плюс лимит риска также не действует.
RiskTradePerc - процент риска на сделку.
LotsManual - объем сделки, устанавливаемый вручную. При нулевом значении параметра объем сделки рассчитывается автоматически исходя из параметров уровня стоп-лосс и заданного риска RiskTradePercent на сделку.
MFactor - при значении true включает режим агрессивного наращивания объемов торговли таким образом, чтобы после после объема в шесть раз большего объема однократной сделки робота каждые пять новых позиций удваивали общий объем позиции. Это своего рода мартингейл, только плавный и растянутый по шкале цен с постепенным ростом объема. При удачной рыночной ситуации режим обеспечивает быстрый рост прибыли, но требует крайней осторожности в использовании из-за возможности быстрого катастрофического убытка, особенно в период выхода важных новостей. При включении режима HardGrid=true это автоматизированная версия торговой тактики "Линейка ордеров". Но осторожность, осторожность и еще раз осторожность.
StopLossLevel - целое число, задающее номер тренда, по которому определяются уровни ордера стоп-лосс: 0 - нет ордера стоп-лосс, 1 - часовой, 2 - внутридневной, 3 - дневной, 4 - недельный, 5 - краткосрочный, 6 - среднесрочный, 7 - долгосрочный, 8 основной.
TakeProfitLevel - целое число, задающее номер тренда по которому определяются уровни ордера тейк-профит: 0 - нет ордера тейк-профит, 1 - часовой, 2 - внутридневной, 3 - дневной, 4 - недельный, 5 - краткосрочный, 6 - среднесрочный, 7 - долгосрочный, 8 основной.
VolumeNormLevel при отличном от нуля значении задает уровень стопа для расчета объема сделки независимо от от размера установленного ордера стоп-лосс. Та, например, при значении параметра 4 объем рассчитывается по параметрам ордера стоп-лосс для недельного тренда. Настройка в основном необходима для корректной оптимизации параметров относитльно размера ордера стоп-лосс.
ProfitPerc - порог плавающей прибыли в процентах от эквити, при котором включается закрытие позиций по паттерну разворота дневного тренда и развороту внутридневного тренда. При нулевом значении позиции закрываются на общих основаниях, а именно: ордерами стоп-лосс и тейк-профит и торговым алгоритмом.
ProfitRiskPerc - порог плавающей прибыли в процентах от принятого риска, при котором включается закрытие позиций по паттерну разворота дневного тренда и развороту внутридневного тренда. Риск берется расчетный, по параметрам установленного уровня StopLossLevel независимо от фактического положения ордеров стоп-лосс. При значении ноль режим отключен, позиции закрываются на общих основаниях, а именно: ордерами стоп-лосс и тейк-профит и торговым алгоритмом.
SafeModeClose - после выхода совокупной позиции в зону целевой прибыли при значении параметра true закрывает прибыльные позиции по признакам паттерна разворота внутридневного тренда.
CloseIfNotTrend - при значении параметра true все позиции закрываются если по данным установка робота нет признака тренда вверх или вниз.
CloseIfNotTrend - при значении параметра true все позиции закрываются если по данным установка робота нет признака тренда вверх или вниз.
ZeroTrailingStopMode - если достигнут пороговый уровень прибыли и начался откат, то при значении параметра true все позиции закрываются если прибыль по инструменту становится меньше нуля. Этот режим является страховочным на случай, когда позиции не успеют закрыться торговым алгоритмом.
Трейлинг-стоп и группа параметров закрытия позиций по условиям предназначены для повышения безопасности торговли и снижают риски. Но прибыль тоже падает - это две стороны одной медали.
ManualPositionControl - при true разрешает роботу обрабатывать позиции, открытые вручную.
TimeOutMinutes - интервал блокирования возможности открытия следующей позиции в минутах, кроме позиций сетки. Минимально возможное значение интервала программно ограничено величиной 15 минут.
PermitLong - при true разрешить лонг.
PermitShort - при true разрешить шорт.
TickValueFactor - коэффициент корректировки возможных ошибок сервера в цене тика (бывает).
SizeLabel - размер шрифта текстовых меток.
ModifyColorLabel - задание цвета текстовых меток.
Magic - мэджик-идентификатор для настройки разных копий советника, работающих на одном инструменте. Может произвольно изменяться пользователем для заданного набора настроек.
HideLabels позволяет выключить отображение на графике метод с параметрами состояния робота.
Важное замечание. Как правило я использую параметры робота заданные по умолчанию, значения их представлены на рисунке. При оптимизации параметров настройки меняется параметр вектора трендов в диапазоне от 6 до 8, режим контртренд и иногда параметр ордера стоп лосс от 4 до 6.
Режимы сетки можно менять при четком понимании того, что и зачем вы делаете. На начальном этапе освоения робота сетку лучше вообще не использовать.
Режимы сетки можно менять при четком понимании того, что и зачем вы делаете. На начальном этапе освоения робота сетку лучше вообще не использовать.
1.2. Параметры состояния.
Рис.1.3. Значение параметров состояния
Значение параметров состояния показано в таблице в правом верхнем углу графика.
В первой строке таблицы содержатся следующие данные:
Trade - параметр, который указывает, что может делать робот в текущей ситуации. Это параметр принимает три значения:
- BUY - покупать;
- SELL - продавать;
- NO - не предпринимать никаких действий.
Trend - направление совокупного тренда, определяемое в соответствии с выбранной торговой стратегий:
- UP - вверх;
- DN - вниз;
- NO - не определено.
RTT (Ready To Trade) - готовность к сделке по сигналу в направлении:
- UP - вверх;
- DN - вниз;
- NO - не готов.
Vect|AM|Ctr|RTT - показывает значения параметров TrendVector, AdaptiveMode, ContrTrend и ReverseReadyToTrade. При включенном режиме ReverseReadyToTrade его значение отображается трехзначным числом, единица во втором разряде - разрешение на покупку, единица в младшем - разрешение на продажу.
DT|DC|G|DG|HG - показывает значения параметров DominantTrend, DominantCorrection, Grid,
DoubleGrid и HardGrid.
DoubleGrid и HardGrid.
St|Gsf|Gtp - показывает текущие значения шага сетки, множителя шага сетки GridStepFactor и величину параметра тейк-профит позиций сетки, определяемую значением GridTakeProfitSize.
Leverage|Lim - отображает фактическое значение кредитного плеча и заданный его предел, при превышении которого строка подсвечивается красным цветом. Торговля при этом не прерывается, чтобы не нарушать логику торгового алгоритма. Это сигнал для трейдера, что риски находятся в опасной зоне и необходимо их уменьшить изменением параметров торговли.
CurRisk|Lim|Risk - отображает текущий риск открытых позиций, установленный лимит риска в процентах от средств счета и процентный риск на сделку при установленном значении ордера стоп-лосс.. Знак минус текущего риска показывает, что риска по установленным стопам нет, есть прибыль. При превышении текущим риском заданных ограничений строка подсвечивается красным цветом.
Торговля по сеточному алгоритму при этом не прерывается, чтобы не нарушать логику торгового алгоритма. Это сигнал для трейдера, что риски находятся в опасной зоне и необходимо их уменьшить изменением параметров торговли.
Торговля по сеточному алгоритму при этом не прерывается, чтобы не нарушать логику торгового алгоритма. Это сигнал для трейдера, что риски находятся в опасной зоне и необходимо их уменьшить изменением параметров торговли.
Profit|Eq - текущая прибыль по инструменту и средства Equity торгового счета.
Trgt|PP|P/R - показывает целевую прибыль для открытых позиций, при которой включается режим их закрытия на откате, установленное значение порога плавающей прибыли в процентах от эквити ProfitPerc, при котором включается режим закрытия позиций на откате, а также процентное соотношение уровня плавающей прибыли к риску открытых позиций ProfitRiskPerc, при котором включается режим их закрытия на откате.
ATS|MF - показывает значение параметров AdaptiveTrailingStop, MFactor..
SMC|Lot - значения параметров SafeModeClose и LotsManual. При значении параметра Lot отличном от нуля значение параметра ProfitPerc игнорируется и объемы позиций определяются значением Lot.
TP|SL|VNL - значения параметров TakeProfitLevel, StopLossLevel, VolumeNormLevel.
Lot: L|S - объемы позиции для лонга и шорта при установленных параметрах риска и стопах. Если лонг или шорт не разрешены для торговли настройками робота, то объем для соответствующего направления будет равен нулю.
Nb|Ns|V - отображает количество открытых длинных и коротких позиций, а также общий объем открытых позиций в лотах.
Basic, Long, Medium, Short, Weekly, Daily, IDay, Hourly - комбинированные индикаторы, показывающие состояние рынка по данному тренду.
Знак показывает направление движения: плюс - вверх, минус - вниз.
Первая слева цифра означает:
- 1 - коррекция;
- 2 - тренд.
Если в рамках торговой стратегии тренд не учитывается, то индикация ограничивается одним разрядом.
- 2 - тренд.
Если в рамках торговой стратегии тренд не учитывается, то индикация ограничивается одним разрядом.
Если учитывается, то индикатор представляет собой пятизначное число, старший разряд которого показывает направление и характер движения по тренду, второй и третий слева - разрешение (при значении 1) на открытие лонгов и шортов соответственно, четвертый и пятый - разрешение на закрытие лонгов и шортов соответственно.
Например, число 21001 означает восходящий тренд, который в рамках используемой торговой стратегии дает разрешение на открытие лонгов и закрытие шортов;
Lup и Ldn индикация текущих уровней срабатывания позиций сетки. Значение ноль указывает на отсутствие активного уровня.
Если в вашей версии робота нет какого-либо из указанных в описании параметров настройки, значит этот режим в вашей версии не предусмотрен.
Если в вашей версии робота нет какого-либо из указанных в описании параметров настройки, значит этот режим в вашей версии не предусмотрен.
Комментариев нет:
Отправить комментарий