Могли бы вы рассказать о случае, когда участник форума оказался полезным в вашей работе, и можете ли вы описать это подробно? - страница 13

 
Спасибо всем, кто участвует в беседе.
Каким бы ни был результат и аргументы, подтверждающие его. Главное, что вы действительно помогли читателям форума, обратив внимание на вопросы, о которых среднестатистический пользователь вряд ли задумывается.
 

У меня вопрос, нужна помощь.

Есть ли решение, чтобы индикатор заполнил область, выделенную красным в зеленом круге на изображении с красными гистограммами?



p.s.
Не предлагайте решение, используя две гистограммы, которые накладываются друг на друга.

 
Антивирус не позволяет закачать новую версию МТ5. Предупреждая о заражении системы. В том числе и от официального дилера. В конце установки приходит сообщение: "что что то пошло не так, попробуйте в следующий раз." Что посоветуете ... 
 
Lilita Bogachkova #:

У меня вопрос, нужна помощь.

Есть ли решение, чтобы индикатор заполнил область, выделенную красным в зеленом круге на изображении с красными гистограммами?



p.s.
Не предлагайте решение, используя две гистограммы, которые накладываются друг на друга.

Мое мнение:

Задача сформулировано не точно...

Нет понимания, для чего весь этот огород?... - не раскрыта ИДЕЯ...

Вполне возможно, что Ваше видение проблемы - не наилучшее...  

 
Reve6Tne1yak21405 #:
Антивирус не позволяет закачать новую версию МТ5. Предупреждая о заражении системы. В том числе и от официального дилера. В конце установки приходит сообщение: "что что то пошло не так, попробуйте в следующий раз." Что посоветуете ... 

Для установки МТ5 тоже подходит

Новая версия платформы MetaTrader 4 build 1090 - Попробуйте сделать минимум, дающий это сообщение.
Новая версия платформы MetaTrader 4 build 1090 - Попробуйте сделать минимум, дающий это сообщение.
  • 2017.06.06
  • Yurij Kozhevnikov
  • www.mql5.com
После обновления до этого билда перестали компиллироваться старые mql4 программы Ошибку смотреть в приложенном изображении. Так я же и написал - скинул 2 терминала от Альпари. Запускаем терминал по созданному ярлыку и в дамках
 
Lilita Bogachkova #:

У меня вопрос, нужна помощь.

Есть ли решение, чтобы индикатор заполнил область, выделенную красным в зеленом круге на изображении с красными гистограммами?



p.s.
Не предлагайте решение, используя две гистограммы, которые накладываются друг на друга.

DRAW_FILLING

Стиль DRAW_FILLING рисует цветную область между значениями двух индикаторных буферов. Фактически этот стиль рисует две линии и закрашивает пространство между ними одним из двух заданных цветов. Предназначен для создания индикаторов, рисующих каналы. Ни один из буферов не может содержать только пустые значения, так как в этом случае отрисовка не происходит.

У Вас как раз две линии, между которыми можно закрасить пространство.

 
Andrey Dik #:

У Вас как раз две линии, между которыми можно закрасить пространство.

DRAW_FILLING
...

Спасибо, это именно то, что мне нужно ;)

 

Ого вы тут развели балаган по поводу перебора баров в индикаторе😄 Вы ведь мамонты в алготрейдинге (по количеству опыта)😄

У меня один вопрос к тем, кто не хочет пересчитывать весь индикатор когда (rates_total - prev_calculated > 1): а вы откуда знаете, куда именно (в какое место графика) были добавлены новые бары?

Скажете, что при докачке баров в конец истории терминал обнулит prev_calculated? А это точно? Можно ссылку на документацию, где это гарантируется?

 

Единственная задача той переменной limit (которую все так неистово вычисляют разными способами и затем обязательно пихают в цикл) - сбивать программиста с толку и усложнять понимание кода.

Я в свое время с большим трудом понял логику вычислений переменной limit, которую часто советуют новичкам. Задавшись подобным вопросом:

Vladislav Boyko #:
а вы откуда знаете, куда именно (в какое место графика) были добавлены новые бары?

Я, как и Артем, решил что в случае форс-мажора лучше просто пересчитать весь индикатор (теперь даже немного рад, что я не один такой😄). А раз так, то та переменная limit и нафиг не нужна, я ее с удовольствием выбросил.

Мои индикаторы выглядят примерно так (для AS_SERIES = true):

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[])
  {
   switch(rates_total - prev_calculated)
     {
      case 0:
         calculate(0);
         break;
      case 1:
         calculate(1);
         calculate(0);
         break;
      default:
         // Здесь буфферы будут предварительно инициализированы пустым значением (это псевдокод)
         for(int i = rates_total - 1; i >= 0; i--)
            calculate(i);
         break;
     }
   return(rates_total);
  }

void calculate(int barIdx)
  {
   // Эта фукнция вычисляет значения буферов на баре с индексом barIdx
   // Представьте, что все необходимые массивы-таймсерии переданы сюда по ссылке (это псевдокод)
  }
 
Vladislav Boyko #:
case 1:          calculate(1);          calculate(0);
case 1:
         calculate(1);
         calculate(0);

зачем тут 2 раза вызывается функция?

и нет проверки на изменение истории, кто знает когда она может понадобиться.