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



Не зарегистрирован
Зарегистрирован: 01.04.14
ссылка на сообщение  Отправлено: 01.04.14 14:56. Заголовок: Обработка котировок


Здравствуйте, форумчане!

Сталкивался ли кто-нибудь с решением такой задачи, когда требуется предварительная проверка на присутствие котировок по валютным парам перед открытием или закрытием сделок в условиях мультивалютного трейдинга?

Дело в том, что если цен нет, то от сервера придет сообщение с ошибкой 136 об отсутствии котировок.

Одно из решений, которое мне известно, это проверка по условию (как пример):

if (iVolume("EURUSD",0,0>1 || iVolume("GBPUSD",0,0>1)) return(0); //ничего не делаем.
else
{
OrderSend("EURUSD",OP_BUY......);
OrderSend("GBPUSD",OP_SELL......);
}

Знает ли кто какое-нибудь другое решение?

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


Автор




Пост N: 1094
Зарегистрирован: 21.05.06
Откуда: Украина, Днепропетровск
ссылка на сообщение  Отправлено: 01.04.14 18:57. Заголовок: Смотря что "ниче..


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

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



Пост N: 1
Зарегистрирован: 01.04.14
ссылка на сообщение  Отправлено: 02.04.14 06:59. Заголовок: Здесь имеется ввиду,..


Здесь имеется ввиду, что сама по себе валютная пара существует и по ней можно вести торговлю. Но по причинам низкой ликвидности в какой-то определенный момент времени цен от брокера может не быть. Поэтому если отправить запрос на открытие позиции или закрытие позиции, если она существует, используя цены Bid или Ask, в зависимости, что нужно, то можно нарваться на ответ от торгового сервера, что цен нет. Такое явление присутствует на экзотических валютных парах типа HKDJPY, EURTRY и т.д. Осутствие цен при этом может существовать, по моему опыту, аж до 2х часов. Поэтому, чтобы советник не отсылал зря команды на сервер или когда, например нужно открыть или закрыть разновалютные пары одновременно, нужен метод определения, есть ли цены на самом деле или их нет, чтобы не получилось, что по одной паре позиция открыта/закрыта, а по другой этого не произойдет ввиду отсутствия цен. В МТ5 это проверить можно через OrderCheck(). А вот в МТ4 как?

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




Пост N: 1095
Зарегистрирован: 21.05.06
Откуда: Украина, Днепропетровск
ссылка на сообщение  Отправлено: 02.04.14 17:37. Заголовок: Наличие цены - это ф..


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

Но это и всё.

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

Если частота котировок является критичным параметром, то нужно вести учёт котировок, вычислять их частоту и на это ориентироваться. Например, нетрудно регулярно (например, каждые 5- 10 сек) запрашивать цены на сервере по всем нужным валютам с помощью MarketInfo(). Это лучше осуществлять в зацикленном эксперте; т.е. start() должна пробуждаться на текущую итерацию не новым тиком по фин.инструменту, в окне которого торгует мультивалютник, а жестко - внутри start() должен быть построен бесконечный цикл (например, с выходом по нажатию на кнопку экспертов). Ну, и помнить статистику и на каждой итерации вычислять что-то типа вероятности появления котировки в ближайшее критичное время.

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

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