Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 678

 
barabashkakvn:
Покажите код в котором Вы вызываете ICustom.

Части кода с вызовом iCustom как таковой еще нет, т.к. не понятно как избежать размножения окон (из-за применения в индикаторе indicator_separate_window). По большому счету есть массив со значениями (например цены Close[] для 500 последних баров на основном графике), один из которых обновляется в реальном времени, остальные фиксированные. Если можете, пожалуйста объясните в общих чертах как передать эти цены в iCustom таким образом, чтобы данные изображались только в одном единственном окне под графиком.
 
atztek:

Части кода с вызовом iCustom как таковой еще нет, т.к. не понятно как избежать размножения окон (из-за применения в индикаторе indicator_separate_window). По большому счету есть массив со значениями (например цены Close[] для 500 последних баров на основном графике), один из которых обновляется в реальном времени, остальные фиксированные. Если можете, пожалуйста объясните в общих чертах как передать эти цены в iCustom таким образом, чтобы данные изображались только в одном единственном окне под графиком.

У Вас прям полтергейст - нет кода, но окна размножаются. Вы пытаетесь обмануть барабашку?
 
barabashkakvn:
У Вас прям полтергейст - нет кода, но окна размножаются. Вы пытаетесь обмануть барабашку?
Если поместить iCustom в код и передавать ему одно значение за раз то наверное проблем с размножением не возникнет. Я же пытаюсь понять как скормить ему весь массив. Если организовать цикл "for" и поместить туда iCustom - проблемы не избежать, существует ли другое решение?

 . . .

Сейчас добавил в код iCustom и пошли размножения окон.
Ниже - пример индикатора, к которому обращается iCustom.

#property indicator_separate_window

#property indicator_buffers 1
#property indicator_width1  2
#property indicator_color1  clrNavy


extern double  Price_Draw                  = 0.0;
extern int     Price_Shift                       = 0;
extern int     Bar_Width                        = 2;
extern color   Bar_Color                       = clrNavy;


double         Buffer_Draw[];


int init() {

   IndicatorBuffers(1);
   IndicatorDigits(Digits);
   IndicatorShortName("Bar_Draw");

   SetIndexStyle( 0, DRAW_ARROW, STYLE_DOT, Bar_Width, Bar_Color);
   SetIndexBuffer(0, Buffer_Draw);
   SetIndexArrow( 0, 158);

   return(0);

}



void start() {

   Buffer_Draw[Price_Shift]                     = Price_Draw;
   return;

}
 
atztek:
Если поместить iCustom в код и передавать ему одно значение за раз то наверное проблем с размножением не возникнет. Я же пытаюсь понять как скормить ему весь массив. Если организовать цикл "for" и поместить туда iCustom - проблемы не избежать, существует ли другое решение?


и каких, например, проблем не избежать, вызывая iCustom в цикле? Проще уже код написать и проверить, чем столько времени тут на форуме потерять.
 
evillive:

и каких, например, проблем не избежать, вызывая iCustom в цикле? Проще уже код написать и проверить, чем столько времени тут на форуме потерять.

Уже проверял, но какой смысл помещать на форуме то что заведомо не работает?
Выше я описал пример, попросил рассказать в общих чертах как написать для него обращение к iCustom, чтобы не происходило размножения окон.
 
 SetIndexStyle( 0, DRAW_ARROW, STYLE_DOT, Bar_Width, Bar_Color); ????????????
 
evillive:

Не уводите тему в сторону.
 
ну тогда сделайте ещё одно маленькое усилие над собой и напишите такой же шаблон советника с вызовом этого индикатора, не совсем понятно чего вы от него хотите.
 

Я может чего-то совсем не знаю, но мне кажется что вы все чуток не в ту сторону смотрите.

ЗАДАЧА: СОВЕТНИК собирает данные, а ИНДИКАТОР посредством iCustom() из СОВЕТНИКА должен получить данные. В ИНДИКАТОРЕ обращение к данным СОВЕТНИКА...

atztek:
Вопрос по iCustom. Индикатор в отдельном окне отображает цену, которая поступает из Советника через iCustom.
При этом, при каждом вызове iCustom для новых значений из Советника открывается новое окно, необходимо это предотвратить.

Как в этом случае правильно организовать взаимодействие между Индикатором и Советником, чтобы поступающие из Советника новые значения рисовались в том же самом окне под основным графиком цены?


Реально-ли такое???

 
AlexeyVik:

Я может чего-то совсем не знаю, но мне кажется что вы все чуток не в ту сторону смотрите.

ЗАДАЧА: СОВЕТНИК собирает данные, а ИНДИКАТОР посредством iCustom() из СОВЕТНИКА должен получить данные. В ИНДИКАТОРЕ обращение к данным СОВЕТНИКА...


Реально-ли такое???


Нет, не реально ))) но ацтек всё-таки наоборот хочет сделать  - советник через iCustom в индикатор передаёт данные, которые индикатор отобразить должен. Хотя так тоже не делается, данные может и передадутся, только на графике это никак не отображается, только в памяти и журнале.