Ошибки, баги, вопросы - страница 689

 
Urain:

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

ЗЫ Проблема в том что позиционируя терминал как мультивалютный MQ оставил одновалютную основу, нет события мультитик, отсюда и все последующие проблемы.

ну при чем тут модели, или модели тестера.

суть платформы - четко принимать и сохранять в терминалы исходную инфу в том количестве, в котором она появилась и пришла на сервер.

Никакой отсебятины разработчики давать не могут! Инфы по тикам пришло столько, сколько её пришло. ни байтом больше, ни меньше.

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

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

Если вам нужна недостающая история минуток, то просить нужно об этом - свои ДЦ, чтоб они в свою историю добавляли бары каждой пропущенной минуты, с единичными объемами.

 
hrenfx:

Попросить брокера обойти костыль Metaquotes? Костыль же касается и одновалютников.

Вам нужно, чтоб сервер хранил время начала минутного бара не в :00 секунд, а во время прихода первого тика, например в :05 или :24 ?

Если это все что нужно для работы и это решит много проблем тестирования - то много ли улучшений получит терминал и качество тестера?  Является ли такое смещение в несколько секунд критичным для теста мультивалютников?

Не забывайте, что все цены внутри бара тестер моделирует используя тиковый объем. Много ли вы выиграете, если первый тик будет приходить как было, а все остальные - совсем не так как в реале?

Если это смещение никак не влияет на последующие тики, то зачем это смещение вообще? Ради первого верного тика? 

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

 
sergeev:

ну при чем тут модели, или модели тестера.

суть платформы - четко принимать и сохранять в терминалы исходную инфу в том количестве, в котором она появилась и пришла на сервер.

Никакой отсебятины разработчики давать не могут! Инфы по тикам пришло столько, сколько её пришло. ни байтом больше, ни меньше.

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

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

Если вам нужна недостающая история минуток, то просить нужно об этом - свои ДЦ, чтоб они в свою историю добавляли бары каждой пропущенной минуты, с единичными объемами.

Подтасовываем факты под требуемое течение мысли :)

Сервер передаёт тики, где вы видите тиковую историю ???

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

Почему сам сервер не имеет генератора частоты ???

Почему считается правильным нарезать бары по времени, но вводить генератор частоты это уже не правильно ???

давай тогда вообще избавимся от времени и перейдём на крестики нолики. Там в принципе нет понятия времени.

Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5
Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5
  • 2010.05.21
  • MetaQuotes Software Corp.
  • www.mql5.com
MetaTrader 5 позволяет во встроенном тестере стратегий моделировать автоматическую торговлю с помощью экспертов на языке MQL5. Такое моделирование называется тестированием экспертов, и может проводиться с использованием многопоточной оптимизации и одновременно по множеству инструментов. Для проведения тщательного тестирования требуется генерировать тики на основе имеющейся минутной истории. В статье дается подробное описание алгоритма, по которому генерируются тики для исторического тестирования в клиентском терминале MetaTrader 5.
 
sergeev:

Вам нужно, чтоб сервер хранил время начала минутного бара не в :00 секунд, а во время прихода первого тика, например в :05 или :24 ?

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

Является ли такое смещение в несколько секунд критичным для теста мультивалютников?

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

Не забывайте, что все цены внутри бара тестер моделирует используя тиковый объем. Много ли вы выиграете, если первый тик будет приходить как было, а все остальные - совсем не так как в реале?

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

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

Выше уже написал, что речь идет не о времени первого тика. Но насчет великолепности тиковой истории - это миф в большинстве случаев. Для основной массы ТС, истории M1 Bid + Ask OHLC достаточно.
 

Задача хранения мультивалютной истории очень сходна с задачей хранения видео. Требуется хранить достоверный синхрокадр и от него сохранять изменения.

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

Нельзя достоверно сказать что вот в этой точке (открытие бара) цена была именно там.

Поскольку открытие бара по времени было в xx:yy:00 а открывающий тик был в xx:yy:12

 
Urain:

Поскольку открытие бара по времени было в xx:yy:00 а открывающий тик был в xx:yy:12

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

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

В этой ситуации большее сопротивление (процентов 80) будет именно на первом этапе убеждения. А дальше уже дело прогеров.

да поможет им Велес и Ганеш

 
Urain:

Нельзя достоверно сказать что вот в этой точке (открытие бара) цена была именно там. 

Поскольку открытие бара по времени было в xx:yy:00 а открывающий тик был в xx:yy:12

Можно, если ориентировать только на цены закрытия. Но для этого нужно отслеживать событие закрытия минуты (не бара), взяв за текущую цену Close[1].

Подобные обходы совершенно искусственных костылей разработчиков используются, но это решение через задний проход.

Даже если разработчики изменят ситуацию, то моделированная Ask-цена все равно будет давать рассинхронизацию, как с реалом, так и при мультивалютном анализе в тестере.

 
hrenfx:

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

... которой на самом деле нет, но тестер создаёт иллюзию у тестирующего, что арбитраж существует.

Верно?

 
joo:

... которой на самом деле нет, но тестер создаёт иллюзию у тестирующего, что арбитраж существует.

Верно?

Совершенно верно. Арбитража в реале нет, а тестер показывает арбитражные цены на казалось бы точных (не смоделированных) исторических данных - цены открытия.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 
hrenfx:
Совершенно верно. Арбитража в реале нет, а тестер показывает арбитражные цены на казалось бы точных (не смоделированных) исторических данных - цены открытия.

Это скверно...

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