В МТ5 при тестировании по минуткам учитываются реальные спреды?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
igrok333
2005
igrok333  
Если в МТ5 тестировать по минуткам в режиме "по ценам открытия" будут учитываться реальные спреды? те, которые тогда были в истории?

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

Когда в МТ4 сохраняются только биды....

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

Я все правильно понимаю?
Alexey Volchanskiy
27264
Alexey Volchanskiy  
igrok333:
Если в МТ5 тестировать по минуткам в режиме "по ценам открытия" будут учитываться реальные спреды? те, которые тогда были в истории?

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

Когда в МТ4 сохраняются только биды....

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

Я все правильно понимаю?

Я никогда не тестирую на открытии и был уверен, что нет. Стало интересно, набросал советник с единственной функцией, он в аттаче

void OnTick()
{
    double spread = NormalizeDouble(SymbolInfoDouble(Symbol(), SYMBOL_ASK) - SymbolInfoDouble(Symbol(), SYMBOL_BID), _Digits);
    Print(DoubleToString(spread));
}

И вот результаты, спред плавает, причем как раз расширяется при переходе через 00:00, как в реале

2019.05.15 03:14:27.517 Core 1 EURUSD,M15: testing of Experts\TesterSpread.ex5 from 2019.04.16 00:00 to 2019.04.17 00:00 started

2019.05.15 03:14:27.517 Core 1 2019.04.16 00:00:00   0.00010000

2019.05.15 03:14:27.517 Core 1 2019.04.16 00:15:00   0.00016000

2019.05.15 03:14:27.517 Core 1 2019.04.16 00:30:00   0.00009000

2019.05.15 03:14:27.517 Core 1 2019.04.16 00:45:00   0.00011000

2019.05.15 03:14:27.517 Core 1 2019.04.16 01:00:00   0.00009000

2019.05.15 03:14:27.517 Core 1 2019.04.16 01:15:00   0.00011000

2019.05.15 03:14:27.517 Core 1 2019.04.16 01:30:00   0.00011000

2019.05.15 03:14:27.517 Core 1 2019.04.16 01:45:00   0.00011000

2019.05.15 03:14:27.517 Core 1 2019.04.16 02:00:00   0.00010000

2019.05.15 03:14:27.517 Core 1 2019.04.16 02:15:00   0.00004000

2019.05.15 03:14:27.517 Core 1 2019.04.16 02:30:00   0.00010000

2019.05.15 03:14:27.517 Core 1 2019.04.16 02:45:00   0.00009000

2019.05.15 03:14:27.517 Core 1 2019.04.16 03:00:00   0.00008000

2019.05.15 03:14:27.517 Core 1 2019.04.16 03:15:00   0.00009000

2019.05.15 03:14:27.517 Core 1 2019.04.16 03:30:00   0.00009000

2019.05.15 03:14:27.517 Core 1 2019.04.16 03:45:00   0.00009000

2019.05.15 03:14:27.517 Core 1 2019.04.16 04:00:00   0.00008000

2019.05.15 03:14:27.517 Core 1 2019.04.16 04:15:00   0.00008000

2019.05.15 03:14:27.517 Core 1 2019.04.16 04:30:00   0.00008000



Файлы:
igrok333
2005
igrok333  
Alexey Volchanskiy:

Я никогда не тестирую на открытии и был уверен, что нет. Стало интересно, набросал советник с единственной функцией, он в аттаче

И вот результаты, спред плавает, причем как раз расширяется при переходе через 00:00, как в реале



да. спред плавающий.

но берет ли оно тот спред, который был при открытии бара...

где-то видел информацию, что учитывается минимальный спред за бар.
Alexey Volchanskiy
27264
Alexey Volchanskiy  
igrok333:
да. спред плавающий.

но берет ли оно тот спред, который был при открытии бара...

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

тогда надо дорабатывать советник

1. Первый проход тестера идет по тикам, запоминаются спреды, соответствующие ценам открытия

2. Проход по ценам открытия, пишутся спреды открытия

3. Спреды сравниваются вручную или программно


А зачем это все? Это бессмысленно, тест по открытию это просто фикция, проверка, что советник вообще живой, или крайне грубая оценка стратегии

Andrey Khatimlianskii
55979
Andrey Khatimlianskii  
igrok333:
где-то видел информацию, что учитывается минимальный спред за бар.

Да, так и есть.

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

igrok333
2005
igrok333  
Andrey Khatimlianskii:

Да, так и есть.

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

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

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

Мы же, в советнике, который работает по началам баров, открываемся при открытии бара, на первом тике.

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

Значит нужно тестировать только в режиме "все тики". Даже советники, которые работают по началам баров.
Andrey Khatimlianskii
55979
Andrey Khatimlianskii  
igrok333:
Если это так, то значит результаты тестирования неправильными получаются.

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

Мы же, в советнике, который работает по началам баров, открываемся при открытии бара, на первом тике.

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

Значит нужно тестировать только в режиме "все тики". Даже советники, которые работают по началам баров.
Этот режим для примерной оценки.
Для точного тестирования (в том числе, быстрого) все инструменты есть. 
Почему решили хранить в истории минимальный спред за минуту - другой вопрос, и он обсуждался, поищите. 
igrok333
2005
igrok333  
Andrey Khatimlianskii:
Этот режим для примерной оценки.
Для точного тестирования (в том числе, быстрого) все инструменты есть. 
Почему решили хранить в истории минимальный спред за минуту - другой вопрос, и он обсуждался, поищите. 

 нашел только такое:

https://www.mql5.com/ru/forum/1111/page2383#comment_10684160

по какой логике это сделано не нашел.


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

так бы советники, которые отслеживают начало нового бара, и работают по опэнам баров, можно было бы корректно тестировать.

А если тестировать по реальным тикам, так оптимизация будет долго проходить....

Andrey Khatimlianskii
55979
Andrey Khatimlianskii  
igrok333:

 нашел только такое:

https://www.mql5.com/ru/forum/1111/page2383#comment_10684160

по какой логике это сделано не нашел.


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

А почему не последний? Не 35-й?

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


igrok333:

А если тестировать по реальным тикам, так оптимизация будет долго проходить....

Решение предложил выше.

igrok333
2005
igrok333  
Andrey Khatimlianskii:

А почему не последний? Не 35-й?

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

ну для тестирования  в режиме "по ценам открытия баров" нужен спрэд первого тика за бар.

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

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

Но разработчики почему то выбрали третий  вариант. Минимальный спрэд за бар.

Andrey Khatimlianskii
55979
Andrey Khatimlianskii  
igrok333:

ну для тестирования  в режиме "по ценам открытия баров" нужен спрэд первого тика за бар.

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

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

Но разработчики почему то выбрали третий  вариант. Минимальный спрэд за бар.

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

Выхожу из дискуссии.

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий