АвторСообщение



Пост N: 2
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 05.03.12 22:36. Заголовок: Арбитраж на ценах брокеров


Предлагаю всем, у кого хватит мощности попробовать свои силы в написании арбитражного советника, работающего на разности котировок различных брокеров. Идея такова: если Bid брокера А больше Ask брокера В, то одновременно продаём лот у брокера А и покупаем лот у брокера В. Закрываемся когда цены брокеров становятся равными.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 24 , стр: 1 2 3 All [только новые]


постоянный участник


Пост N: 331
Зарегистрирован: 03.09.09
ссылка на сообщение  Отправлено: 07.03.12 12:53. Заголовок: Максим пишет: Вы мо..


Максим пишет:

 цитата:
Вы можете сформулировать этические правила игры, которые не надо нарушать, по которым мой советник не должен открывать или закрывать позицию?



Этика и мораль - это наше воспитание. Поэтому для каждого человека они различны.
На мой взгляд эти правила таковы:
1. Не использовать нерыночные котировки (шпильки). Программно такие котировки можно отследить по мгновенному (от предыдущего тика до текущего) падению или росту цены на 10 и более процентов. Это значение навскидку. Возможно, его необходимо пересмотреть.
2. Не посылать слишком частые торговые запросы. В своих экспертах я использую торговые операции один раз за один бар. При этом на минутках я никогда не торгую. Получаем, что торговые запросы будут поступать на сервер не чаще, чем 1 раз в 5 минут. А если торговать на более высоких таймфреймах, то периодичность будет еще меньше.
3. Не ставить Stop Loss и Take Profit на границе минимального уровня стопов (Stop Level), что увеличивает вероятность получения ошибки 130.

Понятно, что для исполнения таких правил одного воспитания недостаточно, т.к. нужно еще уметь правильно реализовать их в коде. Значит, приходим к выводу, что для "честности" требуется еще и образование. В принципе, это так и есть, т.к. чем больше знаешь и осознаешь, тем меньше неблаговидных поступков совершаешь - они просто перестают интересовать.


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 15
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 07.03.12 14:17. Заголовок: Scriptong пишет: 2...


Scriptong пишет:

 цитата:
2. Не посылать слишком частые торговые запросы. В своих экспертах я использую торговые операции один раз за один бар. При этом на минутках я никогда не торгую. Получаем, что торговые запросы будут поступать на сервер не чаще, чем 1 раз в 5 минут. А если торговать на более высоких таймфреймах, то периодичность будет еще меньше.



Что подразумевается под торговым запросом? Запрос текущих значений Bid, Ask, текущего времени или OrderSend, OrderClose?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 334
Зарегистрирован: 03.09.09
ссылка на сообщение  Отправлено: 07.03.12 18:05. Заголовок: Максим пишет: Что п..


Максим пишет:

 цитата:
Что подразумевается под торговым запросом?



К ним относятся функции, отправляющие запрос на сервер в торговом потоке. Таких функций всего пять: OrderSend, OrderClose, OrderModify, OrderCloseBy, OrderDelete. Торговый поток работает в синхронном режиме, т.е. программа при вызове этих функций не будет исполняться далее, пока вы не получите ответ от сервера.

В МТ4, помимо торгового потока, есть поток данных (к сожалению, не знаю, как точно называется; возможно таких несколько), через который вы получаете котировки и информацию о рыночном окружении. Поток асинхронный. То есть, отправив запрос, вы получаете ответ не сразу, а спустя некоторое неопределенное время. Программа продолжает свое выполнение.
На этот поток вы влияете, когда обращаетесь к историческим данным при помощи функций доступа к таймфсериям. В этом случае очень мала вероятность навлечь на себя гнев брокера, т.к. после первого обращения к несуществующим у вас на компьютере данным эти данные закачиваются и впоследствии вы их получаете без отправки запроса на сервер.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 22
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 13.03.12 10:20. Заголовок: Спасибо за интересну..


Спасибо за интересную информацию.
Меня интересует асинхронный поток данных. Если мой советник анализирует информацию по мере её поступления, то есть не пользуется таймсериями, то возможна ли такая коллизия, что предыдущие данные о цене могут задержаться в пути и прийти чуть позже более поздних данных? То есть надо усложнять программу и вместе с бидом и аском проверять метку времени? Может неучёт этого фактора и приводит к худшим результатам работы советника в реале по сравнению с тестом?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 343
Зарегистрирован: 03.09.09
ссылка на сообщение  Отправлено: 13.03.12 13:58. Заголовок: Максим пишет: Если ..


Максим пишет:

 цитата:
Если мой советник анализирует информацию по мере её поступления, то есть не пользуется таймсериями, то возможна ли такая коллизия, что предыдущие данные о цене могут задержаться в пути и прийти чуть позже более поздних данных?



Да, об этом и речь.
Поэтому для получения данных с других таймфреймов или других валютных пар в советниках (в индикаторах не получится, т.к. там Sleep не работает) я использую вот такую функцию:

 цитата:
//+-------------------------------------------------------------------------------------+
//| Получение времени открытия дня Num |
//+-------------------------------------------------------------------------------------+
datetime GetTime(int Num)
{
datetime Res; // Результат вычисления функции
int P = 0; // Счетчик обращения к данным
while (P < 120) // Обращение не более 120 раз подряд
{
Res = iTime(NULL, PERIOD_D1, Num);
if (GetLastError() != 4066) break;//Ошибка 4066 свидетельствует о неготовности данных
Sleep(1000); // Пауза 1 сек. для того чтобы данные успели обновиться
P++; // Увеличение счетчика
}
if (P == 120) // Если выход из цикла по причине переполнения счетчика (долго ждали)
return(0); // то функция вернет ошибку
return(Res); // Если же цикл прервался успешным получением значения, то функция
// вернет Res
}



Вместо iTime может быть обращение к любой другой таймсерии.

Спасибо: 0 
ПрофильЦитата Ответить
Автор




Пост N: 971
Зарегистрирован: 21.05.06
Откуда: Украина, Днепропетровск
ссылка на сообщение  Отправлено: 13.03.12 15:42. Заголовок: Максим пишет: То ест..


Максим пишет:
 цитата:
То есть надо усложнять программу..?

Вообще-то, есть ребята, которые зарабатывают на сверх малых целях с очень большой частотой, - буквально на шероховатости рынка. Эти ребята, конечно, нам не чета. Например, оборудование у них такое, что нам и не снилось. Мощности и скорости обычных процессоров им не хватает, они изготавливают вычислительную часть машины на основе видеокарт (уж не знаю как, но скорость обработки инф. получается выше). И для них критично расстояние от их сервера до сервера на Wall Street. Они платят миллионы за аренду чердачных помещений, лишь бы быть поближе. И конкуренция в этом сегменте очень высока - кто первый успел, того и тапки.

Использовать для заработка на шероховатости рынка обычное оборудование (главным образом, речь об ограничениях интернет) и котировки брокера нет смысла. Там такие запаздывания, настолько низкая надёжность, что расчитывать на результат не следует.

И главное. Каким бы этот "арбитраж" не был, нужно понимать, что источником дохода при заработках на шероховатости является карман брокера. Пройдёт неделя, и каждый из брокеров-участников-арбитража вычислит: ага, парень ситематически зарабатывает, а за счёт чего? а стрижёт широховатость; дык, это ж за наш счёт! секир-башка ему! И начнутся реквоты, запаздывания, нервы и.. обычно всё это заканчивается повышением осознанности трейдера, причём как правило, пропорционально потерям его депозита.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 23
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 14.03.12 14:06. Заголовок: SK пишет: Вообще-то..


SK пишет:

 цитата:
Вообще-то, есть ребята, которые зарабатывают на сверх малых целях с очень большой частотой, - буквально на шероховатости рынка. Эти ребята, конечно, нам не чета. Например, оборудование у них такое, что нам и не снилось. Мощности и скорости обычных процессоров им не хватает, они изготавливают вычислительную часть машины на основе видеокарт (уж не знаю как, но скорость обработки инф. получается выше). И для них критично расстояние от их сервера до сервера на Wall Street. Они платят миллионы за аренду чердачных помещений, лишь бы быть поближе. И конкуренция в этом сегменте очень высока - кто первый успел, того и тапки.



Наверно это всё-таки очень забавная сказка! ) Как в фильме ДМБ: "- Вот ты, не видишь инопланетян, и я не вижу... а они есть!"

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 24
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 14.03.12 14:54. Заголовок: Scriptong пишет: дл..


Scriptong пишет:

 цитата:
для получения данных с других таймфреймов или других валютных пар в советниках (в индикаторах не получится, т.к. там Sleep не работает) я использую вот такую функцию:



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

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 25
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 14.03.12 15:02. Заголовок: Scriptong, прошу про..


Scriptong, прошу прощения != принял за ==. Но получается ещё хитрее. Выход из цикла при любой ошибке кроме 4066? Зачем это надо?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 26
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 14.03.12 15:17. Заголовок: Scriptong, или плано..


Scriptong, или плановый выход из цикла когда GetLastError() =0? А точно это точно что при успешном завершении функции iTime, last_error обновится?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 24 , стр: 1 2 3 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 10
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет