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

 
Yulia:

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

Буферы нужно заполнять по какому-то условию, например по номеру бара (с 20-го по 40-й бар рисуем зелёным):
    while (i >= 0)    
    {    
                
         if (i <= 20 && i >= 40) Buf_0[i] = High[i];                      
         if (i >= 20 && i <= 40) Buf_1[i]= High[i];
         i--;                                
      
    }

P.S. и научитесь в свои посты вставлять код - через кнопочку "SRC" (в меню поля ввода текста). Здесь об этом подробнее.

 
rigonich:

Для этого используются переменные или массивы переменных. Собственно   MySQL это тоже массив переменных и набор правил, позволяющих работать с этим массивом.

Можете пожалуйста привести пример?
 
TarasBY:
Буферы нужно заполнять по какому-то условию, например по номеру бара (с 20-го по 40-й бар рисуем зелёным):

P.S. и научитесь в свои посты вставлять код - через кнопочку "SRC" (в меню поля ввода текста). Здесь об этом подробнее.

Да виновата, извините. 

Спасибо за код.  Буду разбираться.

 
Yulia:

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

Вот например ссылка на цветную МА.https://www.mql5.com/ru/code/9145

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

Откликнитесь пожалуйста на мою просьбу. Заранее благодарна.

Сама или с нами но без учебника ничего не получится! А бедной девушке нужен спонсор! ;)
 

А можно ещё пару вопросиков.

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

// Юляшкин индикатор

#property indicator_chart_window
extern bool                     Активность            = 1;
extern int                      Уровень               = 500;
//--------------------------------------------------------------+
int start() {
    if (Активность == 0) {ObjectSet("Line_up",OBJPROP_COLOR,Gray); ObjectSet("Line_down",OBJPROP_COLOR,Gray); return(0);}
    if (Close[0] > ObjectGet ("Line_up",OBJPROP_PRICE1) || Close[0]< ObjectGet("Line_down",OBJPROP_PRICE1)) 
       PlaySound("alert.wav"); 
return(0);
}
//--------------------------------------------------------------+ 
int init() {
ObjectCreate("Line_up",OBJ_HLINE,0,0,Close[0]+Уровень*Point);
ObjectSet("Line_up",OBJPROP_STYLE,2); 
ObjectSet("Line_up",OBJPROP_COLOR,Yellow);
ObjectCreate("Line_down",OBJ_HLINE,0,0,Close[0]-Уровень*Point); 
ObjectSet("Line_down",OBJPROP_STYLE,2); 
ObjectSet("Line_down",OBJPROP_COLOR,Yellow);
return(0);
}  
//--------------------------------------------------------------+
int deinit() {
ObjectDelete("Line_up");
ObjectDelete("Line_down");   
return(0);
} 
//--------------------------------------------------------------+  
И второй вопрос. Есть ли в mql4 ограничение по созданию объектов функцией ObjectCreate.
 
TarasBY:
Для того, чтобы линия отрисовывалась разными цветами (её собирают из отдельных "кусочков" линий разного цвета), нужно задействовать столько буферов, сколько хотите цветов у рисуемой линии.

В Вашем примере, на 20-м баре значения нужно заносить в буфер, отрисовывающий зелёную линию, а все остальные буферы на этом баре должны иметь ПУСТОЕ значение, которое не прорисовывется на графике. По умолчанию он равно EMPTY_VALUE.


P.S. В приведённой Вами ссылке цветной MA элементарно и очень понятно реализовано то, что я Вам написал выше.


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

А можно ещё пару вопросиков.

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

И второй вопрос. Есть ли в mql4 ограничение по созданию объектов функцией ObjectCreate.

Что значит - едет крыша?
 
Vinin:

Что значит - едет крыша?
Индикатор периодически воспроизводит  PlaySound("alert.wav"), хотя не должен.
 
rigonich:

В общем то элементарно и понятно. но выходит за рамки стандартных средств дпя построения индикаторов, и для человека, который только осваивает стандартные средства элементарно и понятно не будет.
Комментируя мои посты, Вы частенько пере... Я в этом не нуждаюсь (я не пишу о том, что не "потрогал" и в чём не разобрался), и ставя себя на место тех, для кого Вы пытаетесь комментировать, я бы тоже от них отказался (с того места). Вас ожидает ещё МНОЖЕСТВО откровений на пути освоения MQL4.
 
Yulia:

А можно ещё пару вопросиков.

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

И второй вопрос. Есть ли в mql4 ограничение по созданию объектов функцией ObjectCreate.
Для начала запишите в условия цену в более корректном виде: Close[0] (не закрытого бара) равен Bid. Может это что-то поменяет в поведении Вашего индикатора.