Чемпионат Automated Trading Championship 2010 стартовал! - страница 18

 
papaklass:
Я тоже предполагал, что в этом виновата синхронизация. Вы собираетесь это (синхронизацию по барам) исправлять или пользователи должны сами предусматривать синхронизацию по барам в своем коде?
Здесь всё проще. Если вы хотя бы раз в 5 минут обращаетесь к данным, то они у вас всегда будут в синхронизированном состоянии.
 
stringo: У каждого чемпионатского терминала открыт только один график (на котором и запускается эксперт). То есть по "соседним" символам информация возникает только после соответствующего запроса. И эта информация живёт в памяти клиентского терминала ограниченное время (так как соответствующий график не открыт). То есть, на момент следующего запроса в начале следующего дня, данных в памяти УЖЕ нет, они успели выгрузиться. И нужно некоторое время для их поднятия и синхронизации.

Скажите, а можно было эту информацию опубликовать раньше чемпионата или указать в правилах?

В правилах сказано -

Каждый эксперт запускается на отдельном терминале с одного счета и только на одном графике, выбранном Участником 

Понятно. Но не сказанно, что подкачка данных других инструментов не производится и не хранится в памяти.

Так же, в правилах сказано -

 Для Чемпионата выбраны 12 валютных пар с доступной минутной историей с 2005 года.

 Но по факту, исходя из ваших слов оказывается, что она может быть не доступна так как поступившие данные это уже считается историей, вы это должны понимать, и эта история может быть не доступна так как вы сами написали -

по "соседним" символам информация возникает только после соответствующего запроса. 

 

 Вообщем, в моём эксперте обнаружились проблемы связанные по всей видимости с этой вашей фишкой - сделки открываются не там где нужно. Видимо, индикатор глючит из-за недоступности истории по другим инструметам, не на том на котором стоит эксперт. Две сделки, которые сейчас у меня открыты - открылись не там где нужно.

 

 
LeoV:

Скажите, а можно было эту информацию опубликовать раньше чемпионата или указать в правилах?

Есть же раздел в справке Организация доступа к данным:

Доступность данных

Наличие данных в формате HCC или даже в готовом для использования формате HC не всегда означает безусловную доступность этих данных для отображения на графике или для использования в mql5-программах.

При доступе к ценовым данным или к значениям индикаторов из mql5-программ следует помнить, что не гарантируется их доступность в определенный момент времени, либо с определенного момента времени. Это связано с тем, что в целях экономии ресурсов в MetaTrader 5 не хранится полная копия требуемых данных для mql5-программы, а дается прямой доступ к базе данных терминала.

Ценовая история по всем таймфреймам строится из общих данных формата HCC и любое обновление данных с сервера приводит к обновлению данных по всем таймфреймам и пересчету индикаторов. Вследствие этого, в доступе к данным может быть отказано даже в том случае, если эти данные были доступны мгновение назад.


 
LeoV:

 Вообщем, в моём эксперте обнаружились проблемы связанные по всей видимости с этой вашей фишкой - сделки открываются не там где нужно. Видимо, индикатор глючит из-за недоступности истории по другим инструметам, не на том на котором стоит эксперт. Две сделки, которые сейчас у меня открыты - открылись не там где нужно.

И про это сказано там же:

Синхронизация данных терминала и данных сервера

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

Алгоритмы с использованием циклов ожидания готовности данных являются не лучшим решением. Единственное исключение в данном случае — скрипты, так как у них нет другого выбора алгоритма в виду отсутствия обработки событий. Для пользовательских индикаторов подобные алгоритмы, как и любые другие циклы ожидания, категорически не рекомендуются, так как приводят к остановке расчета всех индикаторов и другой обработки ценовых данных по данному символу.

Для экспертов и пользовательских индикаторов лучше использовать событийную модель обработки. Если при обработке события OnTick() или OnCalculate() не удалось получить все необходимые данные требуемой таймсерии, то следует выйти из обработчика события, рассчитывая на появление доступа к данным при следующем вызове обработчика.

Либо самим организовать ожидание данных, как в приложенном скрипте.
 

Rosh: Есть же раздел в справке Организация доступа к данным

Тогда не нужно писать, что история доступна по 12 парам. Оказывается, что история доступна для тестирования по 12 парам, а не для работы на реале по 12 парам - это однозначно. Правила толкуются и понимаются без всяких "подвохов" и домыслов - так, как они написаны.
 

Всем участникам предоставлялись счета, на которых они могли обкатать своих советников в условиях, максимально приближенных к боевым. 

Должен еще раз повторить из справки:

При доступе к ценовым данным или к значениям индикаторов из mql5-программ следует помнить, что не гарантируется их доступность в определенный момент времени, либо с определенного момента времени. Это связано с тем, что в целях экономии ресурсов в MetaTrader 5 не хранится полная копия требуемых данных для mql5-программы, а дается прямой доступ к базе данных терминала.

Организуйте в таких случаях самостоятельно и явно синхронизацию данных. Есть функции Bars() и BarsCalculated().

 
LeoV:
Тогда не нужно писать, что история доступна по 12 парам. Оказывается, что история доступна для тестирования по 12 парам, а не для работы на реале по 12 парам - это однозначно. Правила толкуются и понимаются без всяких "подвохов" - так, как они написаны.

если налична - история доступна. Только  организовать надо.  

Выходние  пропали.... :))

 
LeoV:
Тогда не нужно писать, что история доступна по 12 парам. Оказывается, что история доступна для тестирования по 12 парам, а не для работы на реале по 12 парам - это однозначно. Правила толкуются и понимаются без всяких "подвохов" - так, как они написаны.

История доступна по 12 парам. История была предварительно закачана, причём полностью. Сформированы все основные кеши на 1 миллион баров каждый. Затем вся подготовленная история была раскопирована по всем чемпионатским терминалам. Осталось только использовать её.

Как использовать? Мы многократно обсуждали здесь все нюансы работы с историей. Причём по результатам обсуждения мы в своё время максимально упростили доступ к истории.

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

 
Rosh: Всем участникам предоставлялись счета, на которых они могли обкатать своих советников в условиях, максимально приближенных к боевым. 

К сожалению, я не мог заниматься 3-ёх или 4-ёх месячным тестированием советника на новой платформе и выискиванием несоответствий правил чемпионата и справок к МТ5, который только разрабатывается - у меня тоже свои дела, как и у вас. Мне написали советник, по тем правилам, которые вы указали для чемпионата - никто не думал о таких подвохах.

Rosh: Должен еще раз повторить из справки:

Я понимаю по поводу справки, но должен тоже ещё раз повторить вам, что договоры, правила и прочие юридические документы, читаются и трактуются так как они написаны и не позволительно трактовать их так, как думаете вы или я. У вас чётко написно -

 Для Чемпионата выбраны 12 валютных пар с доступной минутной историей с 2005 года.

Если делать так как вы подразумеваете, то нужно писать так -

  Для Чемпионата выбраны 12 валютных пар с доступной минутной историей с 2005 года для тестирования.

 Подкачка исторических данных при работе на реале организуется самостоятельно.

Вам любой юрист скажет, что договоры и правила трактуются так как они написаны и никак иначе.
 

Как бы понятно, что этот чемпионат готовился на скорую руку. Но все таки разработчики старались и стараются. Сложнее будет жюри. Как в таких условиях выбрать победителя или вообще признать чемпионат состоявшемся. 

P.S. Какая синхронность красивая 1-2 и 8. ))) 

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