Анализ работоспособности индикатора - страница 4

 
nikelodeon:
Мдя..... вижу перевелись профи совсем. Или загордились, раз простому смертному ответ ладе лать не могут. Печально :-(

Попробуйте отношение к людям поменять, может и ответы появятся.

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

Лично у меня желание "помогать" (делать вместо вас) пропало именно тогда. У остальных, видимо, тоже.

 
komposter:

Попробуйте отношение к людям поменять, может и ответы появятся.

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

Лично у меня желание "помогать" (делать вместо вас) пропало именно тогда. У остальных, видимо, тоже.

Сделать за меня я не просил.... Иначе бы не сделал. А когда сделал спросил, правильно ли.... В ответ тишина..... Просто еслиб хоть ктонить дал дельный совет, я бы сделал это быстрее....

Ладно вот ещё вопрос. Не нужно кода просто объясните почему раньше такая форма работала, а сейча не работает....

Мне нужно сделать разницу между текущим баром и предыдущим.... раньше далал вот так...

Buffer2[i]=Buffer2[i+1]-sqrt((Nobchee * (Rscore - 0.5) - XZscore) / ((XZscore * (XZscore - Nobchee)) / (Nobchee -1)));

 И всё работало, а сейчас работать не хочет :-( Ктонить может объяснить почему?????

 
nikelodeon:
просто объясните почему раньше такая форма работала, а сейча не работает....
После обновления языка, выход за пределы массива стал критической ошибкой, при возникновении которой выполнение программы немедленно прерывается.
 
Хорошо. Спрошу тогда конкретно. Как вычесть текущий бар из предыдущего в таком случае???
 
nikelodeon:
Хорошо. Спрошу тогда конкретно. Как вычесть текущий бар из предыдущего в таком случае???
границы цикла проверить, [i+1] наверно больше последнего элемента массива bars-1
 
Это я уже понял...... Как теперь зделать чтоб вычитать???? Запарился уже пол дня убил на одну какуюто формулку :-(
 
Вообщем так я и не смог победить эту гадость. Как, Сцуко, вычесть Понятно что i+1 больше последнего элемента массива Но как это обойти..... Пипец....... Я наверное клаву расхерачю...... затрахала этот гемор. 
 

И всётаки ктонить может объяснить как в моём случае сделать вычитание текущего от прдыдущего бара. Вот код....

if(prev_calculated==0) // первый расчёт
     {
      for(i=rates_total-1; i>0; i--)
        {
       if (iCustom(NULL, 0, "TDSEQUENTA v2015 Fileswrire",5,8,12,7,3,3,3,1,i)>0)  {Nprof=Nprof+1;
                                                    
                                                      SredP=(SredP+iCustom(NULL, 0, "TDSEQUENTA v2015 Fileswrire",5,8,12,7,3,3,3,1,i))/Nprof;
                                                      GrosProf=GrosProf+iCustom(NULL, 0, "TDSEQUENTA v2015 Fileswrire",5,8,12,7,3,3,3,1,i);
                                                     } 
                                                     
       if (iCustom(NULL, 0, "TDSEQUENTA v2015 Fileswrire",5,8,12,7,3,3,3,1,i)<0)  { Nloose=Nloose+1;
                                                     
                                                      SredL=(SredL+(iCustom(NULL, 0, "TDSEQUENTA v2015 Fileswrire",5,8,12,7,3,3,3,1,i)*-1))/Nloose;
                                                      GrosLoose=GrosLoose+(iCustom(NULL, 0, "TDSEQUENTA v2015 Fileswrire",5,8,12,7,3,3,3,1,i)*-1);
                                                     } 
       Nobchee=Nprof+Nloose;
       XZscore=2*Nprof*Nloose;
       Rscore=Rscore+iCustom(NULL, 0, "TDSEQUENTA v2015 Fileswrire",5,8,12,7,3,3,3,8,i);
       // if (((Nprof+Nloose)!=0)&&(SredL!=0)) Buffer0[i]=(1+(SredP/SredL))*(Nprof/(Nprof+Nloose))-1; //MO
    //   if (GrosLoose>0) Buffer1[i]=GrosProf/GrosLoose; //ProfitFactor
       if ((Nobchee>3)&&(XZscore>3)) Buffer2[i]=sqrt((Nobchee * (Rscore - 0.5) - XZscore) / ((XZscore * (XZscore - Nobchee)) / (Nobchee -1))); // Zscore
       
        }
     }
//--- OnCalculate done. Return new prev_calculated.
   return(rates_total);
 
В данном случает интересует расчёт Buffer2!!!!!
 
Ой Ой Ой как всё сложно. А веть раньше было всё так просто.... Нахрена понапридумывали лишних телодвижений, чтобы вычесть один бар из другого..... Гемор одним словом....