Клиентский терминал MetaTrader 5 - страница 40

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

Ну в принципе да, если только буду знать что я их действительно пропустил и сколько.

Я скачал то, что вы выложили, но еще не смотрел. Возможно там есть решение и для меня.

 
Yurixx >>:

Ну в принципе да, если только буду знать что я их действительно пропустил и сколько.

Я скачал то, что вы выложили, но еще не смотрел. Возможно там есть решение и для меня.

Узнать внутри функции start(), что пришел тик можно с помощью RefreshRates(). Такой вариант не подходит?

 
Yurixx писал(а) >>

Спасибо, понял.

Тут дело не в том, чтобы собирать тики, это уже в прошлом. Дело в том, что мой советник анализирует статистичекую структуру тикового потока, но делает это не на каждом тике. То есть он на разных тиках работает по разным схемам. На большей части тиков объем действий вполне укладывается в 50 милисек., но немало и таких моментов, когда вычислений довольно много. Даже с учетом существенно возросшей скорости МТ я не уверен, что в таких ситуациях уложусь в 100 милисек. Поэтому вынужден искать варианты, которые позволят избежать искажений статистики. Иначе вся работа коту под хвост.

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

 
stringo писал(а) >>

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

О, вот это здорово. Спасибо, Слава.

 
Пользовательское событие тащит за собой три параметра типов long, double и string. То есть, Вы сможете передавать время, цену и наименование инструмента. Так как long и double занимают по 8 байт, то туда можно упаковать информации в несколько раз больше (в нашем хелпе уже есть примеры, иллюстрирующие разную интерпретацию данных).
 
stringo >>:
... (в нашем хелпе уже есть примеры, иллюстрирующие разную интерпретацию данных).

Дайте ссылочку - ненашёл :(

 
JavaDev писал(а) >>

Дайте ссылочку - ненашёл :(

Пока не опубликовано.

 
stringo писал(а) >>
Пользовательское событие тащит за собой три параметра типов long, double и string. То есть, Вы сможете передавать время, цену и наименование инструмента. Так как long и double занимают по 8 байт, то туда можно упаковать информации в несколько раз больше (в нашем хелпе уже есть примеры, иллюстрирующие разную интерпретацию данных).

Понял, отлично.

А среди глобальных переменных массивы случайно не появятся ?

Причина обращения: