Вероятность совершения сделки советником - страница 2

 
Maxim Kuznetsov:

imho единственное лекарство - устанавливать приоритеты для трёх сделок (которую открыть первой, какую последней), которые вычислять от цены пункта на валюту депо и текущей волатильности. Как-то так :-) В одном потоке открыть идеально все три проблемно на мой взгляд..вручную бывает на кроссах и минорах одна сделка открывается до 15 сек и с диким матом :-) И возможно раскидываться по счетам на разные DC (на разных поставщиков ликвидности).

Кстати идея открытия третей сделки (которая по кроссу между мажорами) не вполне понятна - в ней нет смысла, она равнозначна открытию сделок по мажорам, которые по условию уже открыты (можно было объёмами на пред.двух это сделать)

Про разных поставщиков ликвидности - не совсем понял. Счет открыт у конкретного брокера. Как я могу запустить на одной платформе работу сразу на нескольких счетах у разных брокеров?
 
Oleg Shenker:
Идея очень простая - треугольный арбитраж.

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

открыться по кроссу всё равно что открыться по двум соотв.мажорам и наоборот, вместо 3-й кроссовой сделки можно изменить объёмы по мажорам, толк такой-же.

 
Oleg Shenker:
Про разных поставщиков ликвидности - не совсем понял. Счет открыт у конкретного брокера. Как я могу запустить на одной платформе работу сразу на нескольких счетах у разных брокеров?
вам хочется очень-очень быстро открыть 3 сделки. Естественный выход - открывать их в разных потоках, на разных подключениях, но по одному "свистку". Кстати и выбор DC для торговли некоторыми кроссами и минорами далеко не однозначен :-)


но мне кажется что у вас не столь критичный HFT чтобы таким заниматься - просто поставьте приоритеты какой приказ отослать первым. По идее важно отправить сначала по паре которая сильнее других "прыгает" - по её результату (она-ж возможно проскользнёт) пересчитать и открыть другие

 
Maxim Kuznetsov:

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

открыться по кроссу всё равно что открыться по двум соотв.мажорам и наоборот, вместо 3-й кроссовой сделки можно изменить объёмы по мажорам, толк такой-же.

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

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

В принципе, проблема решается методом, подсказанным выше, в цикле. Но, возникла друга проблема. Пока доходит ответ сервера, советник успевает три раза послать запрос из цикла. Хотя, возможно это только в тестере. 

 
Maxim Kuznetsov:
вам хочется очень-очень быстро открыть 3 сделки. Естественный выход - открывать их в разных потоках, на разных подключениях, но по одному "свистку". Кстати и выбор DC для торговли некоторыми кроссами и минорами далеко не однозначен :-)


но мне кажется что у вас не столь критичный HFT чтобы таким заниматься - просто поставьте приоритеты какой приказ отослать первым. По идее важно отправить сначала по паре которая сильнее других "прыгает" - по её результату (она-ж возможно проскользнёт) пересчитать и открыть другие

Нет, вопрос не в том, чтобы очень быстро открыть. Очень большая скорость тут не нужна. Главное, чтобы они открылись все три. Чтобы не получилось так, чтобы две открылись, а третья проскользнула.
 
Oleg Shenker:

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

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

В принципе, проблема решается методом, подсказанным выше, в цикле. Но, возникла друга проблема. Пока доходит ответ сервера, советник успевает три раза послать запрос из цикла. Хотя, возможно это только в тестере. 

Были случаи, когда у меня робот час открыть сделку не мог, послал несколько сотен запросов, причем некоторые запросы обрабатывались минутами. С такими дц я стараюсь не связываться. Тут ничего не сделаешь, если играешь по правилам, которые постоянно меняются.  Чтобы исключить такие ситуации, нужен реальный стакан и быстрое исполнение. Такое мне понравилось в дукасе. Приказы исполняются моментально( в пределах пинга) и отправленный ордер появляется в стакане.
 
Или такой арбитраж можно на валютных фьючах реализовать, на CME например. Там все понятно будет. Вот стакан, вот твой лимитник, хочешь по рынку открывайся. Иначе никак, так и будете бороться с дц.
 

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

Дописывайте программу до конца.

 
Oleg Shenker:

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

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

В принципе, проблема решается методом, подсказанным выше, в цикле. Но, возникла друга проблема. Пока доходит ответ сервера, советник успевает три раза послать запрос из цикла. Хотя, возможно это только в тестере. 

я тестировал такую систему в мт5 на реальных тиках - расхождения с кроссом очень и очень маленькие, двойной спред изредка. Это торговля чисто на технических задержках, т.к. синтетик полностью повторяет курс этой пары. Открылись ордера или нет контролируется простой ф-ей. Перед открытием ордеров проверить, если их нет то открывать. Сделать проверку дополнительную, если 2 ордера по тем сиволам открыты а по этому нет - открыть по этому, чего тут думать-то. Но сама идея работать не будет. Но вы попробуйте :з

int CountOrders(int a)
  {
   int result=0;
   for(int k=0; k<OrdersTotal(); k++)
     {
      if(OrderSelect(k,SELECT_BY_POS,MODE_TRADES)==true)
        {
         if(OrderType()==a && OrderSymbol()==_Symbol && OrderMagicNumber()==OrderMagic)
           {result++;}
         else
           {}
           }
        }
      return(result);
     }
 
Maxim Dmitrievsky:

я тестировал такую систему в мт5 на реальных тиках - расхождения с кроссом очень и очень маленькие, двойной спред изредка. Это торговля чисто на технических задержках, т.к. синтетик полностью повторяет курс этой пары. Открылись ордера или нет контролируется простой ф-ей. Перед открытием ордеров проверить, если их нет то открывать. Сделать проверку дополнительную, если 2 ордера по тем сиволам открыты а по этому нет - открыть по этому, чего тут думать-то. Но сама идея работать не будет. Но вы попробуйте :з

На демо счете показывает неплохой доход. Всю картину портит периодическое не открытие одного плеча.
Причина обращения: