Ордер в индикаторе - страница 2

 

hated8 писал(а) >>

Весь код едентичен.... Как в советнике получить то же самое, что я получаю в индикаторе?

Вот в том и проблема, что не может он быть едентичен, неправильно это :))

Выкладывайте код советника скорее, пока терминатор не спит. Он Вас слегка пожурит за бестолковость, но код все-таки поправит.

 

Вот индикатор!


#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Black
#property indicator_color2 Black
#property indicator_color3 Black
//---- indicator parameters
extern int    BandsPeriod=20;
extern int    BandsShift=0;
extern double BandsDeviations=2.0;
//---- buffers
double MovingBuffer[];
double UpperBuffer[];
double LowerBuffer[];
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,MovingBuffer);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,UpperBuffer);
   SetIndexStyle(2,DRAW_LINE);
   SetIndexBuffer(2,LowerBuffer);
//----
   SetIndexDrawBegin(0,BandsPeriod+BandsShift);
   SetIndexDrawBegin(1,BandsPeriod+BandsShift);
   SetIndexDrawBegin(2,BandsPeriod+BandsShift);

//----
   return(0);
  }
//+------------------------------------------------------------------+
int start()
  {
   int    i,k;
   double deviation;
   double sum,oldval,newres;
   for(i=0; i<2; i++)
      MovingBuffer[i]=iMA(NULL,0,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i);
   i=1;
   while(i>=0)
     {
      sum=0.0;
      k=i+BandsPeriod-1;
      oldval=MovingBuffer[i];
      while(k>=i)
        {
         newres=Close[k]-oldval;
         sum+=newres*newres;
         k--;
        }
      deviation=BandsDeviations*MathSqrt(sum/BandsPeriod);
      UpperBuffer[i]=oldval+deviation;
      LowerBuffer[i]=oldval-deviation;
      i--;
      
     }
   Alert(MovingBuffer[i]+"   "+UpperBuffer[i]+"   "+LowerBuffer[i]);
   return(0);
   
  }




Alert(MovingBuffer[i]+" "+UpperBuffer[i]+" "+LowerBuffer[i]);

что-то возвращает, вырезаю из него

#property indicator_chart_window

#property indicator_buffers 3
#property indicator_color1 Black
#property indicator_color2 Black

#property indicator_color3 Black

и init() и ложу в советник и MovingBuffer[i] кидает 0;

 

granit77 писал(а) >>

Выкладывайте код советника скорее, пока терминатор не спит. Он Вас слегка пожурит за бестолковость, но код все-таки поправит.

Вверху кнопочка SRS для правильной вставки кода.

 

В советниках не м.б. индикаторных буферов.

 

ЁПТЕ!!!!

я на iMA грешил, а косяк то в MovingBuffer[i]!

Всем большое спасибо!!!

Извиняюсь что мозг всем выпарил! Простите чайника)

Причина обращения: