День добрый, подскажите как мне через индикатор (скрипт) нарисовать такие линии. Есть список параметров: - уровень цены - начало даты - конец даты - написать комментарий, выше линии или ниже. Пример на скрине.
В языке отсутствуют функции доступа к графическим объектам (кроме вертикальной линии) но это можно реализовать привязавшись к barnumber() в качестве условия для диапазона где будет нарисована линия и условная функция которая будет проверять номер свечки и при попадании его в диапазон рисовать линию на определенном уровне...., диапазон нужно будет посчитать отдельно. Считать его можно через временные функции....
Здесь чуть ниже есть пример скрипта для рисования уровней фибо, посмотрите там.
Этот скрипт будет поедать выделенные вам ресурсы сервера, поэтому проще руками нарисовать и надпись поставить.
Спасибо за ответ, руками не очень гут - таких уровней нужно нарисовать и минимум порядка 100, а лучше около 200 за год. А по другим валютным парам еще больше...
С линией вроде придумал решение
input price = 1.3333;
input BeginDate = 20130114;
input EndDate = 20130118;
plot line = if DaysFromDate(BeginDate) and DaysFromDate(EndDate) then price else double.NaN;
line.SetPaintingStrategy(PaintingStrategy.HORIZONTAL);
line.SetDefaultColor(Color.LIGHT_GREEN);
все, разобрался, мот кому пригодиться для истории:
input price = 1.3333;
input BeginDate = 20130114;
input EndDate = 20130118;
plot line = if DaysFromDate(BeginDate) > 0 and DaysFromDate(EndDate) < 0 then price else Double.NaN;
line.SetPaintingStrategy(PaintingStrategy.HORIZONTAL);
line.SetDefaultColor(Color.LIGHT_GREEN);
AddChartBubble(GetYYYYMMDD() == BeginDate, price, "тут нужный мне текст", Color.LIGHT_GREEN, no);
В языке отсутствуют функции доступа к графическим объектам (кроме вертикальной линии) но это можно реализовать привязавшись к barnumber() в качестве условия для диапазона где будет нарисована линия и условная функция которая будет проверять номер свечки и при попадании его в диапазон рисовать линию на определенном уровне...., диапазон нужно будет посчитать отдельно. Считать его можно через временные функции....
Янв 18 2013, 17:24Здесь чуть ниже есть пример скрипта для рисования уровней фибо, посмотрите там.
Этот скрипт будет поедать выделенные вам ресурсы сервера, поэтому проще руками нарисовать и надпись поставить.
Спасибо за ответ, руками не очень гут - таких уровней нужно нарисовать и минимум порядка 100, а лучше около 200 за год. А по другим валютным парам еще больше...
Янв 18 2013, 18:39С линией вроде придумал решение
Янв 18 2013, 19:51input price = 1.3333;
input BeginDate = 20130114;
input EndDate = 20130118;
plot line = if DaysFromDate(BeginDate) and DaysFromDate(EndDate) then price else double.NaN;
line.SetPaintingStrategy(PaintingStrategy.HORIZONTAL);
line.SetDefaultColor(Color.LIGHT_GREEN);
а как быть с тектом на этой линии? через AsText?
вернее: plot line = if DaysFromDate(BeginDate) >0 and DaysFromDate(EndDate) <0 then price else double.NaN;
Янв 18 2013, 19:54Ну и последний вопрос, как AddLabel() присвоить координаты для текста, а то располагает в вверху слева.
Янв 18 2013, 20:06все, разобрался, мот кому пригодиться для истории:
Янв 18 2013, 20:27input price = 1.3333;
input BeginDate = 20130114;
input EndDate = 20130118;
plot line = if DaysFromDate(BeginDate) > 0 and DaysFromDate(EndDate) < 0 then price else Double.NaN;
line.SetPaintingStrategy(PaintingStrategy.HORIZONTAL);
line.SetDefaultColor(Color.LIGHT_GREEN);
AddChartBubble(GetYYYYMMDD() == BeginDate, price, "тут нужный мне текст", Color.LIGHT_GREEN, no);