В каких случаях есть смысл держать часть кода робота в индикаторе? - страница 16

 

Критикуем:

extern double Alpha = 0.1;

double EMA;

double GetPrice( int Shift )
{
  return(Open[Shift]);
}

void init()
{
  EMA = GetPrice(Bars - 1);

  return;
}  

double GetEMA()
{
  static int PrevTime = 0;
  
  if (PrevTime == Time[0])
    return(EMA);

  int i = iBarShift(Symbol(), Period(), PrevTime) - 1;  

  PrevTime = Time[0];    
  
  while (i >= 0)
  {
    EMA = EMA * Alpha + (1 - Alpha) * GetPrice(i);
    
    i--;
  }
  
  return(EMA);
}

void start()
{
  EMA = GetEMA();
  
  return;  
}
 
hrenfx:

Критикуем:


1. Попробуйте протолкнуть это сквозь тестер.

2. Таже проблема - будут ошибки после перебоя связи, чем ниже таймфрейм тем они будут чаще и больше. 

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

 

Почему бы не взять для анализа код MovingAverages.mq4 из стандартной поставки? Насколько я понимаю, он вполне корректен для использования в советнике.


upd

И наверняка повторяет алгоритм встроенного.

 
Ну вот и зачем пытаться катать квадратное и строить из круглых кирпичей?
 

Вот здесь выявляется еще одно преимущество "все в одном" перед "с индикатором".

Дело в том, что если ДЦ решит задним числом подправить историю, то "с индикатором" может изменить все торговые решения. Потому что индикатор полностью пересчитается, с учетом уже подправленной истории ДЦ (которой могло и не быть). Вариант же "все в одном" не обратит на бред ДЦ никакого внимания.

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

 
hrenfx:

Вот здесь выявляется еще одно преимущество "все в одном" перед "с индикатором".

Дело в том, что если ДЦ решит задним числом подправить историю, то "с индикатором" может изменить все торговые решения. Потому что индикатор полностью пересчитается, с учетом уже подправленной истории ДЦ (которой могло и не быть). Вариант же "все в одном" не обратит на бред ДЦ никакого внимания.

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


Еще может произойти полтергейс и с потолка вода закапать.
 
alsu:

Почему бы не взять для анализа код MovingAverages.mq4 из стандартной поставки? Насколько я понимаю, он вполне корректен для использования в советнике.


upd

И наверняка повторяет алгоритм встроенного.


Для чистоты эксперимнта. Как видим, предоставил индикатор и эксперта уже наверно больше часа назад, а от оппонентов пока один бутор.

Выложил эксперта в 20.03.2011 16:30, сейчас 18:00

 

 
Integer:


1. Попробуйте протолкнуть это сквозь тестер.

Через тестер без проблем пройдет. Более того, вариант гораздо прощ (выше приводил) через него пройдет еще быстрее, потому что в тестере обрывов связи нет.

2. Таже проблема - будут ошибки после перебоя связи, чем ниже таймфрейм тем они будут чаще и больше.

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

Полностью необоснованное утверждение.
 
И это простейший случай. А если зигзаг переносить?
 
Integer:


Для чистоты эксперимнта. Как видим, предоставил индикатор и эксперта уже наверно больше часа назад, а от оппонентов пока один бутор.

Для тестера советник был показан мною даже раньше. Начались придирки его применимости на реале. Выложил и для реала, учтя все придирки. Обоснованное есть что сказать?