• Overview
  • Reviews (3)
  • Comments (60)
  • What's new

PZ Triangular Arbitrage EA

The Triangular Arbitrage EA exploits inefficiencies between three related currency pairs, placing offsetting transactions which cancel each other for a net profit.

  • Easy to set up and supervise
  • No indicators or hard analysis needed
  • The strategy is time-frame independent
  • The strategy is neutral to news, gaps or price spikes
  • Deals are completely hedged: all you can lose is the spread
  • Under ideal trading conditions, triangular arbitrage is a zero-risk strategy
  • Arbitrage is a high-volume strategy and generates a lot of rebates

It implements a set of unique features:

  • You decide which pair set to trade
  • Adapts to spread, commissions and swaps
  • Implements an optional trade-expiration feature
  • Customizable price trigger and profit target

It can trade any of the following pair sets:

  • EURUSD, EURGBP and GBPUSD
  • EURUSD, EURAUD and AUDUSD
  • EURUSD, EURNZD and NZDUSD
  • EURCHF, EURUSD and USDCHF
  • EURCAD, EURUSD and USDCAD


What is Triangular Arbitrage?

Triangular arbitrage (also referred to as cross currency arbitrage or three-point arbitrage) is the act of exploiting an arbitrage opportunity resulting from a pricing discrepancy among three different forex pairs in the foreign exchange market. A triangular arbitrage deal involves three trades, exchanging the initial currency for a second, the second currency for a third, and the third currency for the initial. During the second trade, the arbitrageur locks in a zero-risk profit from the discrepancy that exists when the market cross exchange rate is not aligned with the implicit cross exchange rate. A profitable deal is only possible when a market inneficiency arises and if execution times are small.

Important - there is substantial execution risk in employing a triangular arbitrage strategy for retail traders, as execution times are never perfect on the server-side.


Backtesting

At the time of writing, the MT4 Tester does not support multi-currency-pairs testing. To backtest the EA, test the MT5 version.


Input Parameters

  • Triangulation Pairs - Select the pair set to trade.
  • Symbol Name Suffix - Type the suffix of the symbol names of your broker. For instance, if EURUSD is named EURUSDfx, fx is the suffix.
  • Symbol Name Prefix - Type the prefix of the symbol names of your broker. For instance, if EURUSD is named mEURUSD, m is the prefix.
  • Trade Trigger - The trade trigger defines how deep the inefficiencies must be to trade, as multiplier of the combined spreads and commissions the deal must pay to enter a deal. A higher value means deeper inefficiencies are traded, but it also means that trading activity won't happen very often. Use this parameter to offset any slippage.
  • Profit Target in Pips - Amount of pips in profit needed to close the deal. A higher values means deals will be opened for longer. Make sure this parameter is never above the combined spread of the symbols traded.
  • Expiration of trades - Optionally, you can select an expiration in time for the trades. This is very effective to cut exposure in situations at which slippage as ruined the trading opportunity.
  • Lotsize for trades - Enter the lotsize for the first trade, which is the parent symbol trade. If the volume is too much for your account equity, the EA won't trade.
  • Slippage for orders - Maximum slippage on orders, in points, allowed for the trades.
  • Magic Number for the trades - Enter an unique magic number, not present in other EAs.
  • Custom comment for trades - Comment for the trades sent to the broker


Author

Arturo Lopez Perez, private investor and speculator, software engineer and founder of Point Zero Trading Solutions.

Nuno Silva Da Cruz
277
2017.05.27 13:49 
 

Eu testei o robo 1 mes nao deo nota 0

Daniele Tosolini
171
2017.05.01 14:31 
 

No trade in 1 month with 3 different broker and on 3 instruments each one...sorry for Arthur he is great but this EA it's a waste of money

Ke Huang
418
2017.04.04 06:56   

Hi,Arturo.I once contact with you , but you did't reply me.I rent your EA for a month until 2017.4.25 . In the testing , I found that if I set trigger to "1" , it opened trade frequently; and if I set trigger to "1.5", it hardly opened a trade. How big the risk between "1" and "1.5"? And where to set the S/L ?Thank you!Best regards.

Version 6.5 - 2017.06.28
- Improvement in order filling, using actual filling prices, instead of bid/ask quotes
Version 6.0 - 2017.05.17
- Bug fix regarding profit calculations in pips. Please update.
Version 5.0 - 2017.02.20
- Fixed expiration bug. Please update.
Version 4.0 - 2017.01.31
- Automatic Magic Number Assignation
- Algorithm execution made faster and using OnTimer() instead of ticks
- Magic Numbers used are from 76543 to 76550
Version 3.0 - 2017.01.13
- Important bug fix. Please update.