Вопрос к MQ: О начале следующего бара при работе с MTAPI

 
Вопрос к MQ: О начале следующего бара при работе с MTAPI
Добрый день!
Вы говорили, что в MetaTrader признаком начала бара есть нулевой объём.
При условии, что протокол связи с сервером в MetaTrader такой же как и в MTAPI и не используються его недокументированные методы, я считаю, что в MTAPI нет средств, позволяющих засинхронизировать приход котировок и запросы на получние баров истории.
Вопросы:
1. Как определить момент начала следующего бара в MTAPI, чтобы запросить последний бар истории до получения котировки, которая начинает формировать следующий бар.
2. Какая максимально возможная частота выталкивания котировок для клиента, т.е. какова дискрета по времени формирования котировок на сервере (секунда или больше).
3. Как формируються бары истории на сервере: из тех тиков, которые могут быть выданы клиентам (как это происходит, например в Омеге), или берутся уже готовые бары из других источников.
4.

Хотелось бы получить ответ, предназначенный не для пионеров.
Заранее благодатен за ответ.
 
в клиентском терминале бары формируются на основании приходящих тиков. а эксперт получает бары, которые сформировал клиентский терминал
1. начало следующего бара определяется по времени пришедшего тика. если Вы формируете минутки, то значение времени должно делиться на 60 без остатка. для 5-минуток - на 300 без остатка etc
как только пришло такое значение, Вы увеличиваете счётчик свой счётчик баров, в новом баре ставите объём, равный 1 (1 котировка пришла), берёте среднее от бид+аск и это значение складываете в open и close. Bid записываете в Low, ask - в High. при приходе следующего значения, если оно по времени не вышло за пределы текущего бара, вы опять получаете Close=(bid+ask)/2 (Open уже не трогаете) и если надо модифицируете low и\или high

2. нет понятия "максимально возможная частота". всё зависит от каналов связи между источником котировок и сервером, а также от частоты выдачи котировок источником. у нас есть тестовый сервер, который может выдавать до 4 котировок в секунду по каждой валютной паре (котировки обычно по нескольку штук за раз приходят) и клиентский терминал, написанный на апи, себя нормально чувствовал.

3. сначала идёт запрос недостающей истории, которая приходит в барах. потом эта история дополняется тиками по правилам, описанным в пункте 1.

4. если не хватает подробностей - скажите
 
RE: О начале следующего бара при работе с MTAPI
Благодарю за развёрнутый ответ!

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

Заранее благодарен за ответ, NIL.
 
если Вы будете формировать бары по описанному алгоритму, то разницы никакой не будет
так как на сервере бары формируются именно так.
2. реальный источник котировок (ройтерс, саксобанк и т.д.) формирует свои котировки, руководствуясь происходящими изменениями на бирже (биржах): повысился спрос - повысилась цена, повысилось предложение - цена понизилась. считайте, что появление заявок на покупку\продажу происходит на бирже случайным образом.
 
Благодарю за ответ, хотя в ответ на первый вопрос мне верится с трудом
 
а Вы проверьте
 
RE:
Проверю, конечно же, но как это может быть в принципе?
Ведь исторические бары общие для всех, а котировки посылаются для каждого клиента индивидуально, тем более что их можно запрашивать
и не в Pumping mode.

Ещё раз благодарю за живую беседу, NIL.
 
RE: Забыл добавить
Собственно, что тут проверять, это видно при экспорте котировок
в Омегу через MSRT. Бары в Омеге, я думаю, формируются так же, как Вы описывали, только не вычисляется среднее, а берутся либо
бид, либо аск.
Насколько я вижу, получаются бары не схожие с историческими
в МетаТрэйде. Это меня сильно волнует, как принципиальная проблема при тестировании стратегий в Омеге. Ведь приходится гонять стратегии на нереальных данных.

С Уважением, NIL.
Причина обращения: