А скрипт где?
jak21:
обьявили несколько глобальных массивов, но не сделали их буферами, нет вызовов SetIndexBuffer
возьмите шаблон индикатора, например, отсюда https://book.mql4.com/ru/samples/icustom и дальше построчно добавляйте свой код
artemiusgreat:
Большое спасибо!Вызовы SetIndexBuffer непомогают, есть какая-то другая ошибка
обьявили несколько глобальных массивов, но не сделали их буферами, нет вызовов SetIndexBuffer
возьмите шаблон индикатора, например, отсюда https://book.mql4.com/ru/samples/icustom и дальше построчно добавляйте свой код
jak21:
Большое спасибо!Вызовы SetIndexBuffer непомогают, есть какая-то другая ошибка
Когда поймёте, что это индикатор - поможет.
Большое спасибо!Вызовы SetIndexBuffer непомогают, есть какая-то другая ошибка

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Прошу подсказать где ошибка в скрипте kn.mq4.Всё вроде правильно,но не работает.
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Black
#property indicator_color2 Green
#property indicator_color3 Red
//---- buffers
double k[];
double g[];
double r[];
double m[];
double a[];
//int i;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- drawing settings
SetIndexStyle(0,DRAW_NONE);
SetIndexDrawBegin(0,0);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexDrawBegin(1,0);
SetIndexLabel(1,NULL);
SetIndexStyle(2,DRAW_HISTOGRAM);
SetIndexDrawBegin(0,0);
SetIndexLabel(2,NULL);
short_name="kn("+14+","+14+")";
IndicatorShortName(short_name);
SetIndexLabel(0,short_name);
return(0);
}//int init()
//+------------------------------------------------------------------+
int start() {
int limit;
int counted_bars=IndicatorCounted();
int i;
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars-1;
for (i = limit;i>=0;i--)
{
if( iATR(NULL,0,14,i)!=0)
{
k[i]=iMomentum(NULL,0,14,0,i)/iATR(NULL,0,14,i);
if (k[i+1]<k[i]) g[i]=k[i];
else r[i]=k[i];
}
}
//--------------------------------------------------------------------
return(0);
}