что значит "выводящего просто Close"?
для алерта используем в цикле
для алерта используем в цикле
for( i=Bars-1; i>=0; i-- ) { Alert(Close[i]); }
можно то же самое с int MessageBox( string text=NULL, string caption=NULL, int flags=EMPTY) или Comment( ... ) ,
а если имеешь в виду графическое отображение , то все просто, вместо сетбуффер (если не ошибаюсь так было раньше) устанавливаешь сколько у тебя буферов объявляешь массивы в которые будешь писать значения и привязываешь буферы к массивам, как только в массиве появляются данные они тут же отрисовываются на графике т.е.
твой массив[индекс записи в массиве]=значение
индекс в массиве соответствует индексу бара на котором будет отображено значение индикатора
//+------------------------------------------------------------------+ //| Bars with Ask | //+------------------------------------------------------------------+ #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Lime #property indicator_color2 Lime double _Ask[],_Bid[]; double Spread; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { SetIndexStyle(0,DRAW_HISTOGRAM,0,1); SetIndexBuffer(0,_Ask); SetIndexStyle(1,DRAW_HISTOGRAM,0,1); SetIndexBuffer(1,_Bid); Spread=MarketInfo(Symbol(),MODE_SPREAD)*Point; return(0); } int start() { int i,counted_bars=IndicatorCounted(); if(counted_bars==0) { for(i=Bars; i>0; i--) { _Bid[i]=High[i]; _Ask[i]=High[i]+Spread; } } _Ask[0]=Ask; _Bid[0]=Bid; return(0); }
Извиняюсь что не точно выразил что я хотел узнать под Close я подразумевал цену закрытия барров на графике.
Вообщем большое спасибо ответившим за ответы они помогли мне разобраться.
И вот что получилось:
//+------------------------------------------------------------------+
//|Индикатор выводит в отдельное окно цену закрытия барров |
//|чисто для пониманиая как его написать на MQL4. |
//+------------------------------------------------------------------+
#property indicator_separate_window // Индикатор рисуется в отдельном окне
#property indicator_buffers 1 // Количество индикаторных массивов или линий которые будут отрисованны
#property indicator_color1 Red // Цвет линии или гистограммы индикатора
double _Close[]; // Обьявление массива для отрисовки
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init() //Специальнеая функция init()
{//1
SetIndexStyle(0,DRAW_HISTOGRAM,0,1); //Функция определяющая параметры отрисовки массива
SetIndexBuffer(0,_Close); //Функция определяющая массив который будет отрисован в отдельном окне
return(0); //Успешное завершение функции init()
}//-1
//+------------------------------------------------------------------+
//| Close |
//+------------------------------------------------------------------+
int start() //Специальнеая функция start()
{// 1
int i; //Обьявление переменной для счётчика в цикле
for(i=Bars; i>0; i--) //Цикл в котором считается индикатор
{// 2
_Close[i]=Close[i]; //Сама формула индикатора
}//-2
return(0); //Успешное завершение функции start()
}//-1
Вообщем большое спасибо ответившим за ответы они помогли мне разобраться.
И вот что получилось:
//+------------------------------------------------------------------+
//|Индикатор выводит в отдельное окно цену закрытия барров |
//|чисто для пониманиая как его написать на MQL4. |
//+------------------------------------------------------------------+
#property indicator_separate_window // Индикатор рисуется в отдельном окне
#property indicator_buffers 1 // Количество индикаторных массивов или линий которые будут отрисованны
#property indicator_color1 Red // Цвет линии или гистограммы индикатора
double _Close[]; // Обьявление массива для отрисовки
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init() //Специальнеая функция init()
{//1
SetIndexStyle(0,DRAW_HISTOGRAM,0,1); //Функция определяющая параметры отрисовки массива
SetIndexBuffer(0,_Close); //Функция определяющая массив который будет отрисован в отдельном окне
return(0); //Успешное завершение функции init()
}//-1
//+------------------------------------------------------------------+
//| Close |
//+------------------------------------------------------------------+
int start() //Специальнеая функция start()
{// 1
int i; //Обьявление переменной для счётчика в цикле
for(i=Bars; i>0; i--) //Цикл в котором считается индикатор
{// 2
_Close[i]=Close[i]; //Сама формула индикатора
}//-2
return(0); //Успешное завершение функции start()
}//-1
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
И может кто знает как всё это отрабатывает
например в mql2 можно было простейший индикатор написать в 1 строку и в цикле
вывести в окно функцией SetIndexValue всё это занимало 5 строк
а сдесь не пойму как это всё двигается. Вроде есть цикл, а как в окно индикатор выводится ?
Вроде и хелп читал и примеры смотрел но не пойму если был бы в хелпе элементарный пример....
Но его нет.
Прошу извинить меня тех. для кого мой вопрос показался тупым и глупым.