Форум трейдеров » Торговые роботы, советники, индикаторы » Вопрос дилетанта
+ Подписаться
Страница 1 из 2 12 ПоследняяПоследняя
  1. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей

    Вопрос дилетанта

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

    Недоступно! Pro 0
    Поделиться
    Просмотров: 3,896
  2. 405
    Комментарии
    2
    Темы
    411
    Репутация Pro
     
    Member

    2 Медалей
    В шапке индикатора должно быть
    #property indicator_buffers 3

    У вас там, вероятно, 5 стоит.
    Совсем убрать цифры не получится, по крайней мере простыми путями.
  3. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    Помогло.
    Правда пришлось вернуть обратно, линии рисоваться тоже перестали. :)
    Я наверное некорректно выразился. Я имел в виду, чтобы цифры перестали рисоваться, а линии должны быть.
  4. 405
    Комментарии
    2
    Темы
    411
    Репутация Pro
     
    Member

    2 Медалей
    Цитата Сообщение от neophyte Посмотреть сообщение
    Помогло.
    Правда пришлось вернуть обратно, линии рисоваться тоже перестали. :)
    Я наверное некорректно выразился. Я имел в виду, чтобы цифры перестали рисоваться, а линии должны быть.
    Буферы не в том порядке назначены.
    Выложите сюда
    Код:
    код шапки и функции 
    init()
    Я поправлю.
  5. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    С этим я разобрался, но вопрос в том, что должно рисоваться 5 индикаторов и 3 цифры.
    Если переобозначить порядок, то перестанут рисоваться другие.
  6. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    #property indicator_separate_window
    #property indicator_buffers 5
    #property indicator_color1 Turquoise
    #property indicator_color2 Red
    #property indicator_color3 Blue
    #property indicator_color4 Black
    #property indicator_color5 Black
    #property indicator_width1 2
    #property indicator_width2 2
    #property indicator_width3 2
    //---- indicator parameters
    ...
    //---- indicator buffers
    double W2Buffer[];
    double W3Buffer[];
    double W4Buffer[];
    double W3LBuffer[];
    double W4LBuffer[];
    //+------------------------------------------------------------------+
    //| Custom indicator initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //---- drawing settings
    SetIndexStyle(0,DRAW_HISTOGRAM);
    SetIndexStyle(1,DRAW_HISTOGRAM);
    SetIndexStyle(2,DRAW_LINE);
    SetIndexStyle(3,DRAW_LINE);
    SetIndexStyle(4,DRAW_LINE);
    SetIndexDrawBegin(0,P4);
    SetIndexDrawBegin(1,P4);
    SetIndexDrawBegin(2,P4);
    SetIndexDrawBegin(3,P4);
    SetIndexDrawBegin(4,P4);
    IndicatorDigits(Digits+1);
  7. 405
    Комментарии
    2
    Темы
    411
    Репутация Pro
     
    Member

    2 Медалей
    Тогда тем линиям, которые должны быть без цифр, присваивайте справа EMPTY_VALUE и рисуйте со сдвигом.
    Как-то так:

    SetIndexShift(0,1);
    ...

    W3LBuffer[0]=EMPTY_VALUE;
    ну, и присваивать значения с учетом сдвига.
  8. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    Низя со сдвигом. Это огибающие гистограмм.
    А как записать такое присвоение?
  9. 405
    Комментарии
    2
    Темы
    411
    Репутация Pro
     
    Member

    2 Медалей
    Цитата Сообщение от neophyte Посмотреть сообщение
    Низя со сдвигом. Это огибающие гистограмм.
    А как записать такое присвоение?
    Вместо конструкции
    for(i=0; i<max; i++)
    {
    W3LBuffer[i]=xxx;
    }

    использовать

    W3LBuffer[0]=EMPTY_VALUE;
    for(i=1; i<max+1; i++)
    {
    W3LBuffer[i]=xxx;
    }

    для обоих гистограмм.

    Или еще проще, заменить все
    W3LBuffer[i]
    на
    W3LBuffer[i+1]
    чтобы ничего лишнего не сломать.
  10. 125
    Комментарии
    4
    Темы
    125
    Репутация Pro
    Аватар для CoreWinTT  
    В начале пути

    2 Медалей
    да лан цыфры убираються как 2 пальца обо сфальт

    SetIndexLabel(0, NULL );
    SetIndexLabel(1, NULL );
    SetIndexLabel(2, NULL );
    SetIndexLabel(3, NULL );
    SetIndexLabel(4, NULL );
    SetIndexLabel(5, NULL );

Вверх
РегистрацияX

чтобы писать, читать, комментировать