Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 291

 
Alexey Viktorov:

Виталий, про INDICATOR_CALCULATIONS было сказано посмотри... это не значит что точно работает. А потом было сказано

Проверено!!!


Другой вариант

И всё это на нулевом баре...

Да, действительно сработало.

Спасибо за потраченное время!

 
Vitaly Muzichenko:

Да, действительно сработало.

Спасибо за потраченное время!

Пользуйся, не жалко. :))
 
Alexey Viktorov:
Пользуйся, не жалко. :))

А есть возможность убрать их отсюда? 4 и 5


 
Vitaly Muzichenko:

А есть возможность убрать их отсюда? 4 и 5


А вот им и назначь INDICATOR_CALCULATIONS

#property indicator_buffers 4
   SetIndexBuffer(4, buf4, INDICATOR_CALCULATIONS);
   SetIndexBuffer(5, buf5, INDICATOR_CALCULATIONS);

Это проверено, тоже работает.


И опять-же в крайнем случае

#property indicator_buffers 4

и в OnInit()

   IndicatorBuffers(6);

Это старый приём.

 
Alexey Viktorov:

А вот им и назначь INDICATOR_CALCULATIONS

Это проверено, тоже работает.


И опять-же в крайнем случае

и в OnInit()

Это старые приёмы.

Спасибо огромнейшее!

Вариант №2 сработал чётко

 
Vitaly Muzichenko:

Спасибо огромнейшее!

Вариант №2 сработал чётко

Да и первый работает. Я сейчас вспомнил в каком индикаторе я мог это применить, посмотрел... да там так и написано.

Из документации mql4 убрали, видимо из-за отсутствия INDICATOR_COLOR_INDEX всё скопом, не разбираясь.

 
Alexey Viktorov:

Да и первый работает. Я сейчас вспомнил в каком индикаторе я мог это применить, посмотрел... да там так и написано.

Из документации mql4 убрали, видимо из-за отсутствия INDICATOR_COLOR_INDEX всё скопом, не разбираясь.

А есть ли возможность нарисовать двухцветную линию используя один буфер, а не два, сейчас вот так:

  SetIndexStyle(2,DRAW_LINE);
  SetIndexBuffer(2,BufW_Up);

  SetIndexStyle(3,DRAW_LINE);
  SetIndexBuffer(3,BufW_Dn);

Пробовал DRAW_COLOR_LINE, но в четвёрке не завелось, или может что не так делаю

 
Vitaly Muzichenko:

А есть ли возможность нарисовать двухцветную линию используя один буфер, а не два, сейчас вот так:

Пробовал DRAW_COLOR_LINE, но в четвёрке не завелось, или может что не так делаю

Нет, в mql4 такого не сделают никогда. Но и в mql5 для цветной линии используется 2 буфера. Буфер данных и буфер цвета. Разница лишь в том, что в mql4 со всеми ухищрениями, получается на баре перехода цвета заполнены оба буфера. Но в mql5 другая проблема, буфер INDICATOR_COLOR_INDEX не доступен для iCustom(). Или я что-то не так пытался сделать...

 
Alexey Viktorov:

Нет, в mql4 такого не сделают никогда. Но и в mql5 для цветной линии используется 2 буфера. Буфер данных и буфер цвета. Разница лишь в том, что в mql4 со всеми ухищрениями, получается на баре перехода цвета заполнены оба буфера. Но в mql5 другая проблема, буфер INDICATOR_COLOR_INDEX не доступен для iCustom(). Или я что-то не так пытался сделать...

Ясно, значит пусть будет в четвёртом так, как есть. В пятёрке напишу на один буфер меньше.

Спасибо!

 
Alexey Viktorov:

Но в mql5 другая проблема, буфер INDICATOR_COLOR_INDEX не доступен для iCustom(). Или я что-то не так пытался сделать...

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