Советники: EMA CROSS

 

EMA CROSS:

Советник EMA_CROSS.

Author: Collector

 
Мда... лажа при чём первосортная. В логике ошибок море. Интересно, как автору удалось подобрать такой период времени для теста, чтобы этот эксперт показл прибыль... Чтобы не быть голословным:
int Crossed (double line1 , double line2)
  {
    static int last_direction = 0;
    static int current_direction = 0;
    //Don't work in the first load, wait for the first cross!
    static bool first_time = true;
    if(first_time == true)
      {
        first_time = false;
        return (0);
      }
//----
    if(line1 > line2)
        current_direction = 1;  //up
    if(line1 < line2)
        current_direction = 2;  //down
//----
    if(current_direction != last_direction)  //changed 
      {
        last_direction = current_direction;
        return(last_direction);
      }
    else
      {
        return (0);  //not changed
      }
  }

Бирюзовым я выделил весёлый кусок текста, которы говорит следующее: перывй раз, когда будет вызвана эта функция ничего не делай, сбрось флаг first_time и верни 0, что означает ничего не изменилось. Однако во время второго вызова этой же функции переменная currtnt_direction приобретёт новое значение 1 или 2, в зависимости от того, что в данный момент находится выше, быстрая МА или медленная. В это же время переменная last_directoin осталась с прошлого раза 0. Поэтому срабатывает триггер if(current_direction != last_direction) ( ведь 1 или 2 не равны 0) и мы возващаем значение переменной current_direction. В результате этого первая сделка этого тестера ПРАКТИЧЕСКИ ВСЕГДА будет произведена ещё до первого пересечения скользящих средних. Почему практически всегда ,а не всегда? Только потому, что есть оооочень маленькая вероятность того, что в самый начальный момент времени было пересечение двух средних скользящих.

Но самое интересное даже не это. Если кто нибудь из вас откроет график котировок по которым торговал эксперт, там где указаны звёздочками все проведённые им сделки, то обнаружит очень занимательный факт: когда быстрая скользящая средняя пересекает медленную сверху-вниз (сколько мне известно это как раз медвежий сигнал), эксперт открывает ордер на покупку, а когда снизу-ввех(типичный бычий сигнал), - на продажу. Не правда ли немного странная тактика? :)
Ну и последнее, эксперт построен на работе с нулевым баром, что изначально делает результаты его проверки на тестере несостоятельными. Об этом неоднократно писалось на разных форумах.
И последний вопрос к автору, зачем нужен trailing stop размером 50 при take profit 20 ? :)
Причина обращения: