Инструменты Подтяжка за объектом вверх и Подтяжка за объектом вниз

В приложении AutoGraf 4 имеются ордерные инструменты Подтяжка за объектом вверх (9) и Подтяжка за объектом вниз (10) предназначенные для модификации ордеров. Эти инструменты могут изменять цену ордерной линии в зависимости от положения одного из стандартных объектов терминала MetaTrader 4. Эти инструменты имеют одинаковые алгоритмы исполнения; разница заключается лишь в направлении модификации ордерной линии. Рассмотрим их свойства на примере инструмента Подтяжка за объектом вверх.

Разрешения

Инструмент Подтяжка за объектом вверх может быть установлен на ордерные линии:
— StopLoss и TakeProfit рыночного ордера любого типа;
— OpenPrice отложенного ордера любого типа.

Ограничения

Инструмент устанавливается (столбец):

Если инструмент Подтяжка за объектом вверх устанавливается на ордерную линию, на которой уже установлены какие-либо инструменты:

1 — Подтяжка вверх,
2 — Подтяжка вниз,
3 — Следование за ценой,
6 — Подтяжка не выше,
7 — Подтяжка не ниже,
10- Подтяжка за объектом вниз,
11 — Следование за объектом,

то указанные инструменты автоматически удаляются.

Инструмент Подтяжка за объектом вверх не может быть установлен на StopLoss рыночного ордера Sell, если на ордер установлен инструмент 5 Стоп 0 Sell.

Инструмент установлен (строка):

Если на ордерную линию, на которой уже установлен инструмент Подтяжка за объектом вверх, устанавливается один из инструментов:

1 — Подтяжка вверх,
2 — Подтяжка вниз,
3 — Следование за ценой,
10- Подтяжка за объектом вниз,
11 — Следование за объектом,

то инструмент Подтяжка за объектом вверх автоматически удаляется.

Если инструмент Подтяжка за объектом вверх установлен на StopLoss рыночного ордера Sell, то на этот ордер не может быть установлен инструмент 5 Стоп 0 Sell.

Требования

Для установки инструмента Подтяжка за объектом вверх никакие другие инструменты не требуются.

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

—         OBJ_REGRESSION — канал линейной регрессии;
—         OBJ_STDDEVCHANNEL — канал стандартных отклонений;
—         OBJ_TREND — трендовая линия;
—         OBJ_CHANNEL — равноудаленный канал;
—         OBJ_FIBOFAN — веер Фибоначчи;
—         OBJ_FIBOCHANNEL — канал Фибоначчи;
—         OBJ_PITCHFORK — вилы Эндрюса.

Установка инструмента Подтяжка за объектом вверх удовлетворяет требования для установки инструмента 6 Подтяжка не выше.

Установка

Установка инструмента Подтяжка за объектом вверх выполняется в два этапа — сначала инструмент закрепляется на ордерной линии, а затем выполняется привязка его к графическому объекту.

1 этап. Подготовка инструмента Подтяжка за объектом вверх.

Для закрепления инструмента на ордерной линии необходимо взять мышью значок инструмента на Панели инструментов, подвести к ордерной линии, на которую устанавливается инструмент, и отпустить кнопку мыши. Если ордерная линия выбрана в соответствии с правилами разрешения, то значок инструмента отобразится вблизи ордерной линии на том баре (), на котором пользователь отпустил значок. При этом значок отображается «пассивным» цветом (белым для чёрного фона и чёрным для белого фона); выводится сообщение о том, что инструмент подготовлен для настройки.

2 этап. Привязка инструмента Подтяжка за объектом вверх к графическому объекту.

Для привязки инструмента к графическому объекту необходимо взять мышью значок инструмента, закреплённого на ордерной линии, и подвести его к желаемой линии графического объекта. Когда значок инструмента оказывается в непосредственной близости от линии объекта, линия начинает «моргать» — изменяется её цвет. Это означает, что выбранная линия может быть использована в качестве объекта привязки. Привязка инструмента к объекту выполняется, если пользователь отпустит инструмент возле моргающей линии.

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


Рис. 1. Установка инструмента Подтяжка за объектом вверх на TakeProfit ордера Sell.

1. Подготовка инструмента — инструмент закреплён на ордерной линии. Цвет значка — чёрный. 2. Привязка инструмента к линии объекта — линия моргает, т.е. привязка допустима. Пользователь отпустил значок инструмента вблизи линии — значок вернулся на ордерную линию. Цвет значка — синий. 3. Значения параметров слева и справа от значка свидетельствует об окончании установки (после нажатия на изображение вы перейдете на сайт для просмотра видео).

Если для установки инструмента выбрана недопустимая ордерная линия, то инструмент не устанавливается. В этом случае выводится сообщение об ошибочном действии пользователя, сопровождаемое звуком ошибки. Если в процессе привязки к графическому объекту пользователь подводит закреплённый значок к объекту недопустимого типа, то объект не отзовётся морганием. Это значит, что привязка инструмента к этому объекту невозможна. Попытка привязать инструмент к такому объекту приведёт к возврату значка на ордерную линию. При этом инструмент останется закреплённым на ордерной линии, но не привязан ни к какому объекту, т.е. не установлен.

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

Параметры

Инструмент Подтяжка за объектом вверх характеризуется параметрами:

Индекс 0 1 2 3 4 5 6
Параметр 0/1 d_T Ds St i_O i_Ln
Например: 1.0 1230.0 0.0 50.0 3.0 7.0 32.0

Индексы параметров инструмента соответствуют индексам этих параметров в массиве Instrument [or][ol][9][j], где:
or — текущий индекс ордера в массиве Order[][];
ol — номер ордерной линии (1 — OpenPrice, 2 — StopLoss, 3 — TakeProfit);
9 — номер инструмента Подтяжка за объектом вверх;
j — индекс параметра инструмента Подтяжка за объектом вверх.
— факт установки инструмента; изменение параметра в ручном режиме осуществляется путём установки и удаления инструмента;
— смещение по времени от момента установки инструмента в секундах; изменение параметра в ручном режиме осуществляется путём перемещения значка инструмента в пределах ценового графика (по горизонтали).

Значок инструмента отображается на том баре, который соответствует расчётному времени To + dT, где To — текущее время, dT — смещение по времени (рассматриваемый параметр). В отличие от большинства других инструментов, отображаемых на конкретном баре, значок инструмента Подтяжка за объектом вверх будет менять своё положение по горизонтали в зависимости от таймфрейма.

Например. В таймфрейме М1 на одну и ту же ордерную линию TakeProfit на одном и том же 20м баре установлены два инструмента — Торговый разворот Buy и Подтяжка за объектом вверх. Для инструмента Подтяжка за объектом вверх смещение по времени может составлять 1201 до 1259 сек (20 баров = 20*60 = 1200, +время от начала нулевого бара от 1 до 59 сек); примем, что смещение составило 1230 сек. При переключении на таймфрейм М5 инструмент Торговый разворот Buy будет по-прежнему отображаться на 20м баре. А инструмент Подтяжка за объектом вверх отобразится на 5м баре. В данном случае именно 5й бар соответствует смещению инструмента относительно текущего времени на 1230 сек (4е бара = 4*300=1200; 30 — время пребывания на 5м баре). Таким образом, инструмент Подтяжка за объектом вверх меняет своё положение по времени в зависимости от таймфрейма.

Перемещение значка инструмента по горизонтали позволяет изменять смещение по времени инструмента с шагом, равным таймфрейму. Если необходимо значение параметра с точностью до минуты, нужно указать желаемое значение на панели настроек инструмента. Для вызова панели необходимо выделить значок инструмента и правой кнопкой мыши вызвать контекстное меню (выбрать Свойства). На появившейся панели свойств объекта (Параметры — Время) можно указать желаемое время установки инструмента. После изменения настроечного параметра значок инструмента отобразится на баре, соответствующем указанному времени. Смещение по времени (рассматриваемый параметр dT) будет вычислен как разница текущего времени и времени, указанного на панели настроек значка инструмента.

Иногда наблюдается смещение объекта вправо в момент, не совпадающий с моментом открытия бара. Это —  нормальное явление, свидетельствующее лишь о том, что время смещения dT не кратно таймфрейму.

—  дистанция в пунктах между линией привязки объекта и ордерной линией (дистанция преследования для ордерных линий ниже линии объекта и дистанция убегания для ордлиний выше линии объекта).

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

Изменение параметра в ручном режиме осуществляется путём перемещения мышью значка инструмента в пределах ценового графика (по вертикали) и на шкале значений параметра.

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

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

Изменение параметра Ds происходит также при модификации ордерной линии вниз. Для ордерных линий, находящихся выше линии объекта, уменьшение значения параметра происходит в случае, если фактическая дистанция оказывается меньше, чем чем Ds — St. Для ордерных линий, находящихся ниже линии объекта, увеличение значения параметра происходит в случае, если фактическая дистанция оказывается больше, чем Ds + St. В указанных случаях значение параметра устанавливается равным фактической дистанции между ордерной линией и линией объекта.

— шаг модификации ордерной линии в пунктах.

В момент установки инструмента параметр принимает значение настройки St, указанное в подокне.

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

— индекс объекта привязки в массиве Object[].

Все объекты типов, поддерживаемых для инструмента Подтяжка за объектом вверх, учитываются в массиве Object[].

Использование индексов объектов при ручном управлении ордерами не требуется — при установке инструмента пользователем с помощью мыши приложение AutoGraf 4 автоматически определит индекс объекта. Пользователю необходимо лишь следить, чтобы общее количество поддерживаемых объектов не превысило 100.

В процессе работы пользователь может изменить количество установленных объектов, рассматриваемых приложением AutoGraf 4. В результате этого в приложении AutoGraf 4 выполняется упорядочивание массива Object[] с целью удаления пустых строк.

Например, всего установлено три объекта поддерживаемых типов с именами: Channal_1, Channal_2 и My_TrandLine. Эти объекты учтены в массиве Object[] соответственно с индексами Object[1], Object[2] и Object[3]. Пусть инструмент Подтяжка за объектом вверх привязан к объекту My_TrandLine. В этом случае значение параметра i_O равно 3.0.

Если в дальнейшем был удалён объект с индексом 2, то массив Object[] упорядочивается — значение Object[1] остаётся без изменений, значение Object[3] переписываются в освободившийся элемент Object[2], после чего значения всех элементов ниже Object[2] обнуляются. В результате объект, ранее учтённый с индексом 3, теперь будет иметь индекс 2. Одновременно с этим автоматически изменяется значение параметра i_O в массиве Instrument [or][ol][9][5].

Указанное упорядочивание производится автоматически, без участия пользователя. Необходимые вычисления выполняются непосредственно перед передачей управления в пользовательскую функцию AG_AT(), т.е. на каждой новой итерации в пользовательскую функцию передаются обновлённые массивы.

— индекс линии объекта.

В приложении AutoGraf 4 принята классификация линий объектов поддерживаемых типов, приближенная к способу индексирования линий в MQL 4. Использование индексов линий объектов при ручном управлении ордерами не требуется — при установке инструмента пользователем с помощью мыши приложение AutoGraf 4 автоматически определит индекс линии объекта.


Рис. 2.  Изменение дистанции Ds инструмента Подтяжка за объектом вверх перемещением значка инструмента. 1. С момента начала движения значка линия привязки обозначает себя морганием. 2. Перемещение значка в сторону линии объекта приводит к уменьшению параметра Ds (после нажатия на изображение вы перейдете на сайт для просмотра видео).


Рис. 3. Перемещение ордерной линии вверх не приводит к изменению параметра Ds инструмента. Перемещение ордерной линии вниз приводит к изменению параметра Ds инструмента (справедливо для ордерных линий как выше, так и ниже линии объекта) (после нажатия на изображение вы перейдете на сайт для просмотра видео).

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

Исполнение

Чтобы разрешить исполнение инструментов в приложении AutoGraf 4, необходимо включить полуавтоматический или автоматический режим управления ордерами (перевести в верхнее положение  управляющий значок AG или AT).

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

Условия исполнения инструмента для ордерных линий, находящихся выше и ниже линии объекта, отличаются. Для ордерных линий, находящихся ниже линии объекта, условие исполнения инструмента наступает, если дистанция преследования равна или превышает значение Ds + St. Для ордерных линий, находящихся выше линии объекта, условие исполнения инструмента наступает, если дистанция убегания меньше или равна значению Ds — St. При достижении условия исполнения инструмент формирует указание — новое значение цены ордерной линии, отстоящее от линии объекта на величину Ds (пунктов). Все расчёты выполняются дистанции между линиями на том баре, на котором в настоящий момент установлен инструмент Подтяжка за объектом вверх.

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

Исполнение инструмента Подтяжка за объектом Вверх для отложенных ордеров предусматривает модификацию ордера целиком. Это значит, что StopLoss и TakeProfit ордера модифицируются одновременно с ордером. При этом дистанция от OpenPrice до каждого из стоп-приказов ордера сохраняется. Исключение составляет случай, когда на ордерную линию стоп-приказа установлен инструмент 13 Закрепить на цене.


Рис. 4. При изменении положения линии объекта изменяется расстояние между линией объекта и ордерной линией. При включенном полуавтоматическом режиме (значок AG вверху) это приводит к исполнению инструмента Подтяжка за объектом вверх в соответствии с настройками (после нажатия на изображение вы перейдете на сайт для просмотра видео).

На новом баре значок инструмента смещается вправо. На новом месте значка расстояние между линией объекта и ордерной линией больше критического. При включённом полуавтоматическом режиме управления ордерами (значок AG вверху) это приводит к исполнению инструмента.При формировании торгового приказа во исполнение указания инструмента приложением AutoGraf 4 учитываются требования и ограничения для торговых операций, а также указания других инструментов, установленных на ордер. При наличии указаний других инструментов приложением формируется один торговый приказ, учитывающий все указания (установка инструментов, которые могли бы сформировать противоречивые указания, приложением AutoGraf 4 не допускается).

Удаление

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

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

Удаление инструмента Подтяжка за объектом вверх также происходит автоматически при исполнении инструмента 6 Подтяжка не выше. Если цена исполнения ордерной линии достигает цены исполнения инструмента Подтяжка не выше, то необходимость дальнейшего использования инструмента Подтяжка за объектом вверх считается исчерпанной. В этом случае инструмент Подтяжка не выше удаляет инструмент Подтяжка за объектом вверх и удаляется сам.

Инструмент Подтяжка за объектом вверх автоматически удаляется приложением AutoGraf 4 также в случае, если удалена линия привязки графического объекта или сам объект.


Рис. 5. Удаление линии привязки (объекта) приводит к автоматическому удалению инструмента (после нажатия на изображение вы перейдете на сайт для просмотра видео).

В следующем примере рассматривается программный способ управления инструментами:

— Подтяжка за объектом вверх (9),
— Подтяжка за объектом вниз (10),
— Тянуть объект (12).

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

Функция AG_Magic_Number() используется для вычисления MagicNumber. В приложении AutoGraf 4 принято правило, в соответствии с которым каждому ордеру может быть присвоено только уникальное значение MagicNumber. Это необходимо для успешной идентификации ордеров при переоткрытии и частичном закрытии.

Функция AG_Message() используется для записи текстов сообщений в массив Message[]. Функция AG_Set_Instr() используется для записи параметров устанавливаемых инструментов в массив Manager[][]. Функция AG_Delete_Instr() используется для записи удаляемых инструментов в массив Manager[][].

Обсуждение

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Back to top button