#property indicator

 

Я хочу спросить, Кто-то не знает, как обойти
#property indicator_chart_window
и
#property indicator_separate_window
То есть у нас есть данные для экспорта в
#property indicator_separate_window
Исходя из этих данных, уже экспортированных с помощу
#property indicator_separate_window,
 вычисляем  отметки точек входа,на главном графике и визулизируем их с помощу
#property indicator_chart_window
Я изо всех сил пытался ввести его в отдельную автономную функцию, но он пробормотал
#property indicator_chart_window
должен быть в глобальной области

Эти  директивы
#property indicator_separate_window
и
#property indicator_chart_window

не хочет  вместе  в одном коде

 
Stefan Stoyanov:

Я хочу спросить, Кто-то не знает, как обойти
#property indicator_chart_window
и
#property indicator_separate_window
То есть у нас есть данные для экспорта в
#property indicator_separate_window
Исходя из этих данных, уже экспортированных с помощу
#property indicator_separate_window,
 вычисляем  отметки точек входа,на главном графике и визулизируем их с помощу
#property indicator_chart_window
Я изо всех сил пытался ввести его в отдельную автономную функцию, но он пробормотал
#property indicator_chart_window
должен быть в глобальной области

Эти  директивы
#property indicator_separate_window
и
#property indicator_chart_window

не хочет  вместе  в одном коде

А чем плоха условная компиляция, если z правильно понял вопрос? Типа такого

#define separate 
#ifdef separate
   #property indicator_separate_window
#else
   #property indicator_chart_window
#endif
 
Stefan Stoyanov:

Я хочу спросить, Кто-то не знает, как обойти
#property indicator_chart_window
и
#property indicator_separate_window
То есть у нас есть данные для экспорта в
#property indicator_separate_window
Исходя из этих данных, уже экспортированных с помощу
#property indicator_separate_window,
 вычисляем  отметки точек входа,на главном графике и визулизируем их с помощу
#property indicator_chart_window
Я изо всех сил пытался ввести его в отдельную автономную функцию, но он пробормотал
#property indicator_chart_window
должен быть в глобальной области

Эти  директивы
#property indicator_separate_window
и
#property indicator_chart_window

не хочет  вместе  в одном коде

Делайте визуализацию графическими объектами, а не через буфера

 

Да, было-бы здорово иметь возможность любому буферу назначить отображение на графике при том, что весь индикатор строится в отдельном окне.

 
Alexey Viktorov:

Да, было-бы здорово иметь возможность любому буферу назначить отображение на графике при том, что весь индикатор строится в отдельном окне.

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

А вообще да, возможно это от того, что нет этой возможности, поэтому такие мысли сразу откидываются.

 
Vitaly Muzichenko:

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

А вообще да, возможно это от того, что нет этой возможности, поэтому такие мысли сразу откидываются.

Ну конечно, зная что это невозможно все делают отображение графическими объектами. Знаем как можно обойтись без такой возможности, потому и нет неудобства.

 
Vitaly Muzichenko:

Делайте визуализацию графическими объектами, а не через буфера

Мне не нравится это с ObjectCreate,  ObjectDeleteAll
Мне кажется, что мы теряем скорость и точность оттуда и уверенность в вычислении и отображении данных

Alexey Volchanskiy:

А чем плоха условная компиляция, если z правильно понял вопрос? Типа такого

Это очен интересно

#define separate 
#ifdef separate
   #property indicator_separate_window
#else
   #property indicator_chart_window
#endif

А будет ли оно работать в условия МТ4 код

В документации ест где то подробное про условная компиляция

например что это :

#ifdef separate и так далее

 
Два индикатора. Первый - в подокне - обсчитывает данные. Второй - в главном окне - используя буфера первого индикатора ставит метки на чарте. Исходный код может иметь общие части через инклуды, т.е. без дублирования.
 
Stanislav Korotky:
Два индикатора. Первый - в подокне - обсчитывает данные. Второй - в главном окне - используя буфера первого индикатора ставит метки на чарте. Исходный код может иметь общие части через инклуды, т.е. без дублирования.

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

Если код примерно по такую схему

int start(){
Ind1();
Ind2();
return(0);} 
//====================================
Ind1()
#property indicator_separate_window
-------------------------
код индикатора 
------------------------------
Ind2()
#property indicator_chart_window
-------------------------
код индикатора 
------------------------------

то компилятор говорит что нельзя и директивы

#property indicator_chart_window  
  #property indicator_separate_window

должны быт во внешнюю  область дефиниции
 
Stefan Stoyanov:

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

Если код примерно по такую схему


то компилятор говорит что нельзя и директивы

должны быт во внешнюю  область дефиниции

 вам же сказали что нельзя так делать.. и не получится не при каких обстоятельствах. предложили другие варианты.. 

 
Stefan Stoyanov:

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

Для простоты начните с одного индикатора, первого, который с #property indicator_separate_window. Когда он будет готов, напишите второй с #property indicator_chart_window, вызывая первый через iCustom.

Потом смотрите на код и делайте рефакторинг, вытаскивая общие куски (если они будут) в инклудник.

Причина обращения: