[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 154

 
Roman.:

А почему бы самому совом не проверить? Да и результатами поделились бы заодно...

Да вот как раз занимаюсь. :-) не знаю правда успею за сегодня (устал)
 
Skydiver:

Да вот как раз занимаюсь. :-) не знаю правда успею за сегодня (устал)

ИМХО, в этом деле - спешка не нужна... Главное - качество и отсутствие ошибок в расчетах, также обратите внимание на величину спреда в первом и во втором случае, чтобы изменение его величины было минимальным...
 
alex12:
может надо было вместо логического && прописать || (логическое ИЛИ ) ?

Это все не то, подумай, хочешь прописать ( или ), так цена всегда, или выше.. или ниже.. уровня .

Попробуй поискать на форуме, где-то обсуждалось " пробой уровня " .

 

Всем доброго времени суток.

Решил попробовать написать индюк, но столкнулся с проблемой. Он начинает рисовать только с того момента как его на график кинешь.

Как сделать чтобы он хоть какой кусок истории просчитывал?

int start()
  {
   int    counted_bars=IndicatorCounted();
   int i;
//----
   i=Bars-counted_bars-1;

   while(i>=1)                      
     {
     double Max=High[iHighest(NULL,0,MODE_HIGH,Nbar,0)];
     double Min=Low[iLowest(NULL,0,MODE_LOW,Nbar,0)];
       Buf[i]=Max-((Max-Min)/2);
       ABuf[i]=iMAOnArray(Buf,0,Per,0,MODE_SMA,i);             
      i--;                          
     }
//----
   return(0);
  }
Может кто обьяснит неучу как правильно написать?
 

Gek34:

Решил попробовать написать индюк, но столкнулся с проблемой. Он начинает рисовать только с того момента как его на график кинешь...

Вынесите в отдельный цикл. Массив для iMAOnArray не успевает формироваться.
ABuf[i]=iMAOnArray(Buf,0,Per,0,MODE_SMA,i);   
 

Ничего не получается, вообще перестал рисовать.

Будте так добры допишите, будет мне урок и пример на будущее.

С уважением Gek.

 
Gek34:

Ничего не получается, вообще перестал рисовать.

Будте так добры допишите, будет мне урок и пример на будущее.

С уважением Gek.


Наверное, так:
int start()
  {
   int    counted_bars=IndicatorCounted();
   int i;
//----

   double Max=High[iHighest(NULL,0,MODE_HIGH,Nbar,0)];
   double Min=Low[iLowest(NULL,0,MODE_LOW,Nbar,0)];

   i=Bars-counted_bars-1;
   while(i>=1)                      
     {
       Buf[i]=Max-((Max-Min)/2);
      i--;                          
     }


   i=Bars-counted_bars-1;
   while(i>=1)                      
     {
       ABuf[i]=iMAOnArray(Buf,0,Per,0,MODE_SMA,i);             
      i--;                          
     }
//----
   return(0);
  }
 
PapaYozh:

Наверное, так:

Heee.... я думаю все должно-быть в цикле, примерно так:

 while(i>=1)                      
     {
     double Max=High[iHighest(NULL,0,MODE_HIGH,Nbar,i)];
     double Min=Low[iLowest(NULL,0,MODE_LOW,Nbar,i)];
       Buf[i]=Max-((Max-Min)/2);
       ABuf[i]=iMAOnArray(Buf,0,Per,0,MODE_SMA,i);             
      i--;                          
     }
 
r772ra:

Heee.... я думаю все должно-быть в цикле, примерно так:


Огромное вам спс. Все заработало, сразу увидел свою ошибку.

И впрямь говорят, мир не без добрых людей.

 


При оптимизации робота получается какая-то периодическая ***нь. С чем может быть связано?

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