triangular arbitrage

 

hello, ive been studying this method for a while but i dont quite get it

what is the requirements for the strategy to work and what are the pairs for that you should use 

can someone please list all the pairs ? 

 
You can read this article - Triangular arbitrage
 
Sergey Golubev:
You can read this article - Triangular arbitrage

i kinda got it but whats the pairs that someone should use? 

 

I've made an essay on triangular arbitrage, theoretically it's plausible, but I've seen no one mastering it so far.

In the last essay I did watch at, the author added a delay to keep synchronized pairs, it seems to work but as I remember not on the long term. 

Code Base

Arbitrage Synthetic

Maxim Dmitrievsky, 2018.03.01 09:20

A trading robot for performing arbitrage between EURGBP and its synthetic quotes (triangular arbitrage).

If you're looking for some profit, really consider passing your way for a more convenient strategy. If you're looking for some fun, then give a try :)

 
letstradefam:

i kinda got it but whats the pairs that someone should use? 

I am not a specialist with this method sorry.
But I see some pairs in the articles as the examples.

------------

You can look at this small and very old thread - Hedge-ring/triangular/basket

 

can someone provide me with all possible combinations for pairs for this to work on? 
something like this 

eurjpy (B) eurusd (S) usdjpy(B)
etc...

 
letstradefam:

hello, ive been studying this method for a while but i dont quite get it

what is the requirements for the strategy to work and what are the pairs for that you should use 

can someone please list all the pairs ? 

Unless you want to learn for fun, don't waste your time on tri-arb/ring-arb because you won't be able to get filled on retail brokers. In order to be successful with arb you would need a custom algo written in C running on a custom kernel on collocated servers trading directly with the multiple liquidity providers; we're talking major hedge-fund sh**. Arbs like this happen in the sub-millisecond space which you cannot even begin to compete using a retail broker running a retail platform.   
 

I don't think it's an hardware issue. 

It may be possible when all functions related to "exposure" will be more detailed (edit: and accessible from mql) in MT.

If my account currency is EUR and I buy 1000EUR of some GBPUSD, does it convert my 1000EUR to GBP or USD before buying it ? Using which rates EURGBP or EURUSD ? 

Same when it shows me the profit of my position of GBPUSD in EUR ... 

I really don't think it's an hardware issue, or a limitation of the MQL language - I don't think it requires a C program. 

Real triangular arbitrage happens when you're able to perform the whole operation before pairs' prices change. If you hope it'll be advantageous after few ticks, it's called pseudo-arbitrage, so it's really a strategy based on exposure. 

But yeah ... technically MT can enter/exit on the 3 pairs before pairs' prices change... 

 

Regarding speed icw MT5 keep in mind any logic based on ticks will suffer from:

All events are handled one after another in the order of their receipt. If the queue already contains the NewTick event or this event is in the processing stage, then the new NewTick event is not added to mql5 application queue.

Source https://www.mql5.com/en/docs/event_handlers/ontick

 

No new ticks in pure triangular arbitrage. If there's a new tick, it's a pseudo one <=> a correlation strategy, that's where pairs are correlated but not synced

Let's consider a balance of 10 000EUR :

I want to buy 1000EUR of crude oil, instrument for which currency is expressed in USD :

1000EUR -----> xUSD -----> y bareels - there's 1 position and 2 subpositions

Back to the currencies : EURUSD, GBPUSD, EURGBP

I want to buy 1000EUR of GBP, 1000EUR * EURGBP ----> xGBP : that's what will do the platform

Arbitrage is when you add a relay to precisely take profit on discrepancies between pairs :

1000 EUR ----> xUSD (1000EUR*EURUSD) -----> yGBP (xUSD/GBPUSD) -----> then back in EUR to close the triangle with zEUR (yGBP/EURGBP)

Profit will be : zEUR-1000EUR.

It's ONE position divided in 3 subpositions ; but it's the same hand, it's the same "1000EUR" you used at first, it's not another set of 1000EUR, at no moment it's about putting into the market 3*1000EUR whether in long or short.

By the way, whatever the position you open, before a new tick happen, the position's profit is always negative at exit because of the spread : it excludes any possibility of profit without prices' changes.

That's precisely because we need price to change that we're only able to get a pseudo arbitrage, a variant of correlation strategy, a variant of pairs hedging but not an arbitrage.

That strategy is a brainf*cker, if it was feasible it's been a long time we would have saw it

EDIT - a coffee later : maybe using a custom symbol if one feels brave enough to figure out the right formula !

 
Icham Aidibe:

No new ticks in pure triangular arbitrage. If there's a new tick, it's a pseudo one <=> a correlation strategy, that's where pairs are correlated but not synced

Let's consider a balance of 10 000EUR :

I want to buy 1000EUR of crude oil, instrument for which currency is expressed in USD :

1000EUR -----> xUSD -----> y bareels - there's 1 position and 2 subpositions

Back to the currencies : EURUSD, GBPUSD, EURGBP

I want to buy 1000EUR of GBP, 1000EUR * EURGBP ----> xGBP : that's what will do the platform

Arbitrage is when you add a relay to precisely take profit on discrepancies between pairs :

1000 EUR ----> xUSD (1000EUR*EURUSD) -----> yGBP (xUSD/GBPUSD) -----> then back in EUR to close the triangle with zEUR (yGBP/EURGBP)

Profit will be : zEUR-1000EUR.

It's ONE position divided in 3 subpositions ; but it's the same hand, it's the same "1000EUR" you used at first, it's not another set of 1000EUR, at no moment it's about putting into the market 3*1000EUR whether in long or short.

By the way, whatever the position you open, before a new tick happen, the position's profit is always negative at exit because of the spread : it excludes any possibility of profit without prices' changes.

That's precisely because we need price to change that we're only able to get a pseudo arbitrage, a variant of correlation strategy, a variant of pairs hedging but not an arbitrage.

That strategy is a brainf*cker, if it was feasible it's been a long time we would have saw it

EDIT - a coffee later : maybe using a custom symbol if one feels brave enough to figure out the right formula !

i do believe your correct, and there are some oblivious brokers who offer zero spreads ( during the day it happens multiple times) i was planning to use that but i still find it kind of hard to find correlated pairs in a way that you would be able to use the arbitrage in a correct manner, the formula is kinda screwing my head a bit because it divides into 2, the EA must know when to buy and when to sell (reverse positions to maximize profits) 
so my current problem is how to generate the formula for the EA to be able to reverse the deals while hedging pairs to make the equity move as low as possible while holding multiple contracts 

Reason: