Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 37

 
Непонятно запущено 2 терминала. В просмотрщике задач вижу 3 терминал.ехе     Несиметрия какая-то вобще!
 
Dimka-novitsek:
Непонятно запущено 2 терминала. В просмотрщике задач вижу 3 терминал.ехе     Несиметрия какая-то вобще!
Может зеркало кривое???
 

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

Прошёл отсчёт одного буфера, линия построилась. Потом на основе подсчёта первого буфера расчитывается второй буфер - строится вторая линия.Как это организовать?

И в какой момент изменяется число, возвращаемое IndicatorCounted() - в момент выхода из спец. функции Start или оно меняется в процессе расчетов в теле функции?

Можно ли сделать два раза проход по барам таким образом:

 Counted_bars=IndicatorCounted();
  
   i=Bars - Counted_bars-1;
  
   while(i>=0)                           //--------Первый проход

     {

         Buf_1[i]=A(расчёты);

       i- -;

      }

Counted_bars=IndicatorCounted();
  
   i=Bars - Counted_bars-1;

   while(i>=0)                         //--------Второй проход

    {

      Buf_2[i]=Buf_1[i]+x;

      i--;

      }

 
Trendy:

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

Прошёл отсчёт одного буфера, линия построилась. Потом на основе подсчёта первого буфера расчитывается второй буфер - строится вторая линия.Как это организовать?

И в какой момент изменяется число, возвращаемое IndicatorCounted() - в момент выхода из спец. функции Start или оно меняется в процессе расчетов в теле функции?

Можно ли сделать два раза проход по барам таким образом:

Вы не спешите задавать вопросы. Кто мешает сделать так:

 Counted_bars=IndicatorCounted();
  
   i=Bars - Counted_bars-1;
   Print ("Bar(1) ", i);
   while(i>=0)                           //--------Первый проход

     {

         Buf_1[i]=A(расчёты);

       i- -;

      }

Counted_bars=IndicatorCounted();
  
   i=Bars - Counted_bars-1;
   Print ("Bar(2) ", i);
   while(i>=0)                         //--------Второй проход

    {

      Buf_2[i]=Buf_1[i]+x;

      i--;

      }

это самый простой способ получить ВЕРНЫЙ ответ, а не слушать чужую заумную чушь... (в большинстве случаев) :))

P.S. В большинстве случаев достаточно одного цикла.

 
Как программно расскрасить чарт (фон, текст, бары и т.д..)?
 

Запускаю оптимизацию, делает один проход и все. В чем может быть проблема, что тестере не работает оптимизация? Нужно ли в коде советника прописывать код для оптимизации?

 

Подскажите пожалуйста, в советнике используется функция int GetSignal(), которая выдает: 1 -сигнал на покупку, -1  - сигнал на продажу, 0 - нет сигнала.

Как сделать индикатор, чтобы увидеть сигналы по закрытию бара на истории? (затем вывести в Excel, чтобы сравнить и индикатором другой платформы)

Наверное, в функцию надо передавать параметры свечи i?

Может это обсуждалось и есть решение? 

 
pa0905:

Подскажите пожалуйста, в советнике используется функция int GetSignal(), которая выдает: 1 -сигнал на покупку, -1  - сигнал на продажу, 0 - нет сигнала.

Как сделать индикатор, чтобы увидеть сигналы по закрытию барана истории? (затем вывести в Excel, чтобы сравнить и индикатором другой платформы)

Наверное, в функцию надо передавать параметры свечи i?

Может это обсуждалось и есть решение?

Баран истории?! Это круто!
 
_new-rena:
Как программно расскрасить чарт (фон, текст, бары и т.д..)?

посмотри
Файлы:
servicesmt4.mqh  106 kb
 
pako:

посмотри
Там нет. В классе предусмотрел это, но в библиотеке не стал реализовывать. Если надо, сделаю.
Причина обращения: