Блог им. neophyte

1. Торговый робот SWTGrid. Параметры настройки и состояния

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

Торговый робот SWTGrid — усложненная и расширенная версия предыдущей программы с добавлением возможности использования контр-трендовой торговли и адаптивного алгоритма сетки с двумя сервисными сервисными добавками — адаптивный трейлинг стоп и закрытие прибыльных позиций на паттернах разворота внутридневного тренда.

Прежнюю трендовую версию робота можно получить отключив все дополнительные параметры настройки.

Что-то похожее я уже делал в начале 2020 года, но то ли чего недоделал, то ли чего недопонял, но тогда я отказался  от этого алгоритма в сторону упрощения и ориентировки на полуавтоматическую торговлю — робот плюс трейдер. Идея зрела и в конце концов дозрела до реализации в программном коде.

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

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


1. Торговый робот SWTGrid. Параметры настройки и состояния


Рис.1.1. График с установленным торговым роботом SWTGrid.


SWTGrid  — это программа для реализации торговых стратегий на основе SWT-метода. Торговые стратегии определяются выбором значений параметров робота, определяющих режимы его работы.

 
При сбрасывании робота на график отображается окно настройки параметров (рис.1.2).

 
1. Торговый робот SWTGrid. Параметры настройки и состояния


Рис.1.2. Диалоговое окно настройки параметров робота.


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

 TrendVector  — целое число, задающее глубину анализа рынка и определяющее старший тренд, начиная с которого учитываются все тренды более низкого уровня при определении направления торговли. Количество трендов, используемых для проектирования торговых стратегий восемь: Basic  — основной, Long  — долгосрочный, Medium  — среднесрочный, Short  — краткосрочный, Weekly  — недельный, Daily  — дневной, IDay  — внутридневной и Hourly  — часовой тренды. 

Значение параметра 8 означает, что в расчет принимается основной и все младшие тренды, значение параметра 7 — долгосрочный и все младшие тренды и т.д.

Тренды Daily  — дневной, IDay  — внутридневной и Hourly  — часовой учитываются всегда.

 AdaptibeMode  — режим адаптивной настройки на результирующий тренд.

В режиме AdaptibeMode=true тренды Basic  — основной, Long  — долгосрочный, Medium  — среднесрочный, Short  — краткосрочный и Weekly  — недельный учитываются начиная со старшего направленного. Например, если TrendVector = 8, основной и долгосрочный тренды находятся в фазе коррекции, а среднесрочный тренд направленный, то учитываются все тренды, начиная со среднесрочного и ниже. Направление основного и долгосрочного трендов при этом игнорируются.

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

В режиме AdaptibeMode=false учитываются все тренды согласно установкам параметра TrendVector. независимо от того направленное или коррекционное движение идет по этим трендам.


ContrTrend  — при значении параметра true меняет направление торговли по тренду на контртрендовое. Значение параметра не влияет на дневной, внутридневной и часовой тренды, направление торговли по которым остается неизменным независимо от значения параметра ContrTrend.


ReverseReadyToTrade  — при true устанавливает разрешение на открытие первой позиции в направлении недельного тренда и после отката по дневному или внутридневному трендам. Недельный тренд противоположного направления (направленный, не коррекционный!) сбрасывает ранее установленное разрешение на открытие позиции независимо от отката. 

 DominantTrend  — в режиме AdaptibeMode=true при значении параметра true робот учитывает только старший из направленных трендов, при значении false  — направления всех трендов ниже старшего из направленных.

 DominantCorrection  — при значении параметра true робот учитывает  направленные тренды с направлением, противоположным доминирующему тренду. Режим работает только при AdaptibeMode=trueDominantTrend = true. В режиме ContrTrend влияние режима изучено недостаточно, в некоторых ситуациях учет доминирующей коррекции идет на пользу в других нет, но большого влияния на результаты не оказывает. 

 Grid=true  — при открытии позиции по торговому алгоритму включает режим адаптивной сетки в выбранном направлении торговли открывая дополнительные позиции с переменным шагом, рассчитываемым автоматически, как произведение V*GridStepFactor, где GridStepFactor  — множитель шага сетки.

Параметр V которая рассчитывается как сумма текущего значения трех величин:
— волатильности часового тренда;
— волатильности внутричасового тренда;
— спреда. 

При отсутствии позиций, открытых торговым алгоритмом, запуск сетки может быть инициирован открытием позиции любого объема (лучше минимального) в ручном режиме.

 DoubleGrid=true  — режим адаптивной сетки, при котором позиции открываются при движении цены в обе стороны, как по направлению торговли, так и на откате против направления торговли.

 GridTakeProfitSize задает размер ордера t/p для позиций сетки. При значении параметра ноль ордер устанавливается на общих основаниях, задаваемых параметром TakeProfitLevel. При отличном от нуля значении параметра положение ордера t/p относительно цены открытия позиции определяется как произведение параметра волатильности V на GridTakeProfitSizeGridStepFactor  — множитель, предназначенный для изменения масштаба шага сетки, уменьшая или увеличивая его относительно исходного значения. LeverageLimit  — задание предельно допустимого значение кредитного плеча. При значении ноль используется кредитное плечо, разрешенное брокером.

 RiskLimitPerc  — лимит риска по открытым позициям. При значении ноль лимит риска не устанавливается.

 RiskTradePerc  — процент риска на сделку.

 LotsManual  — объем сделки, устанавливаемый вручную. При нулевом значении параметра объем сделки рассчитывается автоматически исходя из параметров уровня стоп-лосс и заданного риска RiskTradePercent  на сделку.

 StopLossLevel  — целое число, задающее номер тренда, по которому определяются уровни ордера стоп-лосс: 0 — нет ордера стоп-лосс, 1 — часовой, 2 — внутридневной, 3 — дневной, 4 — недельный, 5 — краткосрочный, 6 — среднесрочный, 7 — долгосрочный, 8 основной.


TakeProfitLevel  — целое число, задающее номер тренда по которому определяются уровни ордера тейк-профит: 0 — нет ордера тейк-профит, 1 — часовой, 2 — внутридневной, 3 — дневной, 4 — недельный, 5 — краткосрочный, 6 — среднесрочный, 7 — долгосрочный, 8 основной.

 AdaptiveTrailingStop  — при значении true включает адаптивный трейлинг-стоп величины V.

 SafeModeClose  — при значении параметра true закрывает прибыльные позиции по признакам разворота внутридневного тренда. 

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

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

 ManualPositionControl  — при true разрешает роботу обрабатывать позиции, открытые вручную.

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

 PermitLong  — при true разрешить лонг.

 PermitShort  — при true разрешить шорт.

 TickValueFactor  — коэффициент корректировки возможных ошибок сервера в цене тика (бывает).


SizeLabel  — размер шрифта текстовых меток.

 ModifyColorLabel  — задание цвета текстовых меток.

 Magic  — мэджик-идентификатор для настройки разных копий советника, работающих на одном инструменте. Может произвольно изменяться пользователем для заданного набора настроек.

 HideLabels позволяет выключить отображение на графике метод с параметрами состояния робота.


1.2. Параметры состояния. 

1. Торговый робот SWTGrid. Параметры настройки и состояния


Рис.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  — показывает значения параметров DominantTrend, DominantCorrection, Grid и
DoubleGrid.

 St|Gsf|Gtp  — показывает текущие значения шага сетки, множителя шага сетки GridStepFactor и величину параметра тейк-профит позиций сетки, определяемую значением  GridTakeProfitSize.

 Leverage|Lim  — отображает фактическое значение кредитного плеча и заданный его предел, при превышении которого строка подсвечивается красным цветом. Торговля при этом не прерывается, чтобы не нарушать логику торгового алгоритма. Это сигнал для трейдера, что риски находятся в опасной зоне и необходимо их уменьшить изменением параметров торговли.

 CurrentRisk|Lim  — отображает текущий риск открытых позиций и установленный лимит риска в процентах от средств счета. Знак минус текущего риска показывает, что риска по установленным стопам нет, есть прибыль. При превышении текущим риском заданных ограничений строка подсвечивается красным цветом. Торговля при этом не прерывается, чтобы не нарушать логику торгового алгоритма. Это сигнал для трейдера, что риски находятся в опасной зоне и необходимо их уменьшить изменением параметров торговли.

 Profit|Eq  — текущая прибыль по инструменту и средства Equity торгового счета.

 Trgt|PP|Risk  — показывает целевую прибыль для открытых позиций, при которой включается режим их закрытия на откате, установленное значение порога плавающей прибыли в процентах от эквити ProfitPerc, при котором включается режим закрытия позиций на откате, а также значение параметра RiskTradePerc.

 P/R|Ats|Scm  — группа параметров отображает отображает процентное соотношение уровня плавающей прибыли к риску открытых позиций ProfitRiskPerc, при котором включается режим их закрытия на откате, а также показывает значение параметров AdaptiveTrailingStop и SafeModeClose..

 TP|SL|LotM  — значения параметров TakeProfitLevel, StopLossLevel и LotsManual. При значении параметра LotM отличном от нуля значение параметра ProfitPerc игнорируется и объемы позиций определяются значением LotM.

 Lot: L|S  — объемы позиции для лонга и шорта при установленных параметрах риска и стопах.

 Basic, Long, Medium, Short, Weekly, Daily, IDay, Hourly  — комбинированные индикаторы, показывающие состояние рынка по данному тренду.
Знак показывает направление движения: плюс — вверх, минус — вниз.
Первая слева цифра означает:
— 1 — коррекция;
— 2 — тренд.
Если в рамках торговой стратегии тренд не учитывается, то индикация ограничивается одним разрядом. 
Если учитывается, то индикатор представляет собой пятизначное число, старший разряд которого показывает направление и характер движения по тренду, второй и третий слева — разрешение (при значении 1) на открытие лонгов и шортов соответственно, четвертый и пятый — разрешение на закрытие лонгов и шортов соответственно.
Например, число 21001 означает восходящий тренд, который в рамках используемой торговой стратегии дает разрешение на открытие лонгов и закрытие шортов;

 Nb|Ns|V  — отображает также количество открытых длинных и коротких позиций, а также общий объем открытых позиций в лотах.

 CtrM|T-out  — отображает значения параметров ManualPositionControl и TimeOutMinutes.

 Lup и Ldn индикация текущих уровней срабатывания позиций сетки. Значение ноль указывает на отсутствие активного уровня.

 Текущая информация и результаты в телеграм и моем блоге: — t.me/swt_signals ; — swt-metod.blogspot.com/ . А это то, с чего все начиналось 4 года назад (звук меня тоже раздражает, приглушите громкость: 
★1
2 комментария
Цитата для изливающих желчь. Пацаки и малолетние дебилы, ваши комментарии характеризуют вас, это зеркало.
//////////////////

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

© Артур Шопенгауэр

avatar

теги блога neophyte

....все тэги



UPDONW
Новый дизайн