[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 12

 
Yulia:

Ну вот например , как я пробовала         if ( переменная Х == 0)  { рисуем красную  Buf_0[i]=High[i];  Buf_0[i-1]=High[i-1];    Х=1}  

далее проходим цикл по i                          if (Х==1)                        { рисуем зелёную  Buf_1[i]=lou[i];  Buf_1[i-1]=lou[i-1];   Х=0 }

рисуются не отрезки а сплошные линии, я понимаю, что что-то недопонимаю, вот и хотелось бы понять. У меня есть коды других индикаторов, я пыталась разобраться, но в них во всех очень много условий, циклов, переменных и т.п., а мне хотелось бы сконцентрироваться только на основных принципах построения таких индикаторов

 

Разберитесь, какая роль у буква i? Чуть выше смотрите начало цикла, в котором представлена она! Она пробегает по всем значениям заданного в extern периода (баров) начиная с крайнего справа бара. И это просчитывается на каждом новом баре, потому и выходит линия сплошная. Лучше, если начинать усвоение с внимательного изучения учебника, написанного простым доходчивым языком. Терпение и прилежание помогут, а готовые коды будут ещё больше запутывать. Успеха в учении!
 

Привет ! вопрос в следующем как программно найти объект на графике или скопированный с другого объекта ...

То есть есть линия или фигура , через контр + мышь сделал параллельную копию ...  Как найти этот объект или узнать его имя ??? 

 
borilunad:
Разберитесь, какая роль у буква i? Чуть выше смотрите начало цикла, в котором представлена она! Она пробегает по всем значениям заданного в extern периода (баров) начиная с крайнего справа бара. И это просчитывается нп каждом новом баре, потому и выходит линия сплошная. Лучше, если начинать усвоение с внимательного изучения учебника, написаного простым доходчивым языком. Терпение и прилежание помогут, а готовые коды будут ещё больше запутывать. Успеха в учении!

Там же написано -"ЦИКЛ ПО i" , значение ' i ' я прекрасно понимаю - перебираем бары начиная с крайнего левого, а в каждом буфере храниться значение каждого High бара сдвинутого на i.

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

 
lottamer:


читаю,...

 

а вот это выражение  int Delta=NormalizeDouble((Bid-Level)Point,0);  


равносильно  двум

 int Delta;

Delta= =NormalizeDouble((Bid-Level)Point,0);

 

??? 

 

Нет не равносильно, == и= -- две различные операции, первая -- сравнение, вторая присвоение значения.
 
Yulia:

Там же написано -"ЦИКЛ ПО i" , значение ' i ' я прекрасно понимаю - перебираем бары начиная с крайнего левого, а в каждом буфере храниться значение каждого High бара сдвинутого на i.

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

Раньше меня ответили, что просто не получится. Вначале Азы, потом Буки и т.д. постепенно, поэтапно, чтобы лучше и быстрее выучиться.

Самый простой код в CodeBase: Moving Average. Вперёд! 

И не левого, а правого!

 
VOLDEMAR:

Привет ! вопрос в следующем как программно найти объект на графике или скопированный с другого объекта ...

То есть есть линия или фигура , через контр + мышь сделал параллельную копию ...  Как найти этот объект или узнать его имя ??? 


Только по имени объекта.
 
rigonich:
Нет не равносильно, == и= -- две различные операции, первая -- сравнение, вторая присвоение значения.


извините, я грубо опечатался..

вот что должно быть

 int Delta;

Delta=NormalizeDouble((Bid-Level)Point,0);

 
Yulia:

Там же написано -"ЦИКЛ ПО i" , значение ' i ' я прекрасно понимаю - перебираем бары начиная с крайнего левого, а в каждом буфере храниться значение каждого High бара сдвинутого на i.

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


Для того, чтобы отобразить линию индикатора, надо:

1. создать массивы с определенными свойствами, называемые индикаторными буферами, из которых будут браться координаты точек,используемых для построения индикаторной линии. Для этого используются готовые функции, встроенные в терминал.

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

3. заполнить этот массив какими либо значениями. это делается в функции старт индикатора. и запустить программу, рисующую индикатор..

В терминале нет встроенной функции,которая бы меняла стиль отрисовки одного буфера, то есть могла бы рисовать разные участки одной линии разными стилями. Для этого надо создавать свою, пользовательскую функцию, а это не просто, и надо знать хотя бы азы программирования. 

 
lottamer:


извините, я грубо опечатался..

вот что должно быть

 int Delta;

Delta=NormalizeDouble((Bid-Level)Point,0);

 

 


да,это равнозначные выражения, объявление переменной можно проводить вместе с инициализацией в одном операторе.
 
VOLDEMAR:

Привет ! вопрос в следующем как программно найти объект на графике или скопированный с другого объекта ...

То есть есть линия или фигура , через контр + мышь сделал параллельную копию ...  Как найти этот объект или узнать его имя ??? 

Как вариант - переименовать его в то имя, которое прога может найти... Раз вы его мышкой (вручную) скопировали, то видите его и также можете сделать следующую (2-ю) ручную операцию по переименованию. Прога его подхватит.
Причина обращения: