Общие вопросы по разработке > Написание индикатора с окраской бара инструмента
-
- Сообщения: 16
- Зарегистрирован: 03 июн 2017, 17:50
Написание индикатора с окраской бара инструмента
Злравствуйте Евгений. Как можно подкрасить бар / свечу/ инструмента при достижении числового значения встроенного индикатора, например: При достижении значении Дельты равным или больше 2000 то бар РТС , соответствующиий этому событию, окрасить в зеленый цвет.
- evge
- Администратор
- Сообщения: 1812
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 367 раз
- Контактная информация:
Re: Написание индикатора с окраской бара инструмента
Приветствую!
Пример как окрасить (на всех барах)
Нужное условие отбора нужных для отрисовки баров можно добавить в код.
Считывание других инструменты в индикаторах АД4 почему-то не завезли, в отличие от стратегий.
Поэтому анализ условий рисования можно делать только по текущему инструменту.
Пример как окрасить (на всех барах)
Нужное условие отбора нужных для отрисовки баров можно добавить в код.
Считывание других инструменты в индикаторах АД4 почему-то не завезли, в отличие от стратегий.
Поэтому анализ условий рисования можно делать только по текущему инструменту.
Код: Выделить всё
function Initialize()
{
IndicatorName = "BarColor"; //Оптимистический вариант :)
PriceStudy = true;
AddInput("Input", Inputs.Candle, 1, true, "");
AddSeries("O", DrawAs.Custom, Color.Transparent);
AddSeries("C", DrawAs.Custom, Color.Transparent);
}
function Evaluate()
{
var I = Input;
var BarColor = Color.Green;
O = I.Open[0];
C = I.Close[0];
O.DrawHistogram(C, BarColor, LineStyles.Solid, 1, BarColor, 100);
}
никогда такого не было и вот опять
-
- Сообщения: 535
- Зарегистрирован: 11 ноя 2018, 17:11
- Благодарил (а): 21 раз
- Поблагодарили: 92 раза
Re: Написание индикатора с окраской бара инструмента
Не совсем понятно, зачем вообще красить бар. Самое простое - поставить отметку какую-то (кружок, квадратик, стрелку) обычным методом, т.е. завести специальную серию для этого.
-
- Сообщения: 16
- Зарегистрирован: 03 июн 2017, 17:50
Re: Написание индикатора с окраской бара инструмента
evge писал(а):Пример как окрасить (на всех барах)
Нужное условие отбора нужных для отрисовки баров можно добавить в код.
Добрый вечер!
Подскажите, пож-та, как решить проблему. В продолжение заданного здесь вопроса и выложенного Вами кода, я дописываю условие "раскраски" бара, если Дельта больше ил меньше какого-то порогового значения. Однако получается, что график масштабируется таким образом, чтобы на шкалу справа могло попасть значение Дельты. К примеру, если у инструмента сам график в зоне 2000-2400, но Дельта = 100, то весь график масштабируется в диапазон 100-2400.
UPD:
Кажется удалось решить, добавил сюда false
AddSeries("Delta", DrawAs.Custom, Color.Transparent, false);
Код:
Код: Выделить всё
function Initialize()
{
IndicatorName = "BarColor2";
PriceStudy = true;
AddInput("Input", Inputs.Candle, 1, true, "");
AddSeries("Delta", DrawAs.Custom, Color.Transparent, false);
AddSeries("O", DrawAs.Custom, Color.Transparent);
AddSeries("C", DrawAs.Custom, Color.Transparent);
AddSeries("H", DrawAs.Custom, Color.Transparent);
AddSeries("L", DrawAs.Custom, Color.Transparent);
}
function Evaluate()
{
var I = Input;
O = I.Open[0];
C = I.Close[0];
H = I.High[0];
L = I.Low[0];
// Delta (Дельта) - разница между объемом сделок покупателей и продавцов
Delta = Input.VolumeAsk[0] - Input.VolumeBid[0];
if (Delta >= 4000 )
H.DrawHistogram(L, Color.Transparent, LineStyles.Solid, 1, Color.Green, 20);
if (Delta <= -4000 )
L.DrawHistogram(H, Color.Transparent, LineStyles.Solid, 1, Color.Red, 20);
}
Вернуться в «Общие вопросы по разработке»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей