Советники: Trade-Arbitrage - страница 34

 

Есть три варианта с одними и теми же участвующими валютными парами:

  1. EURUSD * USDJPY && EURJPY
  2. EURUSD && EURJPY / USDJPY
  3. USDJPY && EURJPY / EURUSВ

В первых двух случаях объемы будут совпадать по всем парам. В третьем - нет, будут отличаться на вычисленный коэффициент.

Но, надо понимать, что первые два варианта могут не исполняться одновременно по условию MinPips (MinPips != 0). Например, для MinPips = 3:

EURUSD: 1.4187 1.4189
EURJPY: 138.07 138.11
USDJPY: 97.37 97.39

  1. Bid "EURUSD * USDJPY" (138.13882) > (138.11000) Ask "EURJPY", Difference = 2.9 pips
  2. Bid "EURUSD" (1.41870) > (1.41840) Ask "EURJPY / USDJPY", Difference = 3.0 pips
  3. Bid "USDJPY" (97.37000) > (97.34969) Ask "EURJPY / EURUSD", Difference = 2.0 pips

1-е неравенство не удовлетворяет условию MinPips, 2-е - удовлетворяет.
Уже писал, что условие MinPips в том виде, как реализовано, не самый лучший вариант.

Насчет возможных синтетиков самих ДЦ. Так или иначе, но проверяться обязаны (так и делается в советнике) все возможные арбитражные ситуации. Например, и такие:

NZDGBP * GBPAUD && 1 / AUDNZD
GBPAUD * AUDEUR && 1 / EURGBP

 

А можно ли сделать так что бы он сразу торговал, а не ждал 1-2-3 суток для получения и записи арбитража.

А то получается такая фигня: выключили свет или комп завис, а перезагрузился и заново жди эти 1-2-3 суток, хотя арбитраж в файле есть!!!!

 

Советник не получает арбитраж, а детектирует его сразу, как он появляется. И не может открываться задним числом.

 
getch:

EURUSD: 1.4187 1.4189
EURJPY: 138.07 138.11
USDJPY: 97.37 97.39

  1. Bid "EURUSD * USDJPY" (138.13882) > (138.11000) Ask "EURJPY", Difference = 2.9 pips
  2. Bid "EURUSD" (1.41870) > (1.41840) Ask "EURJPY / USDJPY", Difference = 3.0 pips
  3. Bid "USDJPY" (97.37000) > (97.34969) Ask "EURJPY / EURUSD", Difference = 2.0 pips

Прекрасный пример! Теперь все понятно. Как-то это не приходило в голову. Пересчитал на калькуляторе и действительно так.

Возникает вопрос, что помещать в конфигурационный файл для торговли по данным трем парам?

Все три комбинации:?

EURUSD * USDJPY && EURJPY

EURUSD && EURJPY / USDJPY

USDJPY && EURJPY / EURUSD

или еще дополнительно обратные им:?

EURJPY && EURUSD * USDJPY

EURJPY / USDJPY && EURUSD

EURJPY / EURUSD && USDJPY


 

ЗапИшите вы все три комбинации:

EURUSD * USDJPY && EURJPY
EURUSD && EURJPY / USDJPY
USDJPY && EURJPY / EURUSD

или только одну:

EURUSD * USDJPY && EURJPY

На количество одновременных торговых запросов это не повлияет. Решения о записях в Trade-Arbitrage.txt принимает сам трейдер на основании анализа статистических данных и особенностей исполнения брокера.


В ArbitrageStatistic.txt "обратных" комбинаций нет, т.к комбинация - вариант пары двух синтетических торговых инструментов без их нумерации.
В Trade-Arbitrage.txt можно записывать пары в любой ("прямая", "обратная") комбинации. Сколько бы записей не было, пара будет учитываться только один раз.

 
Mircea:
tolik777:

Не могу понять как заставить работать данный советник. На Альпари-Демо работать не хочет, все рвемя ругается на минимальный лот, хотя пробовал и 0.01 и 0.1 (реально - 0.1).

Поставил на Alpari - Micro (реальный). Мин. лот - 0.01. На лот ругаться перестал, но в файлы вообще ничего не пишется. Советник поместил в папку /experts. Там же создал 2 файла ArbitrageStatistic.txt и Arbitrage.txt. MinPips поставил 0 (пробовал и -3). Но оба файла пустые. MetaTrader 4.0 Build 225. Лишние пары с настроек убрал. Что не так делаю?

В логах (папка experts/log) обнаружил вот такие строчки:

19:51:33 Trade-Arbitrage: invalid handle -1 in FileIsEnding
19:51:33 Trade-Arbitrage: invalid handle -1 in FileClose


Друзья, помогите!!! У меня такая же проблема. Как ее решить? ТХТ файл - в experts есть, в ArbitrageStatistic.txt пишет. В Trade-Arbitrag копирую. А он работать не хочет! Заранее спасибо!


  Все txt файлы создаются в папке experts/files,САМИ, но файл  ArbitrageStatistic.txt сами создайте там

Да на брокере mmcis group ордера успевают открываться быстро, так что потом в плюс выходят. А там где центовые счета есть не успевает немного(такое впечатление). Я 3 брокера проверил. Но на mmcis group у меня денег маловато... там нет центового 

Да, и еще вопрос к getch? Ну и что, что какой-то брокер сам закрывает разнонаправленные позиции? они ж все равно все время друг от друга отличаются на спрэд.Все равно выгодней lock=true, для всех ДЦ, вроде, по тестам у меня.. Это к тому, что Вы писали, что lock=false для брокеров не поддерживающих разнонаправленные позиции

Или советник не сможет закрыть открытую арбитражную пару, если в ней часть ордеров закрыта ?

 

Уважаемый Автор правильно ли я понимаю что логика советника основана на формировании нулевого треугольника из известной стратегии торговля треугольниками при наступлении условия арбитража.

 

И второй вопрос для условия (BIDy - ASKx) > SPREADx + SPREADy переменная MinPips должна остаться во входных условиях советника, как пороговый фильтр. А заполнение файла Trade-Arbitrage производить по данным в файле Arbitrage?

 

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

По условию (BIDy - ASKx) > SPREADx + SPREADy были даны все комментарии, включая код.

В советнике учитываются виртуальные ордера. Как виртуальные ордера материализовались в реальные (частями, перезакрытиями и т.д.) для советника не имеет значение. В режиме Lock = TRUE материализация происходит самым оптимальным способом. Некоторые брокеры выдают ошибку при попытке открыть противоположную позицию - для них режим Lock = FALSE.

 

Уважаемій Автор я не ставлю под сомнение Ваше авторство. Возможно я некорректно сформулировал вопрос. О торговле треугольниками написанно здесь http://www.forum.profiforex.ru/showthread.php?t=70 . Я хотел уточнить логику работы например, советник определил наличие арбитражной ситуации например (Diff=3 )> MinPips тогда мы открываем позицию из "нулевого треугольника" и ждем выхода из арбитражной ситуации т.е. Diff=0? или Diff= -3? что бы открыть треугольник в обратную сторону?

Причина обращения: