У вас не стоит Flash Player
Настройки
#66669 - Thu Nov 27 2014 12:13 AM Отрисовка линии на индикаторе
Vladimir2803 Offline
member

Registered: Thu Oct 16 2014
Записи: 101
Здравствуйте, подскажите пожалуйста, как нарисовать простую горизонтальную линию с фиксированным на индикаторе.

Наверх
#66673 - Thu Nov 27 2014 10:30 AM Re: Отрисовка линии на индикаторе [Re: Vladimir2803]
ViL Online   content
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8137
Блок "Константа" в "Торговой математике"

Наверх
#66674 - Thu Nov 27 2014 10:56 AM Re: Отрисовка линии на индикаторе [Re: ViL]
Vladimir2803 Offline
member

Registered: Thu Oct 16 2014
Записи: 101
Originally Posted By: ViL
Блок "Константа" в "Торговой математике"


Спасибо, но я пользуюсь только API

Наверх
#66676 - Thu Nov 27 2014 11:37 AM Re: Отрисовка линии на индикаторе [Re: Vladimir2803]
ViL Online   content
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8137
Рисуете линию в визуальном редакторе с помощью Константы. Компилируете скрипт и смотрите здесь C:\Users\USER\AppData\Local\TSLab\TSLab12\temp
как это делать на АПИ.

Наверх
#66680 - Thu Nov 27 2014 01:17 PM Re: Отрисовка линии на индикаторе [Re: ViL]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
Рисуется так же как любой другой индикатор. Заполняете массив одним числом и выводите. Вообще покачайте чужие разработки с форума и ознакомьтесь. Много интересного найдете. Хотя бы стандартный пример идущий в хелпе с ТСЛаб прочитайте.
_________________________
__


Наверх
#66699 - Thu Nov 27 2014 09:57 PM Re: Отрисовка линии на индикаторе [Re: ra81]
Vladimir2803 Offline
member

Registered: Thu Oct 16 2014
Записи: 101
Originally Posted By: ra81
Рисуется так же как любой другой индикатор. Заполняете массив одним числом и выводите. Вообще покачайте чужие разработки с форума и ознакомьтесь. Много интересного найдете. Хотя бы стандартный пример идущий в хелпе с ТСЛаб прочитайте.

Спасибо, но я больше практику люблю, как возникает проблема я ищу ее решение, если совсем плохо пишу сюда и параллельно дальше ищу решение.

Чужие системы скачал с форума одним архивом, но чаще помогает вариант со скриптами от кубиков:-)

Наверх
#66700 - Thu Nov 27 2014 09:58 PM Re: Отрисовка линии на индикаторе [Re: Vladimir2803]
Vladimir2803 Offline
member

Registered: Thu Oct 16 2014
Записи: 101
Originally Posted By: ra81
Рисуется так же как любой другой индикатор. Заполняете массив одним числом и выводите.

Пробовал, но что то никак.


Отредактировано Vladimir2803 (Thu Nov 27 2014 09:58 PM)

Наверх
#66702 - Thu Nov 27 2014 10:56 PM Re: Отрисовка линии на индикаторе [Re: Vladimir2803]
Vladimir2803 Offline
member

Registered: Thu Oct 16 2014
Записи: 101
Решил эту задачу, спасибо кубикам.

1.public ConstGen ADX_Line = new ConstGen(); // Уровень индикатора в виде константы

2.this.ADX_Line.Value = _adxLevel; // Забираем значение константы для уровня из оптимизированного параметра. Если нужно задать просто число, нужно вписать его вместо _adxLevel

3.IList<double> ADX_Line = ctx.GetData("ADX_line", new[] {this.ADX_Line.Value.ToString() },
delegate {return this.ADX_Line.Execute(ctx);}); // Строим нужную линию

4.IPane ADXPane= ctx.CreatePane("ADX", 25, false, false); // Добавление панели для ADX

ADXPane.AddList("ADX_line", ADX_Line, ListStyles.LINE,new Color(0, 255, 0), LineStyles.SOLID, PaneSides.RIGHT); // Отрисовка нужной линии на панели индикатора

Это все делается исключительно для контроля скрипта.

Наверх
#66718 - Sat Nov 29 2014 09:05 AM Re: Отрисовка линии на индикаторе [Re: Vladimir2803]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
Ну в общем и целом сделно то верно, только вопрос - зачем все ходы вокруг да около? Почему тупо не взять массив длиной равный числу свечек и не забить его одним числом? По факту ведь это и сделано через кучу ненужного кода. Об этом выше я и писал.
_________________________
__


Наверх
#66759 - Mon Dec 01 2014 12:01 PM Re: Отрисовка линии на индикаторе [Re: ra81]
Vladimir2803 Offline
member

Registered: Thu Oct 16 2014
Записи: 101
Originally Posted By: ra81
Ну в общем и целом сделно то верно, только вопрос - зачем все ходы вокруг да около? Почему тупо не взять массив длиной равный числу свечек и не забить его одним числом? По факту ведь это и сделано через кучу ненужного кода. Об этом выше я и писал.


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

Наверх
#66760 - Mon Dec 01 2014 12:44 PM Re: Отрисовка линии на индикаторе [Re: Vladimir2803]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
да яж написал три раза уже. Создать массив длиной равный числу свечек. заполнить нужной цифрой. выводить его на график. ВСЕ.
_________________________
__


Наверх
#66773 - Mon Dec 01 2014 08:51 PM Re: Отрисовка линии на индикаторе [Re: ra81]
Vladimir2803 Offline
member

Registered: Thu Oct 16 2014
Записи: 101
Originally Posted By: ra81
да яж написал три раза уже. Создать массив длиной равный числу свечек. заполнить нужной цифрой. выводить его на график. ВСЕ.


В общем мне и так хорошо, просто ваши слова для меня не понятны, я не могу перевести их в код.

Наверх
#66778 - Tue Dec 02 2014 04:58 AM Re: Отрисовка линии на индикаторе [Re: Vladimir2803]
vito333 Offline
Pooh-Bah

Registered: Wed Oct 26 2011
Записи: 2108
Loc: botland
Originally Posted By: Vladimir2803
Originally Posted By: ra81
да яж написал три раза уже. Создать массив длиной равный числу свечек. заполнить нужной цифрой. выводить его на график. ВСЕ.


В общем мне и так хорошо, просто ваши слова для меня не понятны, я не могу перевести их в код.


smile

Наверх
#66782 - Tue Dec 02 2014 12:12 PM Re: Отрисовка линии на индикаторе [Re: Vladimir2803]
jhgjrht Offline
writer

Registered: Sun Nov 21 2010
Записи: 428
Originally Posted By: Vladimir2803
Originally Posted By: ra81
да яж написал три раза уже. Создать массив длиной равный числу свечек. заполнить нужной цифрой. выводить его на график. ВСЕ.


В общем мне и так хорошо, просто ваши слова для меня не понятны, я не могу перевести их в код.


Это можно сделать вот так:
Code:
double[] vs = new double[security.Bars.Count];
for (int i = 0; i < vs.Length; i++)
  vs[i] = 1.0;
pane.AddList("k", vs, ListStyles.LINE, 0x005e00, LineStyles.SOLID, PaneSides.LEFT);


самый краткий и оптимальный вариант:
Code:
pane.AddList("k", new ConstGen() { Value = 1.0 }.Execute(context), ListStyles.LINE, 0x005e00, LineStyles.SOLID, PaneSides.LEFT);


PS: Почитайте любую простую книжку по C#, там ничего недоступного нормальному человеку нет, а опыт и знания со временем накопятся.
_________________________
Не пишите мне! Никому ничего делать не буду.

Наверх
#66783 - Tue Dec 02 2014 02:18 PM Re: Отрисовка линии на индикаторе [Re: jhgjrht]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
ну вот. человек добрый нашелся в код залез и выложил smile.
_________________________
__


Наверх
#66852 - Sat Dec 06 2014 09:14 AM Re: Отрисовка линии на индикаторе [Re: jhgjrht]
Vladimir2803 Offline
member

Registered: Thu Oct 16 2014
Записи: 101
Originally Posted By: jhgjrht


самый краткий и оптимальный вариант:
Code:
pane.AddList("k", new ConstGen() { Value = 1.0 }.Execute(context), ListStyles.LINE, 0x005e00, LineStyles.SOLID, PaneSides.LEFT);



Огромное спасибо за такой вариант!

Наверх


Moderator:  ViL, sar