Download MetaTrader 5

Watch how to download trading robots for free

Interesting script?
So post a link to it -
let others appraise it

You liked the script? Try it in the MetaTrader 5 terminal

2016.03.25 15:52

Arbitrage - expert for MetaTrader 4

| English Español Русский 中文 Deutsch 日本語 Português

votes: 16

The necessary arbitrage does not require explanation. In this case a similar strategy is proposed. The difference is that in the real arbitrage the trades are performed only when there is a profitable price difference between the commodity and the exchange contracts. And in this case the difference is based only on the exchange contracts.

The idea of the strategy is simple. that is:

  • If the price is low, they buy cheap. Moreover, the lower the price dropped, the greater the volume to buy.
  • If the price is high, then sell dear. The higher the price rose, the greater the volume to sell.

This results in a typical counter-trend strategy with all the ensuing consequences. And the only consequences is that when using this strategy to trade a single pair, the profit can be received from the rollbacks or trend reversals, and also from all flats and ranges. The rest of the time, that is during trends, there is nothing but equity losses to receive.

Here is a typical example of testing such strategy:

One can only dream of such parameters of a trading system, as they say. If, of course, the equity does not come into attention. And this very equity in their lowest are in the state of margin call. Although, if the dealer issues a margin call, then in this particular case the EA would be able to draw the balance to the level displayed on the chart using the money left in the deposit. This has been verified. It means that on a demo account the EA managed to get a margin call once, and to successfully exit and move the balance to profit at the very next trend reversal. That is this strategy allows to hold out to the bitter end, unlike the inefficient trading strategies, such as the Martingale method. If the account equity is insufficient, then it is still possible to borrow and invest in the strategy. Sooner or later it will pay back all the debts with interest. When using Martingale, the profit increases linearly but the losses exponentially, therefore even a short series of losses does not allow to win. In this trading strategy both the profit and loss are close to linear, that is why the strategy allows to withstand quite long "black" Tuesdays, patiently waiting out the bad times until the fortune smiles on it.

There are multiple was of resisting sharp falls in equity, namely, placing several EAs on different symbols for trading. In this case there is a diversification that smooths the decrease in equity. The second method provided in the EA is a grouped multi-trading several symbols with reverse quotes. In this case, if one symbol has an uptrend and another has a downtrend, then the EAs on the uptrend will sell and the EAs on the downtrend will buy. This feature is the real arbitrage - when buying cheap on one symbol, and selling dear on the other, the result of such speculation will be reflected not on the balance, but on the equity, which is the most important. The balance will recover everything after reversals or rollbacks.

The reverse rates do not have to be in the deposit currency. They can be of any currency, as long as all symbols have the same first currency. For example:

  • Inverse to Dollar: USDJPY, USDCHF, USDCAD, USDSGD and so on;
  • Inverse to Euro: EURUSD, EURGBP, EURCHF, EURJPY and so on;
  • Inverse to Pound: GBPUSD, GBPYPY, GBPCHF, GBPNZD and so on.

Another important note: all pairs of group should have the same size of specification contracts. Most often the Dealing Centers set 100000 units per lot. If the contract sizes of any pair differ from that of the other pairs of the group, then such currency pair can not be included in that group.

How to configure. Every EA has only three non-optimizable (nothing to optimize) parameters:

  1. experts - the number of experts in the group of the inverse rate currency. For example, if there are three experts on the USDJPY, USDCHF and USDCAD charts, this parameter must be equal to 3. But the magic number for all three experts must be the same. When testing separate experts this parameter should be set to 1. The multi-currency mode is not supported in the tester, so the experts of a group can only be tested individually;
  2. MagicNumber - magic number. Intended to distinguish the EA groups of the inverse rate currency. It should be noted that at the moment of placing the EA group the account history should not contain any closed trades with a magic number matching the number of the first group. The EA looks through the account history of both open and closed positions, and on their basis performs its calculations;
  3. beginPrice - the initial Bid price for a specific instrument. This refers to the current price at the time of placing the EA. If the EA is tested on history data, then the price in the beginning of history should be set.

All the parameters for each EA are set once before its start and are not changed during the automated trading - constant values. The current price at the moment of placing the EA is not the current price in any other time. It is the initial price for determining where the quotes went before the first contract on the instrument was opened. For the second contract the initial price will be the opening price of the first contract. For the third one - the second, and so on and so forth.

The testing quality does not matter, as the EA:

  1. sends orders only at formed bars;
  2. does not trade by signals of any technical indicators, but only uses the current prices.

But if anyone has an itching, feel free to download the M1 history to the strategy tester starting from the Stone Age.

Translated from Russian by MetaQuotes Software Corp.
Original code:

EMA and SMMA are identical EMA and SMMA are identical

This tiny script visually demonstrates the identity of two common Moving Averages

FirstStrike FirstStrike

Displays what was reached first - Low or High for the current bar.

Roboost v1 Roboost v1

Roboost is an EA for MetaTrader 4 trading using several half-scalping and traditional trade management techniques. It shall work on different pairs and TF. Target is H1 for major pairs.

1 Click Button To Close All Open and Pending Orders V03 1 Click Button To Close All Open and Pending Orders V03

Click "Close All" button to close all your open & pending orders at once.