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

 
Лог тестера
2017.04.21 09:06:58.342 RTS-6.17,M1: testing of Experts\fxsaber\Test2.ex5 from 2017.04.07 00:00 to 2017.04.08 00:00 started
2017.04.21 09:06:58.342 RTS-6.17 : real ticks begin from 2017.04.05 00:00:00

Реальные тики начинаются на двое суток раньше начальной даты интервала тестирования. Это нормально?

 
fxsaber:
Лог тестера

Реальные тики начинаются на двое суток раньше начальной даты интервала тестирования. Это нормально?

Могу предположить, что сделано специально - чтобы была возможность просчитать индикаторы, требующие для своих расчётов некое количество истории?
 
Artyom Trishkin:
Могу предположить, что сделано специально - чтобы была возможность просчитать индикаторы, требующие для своих расчётов некое количество истории?
Для этого достаточно баров. Тиковая история доступна на любую глубину.
 
fxsaber:
Лог тестера

Реальные тики начинаются на двое суток раньше начальной даты интервала тестирования. Это нормально?

Вы предполагаете, что история и тики каждый раз закачиваются в тестер по-новой?

Сотрите кеш истории в папке тестера, запустите тестирование и посмотрите лог

 
stringo:

Вы предполагаете, что история и тики каждый раз закачиваются в тестер по-новой?

Сотрите кеш истории в папке тестера, запустите тестирование и посмотрите лог

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Особенности языка mql5, тонкости и приёмы работы

fxsaber, 2017.04.07 16:00

В MT5-тестере в режиме "реальные тики" основой истории являются не реальные тики, а M1-бары. Это значит, что если реальные тики не соответствуют барам, то они игнорятся, а вместо них идет генерация искусственных тиков, которые обязаны будут соответствовать барам.

При этом, если CopyTicks запросить более, чем на 128К крайних штук, то в тестере они возьмутся не из кэша (реальные тики + сгенерированные), а из базы - реальные. И получите несовпадение в тестере же истории тиков и того, что тестер наподставлял.

Это компиляция ответов, полученных в СД.
 
fxsaber:
Это компиляция ответов, полученных в СД.
И что?
 
stringo:
И что?
Раз CopyTicks в состоянии получать данные из общей базы, зачем дополнительные двое суток?
 
fxsaber:
Раз CopyTicks в состоянии получать данные из общей базы, зачем дополнительные двое суток?

Из какой общей базы? Общей базы всех тестерных агентов.

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

 
stringo:

Из какой общей базы? Общей базы всех тестерных агентов.

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

Понял, спасибо. Значит не полностью понял, что имели в виду в СД.
 
Из СД
Мы приняли решение отказаться от приведения неродственных структур

Теперь (1589) не компилируются такие простые вещи

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Как быстро сравнить double и QNaN ?

fxsaber, 2016.10.11 10:57

double Nan(long bit_value)
  {
   struct L { long   x; } l; l.x=bit_value;
   struct D { double x; } d=(D)l;
   return(d.x);
  }

double QNaN   =Nan(0x7FF7000000000000);   // QNaN

И стало невозможным выяснить, равен ли double QNaN

double QNaN2 = (double)"nan";

void OnStart()
{
  Print(QNaN == QNaN);
}


Результат

false


Потому как Вы сделали полностью нерабочей библиотеку TypeToBytes, которая отлично умела сравнивать double c QNaN

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Как быстро сравнить double и QNaN ?

fxsaber, 2016.10.11 11:14

#include <TypeToBytes.mqh>

void OnStart()
{
   if (_R(QNaN)==QNaN) {
      Alert("QNaN is QNaN");
   } else {
      Alert("Ooops");
   }   
}

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

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