Ошибка моделирования тиков на М5

 

В 207 билде обнаружил ошибку, аналогичную той которую находил на М1 в билде 206, а именно: некорректное моделирование тиков внутри свечи.

Можно видеть, что Low=1,9348.

Лог с распечаткой Bid вставить не могу из-за большого размера , но уровень Low не моделируется тиками даже близко. Обратил на это внимание потому, что не сработал Sell Stop (это видно)

Котировки - вашего хисторицентра. Кстати, в билде 206 этого бага небыло точно, т.к. тестирование проводил неоднократно.

 
Если верить рисунку, то ордер сработал в 14:45. Low=1.9345. Старайтесь быть внимательны, для вас статьи пишутся, например эта Тестер в терминале MetaTrader 4: Это необходимо знать
 
Вы тоже старайтесь быть внимательным, я говорю о том, что SellStop, выставленный, как Вы совершенно верно подметили в 14:45, не открылся как Sell в 15:00, хотя свечка пересекает пунктирную линию! А это говорит о том, что соответствующей цены Bid, на которой и должен был сработать отложенник небыло смоделированно тиками. Аналогичная проблема была на М1. Под словом "сработал" я понимал "открылся", а не "установился".
 
Кстати, тема явной ошибки при сортировке ордеров в истории счёта от 17.07, Вами почему-то оставлена без ответа.
 
Analitik:
Вы тоже старайтесь быть внимательным, я говорю о том, что SellStop, выставленный, как Вы совершенно верно подметили в 14:45, не открылся как Sell в 15:00, хотя свечка пересекает пунктирную линию! А это говорит о том, что соответствующей цены Bid, на которой и должен был сработать отложенник небыло смоделированно тиками. Аналогичная проблема была на М1. Под словом "сработал" я понимал "открылся", а не "установился".
Из Вашего поста этого не было видно. Просто показать картинку недостаточно, не думаю. что тут все сразу поняли о чем идет речь. Буду смотреть.
 
Analitik:
Кстати, тема явной ошибки при сортировке ордеров в истории счёта от 17.07, Вами почему-то оставлена без ответа.
Напомните ветку, пожалуйста. Что там не так?
 
Все таки данных не хватает. Постарайтесь выкладывать все данные, иначе нет смысла. Я сделал простой проверочный советник, как в статье.
Его задача - постараться открыть ордер Sell Stop начиная с 14:45 15 марта 2007 года по цене 1.9348. Это ему удалось только 14:47 , тестер все смоделировал в режиме "Все тики" (как у Вас ).




И сработал ордер также в 14:47. Почему ордер был выставлен не в 14:45, а в 14:47? Потому что в 14:45 текущая цена Bid слишком близка к цене, по которой идет попытка выставить отложенный ордер. Смотрим логи:


09:36:23 CheckSellStop inputs: DayS=15; MonthS=3; YearS=2007; HourS=14; MinuteS=45; CounterS=20; SellStopPrice=1.9348; StopTesting=0;
09:36:23 2007.03.15 14:45 CheckSellStop GBPUSD,M5: OrderSend error 130
09:36:23 2007.03.15 14:45 CheckSellStop GBPUSD,M5: My time frame Open=1. 9347 High=1. 9347 Low=1.9347 Close=1.9347 Volume=1 Bid=1. 9347
09:36:23 2007.03.15 14:45 CheckSellStop GBPUSD,M5: 30 minute frame Open=1. 9347 High=1.9352 Low=1.9332 Close=1.9347 Volume=137 Bid=1. 9347
09:36:23 2007.03.15 14:45 CheckSellStop GBPUSD,M5: 1 hour frame Open=1. 9361 High=1. 9378 Low=1.9332 Close=1.9347 Volume=500 Bid=1. 9347
09:36:23 2007.03.15 14:45 CheckSellStop GBPUSD,M5: 4 hour frame Open=1. 9349 High=1. 9378 Low=1.9332 Close=1.9347 Volume=1398 Bid=1. 9347
09:36:23 2007.03.15 14:45 CheckSellStop GBPUSD,M5: OrderSend error 130
09:36:23 2007.03.15 14:45 CheckSellStop GBPUSD,M5: My time frame Open=1. 9347 High=1. 9347 Low=1.9346 Close=1.9346 Volume=2 Bid=1. 9346
09:36:23 2007.03.15 14:45 CheckSellStop GBPUSD,M5: 30 minute frame Open=1. 9347 High=1.9352 Low=1.9332 Close=1.9346 Volume=138 Bid=1. 9346
09:36:23 2007.03.15 14:45 CheckSellStop GBPUSD,M5: 1 hour frame Open=1. 9361 High=1. 9378 Low=1.9332 Close=1.9346 Volume=501 Bid=1. 9346
09:36:23 2007.03.15 14:45 CheckSellStop GBPUSD,M5: 4 hour frame Open=1. 9349 High=1. 9378 Low=1.9332 Close=1.9346 Volume=1399 Bid=1. 9346
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: OrderSend error 130
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: My time frame Open=1. 9347 High=1. 9347 Low=1.9346 Close=1.9347 Volume=3 Bid=1. 9347
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: 30 minute frame Open=1. 9347 High=1.9352 Low=1.9332 Close=1.9347 Volume=139 Bid=1. 9347
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: 1 hour frame Open=1. 9361 High=1. 9378 Low=1.9332 Close=1.9347 Volume=502 Bid=1. 9347
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: 4 hour frame Open=1. 9349 High=1. 9378 Low=1.9332 Close=1.9347 Volume=1400 Bid=1. 9347
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: OrderSend error 130
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: My time frame Open=1. 9347 High=1. 9348 Low=1.9346 Close=1.9348 Volume=4 Bid=1. 9348
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: 30 minute frame Open=1. 9347 High=1.9352 Low=1.9332 Close=1.9348 Volume=140 Bid=1. 9348
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: 1 hour frame Open=1. 9361 High=1. 9378 Low=1.9332 Close=1.9348 Volume=503 Bid=1. 9348
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: 4 hour frame Open=1. 9349 High=1. 9378 Low=1.9332 Close=1.9348 Volume=1401 Bid=1. 9348
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: OrderSend error 130
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: My time frame Open=1. 9347 High=1. 9349 Low=1.9346 Close=1.9349 Volume=5 Bid=1. 9349
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: 30 minute frame Open=1. 9347 High=1.9352 Low=1.9332 Close=1.9349 Volume=141 Bid=1. 9349
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: 1 hour frame Open=1. 9361 High=1. 9378 Low=1.9332 Close=1.9349 Volume=504 Bid=1. 9349
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: 4 hour frame Open=1. 9349 High=1. 9378 Low=1.9332 Close=1.9349 Volume=1402 Bid=1. 9349
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: OrderSend error 130
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: My time frame Open=1. 9347 High=1. 9349 Low=1.9346 Close=1.9348 Volume=6 Bid=1. 9348
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: 30 minute frame Open=1. 9347 High=1.9352 Low=1.9332 Close=1.9348 Volume=142 Bid=1. 9348
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: 1 hour frame Open=1. 9361 High=1. 9378 Low=1.9332 Close=1.9348 Volume=505 Bid=1. 9348
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: 4 hour frame Open=1. 9349 High=1. 9378 Low=1.9332 Close=1.9348 Volume=1403 Bid=1. 9348
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: OrderSend error 130
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: My time frame Open=1. 9347 High=1. 9349 Low=1.9346 Close=1.9346 Volume=8 Bid=1. 9346
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: 30 minute frame Open=1. 9347 High=1.9352 Low=1.9332 Close=1.9346 Volume=144 Bid=1. 9346
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: 1 hour frame Open=1. 9361 High=1. 9378 Low=1.9332 Close=1.9346 Volume=507 Bid=1. 9346
09:36:23 2007.03.15 14:46 CheckSellStop GBPUSD,M5: 4 hour frame Open=1. 9349 High=1. 9378 Low=1.9332 Close=1.9346 Volume=1405 Bid=1. 9346
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: OrderSend error 130
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: My time frame Open=1. 9347 High=1. 9349 Low=1.9346 Close=1.9347 Volume=9 Bid=1. 9347
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 30 minute frame Open=1. 9347 High=1.9352 Low=1.9332 Close=1.9347 Volume=145 Bid=1. 9347
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 1 hour frame Open=1. 9361 High=1. 9378 Low=1.9332 Close=1.9347 Volume=508 Bid=1. 9347
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 4 hour frame Open=1. 9349 High=1. 9378 Low=1.9332 Close=1.9347 Volume=1406 Bid=1. 9347
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: OrderSend error 130
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: My time frame Open=1. 9347 High=1. 9349 Low=1.9346 Close=1.9346 Volume=11 Bid=1. 9346
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 30 minute frame Open=1. 9347 High=1.9352 Low=1.9332 Close=1.9346 Volume=147 Bid=1. 9346
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 1 hour frame Open=1. 9361 High=1. 9378 Low=1.9332 Close=1.9346 Volume=510 Bid=1. 9346
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 4 hour frame Open=1. 9349 High=1. 9378 Low=1.9332 Close=1.9346 Volume=1408 Bid=1. 9346
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: OrderSend error 130
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: My time frame Open=1. 9347 High=1. 9349 Low=1.9345 Close=1.9345 Volume=12 Bid=1. 9345
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 30 minute frame Open=1. 9347 High=1.9352 Low=1.9332 Close=1.9345 Volume=148 Bid=1. 9345
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 1 hour frame Open=1. 9361 High=1. 9378 Low=1.9332 Close=1.9345 Volume=511 Bid=1. 9345
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 4 hour frame Open=1. 9349 High=1. 9378 Low=1.9332 Close=1.9345 Volume=1409 Bid=1. 9345
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: OrderSend error 130
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: My time frame Open=1. 9347 High=1. 9349 Low=1.9345 Close=1.9348 Volume=14 Bid=1. 9348
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 30 minute frame Open=1. 9347 High=1.9352 Low=1.9332 Close=1.9348 Volume=150 Bid=1. 9348
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 1 hour frame Open=1. 9361 High=1. 9378 Low=1.9332 Close=1.9348 Volume=513 Bid=1. 9348
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 4 hour frame Open=1. 9349 High=1. 9378 Low=1.9332 Close=1.9348 Volume=1411 Bid=1. 9348
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: OrderSend error 130
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: My time frame Open=1. 9347 High=1. 9349 Low=1.9345 Close=1.9349 Volume=15 Bid=1. 9349
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 30 minute frame Open=1. 9347 High=1.9352 Low=1.9332 Close=1.9349 Volume=151 Bid=1. 9349
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 1 hour frame Open=1. 9361 High=1. 9378 Low=1.9332 Close=1.9349 Volume=514 Bid=1. 9349
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 4 hour frame Open=1. 9349 High=1. 9378 Low=1.9332 Close=1.9349 Volume=1412 Bid=1. 9349
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: OrderSend error 130
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: My time frame Open=1. 9347 High=1. 935 Low=1.9345 Close=1.935 Volume=16 Bid=1. 935
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 30 minute frame Open=1. 9347 High=1.9352 Low=1.9332 Close=1.935 Volume=152 Bid=1. 935
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 1 hour frame Open=1. 9361 High=1. 9378 Low=1.9332 Close=1.935 Volume=515 Bid=1. 935
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 4 hour frame Open=1. 9349 High=1. 9378 Low=1.9332 Close=1.935 Volume=1413 Bid=1. 935
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: OrderSend error 130
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: My time frame Open=1. 9347 High=1. 935 Low=1.9345 Close=1.9349 Volume=17 Bid=1. 9349
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 30 minute frame Open=1. 9347 High=1.9352 Low=1.9332 Close=1.9349 Volume=153 Bid=1. 9349
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 1 hour frame Open=1. 9361 High=1. 9378 Low=1.9332 Close=1.9349 Volume=516 Bid=1. 9349
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 4 hour frame Open=1. 9349 High=1. 9378 Low=1.9332 Close=1.9349 Volume=1414 Bid=1. 9349
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: open #1 sell stop 0.10 GBPUSD at 1.9348 ok
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: My time frame Open=1. 9347 High=1. 9352 Low=1.9345 Close=1.9352 Volume=18 Bid=1.9352
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 30 minute frame Open=1. 9347 High=1.9352 Low=1.9332 Close=1.9352 Volume=154 Bid=1. 9352
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 1 hour frame Open=1. 9361 High=1. 9378 Low=1.9332 Close=1.9352 Volume=517 Bid=1. 9352
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 4 hour frame Open=1. 9349 High=1. 9378 Low=1.9332 Close=1.9352 Volume=1415 Bid=1. 9352
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: My time frame Open=1. 9347 High=1. 9352 Low=1.9345 Close=1.9351 Volume=20 Bid=1. 9351
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 30 minute frame Open=1. 9347 High=1.9352 Low=1.9332 Close=1.9351 Volume=156 Bid=1. 9351
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 1 hour frame Open=1. 9361 High=1. 9378 Low=1.9332 Close=1.9351 Volume=519 Bid=1. 9351
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 4 hour frame Open=1. 9349 High=1. 9378 Low=1.9332 Close=1.9351 Volume=1417 Bid=1. 9351
09:36:23 2007.03.15 14:47 Tester: order #1, sell 0.10 GBPUSD is opened at 1.9348
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: My time frame Open=1. 9347 High=1. 9352 Low=1.9345 Close=1.9346 Volume=22 Bid=1.9346
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 30 minute frame Open=1. 9347 High=1.9352 Low=1.9332 Close=1.9346 Volume=158 Bid=1. 9346
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 1 hour frame Open=1. 9361 High=1. 9378 Low=1.9332 Close=1.9346 Volume=521 Bid=1. 9346
09:36:23 2007.03.15 14:47 CheckSellStop GBPUSD,M5: 4 hour frame Open=1. 9349 High=1. 9378 Low=1.9332 Close=1.9346 Volume=1419 Bid=1. 9346


В общем, без точных данных ничего сказать недльзя. Выкладывайте Вашего советника, посмотрим какие в нем ошибки (не обязательно я должен смотреть).
Файлы:
 
Я, собственно, хотел, что Вы посмотрели, как моделируется тиками свеча 2007.03.15 15:00. У меня тиковая Bid не достигла значения Low= 1,9348. Забытая Вами ветка - 'Вопрос по SELECT_BY_POS'
 
Analitik:

В 207 билде обнаружил ошибку, аналогичную той которую находил на М1 в билде 206, а именно: некорректное моделирование тиков внутри свечи.

Впервые столкнулся с аналогичной проблемой, когда анализировал результаты чемпионата 2006 года в тестере, прогоняя доступных одновалютных экспертов на истории. Что может быть лучше для проверки адекватности работы тестера, чем сравнение результатов его работы с работой эксперта, провисевшего на сервере разработчика три месяца? На одной и той же истории (использовалась демо Meta Quotes, подгружаемая ежедневно в течении чемпионата).

К сожалению, сейчас уже не могу привести конкретных данных, так как и сами счета (зачем мне в терминале 2 десятка уже закрытых счетов) и результаты тестирования удалены. Но память о проблеме осталась. Суть её заключается в том, что, начиная с некоторой даты, результаты тестирования резко отличались от работы реального эксперта ( для конкретного, уже не помню для кого). Хотя до этого всё шло почти тютелька в тютельку. Естественно, я стал искать причину столь разного поведения. И выяснил следующее: сравнивая последовательно открытие и закрытие каждой сделки в реале и тестере, выяснил, что в реале сработал тэйк-профит на пике (лоу) бара, а в тестере нет. Далее, как у Рэя Бредбери, сработал "эффект бабочки", т. е. минимальные изменения в прошлом повлекли громадные изменения в будующем, вся торговля пошла не так ! Тогда, помятуя декларацию разработчиков, о том,что тестер при любых режимах тестирования, однозначно моделирует Open, Close, Хай и Лоу бара, отнёс это на счёт разной обработки тэйк-профита в терминале и в тестере. И в голову не приходило, что тестер может пропустить тик лоу бара. Прочитав прошлую тему Analitika, понял, что всё дело заключалось именно в этом.

Вроде бы , разработчики всё быстро устранили, доказательством тому статья Rosha, новая версия терминала (207 Build), и вот опять она всплывает, спасибо Analitik_у, сколько же надо времени, что бы докопаться до этого!

На мой взгляд, проблема решается просто: надо вести не минутную , а тиковую историю, тогда не потребуется и фрактальное моделирование, подавай на вход тестера реальную тиковую последовательность и всё будет работать как в реале, хоть с сервера, хоть History Centra. Файл тиковой истории не сильно увеличится ( подумаешь, 30-50mBit вместо 10), на скорость тестирования никак не повлияет.

Предвижу возражения: не у всех ДЦ есть тиковая история. Согласен, но также не у всех есть и минутная, и всё же она включена в тестер.

Почему же разработчики, осознавая всё это не пошли на такой вариант, хотя в других платформах и используется потиковое тестирование ( уж не знаю, как, но скорее всего , по упрощённому варианту, без пересчёта инд-ров на каждом тике) ?

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

 
Самое интересное, что в билде 206 указанного в теме бага с моделированием на М5 не было. На счёт "эффекта бабочки" - это точно. Я тестировал 2-х советников (не пипсовики) на М5 и М1 за период 2006.01.01-2007.07. 01. В билде 206 получил очень хорошие результаты. Вчера прогнал тех же советников в билде 207. Итог: соотношение прибыль/просадка ухудшилось более чем в 2 раза. Вот теперь сижу и думаю - хорошие результаты были из-за того, что был кривой билд 206 или плохие из-за того, что стал кривой билд 207.
 
Valmars:
И выяснил следующее: сравнивая последовательно открытие и закрытие каждой сделки в реале и тестере, выяснил, что в реале сработал тэйк-профит на пике (лоу) бара, а в тестере нет. Далее, как у Рэя Бредбери, сработал "эффект бабочки", т. е. минимальные изменения в прошлом повлекли громадные изменения в будующем, вся торговля пошла не так !
Такое происходит, если эсперт неинвариантен к моменту входа. "Правильный" эксперт в такой ситуации в тестере должен был пропустить одну сделку, а потом опять идти по "реальному".
Причина обращения: