for (i=Bars;i>=0;i--) f_MM[Bars+1]=0.0; for (i=Bars;i>=0;i--) f_NN[Bars+1]=0.0;
Вероятно, в поле индекса надо написать i, а не Bars+1? К тому же, начало цикла неверное. Надо начинать от (Bars-1).
Посмотрите вот более правильный вариант:
#property indicator_minimum -1 // минимум индикатора #property indicator_maximum 1 // максимум идикатора #property indicator_separate_window // Индикатор рисуется в отдельном окне #property indicator_buffers 2 // Количество индикаторных массивов или линий которые будут отрисованны #property indicator_color1 Blue // Цвет линии или гистограммы индикатора #property indicator_color2 Yellow // Цвет линии или гистограммы индикатора double f_MM[]; // Обьявление массива для отрисовки double f_NN[]; // Обьявление массива для отрисовки //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- IndicatorBuffers(2); SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,3); //Функция определяющая параметры отрисовки массива SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,3); //Функция определяющая параметры отрисовки массива SetIndexBuffer(0,f_MM); SetIndexBuffer(1,f_NN); //Функция определяющая массив который будет отрисован в отдельном окне //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int i; //---- if(Bars>0) { for(i=Bars-1;i>=0;i--) f_MM[i]=MathSin(i); for(i=Bars-1;i>=0;i--) f_NN[i]=MathCos(i); } //---- return(0); } //-------------------------------
Кроме того, этот индикатор очень затратный - на каждом тике пересчитывает все данные. Посмотрите массу исходников ( /experts/samples/indicators и "MQL4: automated forex trading" ) с экономично написанными индикаторами.
Уважаемый Renat большое спасибо за то что Вы указали мне на мои ошибки!
Бывает так что накосячишь, а потом смотришь в книгу а видишь ...
Сам удивляюсь как у меня такое могло получиться?!.
Извиняюсь за лишнее беспокойство.
Заоодно поздравляю Вас и вашу команду разработчиков с Наступающим Новым годом!
С наилучшими пожеланиями.
Kikitra.
Бывает так что накосячишь, а потом смотришь в книгу а видишь ...
Сам удивляюсь как у меня такое могло получиться?!.
Извиняюсь за лишнее беспокойство.
Заоодно поздравляю Вас и вашу команду разработчиков с Наступающим Новым годом!
С наилучшими пожеланиями.
Kikitra.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Беру ниженаписанный элементарный код компилирую,
получается индикатор
потом индикатор мышью бросаю на график,
передвигаю мышью линию между графиком и индикатором
на которой выскакивает всплывающее окно "Взять и перетащить границу окна"
и наблюдаю чудный эффект внезапного попеременного появления и исчезновения гистограммы
как в отрицателном так и в положительном поле индикатора чего конечно
не должно быть так как все массивы в циклах заполненны нолями.
Пожалуйста подскажите как с этим быть .
Но если я сам накосячил с кодом то прошу меня извинить.
А может у меня терминал криво установлен?