Мультивалютный арбитраж. Условия входа и выхода из рынка. Формула расчета объема лотов.

 
Доброго времени суток!

В настоящий момент пишу советника, который используют метод мультивалютного арбитража.
За основу был взят советник Trade-Arbitrage (автор getch).
Желание переписать советник с нуля носит прежде всего образовательную цель.

Для ускорения понимания алгоритма работы (в деталях), решил попросить помощи у общественности в разъяснении теории.

Интересуют три вещи:
1. Условия входа и выхода из рынка.
2. Формула расчета объема лотов.
3. Данный метод никак не зависит от спреда (он никак явно не учитывается в алгоритме)?

С первым вроде как все понятно, но, на всякий случай, хочу удостовериться, правильно ли я понял.
Сейчас и далее рассматриваем следующую арбитражную комбинацию: "EURUSD = EURGBP * GBPUSD".

Арбитражная ситуация произойдет при наступлении условия: BID (EURUSD) > ASK (EURGBP * GBPUSD).
В данной ситуации необходимо открыть три ордера: продажа EURUSD, покупка EURGBP, покупка GBPUSD.
Правильно ли это я понял или напутал с направлением ордеров?
Сопряженный вопрос. Имеет ли быть ситуация с данной комбинацией, при которой открытие происходит в обратную сторону (покупка EURUSD, продажа EURGBP, продажа GBPUSD)?
Следующий вопрос. По какой формуле расчитывается объем лотов по каждой из трех открываемых позиций?
И последний вопрос. Правильно ли я понял, что в данном методе (мультивалютный арбитраж) спред не имеет никакого значения (это уже включено в условие входа в рынок)?
 
vasya_vasya
Спасибо за ответ.

Не могли бы Вы "разжевать" сказанное, а то я пока слабо "ориентируюсь на форексе"? =)
1. Написать условие (формулу) входа в рынок с учетом спреда.
2. Написать формулу расчета объема лотов по трем позициям.
3. Не ошибся ли я с направлением открытия позиций в приведенном примере?

А на счет интереса к теме... эта ведь единственная (известная мне) стратегия с гарантированной прибылью (если не учитывать технические сложности, типа, проскальзывания, реквоты и пр.)?
Странно, что к ней нет интереса...
 
voix_kas писал(а) >>
vasya_vasya
Спасибо за ответ.

Не могли бы Вы "разжевать" сказанное, а то я пока слабо "ориентируюсь на форексе"? =)

Круто! И начал сразу с арбитражного советника. Нет, еще круче!
 
Roger
Объем и сложность кода меня не пугает, т.к. несколько лет программирую на С++.
Загвоздка в том, тематика фореска для меня нова и некоторые фразы трудны для понимая.

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

Формулы пока "перевариваю"... =)
 

формула у вас правильная, сумму спредов нужно учитывать, для оценки рисков, например.
депозит у вас в долларах;
Уровень открытия=0.8 - это норма прибыли+проскальзывание
Сумма спредов=спред(EURUSD) +спред(EURGBP)*GBPUSD+ спред(GBPUSD)*EURGBP
спред(EURGBP)*GBPUSD и спред(GBPUSD)*EURGBP не одно и тоже, в первом варианте GBPUSD означает пересчет в нашу валюту депозита, а во втором EURGBP означает размер лота пары GBPUSD
Уровень открытия<(BID (EURUSD) - ASK (EURGBP * GBPUSD))/(сумма спредов).
если выполнено, то продажа1 лота EURUSD
покупка 1 лота GBPUSD
покупка EURGBP ордеров GBPUSD
Вчера с формулами немного напутал, нужно было спать ложиться

 

Да, арбитраж это круто! Минимум просадок, максимум стабильности. Вот пример расчета лотов для EURUSD и USDCHF:

   Free=AccountFreeMargin();
   OneLot_EURUSD=MarketInfo("EURUSD",MODE_MARGINREQUIRED);
//   OneLot_USDCHF=MarketInfo("USDCHF",MODE_MARGINREQUIRED);
   Step=MarketInfo("EURUSD",MODE_LOTSTEP);
   lots_EURUSD=MathFloor(Free*(Lot_percent/1.7)/100/OneLot_EURUSD/Step)*Step;
   lots_USDCHF=MathFloor(Free*(Lot_percent/1.7)/100/OneLot_EURUSD*MarketInfo("USDCHF",MODE_ASK)/Step)*Step;

P.S: А эти пары можно назвать арбитражными?

 

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

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

 
lekhach:

Да, арбитраж это круто! Минимум просадок, максимум стабильности. Вот пример расчета лотов для EURUSD и USDCHF:

P.S: А эти пары можно назвать арбитражными?

На эту тему уже много писали и говорили.

Купив две пары USDCHF и EURUSD фактически вы купили EURCHF,какой смысл так мудрить. Купите напрямую EURCHF.

 
zhuki:

На эту тему уже много писали и говорили.

Купив две пары USDCHF и EURUSD фактически вы купили EURCHF,какой смысл так мудрить. Купите напрямую EURCHF.

Именно, при этом даже сэкономите на спреде и марже.
 
OnGoing:
Именно, при этом даже сэкономите на спреде и марже.
По поводу маржи согласен,а вот со спредом ? где как 2+3 < 12 у меня так.
 
zhuki:
По поводу маржи согласен,а вот со спредом ? где как 2+3 < 12 у меня так.
12 - это очень много. На NDD у А....ри к примеру EURCHF = 20 (новых) сейчас.
Причина обращения: