• Overview
  • Reviews
  • Comments (39)
  • 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

What to expect

The price discrepancies that this EA hunts for do not happen very often.  Hence, the trading frequency of this EA is very low and might disappoint you.

Support and questions

Use the helpdesk for questions or timely support. Write an email to: help@pointzero-trading.com


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.