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

Плавающие зоны событий переменного порога

Напомню, событие - изменение направления изменения цены не менее чем на пороговую величину.

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

THR= - (S-F)/2     (1)

, где THR - порог следующего события;

- второй (second) экстремум текущего события;

F - первый (first) экстремум текущего события.

Dredger выделяет зоны областей High и Low текущего события FSHZone и LZone

Начало соответствующей области Drager определяет, используя параметр ZoneFactor, на расстоянии:

 Zone=(High-Low)/ZoneFactor     (2)

от первого экстремума F текущего события. То есть, для события роста определяется область LZone, а для снижения - HZone. 

Пример, как это выглядит при работе программы. Здесь:

- в верхнем левом углу информация о High-Low текущего события, H и L зонах текущего события, пороге следующего события, цели по прибыли, количестве уровней в сетке, фактической и максимальной ширене сетки;

- белая вертикальная линия отмечает уровень  предыдущущего события и проходит от цены начала предыдущего события (Previous event extreme) до цены начала текущего события (Base for current event); 

- белая наклонная линия - текущее событие изменения цены от первого экстремума до последнего;

- красная горизонтальная линии - нижняя граница зоны HZone;

- желтая горизонтальная линия - верхняя границы зоны LZone

Dredger совершает первую сделку, когда цена входит в зону выше линии HZone или ниже линии LZone на глубину Module (продает выше HZone, покупает ниже LZone)

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

Текущие убытки аккумулируются в незакрытых ордерах сетки ордеров и компенсируются открываемыми/закрываемыми сделками на кромке вибрации цены

Внешние параметры

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

Module - используемая в Dredger единица измерения. Модуль равен максимальной из двух величин:

- заданный процент от  Bid;

- спред.

Initial threshold - Начальный порог события в модулях. Если не задано, то принимается равным значению Minimal threshold. Можно не задавать, если программе уже известны Previous extreme и Base for current event. А они ей известны, если не изменились с момента завершения предыдущей сессии Dredger. В этом случае, данный параметр рассчитывается программой автоматически.

- Minimal threshold - Минимальный порог события в модулях. Порог следующего события равен половине предыдущего события, но не меньше Minimal threshold. Например, Minimal threshold= 10 означает десять модулей. 

Distance till TP - фактор расчета дистанции от цены открытия до тейк профита. Задается в модулях. Например, Distance till TP = 3 означает три модуля.  TakeProfit назначается по формуле  (3):

для buy TakeProfit= OpenPrice+(Distance till TP*Module) + GriidSpace    (3)

для sell TakeProfit= OpenPrice-(Distance till TP*Module) - GriidSpace

Zone factor - Используется для расчета начала зон HZone и LZone по формуле (2). Минимально допустимое значение, при котором событие разделяется на две равные зоны, Zone factor=2.

Previous event extreme-  Цена начала предыдущего события. Если не указано, то берется из глобальной переменной PreviousExtrime (доступ через F3). Если указано, то величина должна совпадать с величиной глобальной переменной PreviousExtrime. Если не совпадает, то программа потребует удалить один из параметров или отредактировать их так, чтобы совпадали.

Base for current event - Цена начала текущего события. Если не указано, то берется из глобальной переменной CurrenBase (доступ через F3). Если указано, то величина должна совпадать с величиной глобальной переменной PreviousExtrime. Если не совпадает, то программа потребует удалить один из параметров или отредактировать их так, чтобы совпадали.

HZone, LZone - Начальные значения зон High и Low. Если не задано, то устанавливаются роботом автоматически в зависимости от состояния рынка и открытых позиций.

Leverage - допустимое плечо размера суммы открытых ордеров относительно баланса счета.

Target for equity - Если указано, то задает значение цели по капиталу, по достижению которой все ордера закрываются. Если не указано, то торговля бeс поставленной цели, то есть, до бесконечности. 

Step till next Target Equity - Если не указано, то после достижения Target for equity советник выгружается. Если указано, то после фиксации текущей Target for equity автоматически назначается новый:

 Target for equity= Target for equity+Step till next Target Equity     (4)

Airbag - подушка безопасности в % от капитала начала сессии.  Если указано, то торговля прекращается, после снижения капитала до указанного значения. Если не указано, то допускается торговля вплоть до обнуления капитала. Рекомендую без подушки безопасности не торговать.

Особенность программы.

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

Текущие убытки аккумулируются на уровнях сетки ордеров, пройденных по траектории без вибрации и компенсируются вибрациями на крайних уровнях сетки. 

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

При отключенной подушки безопасности (если параметр Airbag =0), полная потеря капитала возможна при изменении цены без отскоков более чем на (100/Leverage)%. Например, при торговле с плечом 1:10 конец может наступить после прямолинейного изменения цены без вибраций на 10%. 

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

 

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