Automated Trading Championship 2010 - страница 20

 
papaklass:
p_Buy  - это уровень BUYSTOP ордера, а slSell - это стоплосс SELLSTOP ордера. Считаются они правильно. Вопрос в другом. Почему после нормализации переменных они имеют точность намного более, чем _DIGITS?
Потому что вещественные числа не всегда могут быть представлены точно в двоичной системе. Смотрите раздел Вещественные типы (double, float) и статью Особенности работы с числами типа double в MQL4
Особенности работы с числами типа double в MQL4 - Статьи по MQL4
  • www.mql5.com
Особенности работы с числами типа double в MQL4 - Статьи по MQL4: примеры использования экспертов, тестирования и оптимизации
 

Способен-ли ATC.Tester на сайте championship.mql5.com отвечать на вопросы или вопросы задавать здесь?

 
papaklass:
Rosh, Ваши ссылки прочитал еще раз, но ответа на свои вопросы так и не нашел. Почему котировки приходят не нормализованные (mrate[1].low)? И почему после нормализации с помощью функции NormalizeDouble(), значение не нормализуется (p_B - это p_Buy)?

Посмотрите пример для функции NormalizeDouble(), не находите поведение знакомым?

   double pi=M_PI;
   Print("pi=",DoubleToString(pi,16));
      
   double pi_3=NormalizeDouble(M_PI,3);
   Print("NormalizeDouble(pi,3) = ",DoubleToString(pi_3,16))
   ;
   double pi_8=NormalizeDouble(M_PI,8);
   Print("NormalizeDouble(pi,8) = ",DoubleToString(pi_8,16));
   
   double pi_0=NormalizeDouble(M_PI,0);
   Print("NormalizeDouble(pi,0) = ",DoubleToString(pi_0,16));
/*
   Результат:
   pi= 3.1415926535897931
   NormalizeDouble(pi,3)= 3.1419999999999999  - не 3.141 
   NormalizeDouble(pi,8)= 3.1415926499999998  - не 3.14159265
   NormalizeDouble(pi,0)= 3.0000000000000000
*/
 
zigan:

Способен-ли ATC.Tester на сайте championship.mql5.com отвечать на вопросы или вопросы задавать здесь?

Лучше дублировать и на форуме вопросы, чтобы их не пропустить.
 

Rosh:
Лучше дублировать и на форуме вопросы, чтобы их не пропустить.

 

 

Отчет о тестировании эксперта выдает:
5. Statistics
2010.07.09 21:10:36   failed request buy 10.50 USDCHF at 1.05513  [Price changed]
2010.07.26 03:20:00   failed request buy 14.00 USDCHF at 1.05215  [Price changed]
2010.07.26 03:20:05   failed request buy 14.00 USDCHF at 1.05215  [Price changed]
2010.07.26 03:20:10   failed request buy 14.00 USDCHF at 1.05215  [Price changed]
2010.07.26 03:20:15   failed request buy 14.00 USDCHF at 1.05211  [Price changed]
2010.07.26 03:20:20   failed request buy 14.00 USDCHF at 1.05211  [Price changed]
2010.07.26 03:20:25   failed request buy 14.00 USDCHF at 1.05211  [Price changed]
2010.07.26 03:20:30   failed request buy 14.00 USDCHF at 1.05208  [Price changed]
2010.07.26 03:20:35   failed request buy 14.00 USDCHF at 1.05208  [Price changed]
   1275 kb of log files
   428 trades, 1423 deals, profit 59687.78 USD
9 errors

Вопрос: Price changed - считается ошибкой?
 
И еще, при тестировании   SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX) возвращает значение явно больше 5.0.
 
zigan:
И еще, при тестировании   SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX) возвращает значение явно больше 5.0.
Уточните  - при каком тестировании? Вы сами тестируете или это автоматическое тестирование экспертов на сайте Чемпионата?
 

Rosh:
Уточните  - при каком тестировании? Вы сами тестируете или это автоматическое тестирование экспертов на сайте Чемпионата?

 

 

 ATC.Tester  позволяет совершать сделки более 5 лот.

когда тестирую сам - макс.разрешенная сделка -5лот. 

 

Так, а что насчет  [Price changed]?

именно по этой причине эксперт не прошел проверку?  как узнать?

 
zigan:

Так, а что насчет  [Price changed]?

именно по этой причине эксперт не прошел проверку?  как узнать?

Да, именно по этой причине эксперт не прошел проверки.
Причина обращения: