Octopus Arbitrage

Octopus Arbitrage

Реализует рыночно-нейтральную стратегию  парного трейдинга на коррелирующих инструментах. Octopus Arbitrage нечувствителен к обрывам связи и экстремальным движениям цены. Робот определяет направления сделок и сектор торговли. Алгоритм открытия и сопровождения сделок предусматривает автоматический выбор экспертом разных способов входа в сделки в зависимости от поведения выбранных для работы инструментов. По умолчанию Octopus Arbitrage настроен на консервативную торговлю с предполагаемой доходностью 5-10% в месяц.

Octopus Arbitrage


Арбитражный советник Octopus Arbitrage может работать на любых инструментах, которые будут заданы пользователем во входных параметрах, это могут быть любые коррелирующие между собой валюты или индексы, выбрать инструменты для торговли можно воспользовавшись например таблицей корреляции или калькулятором корреляции, таймфрейм для работы М30.
Octopus Arbitrage не тестируется, т.к. ему одновременно нужны котировки разных инструментов, в простом тестере это получить невозможно.

Входные параметры Octopus Arbitrage:

MagicNumber  - параметр,  необходимый для  того, чтобы на одном счете могли работать несколько советников, не мешая друг другу Параметр MagicNumber определяет  номер,  начиная с которого будут присваиваться «мейджики» ордерам. Реальный «Магический номер»   ордера первой пары будет определяться как MN1 = MagicNumber * 1000 + номер_ордера_данной_пары_по_счету
Реальный «Магический номер»ордера второй пары будет определяться как MN2= MagicNumber * 1000 + 500  номер_ордера_данной_пары_по_счету.
Таким образом, при MagicNumber =1 для первый пары ордеров «Магические номера» будут находиться в диапазоне от 1000 до 1499. Для второй пары ордеров «мейджики» будут находится в диапазоне от 1500 до 1999. При MagicNumber=2  – от 2000 до 2499 и 2499 до 3000 соответственно.

Key*** — номер лицензионного ключа Octopus Arbitrage ( *** для робота, приобретенного через маркет не требуется ).
Лицензионный ключ не ограничен по сроку действия и не привязан к «железу» компьютера.

Pair_1 — валютная пара 1, по умолчанию EURUSD

Pair_2 — валютная пара 2, по умолчанию GBPUSD

Max Trade*** - ограничение количества открываемых Octopus Arbitrage пар - в случае открытия указанного количества советник ждет закрытия крайних пар, затем, если корреляция снова расходится дополняет пары до заданного ограничения.

LossInPoints — убыток по последней открытой паре ордеров, при превышении которого открывается следующая пара. По умолчанию задается 20 пунктов для ДЦ с четырьмя знаками и 200 для ДЦ с пятью знаками. Чем этот параметр меньше, тем ордера будут открываться чаще,  даже на незначительных движениях рынка, и, соответственно, наоборот, при большом значении этого параметра, ордера будут открываться реже. Слишком маленькое значение этого параметра может привести к тому, что за несколько минут Octopus Arbitrage может открыть количество ордеров, эквивалентное средствам, выделяемым для торговли, в результате Octopus Arbitrage будет «сидеть» с этими ордерами длительное время, не получая прибыль. Наоборот, слишком большое значение может привести к тому, что ордера будут открываться очень редко, упуская тем самым потенциально прибыльные сделки. Необходимо соблюдать баланс. На данный момент   оптимальное значение этого параметра определено как 200-250 пунктов (для 5-значного терминала).

LossInPointsCoeff *** - коэффициент изменения величины расхождения необходимого для открытия дополнительных ордеров (выставления отложенных ордеров)

ProfitInPoints — прибыль в пунктах для пары последних открытых ордеров, для простой функции определения профита (см. profFunctType). По умолчанию 20 пунктов для четырех знаков, 200 для пяти знаков. При маленьких значениях, Octopus Arbitrage работает в режиме «скальпера», что хорошо на маленьких движениях рынка,  однако в этом случае можно упустить потенциальную прибыль при большом движении. При больших значениях можно получить большую прибыль на закрытии пары. Однако в этом случае  возможна ситуация, когда ордера будут длительное время «висеть», занимая средства,  при этом со временем будет нарастать своп. На данный момент оптимальное значение параметра определено, как 20–25(для 4-значного терминала).

TrailStop — отклонение в пунктах для выставления стоплосса при абсолютном режиме  (при stopLossType=1). когда выполнилось условие по прибыли. Например,  выставили TrailStop=6. Цена GBUSDsell  при этом 1.5300, аEURUSDbuy 1.3207 тогда будет выставлена цена стоплоссов 1.5306 и 1.3201 соответственно.
Здесь необходимо учитывать, чтобы TrailStop с одной стороны не был слишком маленьким, в этом случае ДЦ его может просто не выставить. С другой стороны чтобы он не перекрывал значение прибыли по паре ордеров, и не было убытка. Например, если выставить  TrailStop=9, при этом ProfitInPoints=15, то будет убыток 3 пункта

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

StoplossRatio — определяет процент прибыли (задается в долях от единицы), который бы мы хотели зафиксировать при выставлении стопа. См. stopLossType

MinStopLoss — минимально допустимое отклонение цены в пунктах (см.stopLossType)

Slippage — проскальзывание в пунктах

TotalProfProc — размер суммарной прибыли по всем открытым Octopus Arbitrage ордерам, в процентах от величины баланса,  при котором необходимо закрыть одновременно все позиции.

MarginLimProc — минимально допустимый процент свободной маржи, в процентах от величины баланса, при котором еще можно открывать новые ордеры. С помощью этого параметра регулируется, какая часть средств может быть задействована в торговле. При  больших значениях этого параметра (т.е. задействована минимальная часть баланса)  риск «слива» минимальный, но и минимальна величина получаемой прибыли. При небольших же значениях  этого параметра, риск увеличивается, зато увеличивается величина прибыли. Практика показывает, что не рекомендуется выставлять этот параметр менее 60%.

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

OrdersComment — комментарий, который будет выставляться на ордера, открываемые советником

MZ - параметр, отвечающий за начало работы Octopus Arbitrage при расхождении корреляции на заданную величину. Среднее предполагаемое значение 1000-1500п. (для 5-знака). Как показывает практика пиковые средние значения расхождения корреляции например для пар EUR/USD-GBP/USD достигают 2000-2500, но это не предел и конечно настраивать параметры Octopus Arbitrage нужно учитывая этот "средний" уровень.

MZ_UP – мертвая зона выше нуля (положительная)

MZ_DOWN – мертвая зона ниже нуля (отрицательная)

Amnesia — при  установке значения равным true (истина) в Octopus Arbitrage включается «режим амнезии». Это значит, что при достижении крайнего (последнего открытого для данного направления расхождения корреляции) ордера, стоплосс выставляется, но не «траллится»  до закрытия всех остальных ордеров этой группы. Это позволяет компенсировать размер отрицательного профита для противоположной группы ордеров при противоположно направленном движении и избегать значительных просадок.Амнезия работает так:

  1.  Начинается разворот корреляции
  2. По последней открытой паре данного направления появляется прибыль
  3. Выставляется стоплосс, фиксирующий часть прибыли.
  4. Ордер из последней пары, который имеет положительный профит не траллится. Ордер из последней пары, который имеет отрицательный профит траллится пока профит не будет положительный. Таким образом, получаем пару ордеров, каждый из которых с прибылью и неким заданным стоплоссом.
  5. Если корреляция опять меняет направление, пара закрывается по стопам.
  6. Если корреляция продолжает движение в этом же направлении, то прибыль по последней паре увеличивается, но ордера пары не закрываются.
  7. Движение продолжается,  все пары кроме последней закрываются по стопу.
    Так продолжается до тех пор, пока последняя пара этого направления не окажется единственной. Тогда она траллится и закрывается по стопу.

Т.е. чтобы амнезия работала стоплосс должен быть задан.

Кроме того, если задан стоплосс

  1. Когда по паре получается прибыль, пытаемся выставить стоплосы в соответствии с настройками.
  2. Если ДЦ отказывается выставить стоп в соответствии с нашими настройками, советник пытается его выставить еще N раз
  3. Если после N раз стоп не выставлен, просто закрывается пара.

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

DBG_FLAG — запись отладочной информации в лог-файл.  Необходимо для тестирования  экспериментальных версий Octopus Arbitrage, а также для контроля «недобросовестного поведения» ДЦ: реквоты, несвоевременное выставление стопов, несвоевременное отркытие/закрытие ордеров и т.д.
Внимание ! Рекомендуем установить значение для этого параметра 0, так как логи пишутся очень интенсивно и быстро растет размер, занимаемого ими дискового пространства. Поэтому при необходимости их включения надо либо их подчищать вручную, либо пользоваться специальной бесплатной утилитой, разработанной нами для архивирования логов.

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

L1, L2 —размер лота для пары 1 и 2 соответсвеено.

Max_Lots_lim1, Max_Lots_lim2 — максимальный размер лота для пары 1 и 2 соответственно, (важная функция защиты депозита от перегрузки при интенсивном расхождении корреляции).

порядок увеличения лотов - добавление, что позволяет работать с любым размером начального лота. При добавлении происходит некритичное наращивание лота, Пример: если начальный лот 0,01, то можно задать количество пар которые будут открываться с этим лотом (например 3), затем увеличить лот на любую заданную величину (например на 0,02), тогда после открытия 3 пар ордеров с лотом 0.01, следующие три пары Octopus Arbitrage будет открывать лотом 0.03, следующие за ними три пары - лотом 0,05, потом три пары с 0,07 и т.д.   Т.е. практически можно разбить торговлю Octopus Arbitrage по секторам корреляции например если нам нужно, чтобы после выхода из MZ в рабочую зону Octopus Arbitrage работал фиксированным лотом в области расхождения корреляции первых 100 пунктов , а затем увеличивал лот для следующих 100п., устанавливаем  lotCountRepeat=5 , при LossInPoints=20 первые 5 пар как раз "перекрывают" 100пунктов. Потом к рабочему лоту добавляется заданный объем (lotInc) и следующие 100пунктов расхождения Octopus Arbitrage работает новым фиксированным лотом.
lotCountRepeat - сколько пар ордеров открыть с этим лотом.

lotInc1 - на сколько увеличивать лот пары 1 (EURUSD),

lotInc2 - на сколько увеличивать лот пары 2 (GBPUSD).

StopOrdersMode – включает режим отложенных ордеров.  Первая пара стоп-ордеров выставляется, когда расхождение корреляции больше MZ+2TSO. Далее варианты:работы Octopus Arbitrage предполагают включение одного из ордеров в работу – тогда если  по одному из них зафиксирована прибыль(выставлен и тралится стоплосс) , второй отменяется. Если включаются оба ордера, то ждем по ним прибыль, как по обычным ордерам больше ProfitInPoints. Если же убыток по ним становится больше LossInPoints + 2xTSO, выставляются новые отложенные ордера. Когда после выставления отложенника цена уходит от него больше чем на TSO+TSS, он тралится на расстоянии TSO за ценой.

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

TSO – Trail Stop Order  (см. StopOrdersMode)

TSS  –  Trail Stop Order Step  (см. StopOrdersMode)

Period_Ratio - период встроенного индикатора корреляции, чем он больше, тем больший массив данных берется для оценки расхождения корреляции выбранных для торговли инструментов. Следует учитывать, что "точка отсчета" индикатора постоянно смещается, таким образом при выставлении разных значений этого параметра советник может показывать разные значения корреляции. (Рекомендуемое значение 540)

Anti – если true то включен режим «антиоктопус». Т.е. торговля «наоборот» - там где в обычном режиме Octopus Arbitrage выставил бы ордер на бай, выставится ордер на селл

UseRegression –  Включает режим Octopus Arbitrage «использовать регрессию при схождении корреляции». Основная идея – открывать пары, только когда корреляция (индикатор) начинает "сходится" обратно.

min_a_up - - -
min_a_down
– характеризуют степень схождения корреляции (см. UseRegression) чем больше значение, тем «сильнее» она начинает сходится обратно. UP и DOWN для нижней и верхней части графика соответственно

RegDeep_up и RegDeep_down -  также онтносится к режиму Octopus Arbitrage "UseRegression"  показывает сколько баров на индикаторе корреляции нужно использовать для расчета min_a_up и min_a_down как правило используется 4

 *** - новые параметры

Купить Octopus Arbitrage