Канал линейной регрессии - страница 10

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Nikolai Semko
6153
Nikolai Semko  
Dmitry Fedoseev:

Показывайте и я исчезну на месяц. Уж я то за свои слова отвечу, чего не могу сказать про вас. А просто так верить, даже уже после одной враки - извините...

после какой такой одной враки. Здесь не было ни одного слова вранья с моей строны. 
А то, что Вы не верите в правду, так это Ваши проблемы. 
Т.е. договорились, что если я выйду из цикла при расчете BB на каждом баре, кроме первого, то вы изчезаете с форума на месяц?
А если не я не справлюсь, то что я должен сделать? Тоже исчезнуть на месяц? Или на год?

Dmitry Fedoseev
53995
Dmitry Fedoseev  
Nikolai Semko:

после какой такой одной враки. Здесь не было ни одного слова вранья с моей строны. 
А то, что Вы не верите в правду, так это Ваши проблемы. 
Т.е. договорились, что если я выйду из цикла при расчете BB на каждом баре, кроме первого, то вы изчезаете с форума на месяц. 
А если не я не справлюсь, то что я должен сделать? Тоже исчезнуть на месяц? Или на год?

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

Yuriy Asaulenko
9264
Yuriy Asaulenko  
Dmitry Fedoseev:

Какую конкретно?

Полагаюсь на ваш вкус.) Не пробник, разумеется.
Давайте ваш код построения канала. Я его переделаю. Цикл будет только на истории. Все следующие значения канала будут считаться без цикла.
Dmitry Fedoseev
53995
Dmitry Fedoseev  
Nikolai Semko:

...
Т.е. договорились, что если я выйду из цикла при расчете BB на каждом баре, кроме первого, то вы изчезаете с форума на месяц?
А если не я не справлюсь, то что я должен сделать? Тоже исчезнуть на месяц? Или на год?

А причем тут выход из цикла? И сейчас не надо пытаться выдумывать условия, а потом типа доказывать, что они выполнены. Уже всем понятно о чем разговор (наивно надеюсь, но уже начинаю сомневаться).

Мне ничего не надо. Будет достаточно этого волшебного алгоритма.

Dmitry Fedoseev
53995
Dmitry Fedoseev  
Yuriy Asaulenko:
Полагаюсь на ваш вкус.) Не пробник, разумеется.
Давайте ваш код построения канала. Я его переделаю. Цикл будет только на истории. Все следующие значения канала будут считаться без цикла.

Не, такое питие выходит за пределы моих вкусов.

Yuriy Asaulenko
9264
Yuriy Asaulenko  
Dmitry Fedoseev:

Не, такое питие выходит за пределы моих вкусов.

Не волнуйтесь, Вас пить и не приглашали. Пить я буду.)
Так код канала СКО будет?
Dmitry Fedoseev
53995
Dmitry Fedoseev  
И не надо усложнять, не надо канала. Просто std и все.
Dmitry Fedoseev
53995
Dmitry Fedoseev  
Yuriy Asaulenko:
Не волнуйтесь, Вас пить и не приглашали. Пить я буду.)
Так код канала СКО будет?

Не надо канала. Достаточно std, что бы совпадал с примером из терминала

Yuriy Asaulenko
9264
Yuriy Asaulenko  
Dmitry Fedoseev:

Не надо канала. Достаточно std, что бы совпадал с примером из терминала

Так Хеннеси будет?
Тогда, ссылку на пример из терминала плиз.
ЗЫ Лучше сюда код, как файл, чтобы был общедоступен.
Хеннеси - серьезное дело.)
Dmitry Fedoseev
53995
Dmitry Fedoseev  
Yuriy Asaulenko:
Так Хеннеси будет?
Тогда, ссылку на пример из терминала плиз.

Будет.

Пример из терминала отчасти заморочен, прикладываю свой индикатор. Считает он точно так же, как пример из терминала, код написан наглядно. 

Вот его функция start:

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {

   int start;
   if(prev_calculated==0){
      start=period;
      double ms=0;
      for(int i=0;i<period;i++){
         ms+=close[i];
      }
      ma[period-1]=ms/period;
   }
   else{
      start=prev_calculated-1;
   }

   for(int i=start;i<rates_total;i++){
      
      ma[i]=ma[i-1]+(-close[i-period]+close[i])/period;
      
      double sm=0;
      for(int j=i-period+1;j<=i;j++){
         sm+=MathPow(close[j]-ma[i],2); 
      }
      Label1Buffer[i]=MathSqrt(sm/period);
   }

   return(rates_total);
  }

Задача - сделать тоже самое без внутреннего цикла "for(int j=i-period+1;j<=i;j++){", по аналогии с тем, как МА в нем рассчитывается.

Файлы:
stdX.mq5 6 kb
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий