• Overview
  • Reviews
  • Comments (30)
  • What's new

PZ Triangular Arbitrage EA MT5

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
  • 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:


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.

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.
  • Parent Symbol Comission - Type the commission per lot for the parent symbol, in USD per lot.
  • Middle Symbol Commission - Type the commission per lot for the middle symbol, in USD per lot.
  • End Symbol Commission - Type the commission per lot of the end symbol, in USD per lot.
  • 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


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

No reviews
Version 6.5 - 2017.06.28
- Improved order filling using actual filling prices
Version 6.0 - 2017.05.17
- Fixed bug affecting profit in pips
Version 5.0 - 2017.03.14
- Bug fix regarding order closing
Version 4.0 - 2017.01.23
- Magic Number is hidden (now automated)
- Execution based on ontimer()
Version 2.0 - 2016.11.24
- Important bug fix. Please update.