Triangular arbitrage

Hi I have been going through some strategies . So I come to this triangular hedge arbitrage strategy . What everyone is saying is that if we take 3 pairs like EU ,GU , EG buysellsell or sellbuybuy the pairs . So concept is simple . But the thing is that Lot calculation place a kind of important role in this . Is there anybody to help me out for this or any advice for this strategy

My advice is not to bother with it. It does not work out to be profitable as you are relying too much that any slight gains will be more than the cost of spread and commissions.

Thought its kind of mathematical and some in efficiency in market will yield little profit with no risk

No system can achieve that for a trader, ever.

There may be some inefficiency in the market, but very little and it will be rectified, usually at lightning speed. You will never recover the cost of placing 3 different trades.

It’s a successful strategy when the conditions are met, I explain :

Let's consider those prices : EURUSD : 1.15619 / EURGBP : 0.90127 / GBPUSD : 1.28277
Theoric price of EURUSD by conversion/exchange = EURGBP * GBPUSD = 1.15612
Theoric price of EURGBP by conversion/exchange = EURUSD * 1/GBPUSD = 0.90132
Theoric price of GBPUSD by conversion/exchange = 1/EURGBP * EURUSD =  1.28284
Difference between displayed price & theoric price of EURUSD : 1.15619-1.15612 = 0,00007 = 7 points
Difference between displayed price & theoric price of EURGBP : 0.90127-0.90132 = -0,00005 = -5 points
Difference between displayed price & theoric price of GBPUSD : 1.28277-1.28284 = -0,00007 = -7 points
EURUSD is overvalued so should decrease to normalize itself (short) ; EURGBP & GBPUSD are undervalued and should increase to normalize (long)

Then it comes to lot size, let’s sell 10 000€ of EURUSD :

Sell EURUSD : 10 000€ * 1.15619 = 11561,9$ 
Buy GBPUSD : 11561,9$ * 1/1.28277 = 9013,22£
Buy EURGBP : 9013,22£ * 1/0.90127 = 10000,58€ 
Potential profit : 10000,58€ - 10000€ = 0.58€

… BUT … only if you can execute the deal (in & out) while the discrepancy observed above is the same (pure arbitrage, first two arrows), the more you’ll let it go, the more it’ll unsync (pseudo arbitrage, last two arrows).

You add spread, slippage to the thing and … you don’t want to use this strategy no longer.

I know it might look to some like this is advice to keep you from competing in a space where the money comes free, but this is good advice, especially if you’re asking on a metatrader forum. By the time you have spotted a potential opportunity in your terminal, a Billion dollar hedge fund has already arbed it out of the market. So unless you have infrastructure that can compete with hedge-funds (definitely not any flavor of MT) then you should only pursue this if you want to take on the coding challenge for fun, because like Keith says, you won’t be able to compete and you will slowly lose money.

Well, if you can’t compete it’s not really because of MT, but rather because of the use of standards brokers/computer/connection, I think.

I didn’t thought it will be for few milliseconds .

Even all the indicators lag .so is there any way to keep low drawdown and to be profitable in forex

Can’t be done on a retail platform with retail brokers. It requires a high-end rig running a custom kernel (def not windows) and highly optimized algo written in c or c++ - connected directly to a pool of LPs via FIX over a network with minimal latency. And if you are finding opportunities across multiple retail brokers then you’re better off doing a straight up price disparity arb then trying to enter a triangular hedge for no extra benefit.

Well, a dll may be involved for multithreading, but this apart I see nothing that would prevent a windows + mt5 to perform such operations if latency & brokerage conditions are fulfilled. Maybe I’m wrong … no way to be sure without checking :wink: