Тестирование советника Trade Arbitrage

Тестирование торгового советника Forex Trade-ArbitrageТестируем бесплатный торговый советник Trade Arbitrage. Советник интересен тем, что пытается извлекать прибыль из арбитража на валютных парах внутри одного ДЦ. Это принципиально иной подход к торговле, отдельное направление, связанное с мультивалютным хеджем. Разработчик называет советник «несливающим», но является ли при этом он «зарабатывающим»? Тестируем.

ОФИЦИАЛЬНО


Название: Trade-Arbitrage
Разработчик: getch (пользователь mql4.com)
Тип распространения: бесплатно
Исходник: да
Ссылка для скачивания: СКАЧАТЬ торговый советник Trade Arbitrage >>


ОСБЕННОСТИ СОВЕТНИКА TRADE ARBITRAGE


  • Расчитывает арбитражные ситуации и заключает по ним сделки.

  • Мультивалютный советник.

  • Одновременно открытыми может держать десятки сделок, т.е. требователен к размеру депозита.

  • Переворотный.

  • Критичен к скорости исполнения брокером торговых приказов и к проскальзываниям.

  • Устойчив к сливу.

  • Самостоятельно собирает статистику для выбора торговых инструментов.

  • Разработчик называет советник ядром, для эффективной работы которого необходимы самостоятельные поиски.

  • Проверка на тестере стратегий МТ невозможна.

  • Открывать другие сделки на счету, где работает советник, нельзя.


ТЕОРИЯ (кратко)


Арбитраж в данном случае — это попытка сыграть на разнице курсов валютных пар, образующих замкнутый цикл. Частным случаем арбитража является система триангулярного хеджирования, или т.н. система «нулевых треугольников». Треугольник образуется за счет покупки и продажи валют таким объемом, чтобы сбалансированная позиция было нулевой.

Примером такого замкнутого цикла является, к примеру, одновременная покупка по GBPUSD, продажа по EURUSD и покупка кросса EURGBP. Т.е. покупаем фунты за евро, продаем евро за доллары и покупаем евро за фунты. Разными лотами, размер которых зависит от текущих котировок. Цель — получить сбалансированную позицию.

Спрашивается, к чему это делать, если результат = 0 — спред? Дело в том, что рынок находится в постоянном движении. Цены поступают к нам в терминал через цепь посредников и проходят через различные фильтры с разной задержкой. В итоге, нередко бывают случаи, когда баланс на время ощутимо смещается — возникает т.н. арбитражная ситуация. Подобные ситуации и использует торговый робот для совершения сделок в намерении закрыть захеджированные позиции с профитом после возвращения цикла к сбалансированному состоянию.

ФАЙЛЫ СОВЕТНИКА TRADE ARBITRAGE И УСТАНОВКА


  • Trade-Arbitrage.mq4 — сам советник (соответственно помещается в папку experts).


  • Trade-Arbitrage.txt — файл, в котором хранятся сведения о торгуемых арбитражных формулах-конфигурациях; поместить в experts/files; изначально пустой, содержит лишь примеры конфигураций; заполняется вручную на основании полученной статистики.


  • CheckMyArbitrage.mq4 — скрипт для проверки правильности хеджа, поместить в experts/scripts, не является обязательным.


  • Arbitrage.txt — содержит все арбитражные ситуации, обнаруженные советником; создается и заполняется советником автоматически в experts/files при появлении арбитражных ситуаций и при параметре Monitoring=TRUE.


  • ArbitrageStatistic.txt — статистика по кол-ву арбитражных ситуаций на конкретных арбитражных конфигурациях; создается и заполняется советником автоматически в experts/files, обновляется с задержкой, указанной в значении параметра TimeToWrite; в файл попадают только те конфигурации, число арбитражных ситуаций по которым не менее 2.


ПАРАМЕТРЫ СОВЕТНИКА


  • Currencies — список валют, на основании которого будут генерироваться синтетические пары.

  • MinPips — минимально учитываемая в качестве арбитражной ситуации разница в пунктах

  • Slippage — допустимое проскальзывание в пунктах при совершении Market-запросов.

  • Lock — разрешить локи (TRUE) или нет (FALSE). Эта функция необходима для минимизации торговых запросов к серверу за счет закрытия ордеров через OrderCloseBy. Рекомендуется включить, если брокер поддерживает локирование.

  • Lots — размер позиции для открытия/закрытия по сгенерированному символу.

  • MaxLot — максимально допустимый лот для одной позиции реального символа.

  • MinLot — минимально допустимый лот для одной позиции реального символа.

  • Monitoring — производить подробную запись (TRUE) всех случающихся арбитражных ситуаций в файл или нет (FALSE). Т.к. запись занимает время, что критично для арбитража, то рекомендуется включить опцию на этапе сбора статистики и отключить на этапе торговли.

  • TimeToWrite — через какое время (мин.) производить запись статистических данных в файл ArbitrageStatistic.txt.


РАБОТА СОВЕТНИКА


Работа с советником происходит в три этапа.

1 ЭТАП: сбор статистики
— После установки советника нужно выставить параметр Monitoring=TRUE и задать необходимое значение для параметра MiniPips (о параметре подробно читайте ниже).
— Открыть в окне «Обзор рынка» все активные инструменты вашего ДЦ.
— Проследить, чтобы в параметре Currencies присутствовали соответствующие символы.
— Активировать советник на одном графике любой валютной пары, но торговлю пока не разрешать (однако в общих настройках опция «Включить советники» должна быть активрована). В результате статус советника на графике в верхнем правом углу должен быть в виде грустного смайлика.
— Теперь советник начнет отслеживать арбитражные ситуации по всем инструментам и заполнять файлы Arbitrage.txt и ArbitrageStatistic.txt

2 ЭТАП: анализ собранной статистики
— После того, как в файле ArbitrageStatistic.txt накопится достаточная статистика (может пройти много времени в зависимости от значения парметра MiniPips), необходимо проанализировать собранные данные и отобрать инструменты для торговли. Наиболее простым способом является просто взять конфигурации из верхних строчек файла ArbitrageStatistic.txt.
— Однако еще лучше будет проследить, чтобы набранная статистика не была основана исключительно на выходе новостей (такие ситуации не будут отработаны при реальной торговли и не имеют ценности). Чтобы отследить этот момент, нужно просмотреть файл конкретных арбитражных ситуаций Arbitrage.txt, в котором помимо прочего указано и время возникновения ситуации.
— После завершения анализа нужно перенести подходящие арбитражные конфигурации из ArbitrageStatistic.txt в Trade-Arbitrage.txt.

3 ЭТАП: торговля
— Для торговли остается разрешить торговлю советнику.
— Если локи в выбранном ДЦ разрешены, то рекомендуется включить Lock=TRUE для минимизации торговых запросов.
— Также можно отключить запись новых арбитражных ситуаций Monitoring=FALSE, дабы торговый робот не тратил на этов время.

ПАРАМЕТР MINIPIPS И БРОКЕРЫ


Это ключевой параметр системы. Он отражает минимальное смещение в пунктах, при котором ситуацию можно считать арбитражной.

По умолчанию MiniPips=0,5. Однако с данным значением параметра заработать нельзя. Чем меньше значение, тем больше арбитражных ситуаций будет регистрировать советник, но тем с меньшей эффективностью будут проводиться сделки.

Значение 0,5 выставлено изначально лишь для примера, чтобы советник мог быстро накопить статистику арбитражных ситуаций, но не рекомендуется использовать это значение в торговле.

Дабы торговля была прибыльной, значение параметра MiniPips должно учитывать возможное проскальзывание и задержку в исполнении ордеров. Опыт пользователей советника указывает на то, что значение должно быть от 3,0. Но даже такое значение возможно лишь после тщательного отбора брокеров. Потому есть смысл выставить значение 5,0 или даже 10,0.

Однако при большом значении не только уменьшается ощутимо число арбитражных ситуаций, но и для некоторых брокеров это число вовсе сводится к нулю, что зависит от качества котирования. У иных брокеров большое значение MiniPips может привести к тому, что советник будет ловить лишь нерыночные котировки, что чревато отменой всех сделок.

Поэтому необходимо тщательно выбирать брокера для использования советника и искать баланс между кол-вом арбитражных ситуаций и эффективностью их отрабатывания системой.

ВОЗМОЖНЫЕ ПРОБЛЕМЫ


  • Советник может срабатывать при появлении нерыночных котировок. Такие сделки ДЦ впоследствии может отменить и даже решить, что трейдер целенаправлено занимается читингом — ловлей спайков.

  • Все сделки на счету советник считает своими, т.к. не использует «магические номера». Поэтому не рекомендуется открывать на счету другие позиции.

  • Результат торговли сильно зависит от брокера: от скорости исполнения торговых приказов и от «синхронности» котирования инструментов.

  • Гепы на открытии недели могут приводить к ложным срабатываниям советника.

  • Наиболее значительные арбитражные ситуации создаются на выходе важных новостей, однако задержка в исполнении торговых приказов и проскальзывания приведут при попытке открытия на новостях к заведомо отрицательному результату.




ТЕСТИРОВАНИЕ


Тестирование советника Trade Arbitrage на тестере стратегий МТ4 невозможно, т.к. советник мультивалютный. Поэтому тестирование будет происходить реал-тайм. Проводим тестирование поэтапно.

СБОР ДАННЫХ

Советник установлен на сервер тестовой лаборатории для сбора статистики.

Начало сбора данных: 23.04.2010
Окончание сбора данных: 23.05.2010

Брокер: ForexHunt

Параметр MiniPips=9

Параметр Currencies = AUD, EUR, USD, CHF, JPY, NZD, GBP, CAD, SGD, NOK, SEK, DKK, ZAR, MXN, HKD, HUF, CZK, PLN, RUR, TRY
*Инструменты, по которым происходил поиск арбитражных ситуаций

По завершении этапа сбора данных, который продлился без остановок ровно месяц, была получена следующая статистика (см. приложенный ниже файл ArbitrageStatistic.txt).

Всего арбитражных формул: 1006

Топ-20 формул (перед двоеточием число арбитражных ситуаций по соответствующей формуле)

81: GBPUSD / AUDUSD && GBPJPY / AUDJPY
64: EURUSD / AUDUSD && EURJPY / AUDJPY
50: 1 / AUDUSD && USDJPY / AUDJPY
48: 1 / (USDCAD * AUDUSD) && CADJPY / AUDJPY
47: EURUSD * USDCHF && EURJPY / CHFJPY
47: 1 / AUDCAD && CADJPY / AUDJPY
46: EURCHF / AUDCHF && EURCAD / AUDCAD
45: EURUSD && EURJPY / USDJPY
45: GBPUSD * USDCHF && GBPJPY / CHFJPY
44: EURUSD * USDJPY && EURCHF * CHFJPY
44: GBPCHF / AUDCHF && GBPCAD / AUDCAD
44: 1 / AUDCAD && CADCHF / AUDCHF
44: CADCHF && AUDCHF / AUDCAD
44: AUDCHF / AUDCAD && EURCHF / EURCAD
42: AUDCHF && AUDCAD * CADCHF
42: AUDUSD / NZDUSD && AUDCAD / NZDCAD
42: AUDCAD && AUDCHF / CADCHF
42: EURUSD * USDCAD && EURJPY / CADJPY
42: USDJPY && AUDJPY / AUDUSD
42: AUDCAD / AUDUSD && NZDCAD / NZDUSD

Скачать полностью файл ArbitrageStatistic.txt:

opentraders.ru_ArbitrageStatistic.zip (6 Kb)

Добавлено 13 июня 2010:

Для первого тестирования на демо-счете были выбраны все полученные формулы. Это было сделано с целью позже попытаться проанализировать историю сделок и выбрать нужные формулы. Однако немного погодя после начал тестирования со мной связался разработичик и сказал, что подобный анализ бесполезен. Во-первых, огромное кол-во сделок, учитывая использование локов в технических целях, создаст кашу, которую сложно анализировать, но самое главное, что использование 725 формул приведет к необходимости одновременного открытия нескольких сделок по одному и тому же инструменту, что вызовет большое проскальзывание и нивилирует прибыль.

Поэтому 13 июня было запущено второе тестирование на демо-счете, для которого отобраны лишь несколько формул из верхних строчек файла статистики и (следуя совету разработчика) так, чтобы инструменты, задействованные в формулах, по возможности не повторялись.
Подробности см. ниже.


ТЕСТИРОВАНИЕ НА ДЕМО-СЧЕТЕ 1

Советник был установлен для тестирования на демо-счет. Цель: предварительный анализ работы советника. Пока без расчета ММ и с черновым вариантом файла статистики.

Начало тестирования: 24.05.2010
Окончание тестирования: 13.06.2010
Брокер: ForexHunt
Trade-Arbitrage.txt получен на основании файла ArbitrageStatistic.txt путем копирования всех арбитражных формул с числом ситуаций >9. Всего 725 формул.
Начальный депозит: 1 000 000
Конечный результат: 829 559 (-17%)

График баланса:



Детальный отчет по торговле:

opentraders.ru_TradeArbitrage-test-demo1.zip (0 Kb)

Причины провала теста имеют технический характер, смотрите выше врезку от 13 июня. Был запущен новый тест на демо поод номером 2

ТЕСТИРОВАНИЕ НА ДЕМО-СЧЕТЕ 2

На этот раз из 725 арбитражных формул оставлены были только 5.

Начало тестирования: 13.06.2010
Окончание тестирования: 15.09.2010
Брокер: ForexHunt
Trade-Arbitrage.txt получен на основании ручного отбора 5 формул из файла ArbitrageStatistic.txt. Выбраны следующие формулы:

GBPUSD / AUDUSD && GBPJPY / AUDJPY
1 / (USDCAD * AUDUSD) && CADJPY / AUDJPY
EURUSD * USDCHF && EURJPY / CHFJPY
AUDCHF && AUDCAD * CADCHF
AUDUSD / NZDUSD && AUDCAD / NZDCAD


Изменение счета: 0%



Тестирование прекращено досрочно в связи с закрытием ДЦ ForexHunt. Однако советник признан малоприбыльным. Дальнейшее тестирование в таком виде нецелесообразно.

СТАТУС


Тестирование прекращено. Советник провалил тестирование: советник не прибыльный, либо прибыль меньше банковского процента.

Тестирование торгового советника Forex Trade-Arbitrage
_________________________

*Страница обновляется по мере появления результатов. Дата последнего обновления: 22.09.2010
  • +7
  • Просмотров: 37796
  • 24 апреля 2010, 18:00
  • Kaur
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Тестовая лаборатория", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Тестирование торгового советника Tupoj
Следующая запись в группе  
Тестирование советника торгующего по Zig Zag
13 апреля 2010
11 июля 2010

Комментарии (26)

+
+2
Идея очень интересная, и видется очень реальной. Жду с нетерпением результатов
avatar

  17  Vacoin Сообщений: 961 - Vacoin

  • 25 апреля 2010, 16:26
+
0
Хорошо изложили! Я видел этот советник раньше, но сходу не разобрался и не стал тратить время на него.
avatar

  8  Tamplier Сообщений: 158 - Марат

  • 26 апреля 2010, 13:06
+
0
Поставил советник. В журнале появилась ошибка TradeArbitrage: InvalidHandle -1 in FileIsEnding
Чтобы это могло значить?
avatar

  0  Teodor80 Сообщений: 45

  • 26 апреля 2010, 18:47
+
+2
Вероятнее всего, вы не поместили файл Trade-Arbitrage.txt в experts/files/
avatar

  47  Kaur Автор Сообщений: 1325 - Руслан Каюмов

  • 26 апреля 2010, 19:44
+
0
Так и есть! Спасибо!
avatar

  0  Teodor80 Сообщений: 45

  • 27 апреля 2010, 00:03
+
+1
Арбитраж это золотая жила! Но только не в таком виде. Нужен межброкерный арбитраж. Тогда можно говорить о гарантированной прибыли! Правда такой советник никто бесплатно не даст.
avatar

  11  pilot Сообщений: 410

  • 29 апреля 2010, 13:29
+
0
Трудно не согласится. Межброкерный арбитраж — это прибыльно и не пыльно.

Тем временем советник Trade Arbitrage продолжает сбор статистики. Как и предполагалось, при таком высоком значении MiniPips (= 9) сбор статистики будет долгим; на данный момент в файле арбитражных ситуаций набралось максимум по три случая для некоторых пар. Думаю, потребуется порядка двух недель для завершения накопления статистики.
avatar

  47  Kaur Автор Сообщений: 1325 - Руслан Каюмов

  • 30 апреля 2010, 20:01
+
0
Извиняюсь за нетерпеливость, но как продвигается сбор данных? Я тоже собираю, но не имею возможности собирать круглые сутки. Еще заметил, что ситуации создаются всегда в понедельник при открытии. Разве это правильно?
avatar

  0  Teodor80 Сообщений: 45

  • 18 мая 2010, 14:09
+
+1
Сбор данных скоро завершится, после чего советник будет помещен на тест. Арбитражные ситуации на открытии недели — это, конечно, ошибочное распознавание. В решении проблемы, надеюсь, поможет тестирование на демо.
avatar

  47  Kaur Автор Сообщений: 1325 - Руслан Каюмов

  • 18 мая 2010, 16:33
+
+1
Итак, сегодня был завершен сбор данных, который продолжался ровно месяц с 23 апреля. Результаты помещены в текст статьи (раздел ТЕСТИРОВАНИЕ -> СБОР ДАННЫХ). Кратко: был получен файл ArbitrageStatistic.txt. Всего 1006 арбитражных формул. Топ-20 формул выглядит так:

81: GBPUSD / AUDUSD && GBPJPY / AUDJPY
64: EURUSD / AUDUSD && EURJPY / AUDJPY
50: 1 / AUDUSD && USDJPY / AUDJPY
48: 1 / (USDCAD * AUDUSD) && CADJPY / AUDJPY
47: EURUSD * USDCHF && EURJPY / CHFJPY
47: 1 / AUDCAD && CADJPY / AUDJPY
46: EURCHF / AUDCHF && EURCAD / AUDCAD
45: EURUSD && EURJPY / USDJPY
45: GBPUSD * USDCHF && GBPJPY / CHFJPY
44: EURUSD * USDJPY && EURCHF * CHFJPY
44: GBPCHF / AUDCHF && GBPCAD / AUDCAD
44: 1 / AUDCAD && CADCHF / AUDCHF
44: CADCHF && AUDCHF / AUDCAD
44: AUDCHF / AUDCAD && EURCHF / EURCAD
42: AUDCHF && AUDCAD * CADCHF
42: AUDUSD / NZDUSD && AUDCAD / NZDCAD
42: AUDCAD && AUDCHF / CADCHF
42: EURUSD * USDCAD && EURJPY / CADJPY
42: USDJPY && AUDJPY / AUDUSD
42: AUDCAD / AUDUSD && NZDCAD / NZDUSD

Полностью файл статистики скачать можно из статьи.

=================

Начался новый этап тестирования — предварительный тест на демо. Без ММ и прочего. Для выявления ошибок и корректировки файла статистики. Для теста был сформирован черновой вариант файла Trade-Arbitrage.txt, куда было отобрано 725 арбитражных формул с числом ситуаций за месяц от 10.
avatar

  47  Kaur Автор Сообщений: 1325 - Руслан Каюмов

  • 23 мая 2010, 23:58
+
+1
Вчера пришло письмо от разработчика данного советника, в котором разработчик рекомендовал отбирать арбитражные формулы не путем анализа истории сделок, а самостоятельно анализируя файл статистики. Доводы приведены убедительные. Так и поступим. Однако через недельку. Дабы посмотреть, что получится на демо-счете при текущем раскладе. Плюс накопится дополнительная история в файл статистики.
avatar

  47  Kaur Автор Сообщений: 1325 - Руслан Каюмов

  • 26 мая 2010, 23:29
+
0
Установил советника… всё сделал как написано… скачал историю установил, но советник торговать не хочет, «лыбится» и не торгует… в чём проблема?
avatar

  0  Valentin Сообщений: 1

  • 31 мая 2010, 08:47
+
+1
Возможные причины:
1) не заполнен Trade-Arbitrage.txt;
2) в меню «Сервис/Настройки» на закладке «Советники» не отмечены опции «Включить советники» и «Разрешить советнику торговать»;
3) прошло мало времени для открытия сделки;
4) высокое значение параметра MiniPips;
5) выбранный для торговли брокер дает очень «синхронные» котировки (накапливать статистику следует на том же брокере, на котором планируется устанавливать советник).
avatar

  47  Kaur Автор Сообщений: 1325 - Руслан Каюмов

  • 31 мая 2010, 11:01
+
0
График баланса на демо-1:



Тестирование на демо-1 завершено.
Запущено тестирование советника на новом демо-счете 2 с ручным отобором арбитражных формул (по совету разработичка).

Обновления в статье:
— врезка от 13 июня;
— результаты тестирования демо-1, включая детальный торговый отчет;
— блок, посвященный демо-2 (в частности отобранные 5 формул).
avatar

  47  Kaur Автор Сообщений: 1325 - Руслан Каюмов

  • 13 июня 2010, 20:26
+
+1
После фильтрации арбитражных формул советник тихонько работает. Правда, совсем тихонько:

avatar

  47  Kaur Автор Сообщений: 1325 - Руслан Каюмов

  • 25 июля 2010, 21:24
+
+1
Добрый вечер.
Этот советник часто открывает сделки хоть и в начале свечи но в противоположном тренду направлении (што и несет под собой основные потери).Может быть есть какойто способ отфильтровывать сигнал?

Спасибо
Дмитрий
avatar

  0  dmitrijochlopkov Сообщений: 1

  • 26 июля 2010, 22:45
+
0
Здравствуйте, Дмитрий.
Идея стоящая, но, к сожалению, я не занимаюсь кодингом. Что касается разработичка, то он также писал ранее, что ничего добавлять в этом советнике не будет.
avatar

  47  Kaur Автор Сообщений: 1325 - Руслан Каюмов

  • 27 июля 2010, 17:08
+
+3
если честно, то неоправданно сложная система
avatar

  0  Chibis Сообщений: 21 - Игорь Миронов

  • 1 августа 2010, 21:09
+
+1
Оправданно или нет, скоро станет ясно.
avatar

  47  Kaur Автор Сообщений: 1325 - Руслан Каюмов

  • 2 августа 2010, 09:37
+
0
В связи с прекращением существования ДЦ ForеxHunt, где тестировался данный советник, тестирование остановлено. Дальнейшее продолжение его считаю нецелесообразным, т.к. за 2 месяца теста заработок составил 0% (смотрите обновления в статье).

Trade Arbitrage имеет высокий академический интерес, но в том виде, в котором представлен сейчас, несет мало практической пользы.

Перспективным видится арбитраж не внутри одного брокера, а межброкерный арбитраж (мнение пользователя Pilot, которое я полностью разделяю).
avatar

  47  Kaur Автор Сообщений: 1325 - Руслан Каюмов

  • 22 сентября 2010, 22:44
+
0
Здравствуйте.
Есть готовый Trade-Arbitrage.txt?
avatar

  0  yrik735 Сообщений: 6

  • 23 ноября 2016, 11:26
+
0
Да, внутри топика искать такие слова:

Скачать полностью файл ArbitrageStatistic.txt:

opentraders.ru_ArbitrageStatistic.zip (6 Kb)
avatar

  39  Bishop Сообщений: 5339 - АЛЬФАХАМЕЦ-Машковод

  • 23 ноября 2016, 11:36
+
0
Да это я скачал, не торгует…
avatar

  0  yrik735 Сообщений: 6

  • 23 ноября 2016, 11:41
+
0
Открыл три сделки :) .
Жалко он сам не заполняет trade-Arbitrage.txt
avatar

  0  yrik735 Сообщений: 6

  • 23 ноября 2016, 12:17
+
0
заполнять этот файл надо самому на основе полученной статистики. Это мелочь.

Гораздо важнее получить эту статистику.
Причем уже готовый файл, который получен черт знает сколько лет назад в ДЦ, которого уже не существует, использовать в корне НЕВЕРНО. Статистику по арбитражным ситуациям надо собрать самому заново для своего брокера.
avatar

  39  Bishop Сообщений: 5339 - АЛЬФАХАМЕЦ-Машковод

  • 23 ноября 2016, 12:29
+
0
ДЦ посоветуете какой?
avatar

  0  yrik735 Сообщений: 6

  • 23 ноября 2016, 13:00

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий
Начать торговлю с Альпари