Обсуждение статьи "Треугольный арбитраж" - страница 7

 
Комбинатор:

Можно пояснить эту фразу? Не понимаю.

Перед тем, как торговать арбитраж, нужно поставить граничные условия по объему открытой позиции на каждый символ. Пусть, например, по EURUSD макс. объем 10 лотов. Допустим, Вы достигли этого объема. Соответственно, открываться в BUY по EURUSD больше нельзя. Поэтому делаете EURUSD_Ask равным DBL_MAX. Тогда не будет ни одной арбитражной ситуации, где участвует EURUSD_Ask, и Вы не откроете BUY EURUSD.


Обычно подобный маркап делают динамическим на тех же агрегаторах. Чем выше позиция на LP, тем сильнее маркпится соответствующая сторона символа. А с определенного порога маркап делается бесконечным - сторона выключается из агрегации


Некоторые реализации арбитража создают виртуальный агрегатор, где в качестве LP выступают синтетические конструкции. Например, USD_LP для EURUSD - EURGBP * GBPUSD. Соответственно, строятся стаканы по каждому символы из вот таких вот LP. Арбитраж - это когда в таком синтетическом стакане отрицательный спред.

 
Alexey Viktorov:

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

Не увидел этого в цитате. Арбитраж на маржинальном рынке (не обменник - требуется закрывать позу) предполагает в идеале закрытие и открытие противоположных арбитражных ситуаций. Но на практике все далется совсем не так. Берется рыночно-нейтральный EURUSD / (EURGBP * GBPUSD), обе цены которого колеблются возле единицы, и запускается на нем флетовая ТС. Это значит, что после открытия арбитража закрывать его можно не арбитражом, а малым спредом.

В общем, расписывать не буду. У Вас несколько теоретические представления.

 
fxsaber:

Практиковал арбитраж...

Вот исходя из вашего снимка на стр.4


Покупка EUR за USD покупка CAD за EUR и продажа CAD за USD

Классический треугольный арбитраж. Но если покупка EUR происходит в момент покупки CAD за EUR то для продажи CAD за USD надо произвести обратные операции, продать CAD за EUR и в этот момент брокер конвертирует EUR в валюту депозита, то-есть в USD.

 

Прошу объяснить мне

Теперь разберемся с ценами bid и ask. Порядок действий будет такой:

  1. Покупаем EURUSD, т.е. используем цену ask. На балансе у нас плюс евро и минус доллары. 
  2. Выражаем EURUSD через две другие пары.
  3. GBPUSD: евро тут нет, но есть доллар, а доллары мы должны продать. Чтобы продать доллары в GBPUSD, надо эту пару купить. Значит, используем ask. При покупке мы получим на баланс плюс фунт и минус доллар.
  4. EURGBP: евро нам надо купить, а фунт, который нам не нужен, — продать. Покупаем EURGBP, используем ask. На балансе у нас плюс евро и минус фунт. Всё сходится.

Вроде всё логично, но

1. Покупаем EURUSD. Висит открытая позиция...

3. а доллары мы должны продать. Чтобы продать доллары в GBPUSD, надо эту пару купить. Висит вторая позиция.

4. евро нам надо купить, а фунт, который нам не нужен, — продать. Покупаем EURGBP. И третья позиция.

Чтобы закрыть все эти позиции что надо учесть, чтобы была выгода от этого колдовства?

 
Alexey Viktorov:

Вот исходя из вашего снимка на стр.4

Покупка EUR за USD покупка CAD за EUR и продажа CAD за USD

Классический треугольный арбитраж. Но если покупка EUR происходит в момент покупки CAD за EUR то для продажи CAD за USD надо произвести обратные операции, продать CAD за EUR и в этот момент брокер конвертирует EUR в валюту депозита, то-есть в USD.

К сожалению, не понимаю загвоздки.

 
Комбинатор:

Покупаем 1 EURUSD,

цепочка EUR - GBP - USD

Продаем 1 EURGBP лимиткой (идеально FOK) исполняется 0.3,

обновляем данные, для EUR --> USD лучшая цепочка EUR - AUD - USD

Продаем 0.7 EURAUD исполняется 0.3

Итого у нас расхождение для EUR, USD, GBP, AUD, которое надо закрыть оптимальным способом. Здесь в принципе все довольно просто, потому что отрицательная девиация только одна (USD). Плюс к этому надо иметь в виду, что стоимость перехода из одной валюты в другую может различаться в зависимости от лота.

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

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

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

Бажный арбитраж, на который так легко повестись.


 
fxsaber:

Бажный арбитраж, на который так легко повестись.

Сервер какой?

 
Новые возможности платформы по теме

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Библиотеки: MT4Orders

fxsaber, 2017.12.04 11:42

На формульных синтетиках возможно написание торговых функций.

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


И запускаем на нем арбитражную ТС.

// Арбитражный советник на формульном синетике
#include <MT4Orders.mqh>

#define Bid SymbolInfoDouble(_Symbol, SYMBOL_BID)
#define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

void OnTick()
{
  if (Bid > 1)
    OrderSend(_Symbol, OP_SELL, 1, Bid, 0, 0, 0);
  else if (Ask < 1)
    OrderSend(_Symbol, OP_BUY, 1, Ask, 0, 0, 0);    
}