Помогите разобраться, текущая цена инструмента и та же цена сохраненная в архиве котировок.

 

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

В реальности сделка открывается, в тестере не открывается. Можно подумать реальные цены состоит из 8 цифр после запятой а сохраненные в архиве котировок из 5 цифр после запятой. 

 
Lilita Bogachkova:

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

В реальности сделка открывается, в тестере не открывается. Можно подумать реальные цены состоит из 8 цифр после запятой а сохраненные в архиве котировок из 5 цифр после запятой.

Спред изменился? Не? ))
 
Ihor Herasko:
Спред изменился? Не? ))

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

MetaTrader 4 Platform: ошибка
Закрыта, Начата: 2015.12.09 18:57, #1366830

Версия и битность терминала

Version: 4,00 Build 924

Описание проблемы

Думаю ошибка в iTime, iOpen, iHigh, iLow.  Уже какое то время в тестере стратегий наблюдается проблемы на последнем баре (0) котирий совпадает с последним баром котировок (0). 

Последовательность действий

Запускаем советник 'error test.mq4' на графике терминала и после отрисовки линий цены открытия текущих баров - запускаем этот же советник на тестере стратегий. Открываем график теста и видим что график тестера с графиком терминала по текущему бару совподает. Дожидаемся открытия нового бара M30, H1 или H4 и запускаем советник в тестере стратегий. Открываем график теста и видим что графики не совпадает, на графике теста отсутствует линия цены открытия нового бара.

Полученный результат

Результат теста НЕ совпадает с результатами на графике терминала.

Ожидаемый результат

Результат тестера совпадает с результатами на графике терминала.

Дополнительные сведения

Добавлен советник 'error test.mq4' и смитки графиков (EURUSDbcM1real.png / EURUSDbcM1demo.png) при запуске советника и снимки (EURUSDbcM1real latest.png / EURUSDbcM1demo latest.png) после поступления нового бара M30, также добавлен лог файл тестера (20151209.log).


Support Team 2015.12.12 18:32

Тестер стратегий никогда не был предназначен для тестирования сегодняшнего дня.

Вы получаете побочные эффекты синхронизации истории 

 

 

Но если есть такие побочные эффекты синхронизации истории, присутствует ли они и в случае когда при (0) M5 баре эксперт смотрит цену (1) M1 бара?

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

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

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

В реальности сделка открывается, в тестере не открывается. Можно подумать реальные цены состоит из 8 цифр после запятой а сохраненные в архиве котировок из 5 цифр после запятой.


Как цены сравнивали ?

 
Vladimir Zubov:

Как цены сравнивали ?

Это я так задумалась, если реальные цены 8 цифр (1.12154563) то сохраненные 5 цифр (1.12155), это означает что в реальности 'а < в' верно, но в тестере не верно.

Пример:

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick(void)
  {
   if(iClose(_Symbol,PERIOD_M5,0)<iClose(_Symbol,PERIOD_M1,1)
     {

      //действия 

      }
  }
 
Lilita Bogachkova:

Это я так задумалась, если реальные цены 8 цифр (1.12154563) то сохраненные 5 цифр (1.12155), это означает что в реальности 'а < в' верно, но в тестере не верно.

Пример:

1. Нормализуйте цену до Digits()

2. Цена закрытия на нулевом баре равна текущей цене, то есть неизвестно как закроется свеча. Может надо сравнивать с ценой открытия, которая не меняется ? 

 
Vladimir Zubov:

1. Нормализуйте цену до Digits()

2. Цена закрытия на нулевом баре равна текущей цене, то есть неизвестно как закроется свеча. Может надо сравнивать с ценой открытия, которая не меняется ? 


Это был как пример, но первый тик бара равен:

Close==Open==High==Low; 

 

Да, я все цены стала нормализовать, независимо как они получены:

  Ask; Bid;
  iOpen(_Symbol,PERIOD_H1,0);
  iHigh(_Symbol,PERIOD_H1,0);  
  iLow(_Symbol,PERIOD_H1,0);
  iClose(_Symbol,PERIOD_H1,0);

или 

   MarketInfo(_Symbol,MODE_ASK);
   MarketInfo(_Symbol,MODE_BID);

Пока жду поможет нормализация или нет.

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