imho единственное лекарство - устанавливать приоритеты для трёх
сделок (которую открыть первой, какую последней), которые вычислять от
цены пункта на валюту депо и текущей волатильности. Как-то так :-) В
одном потоке открыть идеально все три проблемно на мой взгляд..вручную
бывает на кроссах и минорах одна сделка открывается до 15 сек и с диким
матом :-) И возможно раскидываться по счетам на разные DC (на разных
поставщиков ликвидности).
Кстати идея открытия третей сделки
(которая по кроссу между мажорами) не вполне понятна - в ней нет смысла,
она равнозначна открытию сделок по мажорам, которые по условию уже
открыты (можно было объёмами на пред.двух это сделать)
Про разных поставщиков ликвидности - не совсем понял. Счет открыт у конкретного брокера. Как я могу запустить на одной платформе работу сразу на нескольких счетах у разных брокеров?
Oleg Shenker: Идея очень простая - треугольный арбитраж.
кроссы-же считаются через мажоры, не торгуются независимо..разночтения должны быть на уровне 1-го,2-х тиков, сугубо технический эффект
открыться по кроссу всё равно что открыться по двум соотв.мажорам и наоборот, вместо 3-й кроссовой сделки можно изменить объёмы по мажорам, толк такой-же.
Oleg Shenker: Про разных поставщиков ликвидности - не совсем понял. Счет открыт у конкретного брокера. Как я могу запустить на одной платформе работу сразу на нескольких счетах у разных брокеров?
вам хочется очень-очень быстро открыть 3 сделки. Естественный выход - открывать их в разных потоках, на разных подключениях, но по одному "свистку". Кстати и выбор DC для торговли некоторыми кроссами и минорами далеко не однозначен :-)
но мне кажется что у вас не столь критичный HFT чтобы таким заниматься - просто поставьте приоритеты какой приказ отослать первым. По идее важно отправить сначала по паре которая сильнее других "прыгает" - по её результату (она-ж возможно проскользнёт) пересчитать и открыть другие
кроссы-же считаются через мажоры, не торгуются независимо..разночтения должны быть на уровне 1-го,2-х тиков, сугубо технический эффект
открыться по кроссу всё равно что открыться по двум соотв.мажорам и наоборот, вместо 3-й кроссовой сделки можно изменить объёмы по мажорам, толк такой-же.
Нет, кроссы не технически котируются, они тоже торгуются. И иногда котировки по ним "уходят" так, что образуется отрицательный спред с синтетическим кроссом.
Проблема только в том, что иногда не открывается одна "нога". И в этом случае нужно или закрывать все открытое и списывать в убыток спред, либо рисковать и ждать нового появления отрицательного спреда и снова пытаться открывать.
В принципе, проблема решается методом, подсказанным выше, в цикле. Но, возникла друга проблема. Пока доходит ответ сервера, советник успевает три раза послать запрос из цикла. Хотя, возможно это только в тестере.
Maxim Kuznetsov: вам хочется очень-очень быстро открыть 3 сделки. Естественный выход - открывать их в разных потоках, на разных подключениях, но по одному "свистку". Кстати и выбор DC для торговли некоторыми кроссами и минорами далеко не однозначен :-)
но мне кажется что у вас не столь критичный HFT чтобы таким заниматься - просто поставьте приоритеты какой приказ отослать первым. По идее важно отправить сначала по паре которая сильнее других "прыгает" - по её результату (она-ж возможно проскользнёт) пересчитать и открыть другие
Нет, вопрос не в том, чтобы очень быстро открыть. Очень большая скорость тут не нужна. Главное, чтобы они открылись все три. Чтобы не получилось так, чтобы две открылись, а третья проскользнула.
Нет, кроссы не технически котируются, они тоже торгуются. И иногда котировки по ним "уходят" так, что образуется отрицательный спред с синтетическим кроссом.
Проблема только в том, что иногда не открывается одна "нога". И в этом случае нужно или закрывать все открытое и списывать в убыток спред, либо рисковать и ждать нового появления отрицательного спреда и снова пытаться открывать.
В принципе, проблема решается методом, подсказанным выше, в цикле. Но, возникла друга проблема. Пока доходит ответ сервера, советник успевает три раза послать запрос из цикла. Хотя, возможно это только в тестере.
Были случаи, когда у меня робот час открыть сделку не мог, послал несколько сотен запросов, причем некоторые запросы обрабатывались минутами. С такими дц я стараюсь не связываться. Тут ничего не сделаешь, если играешь по правилам, которые постоянно меняются. Чтобы исключить такие ситуации, нужен реальный стакан и быстрое исполнение. Такое мне понравилось в дукасе. Приказы исполняются моментально( в пределах пинга) и отправленный ордер появляется в стакане.
Или такой арбитраж можно на валютных фьючах реализовать, на CME например. Там все понятно будет. Вот стакан, вот твой лимитник, хочешь по рынку открывайся. Иначе никак, так и будете бороться с дц.
Нет, кроссы не технически котируются, они тоже торгуются. И иногда котировки по ним "уходят" так, что образуется отрицательный спред с синтетическим кроссом.
Проблема только в том, что иногда не открывается одна "нога". И в этом случае нужно или закрывать все открытое и списывать в убыток спред, либо рисковать и ждать нового появления отрицательного спреда и снова пытаться открывать.
В принципе, проблема решается методом, подсказанным выше, в цикле. Но, возникла друга проблема. Пока доходит ответ сервера, советник успевает три раза послать запрос из цикла. Хотя, возможно это только в тестере.
я тестировал такую систему в мт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);
}
я тестировал такую систему в мт5 на реальных тиках - расхождения с кроссом очень и очень маленькие, двойной спред изредка. Это торговля чисто на технических задержках, т.к. синтетик полностью повторяет курс этой пары. Открылись ордера или нет контролируется простой ф-ей. Перед открытием ордеров проверить, если их нет то открывать. Сделать проверку дополнительную, если 2 ордера по тем сиволам открыты а по этому нет - открыть по этому, чего тут думать-то. Но сама идея работать не будет. Но вы попробуйте :з
На демо счете показывает неплохой доход. Всю картину портит периодическое не открытие одного плеча.
imho единственное лекарство - устанавливать приоритеты для трёх сделок (которую открыть первой, какую последней), которые вычислять от цены пункта на валюту депо и текущей волатильности. Как-то так :-) В одном потоке открыть идеально все три проблемно на мой взгляд..вручную бывает на кроссах и минорах одна сделка открывается до 15 сек и с диким матом :-) И возможно раскидываться по счетам на разные DC (на разных поставщиков ликвидности).
Кстати идея открытия третей сделки (которая по кроссу между мажорами) не вполне понятна - в ней нет смысла, она равнозначна открытию сделок по мажорам, которые по условию уже открыты (можно было объёмами на пред.двух это сделать)
Идея очень простая - треугольный арбитраж.
кроссы-же считаются через мажоры, не торгуются независимо..разночтения должны быть на уровне 1-го,2-х тиков, сугубо технический эффект
открыться по кроссу всё равно что открыться по двум соотв.мажорам и наоборот, вместо 3-й кроссовой сделки можно изменить объёмы по мажорам, толк такой-же.
Про разных поставщиков ликвидности - не совсем понял. Счет открыт у конкретного брокера. Как я могу запустить на одной платформе работу сразу на нескольких счетах у разных брокеров?
но мне кажется что у вас не столь критичный HFT чтобы таким заниматься - просто поставьте приоритеты какой приказ отослать первым. По идее важно отправить сначала по паре которая сильнее других "прыгает" - по её результату (она-ж возможно проскользнёт) пересчитать и открыть другие
кроссы-же считаются через мажоры, не торгуются независимо..разночтения должны быть на уровне 1-го,2-х тиков, сугубо технический эффект
открыться по кроссу всё равно что открыться по двум соотв.мажорам и наоборот, вместо 3-й кроссовой сделки можно изменить объёмы по мажорам, толк такой-же.
Нет, кроссы не технически котируются, они тоже торгуются. И иногда котировки по ним "уходят" так, что образуется отрицательный спред с синтетическим кроссом.
Проблема только в том, что иногда не открывается одна "нога". И в этом случае нужно или закрывать все открытое и списывать в убыток спред, либо рисковать и ждать нового появления отрицательного спреда и снова пытаться открывать.
В принципе, проблема решается методом, подсказанным выше, в цикле. Но, возникла друга проблема. Пока доходит ответ сервера, советник успевает три раза послать запрос из цикла. Хотя, возможно это только в тестере.
вам хочется очень-очень быстро открыть 3 сделки. Естественный выход - открывать их в разных потоках, на разных подключениях, но по одному "свистку". Кстати и выбор DC для торговли некоторыми кроссами и минорами далеко не однозначен :-)
но мне кажется что у вас не столь критичный HFT чтобы таким заниматься - просто поставьте приоритеты какой приказ отослать первым. По идее важно отправить сначала по паре которая сильнее других "прыгает" - по её результату (она-ж возможно проскользнёт) пересчитать и открыть другие
Нет, кроссы не технически котируются, они тоже торгуются. И иногда котировки по ним "уходят" так, что образуется отрицательный спред с синтетическим кроссом.
Проблема только в том, что иногда не открывается одна "нога". И в этом случае нужно или закрывать все открытое и списывать в убыток спред, либо рисковать и ждать нового появления отрицательного спреда и снова пытаться открывать.
В принципе, проблема решается методом, подсказанным выше, в цикле. Но, возникла друга проблема. Пока доходит ответ сервера, советник успевает три раза послать запрос из цикла. Хотя, возможно это только в тестере.
Повысить надежность открытия/закрытия ордеров можно только с помощью обработки состояния выполнения торговых функций.
Дописывайте программу до конца.
Нет, кроссы не технически котируются, они тоже торгуются. И иногда котировки по ним "уходят" так, что образуется отрицательный спред с синтетическим кроссом.
Проблема только в том, что иногда не открывается одна "нога". И в этом случае нужно или закрывать все открытое и списывать в убыток спред, либо рисковать и ждать нового появления отрицательного спреда и снова пытаться открывать.
В принципе, проблема решается методом, подсказанным выше, в цикле. Но, возникла друга проблема. Пока доходит ответ сервера, советник успевает три раза послать запрос из цикла. Хотя, возможно это только в тестере.
я тестировал такую систему в мт5 на реальных тиках - расхождения с кроссом очень и очень маленькие, двойной спред изредка. Это торговля чисто на технических задержках, т.к. синтетик полностью повторяет курс этой пары. Открылись ордера или нет контролируется простой ф-ей. Перед открытием ордеров проверить, если их нет то открывать. Сделать проверку дополнительную, если 2 ордера по тем сиволам открыты а по этому нет - открыть по этому, чего тут думать-то. Но сама идея работать не будет. Но вы попробуйте :з
я тестировал такую систему в мт5 на реальных тиках - расхождения с кроссом очень и очень маленькие, двойной спред изредка. Это торговля чисто на технических задержках, т.к. синтетик полностью повторяет курс этой пары. Открылись ордера или нет контролируется простой ф-ей. Перед открытием ордеров проверить, если их нет то открывать. Сделать проверку дополнительную, если 2 ордера по тем сиволам открыты а по этому нет - открыть по этому, чего тут думать-то. Но сама идея работать не будет. Но вы попробуйте :з