Bid && Ask && Spread - страница 9

 
А вообще даже максимальный спред это полумера. Ask история также важна как и Bid. Я лично пришел к тому что работая на продажу нужно работать с Ask историей, на покупку с Bid. Раньше можно было допустить один Bid т.к. спред в основном был фиксированным. Сейчас все по-другому. Ну и плюс к этому верно говорит hrenfx - история по bid и ask это нормальное тестирование.
 
MetaDriver:

Максимальный спред может быть в любом месте бара. И вообще, подумайте ещё раз.

Для пятиминутных баров нужно указывать максимальный  из минуток ?  

А для часовок ?  Дурдома не получится из такой логики ?


У пятиминутных, часовых и тд баров не имеют смысла никакие спреды!

Не попали ли Вы в ловушку, считая, что у каждого таймфрейма (кроме минутки) выбирается постоянный спред? Очень часто люди не понимают, что такое "спред в каждой минутке" и делают вывод что на "любом другом таймфрейме спред также фиксируется".

Исходные исторические данные в МТ5 хранятся только в минутках, из которых строятся все остальные таймфреймы. При моделировании часовки будет использовано 60 разных спредов из 60 минуток, составляющих этот час.

 
220Volt:
Есть очень важный момент - спред нужен не только для тестирования!! И если не получится ввести Ask историю, то лучше ввести максимальный спред чем средний. По сути максимальный спред даст хай аск, а средний вообще непонятный показатель. Как же работать с уровнями? Ведь при продажах стопы будут срабатывать по аску. И для того чтобы понять где аск в прошлом нужен максимальный спред.
Каюсь, неправду написал. Максимальный спред не даст хай аск. Следовательно лично для меня бесполезен, так примочка для тестирования. Нужна только аск история !!!!
 
Renat:

1. У пятиминутных, часовых и тд баров не имеют смысла никакие спреды!

2.  Не попали ли Вы в ловушку, считая, что у каждого таймфрейма (кроме минутки) выбирается постоянный спред? Очень часто люди не понимают, что такое "спред в каждой минутке" и делают вывод что на "любом другом таймфрейме спред также фиксируется".

3.  Исходные исторические данные в МТ5 хранятся только в минутках, из которых строятся все остальные таймфреймы. При моделировании часовки будет использовано 60 разных спредов из 60 минуток, составляющих этот час.

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

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

3.  Это я знаю.  Вы только про свой тестер пишете, в данном случае.  И то - только для тех режимов которые реализованы сейчас.  Я ваш тестер сильно уважаю, но ещё сильнее зауважаю, когда таки появятся методы пригодные для скоростной (хотя и не вполне точной) оптимизации.  А в этих методах предполагается некое допустимое упрощение данных подаваемых на вход. Вот тут вопрос о пригодности формата данных всех таймфреймов для использования при генерации упрощенной последовательности тиков и встаёт.  Если у вас не встаёт - то у меня. :)

 

Конкретный пример, показывающий недостатки моделирования Ask-цены:

  1. Стоит BuyLimit на уровне 1.3002.
  2. Наступает новый бар, характеристики которого к завершению оказались следующими:
  3. Цена Bid менялась в течение минуты от 1.2995(Low) до 1.3000(High) .
  4. Цена Ask менялась в течение минуты от 1.3001(Low) до 1.3005(High) . Т.е. на демо на данном баре BuyLimit должен был сработать.
  5. Максимальный (на открытии) спред на баре был 8 пунктов.
  6. Тестер покажет, что Ask менялся от 1.3003(Low) до 1.3008(High). Очевидно, что BuyLimit в тестере при такой схеме моделирования Ask-цены не сработает.

Вот простой совершенно конкретный пример, когда тестер неточен. Очевидно, будь у тестера реальные данные по Ask-цене, он бы показал срабатывание лимитника, как и было на демо.

Так точен ли тестер, когда показывает расхождения с тепличными условиями демо?

Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
 

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

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

Более того, в MT5 нет понятия тика, есть понятия времени последней котировки. Это почти одно и то же, но не совсем. Очень важной характеристикой тика является время его рождения - время, когда тик появился в источнике этого тика. Это совсем не то время, когда он поступил в систему MT5-платформу - на MT5-сервер (не терминал). Конечно, время рождения тика должно задаваться с точностью до миллисекунды, как это принято во многих платформах.

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

Актуальность тиков важна в синхронных мультивалютных стратегиях. Например, когда вам надо одновременно открыться по нескольким ФИ. 

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5